Get a file upload processing steps for that uploadId
Get a file upload processing steps for that uploadId
curl --request GET \
--url https://api.orion.file.ai/prod/v1/uploads/{uploadId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orion.file.ai/prod/v1/uploads/{uploadId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orion.file.ai/prod/v1/uploads/{uploadId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "processed",
"aiProcessingProvider": "orchestrator",
"statuses": [
{
"status": "completed",
"step": "processing_started",
"timestamp": "2025-06-11T10:30:30Z"
},
{
"status": "completed",
"step": "fraud_detection",
"timestamp": "2025-06-11T10:31:00Z"
}
],
"files": [
{
"fileId": "53d6a0b1-2a8d-4ed9-9e6a-ceaef7ca3908",
"fileName": "file1.jpg",
"fileType": "image/jpeg",
"fileSize": 261928,
"fileStoragePath": "path/to/file1.jpg",
"fileHash": "be3ef5fbb21e31c1281300b23b1c918a8ba54427c799aea21865f68d5efd01b7",
"uploadId": "f2538513-f0b9-4aa8-9c57-bc0a85c77de6",
"status": "processed",
"currency": "USD",
"summary": "Example file",
"referenceId": "1e70a5e860",
"isDuplicate": false,
"isEmbedded": false,
"schemaId": "6835aca6030a79ffaabca742",
"fileClass": "Receipt",
"fileContactId": "6835aca2281d9ed1bab90b11",
"fileContactName": "Example Company",
"createdAt": "2025-05-27T12:14:24.258Z",
"updatedAt": "2025-05-27T12:14:24.258Z"
}
]
}{
"status": "action_required",
"statuses": [
{
"step": "zip_extraction",
"status": "completed",
"timestamp": "2025-06-11T10:30:30Z"
}
],
"files": [
{
"uploadId": "abc-123",
"fileName": "invoice.pdf",
"fileType": "application/pdf",
"status": "processed",
"statuses": [
{
"step": "file_uploaded",
"status": "completed",
"timestamp": "2025-06-11T10:30:31Z"
},
{
"step": "processing_started",
"status": "completed",
"timestamp": "2025-06-11T10:30:32Z"
}
],
"files": [
{
"fileId": "doc-001",
"uploadId": "abc-123",
"fileName": "invoice.pdf",
"status": "processed"
}
]
},
{
"fileName": "unsupported.exe",
"fileType": "application/x-dosexec",
"status": "failed",
"statuses": [
{
"step": "processing_failed",
"status": "error",
"errorReason": "Unsupported file type"
}
]
},
{
"fileName": "corrupt.pdf",
"fileType": "application/pdf",
"status": "failed",
"statuses": [
{
"step": "processing_failed",
"status": "error",
"errorReason": "Upload failed"
}
]
}
]
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}More details
More details
status to know when processing is done: poll until it is processed (every document is done and its values are ready), action_required or failed.
statuses lists the individual processing steps for progress display only — it does not include extraction and is not a completion signal.
A document blueprintId may change until status is processed.Authorizations
API key for authentication
Path Parameters
Response
Get a file upload processing steps for that uploadId
Overall progress of the upload. uploading: the file bytes have not arrived yet. processing: still working, including extraction. processed: every document is done and its values are ready. action_required: processing stopped and needs review. failed: processing failed. For a ZIP, combines the status of every extracted file.
uploading, processing, processed, action_required, failed The engine that actually processed the file: "capybara" or "orchestrator" (Beethoven). Read-only, and not an echo of the requested ocrModel — a Capybara request can still be served by Beethoven when the ingest contract is not met. Absent until the file has been stamped.
Processing step events as they were reported; a step can appear more than once (for example waiting, then completed). For progress display only; use status to know when processing is done.
Show child attributes
Show child attributes
For regular uploads: document objects (a document blueprintId may change until status is processed). For ZIP uploads: per-file status objects with uploadId, fileName, status, statuses, and files (documents).
curl --request GET \
--url https://api.orion.file.ai/prod/v1/uploads/{uploadId} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orion.file.ai/prod/v1/uploads/{uploadId}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orion.file.ai/prod/v1/uploads/{uploadId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "processed",
"aiProcessingProvider": "orchestrator",
"statuses": [
{
"status": "completed",
"step": "processing_started",
"timestamp": "2025-06-11T10:30:30Z"
},
{
"status": "completed",
"step": "fraud_detection",
"timestamp": "2025-06-11T10:31:00Z"
}
],
"files": [
{
"fileId": "53d6a0b1-2a8d-4ed9-9e6a-ceaef7ca3908",
"fileName": "file1.jpg",
"fileType": "image/jpeg",
"fileSize": 261928,
"fileStoragePath": "path/to/file1.jpg",
"fileHash": "be3ef5fbb21e31c1281300b23b1c918a8ba54427c799aea21865f68d5efd01b7",
"uploadId": "f2538513-f0b9-4aa8-9c57-bc0a85c77de6",
"status": "processed",
"currency": "USD",
"summary": "Example file",
"referenceId": "1e70a5e860",
"isDuplicate": false,
"isEmbedded": false,
"schemaId": "6835aca6030a79ffaabca742",
"fileClass": "Receipt",
"fileContactId": "6835aca2281d9ed1bab90b11",
"fileContactName": "Example Company",
"createdAt": "2025-05-27T12:14:24.258Z",
"updatedAt": "2025-05-27T12:14:24.258Z"
}
]
}{
"status": "action_required",
"statuses": [
{
"step": "zip_extraction",
"status": "completed",
"timestamp": "2025-06-11T10:30:30Z"
}
],
"files": [
{
"uploadId": "abc-123",
"fileName": "invoice.pdf",
"fileType": "application/pdf",
"status": "processed",
"statuses": [
{
"step": "file_uploaded",
"status": "completed",
"timestamp": "2025-06-11T10:30:31Z"
},
{
"step": "processing_started",
"status": "completed",
"timestamp": "2025-06-11T10:30:32Z"
}
],
"files": [
{
"fileId": "doc-001",
"uploadId": "abc-123",
"fileName": "invoice.pdf",
"status": "processed"
}
]
},
{
"fileName": "unsupported.exe",
"fileType": "application/x-dosexec",
"status": "failed",
"statuses": [
{
"step": "processing_failed",
"status": "error",
"errorReason": "Unsupported file type"
}
]
},
{
"fileName": "corrupt.pdf",
"fileType": "application/pdf",
"status": "failed",
"statuses": [
{
"step": "processing_failed",
"status": "error",
"errorReason": "Upload failed"
}
]
}
]
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}