{"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.5.0"},"paths":{"/v1/batches/estimate":{"post":{"tags":["Batch processing"],"summary":"Estimate a complete file batch without reserving credits","operationId":"estimate_batch_v1_batches_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSpec"}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchEstimate"}}}},"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/batches":{"post":{"tags":["Batch processing"],"summary":"Atomically reserve and enqueue a file batch","operationId":"submit_batch_v1_batches_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSpec"}}}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Batch"}}}},"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":["Batch processing"],"summary":"List recent company batches","operationId":"batches_v1_batches_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":{"batches":{"type":"array","items":{"$ref":"#/components/schemas/Batch"}}},"required":["batches"]}}}},"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/batches/{batch_id}":{"get":{"tags":["Batch processing"],"summary":"Read batch progress and per-file job results","operationId":"batch_v1_batches__batch_id__get","parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Batch"}}}},"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":["Batch processing"],"summary":"Delete terminal batch result data while retaining accounting","operationId":"delete_batch_v1_batches__batch_id__delete","parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch 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/batches/{batch_id}/results.zip":{"get":{"tags":["Batch processing"],"summary":"Download successful batch results as one ZIP","operationId":"batch_zip_v1_batches__batch_id__results_zip_get","parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}}],"responses":{"200":{"description":"ZIP archive of successful item results plus manifest.json","content":{"application/zip":{"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/batches/{batch_id}/retry-failed":{"post":{"tags":["Batch processing"],"summary":"Create a new batch from failed items only","operationId":"retry_failed_v1_batches__batch_id__retry_failed_post","parameters":[{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]+$"}}],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Batch"}}}},"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/bulks":{"post":{"tags":["Bulk manifests"],"summary":"Declare a bulk workload and reserve disk headroom, without allocating jobs or credits","operationId":"create_v1_bulks_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSpec"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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":["Bulk manifests"],"summary":"List company bulk manifests","operationId":"listing_v1_bulks_get","parameters":[{"name":"after","in":"query","required":false,"schema":{"type":"string","default":"","title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/bulks/{bulk_id}/manifest":{"put":{"tags":["Bulk manifests"],"summary":"Append an immutable manifest page (1–100 items); same offset and payload replay safely","operationId":"append_v1_bulks__bulk_id__manifest_put","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManifestPage"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/bulks/{bulk_id}/seal":{"post":{"tags":["Bulk manifests"],"summary":"Preflight the full measured manifest and enable bounded dispatch","operationId":"seal_v1_bulks__bulk_id__seal_post","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/bulks/{bulk_id}":{"get":{"tags":["Bulk manifests"],"summary":"Read resumable company bulk status","operationId":"status_v1_bulks__bulk_id__get","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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":["Bulk manifests"],"summary":"Cancel future dispatch; admitted child jobs keep their existing billing and retention","operationId":"cancel_v1_bulks__bulk_id__delete","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk 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/bulks/{bulk_id}/items":{"get":{"tags":["Bulk manifests"],"summary":"Authenticated bounded manifest/status page","operationId":"items_v1_bulks__bulk_id__items_get","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}},{"name":"after","in":"query","required":false,"schema":{"type":"integer","minimum":-1,"default":-1,"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/bulks/{bulk_id}/outputs":{"get":{"tags":["Bulk manifests"],"summary":"Authenticated bounded output page; downloads reuse company job authorization","operationId":"outputs_v1_bulks__bulk_id__outputs_get","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}},{"name":"after","in":"query","required":false,"schema":{"type":"integer","minimum":-1,"default":-1,"title":"After"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/bulks/{bulk_id}/resume":{"post":{"tags":["Bulk manifests"],"summary":"Recheck storage and auth to resume a paused manifest","operationId":"resume_v1_bulks__bulk_id__resume_post","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/bulks/{bulk_id}/retry-failed":{"post":{"tags":["Bulk manifests"],"summary":"Reset only failed items; replay is idempotent and successful items are never charged again","operationId":"retry_v1_bulks__bulk_id__retry_failed_post","parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9_.:-]+$"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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/pricing":{"get":{"tags":["Skavio processing API"],"summary":"Canonical Pricing V2 catalog","operationId":"public_pricing_v1_pricing_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"}}}},"/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/storage":{"get":{"tags":["Skavio processing API"],"summary":"Authenticated company quota and data-disk admission headroom","operationId":"storage_status_v1_storage_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"}}}},"/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":"number","enum":[6.99,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"}},"batch_deliveries":{"type":"array","items":{"$ref":"#/components/schemas/BatchDelivery"}}},"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","enterprise"]}},"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":{"BatchItemSpec":{"properties":{"upload_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Upload Ids"}},"additionalProperties":false,"type":"object","required":["upload_ids"],"title":"BatchItemSpec"},"BatchSpec":{"properties":{"operation":{"type":"string","maxLength":64,"title":"Operation"},"upload_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Upload Ids"},"items":{"items":{"$ref":"#/components/schemas/BatchItemSpec"},"type":"array","maxItems":100,"title":"Items"},"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"},"webhook_mode":{"type":"string","enum":["batch","items","both"],"title":"Webhook Mode","default":"batch"},"max_credits":{"anyOf":[{"type":"integer","maximum":100000000.0,"minimum":1.0},{"type":"null"}],"title":"Max Credits"}},"additionalProperties":false,"type":"object","required":["operation"],"title":"BatchSpec"},"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"},"BulkSpec":{"properties":{"operation":{"type":"string","maxLength":64,"title":"Operation"},"total_items":{"type":"integer","maximum":100000.0,"minimum":1.0,"title":"Total Items"},"declared_input_bytes":{"type":"integer","maximum":1000000000000000.0,"minimum":1.0,"title":"Declared Input Bytes"},"declared_output_bytes":{"type":"integer","maximum":1000000000000000.0,"minimum":4096.0,"title":"Declared Output Bytes"},"declared_scratch_bytes":{"type":"integer","maximum":1000000000000000.0,"minimum":4096.0,"title":"Declared Scratch Bytes"},"max_credits":{"type":"integer","maximum":1000000000.0,"minimum":1.0,"title":"Max Credits"},"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"},"webhook_mode":{"type":"string","enum":["bulk","items","both"],"title":"Webhook Mode","default":"bulk"}},"additionalProperties":false,"type":"object","required":["operation","total_items","declared_input_bytes","declared_output_bytes","declared_scratch_bytes","max_credits"],"title":"BulkSpec"},"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"},"ManifestItem":{"properties":{"upload_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Upload Ids"},"output_bytes":{"type":"integer","maximum":1000000000000.0,"minimum":4096.0,"title":"Output Bytes"},"scratch_bytes":{"type":"integer","maximum":1000000000000.0,"minimum":4096.0,"title":"Scratch Bytes"}},"additionalProperties":false,"type":"object","required":["upload_ids","output_bytes","scratch_bytes"],"title":"ManifestItem"},"ManifestPage":{"properties":{"offset":{"type":"integer","maximum":100000.0,"minimum":0.0,"title":"Offset"},"items":{"items":{"$ref":"#/components/schemas/ManifestItem"},"type":"array","maxItems":100,"minItems":1,"title":"Items"}},"additionalProperties":false,"type":"object","required":["offset","items"],"title":"ManifestPage"},"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"]},"BatchItem":{"type":"object","properties":{"index":{"type":"integer"},"upload_ids":{"type":"array","items":{"type":"string"}},"job":{"$ref":"#/components/schemas/Job"}},"required":["index","upload_ids","job"]},"Batch":{"type":"object","properties":{"id":{"type":"string"},"operation":{"type":"string"},"status":{"type":"string","enum":["queued","processing","completed","partial","failed"]},"estimated_credits":{"type":"integer"},"charged_credits":{"type":"integer"},"total_items":{"type":"integer"},"completed_items":{"type":"integer"},"failed_items":{"type":"integer"},"pending_items":{"type":"integer"},"progress":{"type":"number","minimum":0,"maximum":1},"webhook_mode":{"type":"string","enum":["batch","items","both"]},"retry_of":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/BatchItem"}}},"required":["id","operation","status","estimated_credits","charged_credits","total_items","completed_items","failed_items","pending_items","progress","webhook_mode","created_at","updated_at"]},"BatchEstimateItem":{"type":"object","properties":{"index":{"type":"integer"},"upload_ids":{"type":"array","items":{"type":"string"}},"operation":{"type":"string"},"estimated_credits":{"type":"integer"},"pages":{"type":"integer"},"duration_seconds":{"type":"number"}},"required":["index","upload_ids","operation","estimated_credits","pages","duration_seconds"]},"BatchEstimate":{"type":"object","properties":{"estimated_credits":{"type":"integer"},"pricing_version":{"type":"string"},"total_items":{"type":"integer"},"pages":{"type":"integer"},"duration_seconds":{"type":"number"},"items":{"type":"array","items":{"$ref":"#/components/schemas/BatchEstimateItem"}}},"required":["estimated_credits","pricing_version","total_items","items"]},"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":[]},"BatchDelivery":{"type":"object","properties":{"id":{"type":"string"},"batch_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":[]}]}