Complete an upload
POST
Checks the uploaded bytes against the declared type and size, reads the content for the agents and answers the file, ready. Reading a long PDF can take minutes. Completing a ready file changes nothing.
Scope: knowledge:write.
bearerAuthheader
AuthorizationBearer <token>An organization API key, rky_live_…, created in Settings → API. Send it only from a server.
file_id*stringFile ID.
Format
uuidIdempotency-Key?stringOptional. A value you choose, unique per logical write, 8–200 characters: a UUID or an ID from your system such as order-10482-ready. Retrying with the same key and body replays the first response instead of repeating the write.
Length
8 <= length <= 200application/json- body
The body is optional.
consult_enabled?booleanAgents may read it to answer. Ignored when Ricky reads no useful content.
Default
truesend_enabled?booleanAgents may send the file itself.
Default
trueSuccess.
application/json- response
data*A document or image the agents can consult or send.
curl -X POST 'https://getricky.ai/api/v1/knowledge/files/497f6eca-6276-4993-bfeb-53cbbbba6f08/complete' \ -H 'Idempotency-Key: order-10482-ready' \ -H 'Content-Type: application/json' \ -d '{ "consult_enabled": true, "send_enabled": false}'{ "data": { "id": "f1a2b3c4-d5e6-4f7a-8b9c-0d1e2f3a4b5c", "title": "Catálogo de lentes 2026", "description": "Precios y modelos vigentes.", "filename": "catalogo-2026.pdf", "mime_type": "application/pdf", "size_bytes": 482133, "status": "uploading", "consult_enabled": true, "send_enabled": true, "page_count": 12, "preview": "Catálogo 2026. Lentes de sol…", "extraction_error": null, "download_url": null, "created_at": "2026-10-14T15:30:00.000Z", "updated_at": "2026-10-14T15:30:00.000Z" }}