Skip to main content
All client endpoints require 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 include upload_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 not UPLOADING:

Initialize session

200 — created

New session:
After previous DONE session:

409 — conflict

Flat body (not wrapped in detail):

Get session status

Does not check the active session — returns data for any 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

Invalid date_from / date_to in body — Pydantic validation array in detail.

502

Other Connector HTTP errors forward the Connector status code (e.g. 500) with string detail.

Delete session

200

409

Session not UPLOADING — structured detail (see above).

Terminate workflow

Allowed only when 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 not UPLOADING — structured detail.

422

String message in detail, 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."

Proxy-level errors