2xx for success, 4xx for a problem with the request, 5xx for a problem on our side. Every error response has the same body:
Error codes
Several validation problems in one request are reported together in
message, separated by ; .
New codes may be added within
/v1. Treat an unknown code by its HTTP status: an unknown 4xx is a client error, an unknown 5xx a server error.Roster sync row errors
PUT /v1/employees/sync reports problems with individual rows inside a 200 response, in its errors and warnings arrays, while the valid rows still apply. Those row codes (duplicate_external_id, external_id_mismatch, unknown_department and others) are listed in the roster sync guide.
Retrying safely
- Retry
429,409(afterRetry-After),500and network errors, with exponential backoff and jitter, for example 1, 2, 4 and 8 seconds. Give up after a few attempts. - Do not retry other
4xxresponses unchanged: they fail the same way every time. - All read endpoints and the roster sync are idempotent, so a retry after a timeout never duplicates anything.
Contacting support
Email contact@teambuilder.ge with:- the
request_id, - the endpoint and the approximate time (with time zone),
- what you expected and what happened.
