{"openapi":"3.1.0","info":{"title":"Skavio Processing API","description":"Company scoped file, document and audio processing. Bearer API key or same-origin web session. Idempotency-Key required for jobs.","version":"1.0.0"},"paths":{"/v1/capabilities":{"get":{"tags":["Skavio processing API"],"summary":"List operations, limits and credit prices","operationId":"capabilities_v1_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[]}},"/v1/wallet":{"get":{"tags":["Skavio processing API"],"summary":"Company credit balance and ledger","operationId":"wallet_v1_wallet_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Wallet"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/keys":{"get":{"tags":["Skavio processing API"],"summary":"List company API keys without their secrets","operationId":"keys_v1_keys_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/APIKey"}}},"required":[]}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]},"post":{"tags":["Skavio processing API"],"summary":"Create an API key; secret is shown once","operationId":"new_key_v1_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeySpec"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]}},"/v1/keys/{key_id}":{"delete":{"tags":["Skavio processing API"],"summary":"Revoke an API key immediately","operationId":"revoke_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OK"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]}},"/v1/uploads":{"post":{"tags":["Skavio processing API"],"summary":"Upload source files and measure pages/duration","operationId":"uploads_v1_uploads_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_uploads_v1_uploads_post"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"uploads":{"type":"array","items":{"$ref":"#/components/schemas/Upload"}}},"required":["uploads"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/uploads/{upload_id}":{"delete":{"tags":["Skavio processing API"],"summary":"Delete an unused source file","operationId":"delete_upload_v1_uploads__upload_id__delete","parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","title":"Upload Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OK"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/estimate":{"post":{"tags":["Skavio processing API"],"summary":"Get a credit quote without starting processing","operationId":"estimate_v1_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Spec"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Estimate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/jobs":{"post":{"tags":["Skavio processing API"],"summary":"Reserve credits and enqueue an idempotent job","operationId":"submit_v1_jobs_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Spec"}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]+$"}}]},"get":{"tags":["Skavio processing API"],"summary":"List recent company jobs","operationId":"jobs_v1_jobs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}},"required":["jobs"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/jobs/{job_id}":{"get":{"tags":["Skavio processing API"],"summary":"Read job status and result metadata","operationId":"job_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}},"delete":{"tags":["Skavio processing API"],"summary":"Delete result data for a terminal job","operationId":"delete_job_v1_jobs__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OK"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/jobs/{job_id}/results/{result_id}":{"get":{"tags":["Skavio processing API"],"summary":"Download a completed result with authentication","operationId":"result_v1_jobs__job_id__results__result_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"result_id","in":"path","required":true,"schema":{"type":"string","title":"Result Id"}}],"responses":{"200":{"description":"Result file download","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}}},"/v1/workflows":{"get":{"tags":["Skavio processing API"],"summary":"List saved company workflows","operationId":"workflows_v1_workflows_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"workflows":{"type":"array","items":{"$ref":"#/components/schemas/Workflow"}}},"required":[]}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}}},"post":{"tags":["Skavio processing API"],"summary":"Save reusable extraction fields and instructions","operationId":"save_workflow_v1_workflows_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowSpec"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]}},"/v1/workflows/{workflow_id}":{"delete":{"tags":["Skavio processing API"],"summary":"Remove a saved workflow","operationId":"delete_workflow_v1_workflows__workflow_id__delete","parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OK"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]}},"/v1/billing/checkout":{"post":{"tags":["Skavio processing API"],"summary":"Create a card checkout for a credit pack","operationId":"checkout_v1_billing_checkout_post","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Checkout"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"eur":{"type":"integer","enum":[10,25,50,100,250,500]}},"required":["eur"]}}}}}},"/v1/billing/confirm":{"post":{"tags":["Skavio processing API"],"summary":"Reconcile a paid credit checkout","operationId":"confirm_v1_billing_confirm_post","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Paid"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string"}},"required":["session_id"]}}}}}},"/v1/webhooks":{"get":{"tags":["Webhooks"],"summary":"List webhook URLs and delivery history","operationId":"webhooks_v1_webhooks_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}},"deliveries":{"type":"array","items":{"$ref":"#/components/schemas/Delivery"}}},"required":[]}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]},"post":{"tags":["Webhooks"],"summary":"Register a signed completion callback","operationId":"create_v1_webhooks_post","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"secret":{"type":"string"}},"required":["id","url","secret"]}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","maxLength":2000}},"required":["url"]}}}}}},"/v1/webhooks/{webhook_id}":{"delete":{"tags":["Webhooks"],"summary":"Disable a webhook and future deliveries","operationId":"delete_v1_webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OK"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]}},"/v1/billing/plans":{"get":{"tags":["Billing"],"summary":"Monthly company credit plans","operationId":"plans_v1_billing_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[]}},"/v1/billing/subscription":{"get":{"tags":["Billing"],"summary":"Company subscription status","operationId":"status_v1_billing_subscription_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}},"required":[]}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}]}},"/v1/billing/subscribe":{"post":{"tags":["Billing"],"summary":"Start a recurring company credit plan checkout","operationId":"subscribe_v1_billing_subscribe_post","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Checkout"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"plan":{"type":"string","enum":["starter","business","pro"]}},"required":["plan"]}}}}}},"/v1/billing/portal":{"post":{"tags":["Billing"],"summary":"Manage or cancel a company subscription","operationId":"portal_v1_billing_portal_post","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]}}}}}},"/v1/billing/subscription/confirm":{"post":{"tags":["Billing"],"summary":"Reconcile a subscription checkout and first invoice","operationId":"confirm_v1_billing_subscription_confirm_post","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Paid"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"422":{"description":"Invalid request or source","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string"}},"required":["session_id"]}}}}}},"/v1/jobs/{job_id}/review":{"post":{"tags":["Flow"],"summary":"Correct and approve extracted fields, regenerate exports","operationId":"review_v1_jobs__job_id__review_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Invalid authentication","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"402":{"description":"Insufficient credits","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"Object not found in company","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"409":{"description":"State/idempotency conflict","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"413":{"description":"Request too large","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"429":{"description":"Rate or queue limit","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Processing unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"410":{"description":"Source or result expired"}},"security":[{"WebSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewRequest"}}}}}}},"components":{"schemas":{"Body_uploads_v1_uploads_post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"Body_uploads_v1_uploads_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KeySpec":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"scopes":{"items":{"type":"string"},"type":"array","maxItems":2,"minItems":1,"title":"Scopes"}},"type":"object","required":["name"],"title":"KeySpec"},"Spec":{"properties":{"operation":{"type":"string","maxLength":64,"title":"Operation"},"upload_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Upload Ids"},"options":{"additionalProperties":true,"type":"object","title":"Options"},"fields":{"items":{"type":"string"},"type":"array","maxItems":30,"title":"Fields"},"instructions":{"type":"string","maxLength":1500,"title":"Instructions","default":""},"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id"},"webhook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Id"},"max_credits":{"anyOf":[{"type":"integer","maximum":10000000.0,"minimum":1.0},{"type":"null"}],"title":"Max Credits"}},"additionalProperties":false,"type":"object","required":["operation","upload_ids"],"title":"Spec"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkflowSpec":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"operation":{"type":"string","title":"Operation","default":"flow-extract"},"fields":{"items":{"type":"string"},"type":"array","maxItems":30,"title":"Fields"},"instructions":{"type":"string","maxLength":1500,"title":"Instructions","default":""},"options":{"additionalProperties":true,"type":"object","title":"Options"}},"type":"object","required":["name"],"title":"WorkflowSpec"},"ResultFile":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"size_bytes":{"type":"integer"},"download_path":{"type":"string","description":"Authenticated path relative to the API server."}},"required":["id","name","size_bytes","download_path"]},"JobResult":{"type":"object","properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ResultFile"}},"documents":{"type":"integer"},"review_required_documents":{"type":"integer"},"estimated_time_saved_minutes":{"type":"integer"},"time_saved_basis":{"type":"string"}},"required":["files"]},"Job":{"type":"object","properties":{"id":{"type":"string"},"operation":{"type":"string"},"status":{"type":"string","enum":["queued","processing","completed","failed"]},"stage":{"type":"string"},"estimated_credits":{"type":"integer"},"charged_credits":{"type":"integer"},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"result":{"anyOf":[{"$ref":"#/components/schemas/JobResult"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","operation","status","estimated_credits","charged_credits","result"]},"Upload":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["pdf","image","text","office","audio","video"]},"size_bytes":{"type":"integer"},"pages":{"type":"integer"},"duration":{"type":"number","description":"Server measured duration in seconds, 0 for documents."}},"required":["id","name","kind","size_bytes","pages","duration"]},"Estimate":{"type":"object","properties":{"estimated_credits":{"type":"integer"},"pricing_version":{"type":"string"},"pages":{"type":"integer"},"duration_seconds":{"type":"number"},"reservation_required":{"type":"integer"}},"required":["estimated_credits","pricing_version"]},"LedgerEntry":{"type":"object","properties":{"delta":{"type":"integer"},"reason":{"type":"string"},"reference":{"type":"string"},"created_at":{"type":"string"}},"required":["delta","reason","reference","created_at"]},"Wallet":{"type":"object","properties":{"company_id":{"type":"integer"},"balance":{"type":"integer"},"reserved":{"type":"integer"},"created_at":{"type":"string"},"ledger":{"type":"array","items":{"$ref":"#/components/schemas/LedgerEntry"}}},"required":["company_id","balance","reserved","ledger"]},"APIKey":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"prefix":{"type":"string"},"scopes":{"type":"string","description":"JSON encoded array of read/write scopes."},"revoked":{"type":"integer"},"created_at":{"type":"string"},"last_used_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":[]},"CreatedKey":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string","description":"Secret returned once only."},"scopes":{"type":"array","items":{"type":"string"}}},"required":["id","key","scopes"]},"Workflow":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"spec":{"type":"string","description":"JSON encoded workflow specification."},"created_at":{"type":"string"}},"required":[]},"Webhook":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"active":{"type":"integer"},"created_at":{"type":"string"}},"required":[]},"Delivery":{"type":"object","properties":{"id":{"type":"string"},"job_id":{"type":"string"},"status":{"type":"string","enum":["pending","delivered","failed","disabled"]},"attempts":{"type":"integer"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":[]},"Checkout":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"session_id":{"type":"string"}},"required":["url","session_id"]},"OK":{"type":"object","properties":{"ok":{"type":"boolean"},"accounting_retained":{"type":"boolean"}},"required":["ok"]},"Paid":{"type":"object","properties":{"paid":{"type":"boolean"}},"required":["paid"]},"ReviewRequest":{"type":"object","properties":{"document_index":{"type":"integer","minimum":0},"fields":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"approved":{"type":"boolean"}},"required":["document_index","fields"]},"ReviewResult":{"type":"object","properties":{"ok":{"type":"boolean"},"result":{"$ref":"#/components/schemas/JobResult"}},"required":["ok","result"]},"Subscription":{"type":"object","properties":{"id":{"type":"string"},"plan":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":[]}},"securitySchemes":{"BearerKey":{"type":"http","scheme":"bearer","description":"Company key created in the dashboard; read/write scopes."},"WebSession":{"type":"apiKey","in":"cookie","name":"skavio_web_account","description":"Interactive same-origin company session for administrative operations."}}},"servers":[{"url":"https://www.skavio.eu"}],"security":[{"BearerKey":[]},{"WebSession":[]}]}