Upload bytes through the API (local artifact backend only)
PUT /v1/uploads/{upload_id}/{kind}
In production put_url is a signed GCS URL and this route returns 404. With the local artifact backend it accepts the bytes directly.
Credential. An API key (jean_live_…) or a dashboard session token.
curl --fail-with-body -X PUT "https://api-833252724876.us-central1.run.app/v1/uploads/upl_a1b2c3d4e5f6g7h8i9j0/predictions" \
-H "Authorization: Bearer $JEAN_API_KEY"
Path
| Name | Type | Required | Notes |
|---|---|---|---|
upload_id | string | yes | |
kind | string | yes |
Response · 204
Successful Response
Errors
| Status | Meaning |
|---|---|
401 | Unauthenticated, invalid token or revoked key. |
403 | Forbidden, session required or org required. |
404 | No such resource in this org. |
413 | Upload exceeds the size cap. |
422 | Validation failed. |
429 | Quota or rate limit exceeded; error.details says which, and when. |
500 | Internal error; quote error.request_id when reporting it. |
Every one carries the same envelope.