Read a brief from a file
https://platform.casafari.com/v1/claro/brief/fileSend Authorization: Bearer $CASAFARI_API_KEY: a platform API key or OAuth access token, metered in platform units; see platform sign-in and Claro AI. On the platform this is POST https://platform.casafari.com/v1/claro/brief/file; POST /v1/brief/file 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: brief_from_file (equivalent). MCP and REST compared.
Description
The premises requirements a file states: a site brief, a location profile or a requirements sheet, as a PDF, a photo or scan (JPG, PNG, WebP, HEIC), a Word, Excel or PowerPoint file (or OpenDocument), or text. Each requirement keeps the file's own words as quote; where the text can be read here (Office and text files) a requirement whose quote is not in it is dropped, and quotes_checked is true. For PDFs and images it is false. brief is the requirements joined in plain words, ready for POST /v1/search after the customer has checked it. Nothing is searched here. Multipart, the file in the field file, up to 10 MB (413 above that). Accepted: .pdf,.jpg,.jpeg,.png,.webp,.heic,.heif,.txt,.md,.csv,.tsv,.html,.htm,.rtf,.json,.xml,.docx,.xlsx,.pptx,.odt,.ods,.odp. Counted against the account's daily calls like a search. The file is not stored. Over MCP (no multipart), the tool brief_from_file takes the file as JSON: {"content_base64": "TG9jYWwgZW4gTWFkcmlk…", "media_type": "text/plain", "filename": "perfil.txt"}, with the same limits, checks and answer.
Request body
Content type multipart/form-data. Required. Type: object.
filestring (binary)requiredExample request
Placeholders only: replace the token and the values with your own.
curl -X POST "https://platform.casafari.com/v1/claro/brief/file" \
-H "Authorization: Bearer $CASAFARI_API_KEY" \
-F "file=@brief.pdf"Responses
200 The brief the file states
Type: object.
Show the response shape (5 fields)
briefstringrequiredrequirementsobject[]required2 properties
requirementstringrequiredquotestringrequiredquotes_checkedbooleanrequiredExample from the API description (long arrays shortened)
{
"brief": "Madrid; rent; 120-250 m²; smoke extraction",
"requirements": [
{
"requirement": "Madrid",
"quote": "Local en Madrid"
},
{
"requirement": "rent",
"quote": "en alquiler"
}
],
"quotes_checked": true
}400 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
codestringrequiredmessagestringrequired413 File larger than the limit
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired429 Rate limited
Type: object.
Show the response shape (3 fields)
errorobject2 properties
codestringrequiredmessagestringrequired