Authorization and Client-Id unless noted otherwise. Error bodies use FastAPI’s standard {"detail": ...} wrapper except initialize-session conflicts (409), which return a flat JSON object.
Base path: /api/v1/uploading
Common auth errors
Session access
Applies to endpoints that includeupload_uuid in the path (all except Get session status).
Wrong session status (409)
Used by Delete session, Upload entity, and Start upload when the session is notUPLOADING:
Initialize session
200 — created
New session:DONE session:
409 — conflict
Flat body (not wrapped indetail):
Get session status
upload_uuid stored for the client, or 404 if no record exists.
200
404
No PostgreSQL record and no Redis state:Start upload
200
JSON from the Connector service (schema varies; may include extra fields).400
409
422
Invaliddate_from / date_to in body — Pydantic validation array in detail.
502
500) with string detail.
Delete session
200
409
Session notUPLOADING — structured detail (see above).
Terminate workflow
session_status = STARTED. The session returns to UPLOADING asynchronously after Connector sends the upload-finished webhook with is_terminated=true.
200
404
409 / 502 / 500
From Connector:{"detail": "Failed to stop workflow"} or connection error {"detail": "Failed to connect to Connector service"}.
Upload entity
200
400
409
Session notUPLOADING — structured detail.
422
String message indetail, for example:
"Invalid JSON format.""Missing required columns: store_id, receipt_id""Unknown column: foo""Invalid data types in payload: ...""The columns array cannot be empty."