Extract bounded source-linked text from an approved file without persisting it
const url = 'https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/content/parse';const options = { method: 'POST', headers: { 'X-Katara-CSRF': '1', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"content":{"org_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","environment_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","version":1,"integrity":"example","media_type":"text/plain","size_bytes":1},"recipe":{"words":1,"overlap":1}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/content/parse \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'X-Katara-CSRF: 1' \ --data '{ "content": { "org_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "environment_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "version": 1, "integrity": "example", "media_type": "text/plain", "size_bytes": 1 }, "recipe": { "words": 1, "overlap": 1 } }'Approved current sources only, with access and reset fences checked again after extraction. Ephemeral result; no collection, fact or stored derivative is created. Input 16 MiB; normalized text 8 MiB; output 32 MiB; 8192 sections, each 16 KiB. Up to 500 PDF pages and 50 pages requiring OCR; a document with more is refused whole with document_limit, and the message gives the number of pages that need OCR. OCR reads English, Spanish, French, German, Portuguese and Italian; a page in another script is refused with unsupported_language. OCR is not semantic image analysis. Each chunk read by OCR carries the region of its page (points) or image (pixels) it was read from. Character offsets refer to normalized extracted segments, not binary file offsets. No automatic retry.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Browser cookie mutations require value 1 and an allowed Origin. Session bearer clients may omit this header.
Required for cookie-authenticated changes. Use the UUID of the account that loaded the application. A different current cookie account returns account_changed before the handler runs. Session bearer and API key clients do not require this header.
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
Overlap must not exceed one quarter of words; the API validates this cross-field bound.
object
Responses
Section titled “Responses”Successful request
object
object
object
Overlap must not exceed one quarter of words; the API validates this cross-field bound.
object
object
object
The recognition models in the order they are loaded, which changes what is read: eng, spa, fra, deu, por, ita (English, Spanish, French, German, Portuguese, Italian).
object
The model that names the script of a page recognition is unsure of.
object
object
Where a chunk came from. Text read by OCR also carries the region of the page or image it was read from; other text has none.
object
The box around the words a chunk was cut from, measured from the top left corner of the page or image as it is displayed.
object
Pt (1/72 inch) on a PDF page, px on an image.
Example
{ "source": { "media_type": "text/plain" }, "profile": { "format_version": 3, "ocr": { "engine": "tesseract-5.5.0", "languages": [ { "code": "eng" } ], "pdf_dpi": 144 } }, "chunks": [ { "source": { "media_type": "text/plain" }, "locator": { "kind": "document", "extraction": "text", "region": { "unit": "pt" } } } ]}Account_changed: reload and review with the signed-in account.
Unsupported, encrypted, malformed, empty or over-limit document.
default
Section titled “default”Request error
object
object
Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.
The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.
Example
{ "error": { "action": "sign_in" }}