Function: ai-rerank
Base URL: https://bgbavxtjlbvgplozizxu.supabase.co/functions/v1/ai-rerank
Auth: Authenticated users (JWT required)
Full documentation: ai-reranking.md
POST /functions/v1/ai-rerank
Authorization: Bearer <jwt>
Content-Type: application/json
{
"query": "matte black tiles for wet areas",
"results": [
{
"id": "uuid-1",
"name": "Matte Black Porcelain Tile",
"description": "R11 anti-slip rating, suitable for wet areas...",
"relevanceScore": 0.87
},
{
"id": "uuid-2",
"name": "Matte Black Ceramic Wall Tile",
"description": "Interior wall application only...",
"relevanceScore": 0.85
}
],
"maxResults": 10,
"includeExplanations": true,
"model": "claude-sonnet-4-5"
}
| Field | Type | Default | Description |
|---|---|---|---|
query |
string | required | Original search query |
results |
SearchResult[] | required | Up to 50 candidates |
maxResults |
number | all | Trim output to N results |
includeExplanations |
boolean | false | Add per-result reasoning text |
model |
string | claude-sonnet-4-5 |
claude-sonnet-4-5 or claude-haiku-4-5 |
{
"rerankedResults": [
{ "id": "uuid-1", "name": "...", "relevanceScore": 0.94 },
{ "id": "uuid-2", "name": "...", "relevanceScore": 0.71 }
],
"explanations": {
"uuid-1": "Ranked #1: explicitly matches wet-area requirements with R11 anti-slip.",
"uuid-2": "Ranked #2: good material match but interior-only — not wet area rated."
},
"processingTimeMs": 820,
"model": "claude-sonnet-4-5",
"usage": { "inputTokens": 1240, "outputTokens": 380 }
}
| Status | Meaning |
|---|---|
400 |
Missing query or results |
401 |
Unauthorized |
500 |
Claude API error |