Troubleshooting
| Status | Meaning | Returned by |
|---|---|---|
| 400 | Invalid request data (e.g., missing required fields, invalid marketplace type); Invalid request data or attempting to update non-custom integration; Cannot delete - account is not a custom integration; Invalid credentials, missing fields, or unsupported grant type; The request is invalid (missing fields, no condition, no accounts, or startDate after endDate).; The request is invalid.; An attachment of the message is stored in an unsupported location; Invalid request body; Invalid filter parameters; Invalid pagination parameters; Invalid request (e.g., missing required fields, chat is closed); Invalid status value; Request validation failed (missing required fields or malformed body).; Invalid pagination parameters (e.g., page size exceeds 100); Invalid paging or date range. The response body carries the reason in its ‘error’ field; Invalid request data; Invalid folder or thread ID; Invalid thread IDs; Invalid request - missing required fields, invalid thread, or an attachment that is too large, of a file type the integration does not accept, or missing its file name. The response body carries the reason in its ‘error’ field; The request is invalid; the body’s error says why.; Invalid date parameters; Invalid year parameter; The request is invalid (e.g. text is missing).; The request is invalid (e.g. subject is missing or too long).; The request is invalid (e.g. title is missing or too long).; The request is invalid (e.g. name is missing).; Invalid request (e.g., empty thread list, too many IDs); Invalid request (e.g., empty list, too many IDs); Invalid request - missing required fields, an account that is not a Custom Integration, or an attachment that is too large, of a blocked file type, or missing its file name. The response body carries the reason in its ‘error’ field; Invalid request (e.g., less than 2 IDs, more than 10 IDs); The note is missing or empty. The response body carries the reason in its ‘error’ field; Invalid request (e.g., past date, too many IDs, invalid date range); Invalid request (e.g., past date, invalid date range); Invalid filter parameters (e.g., page size exceeds 100) |
POST /openapi/account/addcustomintegration, PUT /openapi/account/updatecustomintegration, DELETE /openapi/account/{id}, POST /openapi/auth/token, POST /openapi/autoresponder, PUT /openapi/autoresponder/{id}, GET /openapi/bytefiles/messageattachments/{messageId}, PUT /openapi/chat/draft/{chatId}, POST /openapi/chat/paged, GET /openapi/chat/pagedchatmessages/{chatId}, POST /openapi/chat/sendmessage, POST /openapi/chat/status/{chatId}/{status}, POST /openapi/customer, GET /openapi/customer/paged, POST /openapi/feedback/paged, POST /openapi/folderthreads/assignfolderstothreads, DELETE /openapi/folderthreads/deletefolderfromthread, POST /openapi/folderthreads/removefoldersfromthreads, GET /openapi/message/pagedthreadmessages/{threadId}, POST /openapi/message/send, POST /openapi/messagerule, PUT /openapi/messagerule/{id}, POST /openapi/order, POST /openapi/reporting/ai/csvreport, POST /openapi/reporting/aiusagebyactiontypes, POST /openapi/reporting/aiusagebyuser, POST /openapi/reporting/autoresponsesusage, POST /openapi/reporting/avaragetimeinfo, GET /openapi/reporting/billingchatsperchannel, GET /openapi/reporting/billinggeneral, GET /openapi/reporting/billingticketperchannel, POST /openapi/reporting/casescalculation, POST /openapi/reporting/casesstatusesinfo, POST /openapi/reporting/comparecreatedansweredresolved, POST /openapi/reporting/countrieslist, POST /openapi/reporting/dueoverduecountinfo, POST /openapi/reporting/dueoverduepercentageinfo, POST /openapi/reporting/instantmessageschatscount, POST /openapi/reporting/instantmessageschatsperaccount, POST /openapi/reporting/instantmessageschatspermarketplace, POST /openapi/reporting/instantmessagesoverview, POST /openapi/reporting/instantmessagesuserperformance, POST /openapi/reporting/itemssoldineachchannel, POST /openapi/reporting/messagescountinfo, POST /openapi/reporting/moneyfromeachchannel, POST /openapi/reporting/notsentmessagescount, POST /openapi/reporting/productsearnedmoney, POST /openapi/reporting/templatesusage, POST /openapi/reporting/ticketlanguagecountinfo, POST /openapi/reporting/ticketscalculation, POST /openapi/reporting/ticketsperintegration, POST /openapi/reporting/ticketsperlabels, POST /openapi/reporting/ticketspermarketplace, POST /openapi/reporting/ticketsperproduct, POST /openapi/reporting/ticketspertimereport, GET /openapi/reporting/ticketstatisticcsv, GET /openapi/reporting/ticketswithanswer, POST /openapi/reporting/topsellingproducts, POST /openapi/reporting/useractionscount, POST /openapi/reporting/useraveragetimeinfo, POST /openapi/reporting/userchatsactioncountperday, POST /openapi/reporting/userchatsactionscount, POST /openapi/reporting/userchatsaveragetimeinfo, POST /openapi/reporting/userperformance, POST /openapi/reporting/userschatmessagesgeneralinfo, POST /openapi/reporting/userschatmessagesquantitybyhours, POST /openapi/reporting/usersgeneralchatscount, POST /openapi/reporting/usersgeneralticketscount, POST /openapi/reporting/usersmessagesgeneralinfo, POST /openapi/reporting/usersmessagesquantitybyhours, POST /openapi/reporting/usersresolvetimeinfo, POST /openapi/reporting/usersticketsactionscount, POST /openapi/reporting/useruseractioncountperday, POST /openapi/signature, PUT /openapi/signature/{id}, POST /openapi/support/create-ticket, POST /openapi/support/feature-requests, POST /openapi/template, PUT /openapi/template/{id}, POST /openapi/thread/assignuser, GET /openapi/thread/bycontact/{customerId}, POST /openapi/thread/changestarred/{value}, POST /openapi/thread/create, PUT /openapi/thread/draft/{threadId}, POST /openapi/thread/markresolved, POST /openapi/thread/markunresolved, POST /openapi/thread/merge, POST /openapi/thread/note/{threadId}, POST /openapi/thread/snooze, POST /openapi/thread/snoozethread, POST /openapi/thread/ticketsforreading/paged, POST /openapi/user/simple_paged |
| 401 | User is not authenticated or authorized; Unauthorized; Authentication failed (wrong password, expired token, etc.); User is not authenticated or authorized.; Missing or invalid authentication token.; User is not authenticated | POST /openapi/account/addcustomintegration, GET /openapi/account/getallcustomintegrations, GET /openapi/account/paged, PUT /openapi/account/updatecustomintegration, GET /openapi/account/{id}, DELETE /openapi/account/{id}, POST /openapi/auth/token, GET /openapi/autoresponder, POST /openapi/autoresponder, GET /openapi/autoresponder/{id}, PUT /openapi/autoresponder/{id}, GET /openapi/bytefiles/messageattachments/{messageId}, GET /openapi/bytefiles/messageattachments/{messageId}/links, GET /openapi/bytefiles/paged, GET /openapi/bytefiles/{id}, POST /openapi/chat/assignuser/{chatId}/{userId}, DELETE /openapi/chat/assignuser/{chatId}/{userId}, GET /openapi/chat/chatsbycustomer/{customerId}, GET /openapi/chat/customer/{chatId}, DELETE /openapi/chat/customer/{chatId}, POST /openapi/chat/customer/{chatId}/{customerId}, PUT /openapi/chat/draft/{chatId}, GET /openapi/chat/paged, POST /openapi/chat/paged, GET /openapi/chat/pagedchatmessages/{chatId}, POST /openapi/chat/sendmessage, POST /openapi/chat/status/{chatId}/{status}, GET /openapi/chat/{id}, POST /openapi/customer, GET /openapi/customer/paged, GET /openapi/customer/{id}, POST /openapi/feedback/paged, GET /openapi/folder, GET /openapi/folder/{id}, POST /openapi/folderthreads/assignfolderstothreads, DELETE /openapi/folderthreads/deletefolderfromthread, POST /openapi/folderthreads/removefoldersfromthreads, GET /openapi/message/pagedthreadmessages/{threadId}, POST /openapi/message/send, GET /openapi/message/threadmessages/{threadId}, GET /openapi/messagerule, POST /openapi/messagerule, GET /openapi/messagerule/{id}, PUT /openapi/messagerule/{id}, GET /openapi/messagetranslate/paged, GET /openapi/messagetranslate/{id}, POST /openapi/order, GET /openapi/order/paged, GET /openapi/order/{id}, GET /openapi/prioritysla/paged, GET /openapi/prioritysla/{id}, GET /openapi/reporting/accstats, POST /openapi/reporting/ai/csvreport, POST /openapi/reporting/aiusagebyactiontypes, POST /openapi/reporting/aiusagebyuser, GET /openapi/reporting/alltimestats, POST /openapi/reporting/autoresponsesusage, POST /openapi/reporting/avaragetimeinfo, GET /openapi/reporting/billingchatsperchannel, GET /openapi/reporting/billinggeneral, GET /openapi/reporting/billingticketperchannel, GET /openapi/reporting/byuser, POST /openapi/reporting/casescalculation, POST /openapi/reporting/casesstatusesinfo, POST /openapi/reporting/comparecreatedansweredresolved, POST /openapi/reporting/countrieslist, POST /openapi/reporting/dueoverduecountinfo, POST /openapi/reporting/dueoverduepercentageinfo, POST /openapi/reporting/instantmessageschatscount, POST /openapi/reporting/instantmessageschatsperaccount, POST /openapi/reporting/instantmessageschatspermarketplace, POST /openapi/reporting/instantmessagesoverview, POST /openapi/reporting/instantmessagesuserperformance, POST /openapi/reporting/itemssoldineachchannel, POST /openapi/reporting/messagescountinfo, POST /openapi/reporting/moneyfromeachchannel, POST /openapi/reporting/notsentmessagescount, POST /openapi/reporting/productsearnedmoney, POST /openapi/reporting/templatesusage, POST /openapi/reporting/ticketlanguagecountinfo, POST /openapi/reporting/ticketscalculation, POST /openapi/reporting/ticketsperintegration, POST /openapi/reporting/ticketsperlabels, POST /openapi/reporting/ticketspermarketplace, POST /openapi/reporting/ticketsperproduct, GET /openapi/reporting/ticketspertime, POST /openapi/reporting/ticketspertimereport, GET /openapi/reporting/ticketstatisticcsv, GET /openapi/reporting/ticketswithanswer, GET /openapi/reporting/todaystats, POST /openapi/reporting/topsellingproducts, POST /openapi/reporting/useractionscount, POST /openapi/reporting/useraveragetimeinfo, POST /openapi/reporting/userchatsactioncountperday, POST /openapi/reporting/userchatsactionscount, POST /openapi/reporting/userchatsaveragetimeinfo, POST /openapi/reporting/userperformance, POST /openapi/reporting/userschatmessagesgeneralinfo, POST /openapi/reporting/userschatmessagesquantitybyhours, POST /openapi/reporting/usersgeneralchatscount, POST /openapi/reporting/usersgeneralticketscount, POST /openapi/reporting/usersmessagesgeneralinfo, POST /openapi/reporting/usersmessagesquantitybyhours, POST /openapi/reporting/usersresolvetimeinfo, POST /openapi/reporting/usersticketsactionscount, POST /openapi/reporting/useruseractioncountperday, GET /openapi/signature, POST /openapi/signature, GET /openapi/signature/{id}, PUT /openapi/signature/{id}, POST /openapi/support/create-ticket, POST /openapi/support/feature-requests, GET /openapi/task/paged, GET /openapi/task/{id}, GET /openapi/template, POST /openapi/template, GET /openapi/template/paged, GET /openapi/template/term, GET /openapi/template/{id}, PUT /openapi/template/{id}, GET /openapi/thread/assignpriority/{threadId}/{id}, POST /openapi/thread/assignuser, GET /openapi/thread/bycontact/{customerId}, GET /openapi/thread/byfeedback/{feedbackId}, GET /openapi/thread/byorder/{orderId}, GET /openapi/thread/byproduct/{productVariationId}, POST /openapi/thread/changestarred/{value}, POST /openapi/thread/create, PUT /openapi/thread/draft/{threadId}, POST /openapi/thread/markresolved, POST /openapi/thread/markunresolved, POST /openapi/thread/merge, POST /openapi/thread/note/{threadId}, GET /openapi/thread/parentthread/{id}, POST /openapi/thread/removeorder/{threadId}, GET /openapi/thread/simplifiedthread/{id}, POST /openapi/thread/snooze, POST /openapi/thread/snoozethread, GET /openapi/thread/threadscount, POST /openapi/thread/ticketsforreading/paged, GET /openapi/thread/unresolvedticketsassignedusers, GET /openapi/threadattachment/paged, GET /openapi/threadattachment/{id}, GET /openapi/user/id_name, GET /openapi/user/me, POST /openapi/user/simple_paged |
| 403 | User does not have permission to create integrations; User does not have permission to view integrations; User does not have permission to update integrations; User does not have permission to delete integrations; User does not have the Feedbacks view permission; User does not have access to this thread; User does not have permission to send messages to this thread; User does not have permission to view templates; User does not have permission to create threads; User does not have permission to view company users | POST /openapi/account/addcustomintegration, GET /openapi/account/getallcustomintegrations, PUT /openapi/account/updatecustomintegration, DELETE /openapi/account/{id}, POST /openapi/feedback/paged, GET /openapi/message/pagedthreadmessages/{threadId}, POST /openapi/message/send, GET /openapi/message/threadmessages/{threadId}, GET /openapi/template, GET /openapi/template/term, POST /openapi/thread/create, GET /openapi/thread/simplifiedthread/{id}, GET /openapi/user/id_name, POST /openapi/user/simple_paged |
| 404 | Integration with the specified ID was not found; No autoresponder with the given id exists.; Message with the specified ID was not found; Chat or user ID was not found; Customer with the specified ID was not found; Chat or customer ID was not found; Chat with the specified ID was not found; No such folder is available to the current user.; Association not found; Thread with the specified ID was not found; No rule with the given id exists.; No such signature belongs to the current user.; No template with the given id exists.; Thread or priority ID was not found; User ID or one or more thread IDs were not found; Feedback with the specified ID was not found; Order with the specified ID was not found; Product variation with the specified ID was not found; One or more thread IDs were not found; Child thread with the specified ID was not found | PUT /openapi/account/updatecustomintegration, DELETE /openapi/account/{id}, GET /openapi/autoresponder/{id}, PUT /openapi/autoresponder/{id}, GET /openapi/bytefiles/messageattachments/{messageId}/links, POST /openapi/chat/assignuser/{chatId}/{userId}, DELETE /openapi/chat/assignuser/{chatId}/{userId}, GET /openapi/chat/chatsbycustomer/{customerId}, GET /openapi/chat/customer/{chatId}, DELETE /openapi/chat/customer/{chatId}, POST /openapi/chat/customer/{chatId}/{customerId}, PUT /openapi/chat/draft/{chatId}, GET /openapi/chat/pagedchatmessages/{chatId}, POST /openapi/chat/sendmessage, POST /openapi/chat/status/{chatId}/{status}, GET /openapi/folder/{id}, DELETE /openapi/folderthreads/deletefolderfromthread, GET /openapi/message/pagedthreadmessages/{threadId}, POST /openapi/message/send, GET /openapi/message/threadmessages/{threadId}, GET /openapi/messagerule/{id}, PUT /openapi/messagerule/{id}, GET /openapi/signature/{id}, PUT /openapi/signature/{id}, PUT /openapi/template/{id}, GET /openapi/thread/assignpriority/{threadId}/{id}, POST /openapi/thread/assignuser, GET /openapi/thread/bycontact/{customerId}, GET /openapi/thread/byfeedback/{feedbackId}, GET /openapi/thread/byorder/{orderId}, GET /openapi/thread/byproduct/{productVariationId}, POST /openapi/thread/changestarred/{value}, PUT /openapi/thread/draft/{threadId}, POST /openapi/thread/markresolved, POST /openapi/thread/markunresolved, POST /openapi/thread/merge, POST /openapi/thread/note/{threadId}, GET /openapi/thread/parentthread/{id}, POST /openapi/thread/removeorder/{threadId}, GET /openapi/thread/simplifiedthread/{id}, POST /openapi/thread/snooze, POST /openapi/thread/snoozethread |
| 429 | Too many authentication attempts, please try again later | POST /openapi/auth/token |
| 502 | The support service is unavailable; the ticket was not created. Try again later.; The roadmap service is unavailable; the feature request was not created. Try again later. | POST /openapi/support/create-ticket, POST /openapi/support/feature-requests |
400 Bad Request
Section titled “400 Bad Request”What you see: the call is refused, usually with a body whose error field says what is wrong.
Why: the request is not valid. Common causes:
- a required field is missing, or the JSON body is malformed;
- an id in the path or query is not a valid UUID;
countasks for more than 100 items per page;sortnames a field the API does not allow;- on
POST /openapi/auth/token, a wrong email address or password, a user who is not active, a missinggrantTypeor a refresh token that has expired; - on
POST /openapi/thread/create, a ticket without a message, or for an account that is not a custom integration.
What to do: fix the request using the message, and check the operation’s schema in the API reference. Sending the same request again gives the same answer.
401 Unauthorized
Section titled “401 Unauthorized”What you see: a 401, usually with an empty body, on a call other than the token operation.
Why: the access token is missing, has expired (after 72 hours) or is not valid. A header without the Bearer
prefix counts as missing.
What to do: send Authorization: Bearer <access token>. If the token is older than 72 hours, refresh it or sign in
again, then repeat the call once. See Authentication.
403 Forbidden
Section titled “403 Forbidden”What you see: the call is refused with no body.
Why: the user the token stands for may not do this.
What to do: sign in as a user who may, or ask an administrator of your Replyco company.
404 Not Found
Section titled “404 Not Found”What you see: the error body, with error naming what was not found, or an empty 404 when the path itself is wrong.
Why: no record with this id exists for your company, or the path does not exist. Paths start with /openapi/ and
are written in lower case; paths from older material, such as ones that start with /api/, do not exist.
What to do: take ids from the API’s own answers, and copy paths from the API reference.
204 No Content where you expected a record
Section titled “204 No Content where you expected a record”What you see: a read of one record by id answers 204 with an empty body.
Why: there is no record with this id for your company.
What to do: treat 204 as “not found”. Check that the id came from the same company’s data.
429 Too Many Requests
Section titled “429 Too Many Requests”What you see: calls are refused for a while, then accepted again.
Why: the user your token stands for exceeded a limit on this operation: 10 calls a second or 60 a minute, 15 a minute
on a /paged list, or 2 a minute on the ticket count. For sign-ins the limit is 3 a minute from one IP address.
What to do: wait until the window has passed, then call less often: reuse tokens, ask for larger pages and filter on the server. See Rate limits.
500 Internal Server Error and 502 Bad Gateway
Section titled “500 Internal Server Error and 502 Bad Gateway”What you see: a 500 or 502 with the error body, whose error field holds a general message and whose
correlationId identifies the call.
Why: the call failed on Replyco’s side (500), or a service the operation relies on did not answer and nothing was created (502).
What to do: retry a few times with a growing pause. Before repeating a create, check whether the first attempt
created the record. If a 500 keeps coming back, contact Replyco support at help@replyco.com with the correlationId.
Related
Section titled “Related”- Errors: the error body and which failures to retry.
- Rate limits: every limit and how its window works.
- API reference: each operation’s documented responses.