Upload a raw CSV file

Persist a raw CSV through the shared attachment layer for audit / re-ingest. Ingestion of the parsed rows happens separately via the v1 batch endpoints — this only lands the file.

Authentication: Bearer token required.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

X-Organization-IDstring or nullOptional
Idempotency-KeystringOptional<=255 characters
A unique key (up to 255 printable ASCII characters, e.g. a UUID) that makes a retry of this request safe. Envoy stores the response for 24 hours; a retry with the same key and the same request returns it again with `Idempotent-Replayed: true` instead of running twice. The same key with a different request returns 422 `idempotency_key_reused`; while the first request is still running, 409 `idempotency_key_in_progress`. 5xx and 429 responses are not stored.

Request

This endpoint expects a multipart form containing a file.
entity_typeenumRequired
Which entity the CSV is for
Allowed values:
filefileRequired
The CSV file
import_idstring or nullOptionalformat: "uuid"

Browser-generated CSV import correlation ID

Response

Successful Response
idstringformat: "uuid"
entity_typeenum

Which entity a CSV upload is for — echoed in the response and the correlated logs.

Allowed values:
filenamestring
blob_namestring
file_size_bytesinteger
import_idstring or nullOptionalformat: "uuid"
archival_duration_msdouble or nullOptional>=0

Errors

401
Unauthorized Error
403
Forbidden Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error