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

# Document Reranking

> Cohere Rerank v4.0 Fast and Pro for search and RAG.

Rank supplied documents by relevance to a query. This endpoint returns scores and original document indexes, not generated answers.

## Models

| Model ID           | Description                                                  |
| ------------------ | ------------------------------------------------------------ |
| `rerank-v4.0-pro`  | Cohere quality-focused multilingual relevance ranking model. |
| `rerank-v4.0-fast` | Cohere latency-focused multilingual relevance ranking model. |

## Request Fields

| Field       | Description                                                 |
| ----------- | ----------------------------------------------------------- |
| `model`     | Required: rerank-v4.0-fast or rerank-v4.0-pro.              |
| `query`     | Required query string.                                      |
| `documents` | Required array of document strings.                         |
| `top_n`     | Optional result count; keep within the number of documents. |

## Request Example

```bash theme={null}
curl --request POST "https://api.mixroute.ai/v1/rerank" \
  --header "Authorization: Bearer $MIXROUTE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "rerank-v4.0-pro",
  "query": "API documentation",
  "documents": [
    "An API reference for developers.",
    "A recipe for soup."
  ],
  "top_n": 1
}'
```

## Response

Read `results[].index` and `results[].relevance_score`. The index refers to the original input array; do not assume a document object is present. Scores are ranking signals, not calibrated probabilities.

```python theme={null}
import os
import requests

documents = ["An API reference for developers.", "A recipe for soup."]
response = requests.post(
    "https://api.mixroute.ai/v1/rerank",
    headers={"Authorization": "Bearer " + os.environ["MIXROUTE_API_KEY"]},
    json={"model": "rerank-v4.0-pro", "query": "API documentation",
          "documents": documents, "top_n": 1},
    timeout=60,
)
response.raise_for_status()
for item in response.json()["results"]:
    print(item["relevance_score"], documents[item["index"]])
```
