POST /v1/jobs/{jobId}/readouts/upload
Upload a readout file to a job
ivy_ API key (Authorization: Bearer ivy_… or X-Ivy-Api-Key), a Clerk session JWT (Authorization: Bearer …) or the Clerk __session cookie (browser sessions). See Authentication.Uploads one readout file (a CSV by default) to your file storage and records it against a job you can write to, as a readouts_csv output of that job. Send the file as multipart/form-data. The file field is named file; if it is missing, the first file in the form is used. The file can be up to 100 MB.
The optional projectId form field files the upload under that project. It must be a project you own, and with a project-scoped API key it must also be one of the key's projects; otherwise the request returns 404. The response carries the storage key, the size in bytes, the content type (text/csv when the upload does not name one) and the SHA-256 hash of the file.
A project viewer cannot upload; they get the same 404 as for a job that does not exist. With a project-scoped API key, a job outside the key's projects also returns 404. Only POST is served.
Request
Path parameters
Job UUID.
Responses
200 OK
Response shape:
Storage key of the uploaded file
The type the upload named, or text/csv
SHA-256 of the file, in hex
400 Bad Request
Response shape: object
401 Unauthorized
Response shape: object
404 Not Found
projectId names a project you do not own or your key cannot reach. All of these return an error body with NOT_FOUND.Response shape: object
405
POST; the Allow header says POSTResponse shape: object
429 Too Many Requests
Response shape: object
500 Internal Server Error
message carries the causeResponse shape: object
Was this page helpful?