{"openapi":"3.1.0","info":{"title":"TezaMeta","description":"Izvlačenje meta podataka iz PDF dokumenata: tekst/OCR + self-hosted LLM.","version":"0.2.0"},"paths":{"/health":{"get":{"tags":["APIs"],"summary":"Health","description":"Javno: samo da li servis radi i koliko je red zauzet. Detalji (model, vision, disk, radnici)\nse vraćaju jedino administratoru, da se spolja ne vidi šta servis koristi.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/extract":{"post":{"tags":["APIs"],"summary":"Extract","operationId":"extract_v1_extract_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_extract_v1_extract_post"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobPublic"}}}},"200":{"description":"Rezultat je stigao u okviru `wait`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobPublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKey":[]}]}},"/v1/jobs/{job_id}":{"get":{"tags":["APIs"],"summary":"Get Job","operationId":"get_job_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobPublic"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKey":[]}]},"delete":{"tags":["APIs"],"summary":"Delete Job","operationId":"delete_job_v1_jobs__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKey":[]}]}}},"components":{"schemas":{"Body_extract_v1_extract_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"PDF dokument"},"fields":{"type":"string","maxLength":65536,"title":"Fields","description":"JSON niz polja: objekti ili opisi"},"callback_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Callback Url","description":"Dozvoljeni HTTPS webhook"},"wait":{"type":"integer","minimum":0.0,"title":"Wait","description":"Sekunde čekanja na rezultat pre nego što se vrati 202","default":0},"language":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Language","description":"Jezik dokumenta, npr. 'srpski'"},"mode":{"type":"string","enum":["auto","text","vision"],"title":"Mode","description":"auto: tekst/OCR, loše skenirane strane sa slike; text: samo tekst/OCR; vision: sve sa slike","default":"auto"}},"type":"object","required":["file","fields"],"title":"Body_extract_v1_extract_post"},"DocumentInfo":{"properties":{"filename":{"type":"string","title":"Filename"},"pages":{"type":"integer","title":"Pages"},"ocr_pages":{"type":"integer","title":"Ocr Pages"},"chars":{"type":"integer","title":"Chars"},"chunks":{"type":"integer","title":"Chunks"},"vision_pages":{"type":"integer","title":"Vision Pages","default":0}},"type":"object","required":["filename","pages","ocr_pages","chars","chunks"],"title":"DocumentInfo"},"ExtractionResult":{"properties":{"fields":{"additionalProperties":{"$ref":"#/components/schemas/FieldResult"},"type":"object","title":"Fields"},"missing_required":{"items":{"type":"string"},"type":"array","title":"Missing Required"},"review_fields":{"items":{"type":"string"},"type":"array","title":"Review Fields"},"document":{"$ref":"#/components/schemas/DocumentInfo"},"model":{"type":"string","title":"Model"},"vision_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vision Model"},"timing_ms":{"additionalProperties":{"type":"integer"},"type":"object","title":"Timing Ms"},"usage":{"additionalProperties":{"type":"integer"},"type":"object","title":"Usage","description":"prompt_tokens i completion_tokens po poslu"}},"type":"object","required":["fields","document","model","timing_ms"],"title":"ExtractionResult"},"FieldAlternative":{"properties":{"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"$ref":"#/components/schemas/MoneyValue"},{"type":"null"}],"title":"Value"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.0},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence","description":"Doslovan isečak iz dokumenta na osnovu kog je izvučena vrednost"},"page":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Page"},"evidence_verified":{"type":"boolean","title":"Evidence Verified","default":false},"source":{"type":"string","enum":["text","vision"],"title":"Source","default":"text"}},"type":"object","title":"FieldAlternative"},"FieldResult":{"properties":{"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"items":{"type":"string"},"type":"array"},{"$ref":"#/components/schemas/MoneyValue"},{"type":"null"}],"title":"Value"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.0},"evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence","description":"Doslovan isečak iz dokumenta na osnovu kog je izvučena vrednost"},"page":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Page"},"evidence_verified":{"type":"boolean","title":"Evidence Verified","default":false},"source":{"type":"string","enum":["text","vision"],"title":"Source","default":"text"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"},"alternatives":{"items":{"$ref":"#/components/schemas/FieldAlternative"},"type":"array","title":"Alternatives"}},"type":"object","title":"FieldResult"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JobPublic":{"additionalProperties":true,"type":"object"},"JobStatus":{"type":"string","enum":["queued","processing","done","failed"],"title":"JobStatus"},"MoneyValue":{"properties":{"amount":{"anyOf":[{"type":"integer"},{"type":"number"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},"additionalProperties":false,"type":"object","required":["amount"],"title":"MoneyValue"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookDelivery":{"properties":{"status":{"type":"string","enum":["pending","delivered","failed"],"title":"Status","default":"pending"},"attempts":{"type":"integer","title":"Attempts","default":0},"next_attempt_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Attempt At"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","title":"WebhookDelivery"}},"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API ključ korisnika (`tzm_…`), vidljiv u aplikaciji pod „API ključ“."}}}}