Skip to main content

Embeddings

Rerank

Order documents by relevance to a query, with a score for each.

posthttps://api.pre.dev/v1/rerankTry it

Rerank models

Rerank models are not returned by GET /v1/models or GET /v1/models/public. These ids work today: cohere/rerank-v3.5, cohere/rerank-4-fast, cohere/rerank-4-pro, voyageai/rerank-2.5, voyageai/rerank-2.5-lite, and qwen/qwen3-reranker-8b.

curl -X POST "https://api.pre.dev/v1/rerank" \  -H "Content-Type: application/json" \  -d '{    "model": "cohere/rerank-v3.5",    "query": "How are AI calls billed?",    "documents": [      "Credits are computed from each call\'s metered cost.",      "Browser tasks have a 0.1-credit floor.",      "Catalog reads are free."    ],    "top_n": 2  }'
const body = JSON.stringify({  "model": "cohere/rerank-v3.5",  "query": "How are AI calls billed?",  "documents": [    "Credits are computed from each call's metered cost.",    "Browser tasks have a 0.1-credit floor.",    "Catalog reads are free."  ],  "top_n": 2})fetch("https://api.pre.dev/v1/rerank", {  method: "POST",  headers: {    "Content-Type": "application/json"  },  body})
package mainimport (  "fmt"  "net/http"  "io/ioutil"  "strings")func main() {  url := "https://api.pre.dev/v1/rerank"  body := strings.NewReader(`{    "model": "cohere/rerank-v3.5",    "query": "How are AI calls billed?",    "documents": [      "Credits are computed from each call's metered cost.",      "Browser tasks have a 0.1-credit floor.",      "Catalog reads are free."    ],    "top_n": 2  }`)  req, _ := http.NewRequest("POST", url, body)  req.Header.Add("Content-Type", "application/json")  res, _ := http.DefaultClient.Do(req)  defer res.Body.Close()  body, _ := ioutil.ReadAll(res.Body)  fmt.Println(res)  fmt.Println(string(body))}
import requestsurl = "https://api.pre.dev/v1/rerank"body = """{  "model": "cohere/rerank-v3.5",  "query": "How are AI calls billed?",  "documents": [    "Credits are computed from each call's metered cost.",    "Browser tasks have a 0.1-credit floor.",    "Catalog reads are free."  ],  "top_n": 2}"""response = requests.request("POST", url, data = body, headers = {  "Content-Type": "application/json"})print(response.text)
import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.net.http.HttpResponse.BodyHandlers;import java.time.Duration;import java.net.http.HttpRequest.BodyPublishers;var body = BodyPublishers.ofString("""{  "model": "cohere/rerank-v3.5",  "query": "How are AI calls billed?",  "documents": [    "Credits are computed from each call's metered cost.",    "Browser tasks have a 0.1-credit floor.",    "Catalog reads are free."  ],  "top_n": 2}""");HttpClient client = HttpClient.newBuilder()  .connectTimeout(Duration.ofSeconds(10))  .build();HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()  .uri(URI.create("https://api.pre.dev/v1/rerank"))  .header("Content-Type", "application/json")  .POST(body)  .build();try {  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());  System.out.println("Status code: " + response.statusCode());  System.out.println("Response body: " + response.body());} catch (Exception e) {  e.printStackTrace();}
using System;using System.Net.Http;using System.Text;var body = new StringContent("""{  "model": "cohere/rerank-v3.5",  "query": "How are AI calls billed?",  "documents": [    "Credits are computed from each call's metered cost.",    "Browser tasks have a 0.1-credit floor.",    "Catalog reads are free."  ],  "top_n": 2}""", Encoding.UTF8, "application/json");var client = new HttpClient();var response = await client.PostAsync("https://api.pre.dev/v1/rerank", body);var responseBody = await response.Content.ReadAsStringAsync();
use reqwest::{Result, Client};async fn main() -> Result<()> {  let client = Client::new();  let url = "https://api.pre.dev/v1/rerank";  let body = r#"{    "model": "cohere/rerank-v3.5",    "query": "How are AI calls billed?",    "documents": [      "Credits are computed from each call's metered cost.",      "Browser tasks have a 0.1-credit floor.",      "Catalog reads are free."    ],    "top_n": 2  }"#;  let res = client    .post(url)    .header("Content-Type", "application/json")    .body(body)    .send()    .await?    .text()    .await?;  println!("{}", res);  Ok(())}
{  "model": "cohere/rerank-v3.5",  "results": [    {      "index": 0,      "relevance_score": 0.91    },    {      "index": 2,      "relevance_score": 0.34    }  ],  "usage": {    "total_tokens": 41  }}
POST
/v1/rerank

Authorization

AuthorizationBearer <token>

The workspace API key (pdk_…) from Integrations → Built-in in the pre.dev dashboard.

In: header

Header Parameters

x-predev-project-id?string

Attribute this call to one of the workspace's projects. An id the workspace does not own is ignored.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

Results sorted by relevance.

TypeScript Definitions

Use the response body type in TypeScript.

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

Was this page helpful?