Developers
Errors
code; its doc_url links to its entry below.The error object#
HTTP/1.1 404 Not Found
Request-Id: req_8Jx2Qm4T
{
"error": {
"type": "not_found_error",
"code": "not_found",
"message": "Ticket not found",
"param": null,
"request_id": "req_8Jx2Qm4T",
"doc_url": "https://wilmo.ai/developers/errors#not_found"
}
}type: the kind of error, below.code: a short code that never changes meaning. Branch on it.message: for people. It may change; do not parse it.param: the input field the error is about, or null.request_id: the same as theRequest-Idheader. Quote it when you contact us.
Types#
| 400 | invalid_request_error | The request is wrong. Change it before you retry. |
| 401 | authentication_error | No valid key or token was sent. |
| 403 | permission_error | The key is valid but may not do this. |
| 404 | not_found_error | Nothing with this id in the teams you read. |
| 409 | conflict_error | The request conflicts with an earlier one. |
| 429 | rate_limit_error | Too many requests. Wait, then retry. |
| 5xx | api_error | Something went wrong at Wilmo. Retry with backoff. |
Retry only rate limits (429) and errors at Wilmo (5xx), with backoff. A 4xx answers the same until you change the request.
Codes#
The input does not match the operation's schema: a missing required field, a wrong type, a value out of range.
What to do: Read param for the field, check it against the API reference, and send it again.
The input is well-formed but cannot be used: a cursor from another query, or a period that is not a valid range.
What to do: Start paging again without a cursor, or send a valid period. Do not retry unchanged.
The operation needs a team, and none follows from the key or the input.
What to do: Send team_id (an id from list_teams).
No API key was sent, or the key is wrong, expired or revoked.
What to do: Send Authorization: Bearer <key>. Make a new key in Settings if the old one was revoked.
The key does not hold the scope this operation needs.
What to do: Use a key with the scope named in the API reference (read:tickets, read:analytics).
Only an organization admin may do this.
What to do: Ask an organization admin to do it, or to make the key.
The key may not change this team.
What to do: Use a key of that team, or an organization key.
Nothing with this id in a team the key reads. Wilmo never confirms that an id of another organization exists. A feature not switched on for your organization answers this too.
What to do: Check the id and that the key reads its team.
This Idempotency-Key was used in the last 24 hours with a different body.
What to do: Send a new Idempotency-Key for a new request. Reuse a key only to retry the exact same request.
Too many requests in the current window.
What to do: Wait the seconds in Retry-After, then retry. Spread requests out.
The key named an organization in Wilmo-Organization that it does not belong to.
What to do: Drop the header, or use a key of that organization.
There is no operation at this method and path.
What to do: Check the path against the OpenAPI document at https://app.wilmo.ai/api/public/v1/openapi.
The path exists, but not with this HTTP method.
What to do: Use one of the methods in the Allow header.
Something went wrong in Wilmo.
What to do: Retry with the same Idempotency-Key and backoff; if it persists, contact support with the request id.