API concepts
Errors
HTTP status codes and the error body.
Every error is JSON with an error message. Validation errors also carry a details list with one line per problem.
{
"error": "Invalid job.",
"details": [
"operations[1].machine_options: unknown machine LASER.",
"quantity must be a positive integer."
]
}
| 200 | Success. Also a replayed create, and accept on an already invoiced job. |
|---|---|
| 201 | Created. A new inquiry, job, file set, or invoice. |
| 202 | Accepted for review. Accept above your auto-quote limit. |
| 400 | The request is not valid. Read details. |
| 401 | The key is missing, unknown, or revoked. A WWW-Authenticate header is included. |
| 402 | An order could not be charged: no card on file, or the card was declined. The order is recorded as payment_failed. |
| 403 | The key cannot do this. Jobs need a key tied to a customer. |
| 404 | The record does not exist, or belongs to another key. |
| 409 | The action does not fit the record's status, the Idempotency-Key was reused with other content, files were sent to a paid job, an order line has no approved variant, or you already have 10 webhooks. |
| 422 | No shipping rate was available for the order's address and parcel. |
| 502 | A service we depend on failed: shipping could not be quoted, a refund failed, card setup could not start, or a webhook test was not delivered. |
| 503 | We could not save or read. Retry later with the same Idempotency-Key. |
Do not retry on
400, 401, 402, 403, 404, 409, and 422 will not change on retry. Fix the request, the key, or the state first.