> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateRerankRequestBody

Rerank request input

## Example Usage

```typescript theme={null}
import { CreateRerankRequestBody } from "@openrouter/sdk/models/operations";

let value: CreateRerankRequestBody = {
  documents: [
    "Paris is the capital of France.",
    "Berlin is the capital of Germany.",
  ],
  model: "cohere/rerank-v3.5",
  query: "What is the capital of France?",
};
```

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `documents` | *operations.Document*\[] | :heavy\_check\_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | \[<br />"Paris is the capital of France.",<br />"Berlin is the capital of Germany."<br />] |
| `model` | *string* | :heavy\_check\_mark: | The rerank model to use | cohere/rerank-v3.5 |
| `provider` | [models.ProviderPreferences](../../models/providerpreferences.mdx) | :heavy\_minus\_sign: | N/A | \{<br />"allow\_fallbacks": true<br />} |
| `query` | *string* | :heavy\_check\_mark: | The search query to rerank documents against | What is the capital of France? |
| `sessionId` | *string* | :heavy\_minus\_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | session-1234 |
| `topN` | *number* | :heavy\_minus\_sign: | Number of most relevant documents to return | 3 |
| `trace` | [models.TraceConfig](../../models/traceconfig.mdx) | :heavy\_minus\_sign: | Metadata for observability and tracing. Known keys (trace\_id, trace\_name, span\_name, generation\_name, parent\_span\_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{<br />"trace\_id": "trace-abc123",<br />"trace\_name": "my-app-trace"<br />} |
| `user` | *string* | :heavy\_minus\_sign: | A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider. | user-1234 |
