Uploads | API & MCP Reference | Archera
Upload a billing file for savings analysis
post/v1/org/{org_id}/uploads
Accepts a multipart PDF or CSV billing file, stores it in Archera's invoice upload bucket, and returns an upload ID. Use this upload ID when invoking the Savings Analysis MCP tool. The upload status workflow is: PENDING before storage begins, PROCESSING while the file is being transferred, COMPLETE once it is available for analysis, and ERROR if storage fails.
Path parameters
org_idstring · uuid Required
Body
multipart/form-datadescriptionstring · max: 255 · nullable Optionalfilesstring · binary Write-only Required
Responses
201 Created
application/json-idstring · uuid Read-only Required -created_atstring · date-time Read-only Required -org_idstring · max: 50 Read-only Required -file_namestring · max: 255 Read-only Required -content_typestring · max: 255 Read-only Required -size_bytesinteger Read-only Required -descriptionstring · max: 255 · nullable Read-only Required -upload_statusstring · enum Read-only Required Possible values:PENDING,PROCESSING,COMPLETE,ERROR-sourceundefined · enum Read-only Required Possible values:agent_upload,attachment,partner_api-detected_typestring · max: 64 · nullable Read-only Required -available_actionsstring[] Read-only Optional400 Bad request
401 Unauthorized
403 Forbidden
404 Not found
405 Method not allowed
409 Conflict
422 Unprocessable Content
500 Internal server error
default Default error response
Example Request
POST /v1/org/{org_id}/uploads HTTP/1.1
Content-Type: multipart/form-data
Accept: */*
Content-Length: 36
{
"description": null,
"file": "binary"
}
Example Response
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"created_at": "2026-07-27T21:08:04.625Z",
"org_id": "text",
"file_name": "text",
"content_type": "text",
"size_bytes": 1,
"description": null,
"upload_status": "PENDING",
"source": "agent_upload",
"detected_type": null,
"available_actions": ["text"]
}
Get uploaded billing file status
get/v1/org/{org_id}/uploads/{upload_id}
Returns metadata and upload status for a partner API upload. Clients can poll this endpoint until upload_status is COMPLETE, then pass the upload ID to the Savings Analysis MCP tool.
Path parameters
org_idstring · uuid Requiredupload_idstring · uuid Required
Responses
200 OK
400 Bad request
401 Unauthorized
403 Forbidden
404 Not found
405 Method not allowed
409 Conflict
500 Internal server error
default Default error response
Example Request
GET /v1/org/{org_id}/uploads/{upload_id} HTTP/1.1
Accept: */*