POST /v1/process
Единая точка входа: файл (multipart/form-data) или текст (application/json) — один и тот же контракт. Вид задачи определяется присутствующими полями: output_schema — извлечение по схеме, output_schema + prompt — задача по инструкции клиента, match — сверка результата с реестром (registry), split — разбиение PDF на секции. include добавляет секции ответа (markdown, fragments, tables, fields); не запрошенные секции приходят null, а не отсутствуют. async: true — немедленный {task_id, poll_url}, результат — GET /v1/process/{task_id} (тем же X-API-Key; рекомендуется для больших сканов, где OCR+LLM занимают минуты, а внешний прокси рвёт соединение на 300 с).
Header Parameters
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/process" \ -H "Content-Type: application/json" \ -d '{ "text": "Договор аренды №12 от 01.02.2026 между ООО «Ромашка»...", "prompt": "Определи риски для арендатора одним абзацем", "output_schema": { "type": "object", "properties": { "risks": { "type": "string" } } } }'{ "result": {}, "documents": [ { "index": 0, "pages": [ 0, 0 ], "doc_type": "string", "confidence": 0, "result": {}, "markdown": "string", "fragments": [ {} ], "tables": [ {} ], "fields": [ {} ], "translated": { "to": "string", "result": {} }, "pdf_base64": "string" } ], "markdown": "string", "fragments": [ {} ], "tables": [ {} ], "fields": [ {} ], "match": { "found": 0, "missing_in_registry": [ "string" ], "unmatched_registry": [ "string" ], "coverage": 0, "registry_rows": 0, "key_column": "string", "values_field": "string" }, "translated": { "to": "string", "result": {} }, "usage": { "pages": 0, "sheets": 0, "translation_tokens": 0 }, "metadata": { "file_hash": "string", "extraction_status": "full", "input_quality_score": 0, "cached": true }, "warnings": [ { "code": "string", "field": "string", "severity": "info", "message": "string" } ]}