API reference
Errors.
Clear about what went wrong.
When a request fails, you get an HTTP status and an error object that says what went wrong. Use code in your own code: it stays the same, while message is written for people.
The error object
- error.codestringrequired
What went wrong, as a short code. Use this in your code.
- error.messagestringrequired
What went wrong, in words.
- error.paramstringrequired
The field in your request that caused it, such as
name. Empty when no single field did. - error.request_idstringrequired
The ID of this request. Include it if you contact support.
Example response
{ "error": { "code": "duplicate_name", "message": "An integration with this name already exists for this account.", "param": "name", "request_id": "4b1f0c9e2d7a48b6a3e5f19c0d8b7a26" }}All errors
4xx errors mean something in the request needs to change. 5xx errors are on our side.
| Error | What it means |
|---|---|
400invalid_request | Something in the request is wrong, such as a missing field or a value that isn’t allowed. param names the field. |
400invalid_session | A conversation you sent can’t be accepted. param names the field to fix. Nothing in the request was accepted. |
400invalid_cursor | The cursor isn’t valid. Start again from the first page. |
400invalid_window | since isn’t in a valid format, such as 7d or 12h. |
400unsupported_metric | That combination of measure and group_by isn’t available. |
400unknown_integration_type | That type isn’t a platform you can connect. |
400unknown_key | One of the keys isn’t used by this platform. |
400invalid_keys | A key is missing or has a wrong value. |
400invalid_url | A URL in the keys must be a public https:// address. |
400invalid_name | The name is empty or too long. |
400assets_not_supported | This platform type has no agents to read. |
401not_authenticated | The request has no API key. |
401authentication_failed | The API key is wrong, revoked or expired. |
403permission_denied | This API key doesn’t have access. Contact support. |
404not_found | We couldn’t find that item in your account, or the URL is wrong. |
405method_not_allowed | Every endpoint uses POST. |
409duplicate_name | That name is already in use in your account. |
422connection_test_failed | The platform rejected the keys. Nothing was saved. |
429throttled | Too many requests. Wait for the number of seconds in the Retry-After header, then try again. |
500internal_error | Something went wrong on our side. Try again. If it keeps happening, contact support with the request ID. |
502provider_error | We couldn’t reach the platform. Check the keys, then try again. |
503queue_unavailable | We couldn’t accept your conversations. The message says which ones to send again. |
Trying again
429: wait for the number of seconds in theRetry-Afterheader, then send the same request again.500and502: wait a moment and try again. If it keeps happening, contact support with the request ID.503from Send sessions: the message says which conversations to send again.- Other
4xxerrors will happen again until you fix the request.