Ask about a search you show
https://platform.casafari.com/v1/claro/search/askSend Authorization: Bearer $CASAFARI_API_KEY: a platform API key or OAuth access token, metered in platform tokens; see platform sign-in and Claro AI. On the platform this is POST https://platform.casafari.com/v1/claro/search/ask; POST /v1/search/ask is Claro's own path, which the platform adds /claro to. The platform forwards the call to Claro unchanged: Claro's Claro-Version header and its error bodies ({"error":{"code","message"}}, with rate_limited and quota_reached on a 429) pass through.
Over MCP: no tool does this. MCP and REST compared.
Description
A free question about a search you show your user ("why only 180?", "which has the longest frontage?"), answered by a model from that search and the read-only operations (get_premises, compare_premises, market_snapshot) on your account. Every number in the answer is checked against the search and those results, and a sentence with any other number is dropped (counted in dropped); a sentence naming a property portal is dropped; a link survives only when it is a listing_url from the data. answer is null when nothing survived. When the user asks to change the search, change is the change in plain words for POST /v1/search/refine and answer says what will change. Counted against the account's daily calls like a search.
Request body
Content type application/json. Required. Type: object.
questionstringrequiredsearchobjectrequiredprev (the search it replaced: at, criteria, counts).historyobject[]2 properties
rolestringrequireduser assistanttextstringrequiredlangstringen de esExample request
Placeholders only: replace the token and the values with your own.
curl -X POST "https://platform.casafari.com/v1/claro/search/ask" \
-H "Authorization: Bearer $CASAFARI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "<question>",
"search": {}
}'Responses
200 The checked answer, or the change to apply
Type: object.
Show the response shape (12 fields)
answerstringrequiredchangestringrequireddroppedobjectrequired3 properties
numbersintegerportalsintegerlinksintegermodelstringrequiredusageobjectrequired4 properties
roundsintegerinput_tokensintegeroutput_tokensintegermsinteger400 Invalid request
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired401 Missing or invalid key
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired403 No access
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired429 Rate limited
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired