Skip to Content

API Responses

POST /api/v1/candidate-reactions

200 OK — import request accepted

{ "requestUuid": "c3d4e5f6-a7b8-9012-cdef-012345678901" }

Use the returned UUID to poll the status via GET /api/v1/candidate-reactions/{requestUuid}.

400 Bad Request — validation error

Returned when request fields fail validation.

Common validation error messages:

firstName: must not be blank email: Email must be valid phone: Phone must contain only digits, spaces, and the characters +, -, (, ), . recruitmentId: must not be null gdprNotice: must not be null

Some errors are returned as a JSON body with error and message fields:

errorCause
TOO_MANY_ATTACHMENTSattachments contains more than 5 items
INVALID_GDPR_VALID_TOgdprNotice.validTo is present but is not in the future
INVALID_GDPR_CONSENT_TEXTgdprNotice.validTo is supplied without a corresponding gdprNotice.consentText
{ "error": "TOO_MANY_ATTACHMENTS", "message": "The request must not contain more than 5 attachments" }

401 Unauthorized — missing or invalid token

Returned when the Bearer token is missing, expired, or was issued for the wrong environment (e.g. Sandbox token used against the Production endpoint).

403 Forbidden — wrong company

Returned when the recruitmentId belongs to a different company than the one associated with your token.

422 Unprocessable Entity — business rule violation

Returned when the recruitmentId is not found or is not active.

429 Too Many Requests — rate limit exceeded

The API enforces a per-company rate limit of 50 requests per minute. Slow down your request rate and retry after a delay.


POST /api/v1/candidate-reactions/test

204 No Content — payload is valid

An empty response indicating the request payload passed all validation checks. Nothing is saved.

400 Bad Request — validation error

Same format as the production endpoint.

401 Unauthorized — missing or invalid token

Returned when the Bearer token is missing, expired, or was not issued for the Sandbox environment.


GET /api/v1/candidate-reactions/{requestUuid}

200 OK — status returned

{ "requestUuid": "c3d4e5f6-a7b8-9012-cdef-012345678901", "status": "COMPLETED", "recruitmentId": 67890, "link": "https://my.teamio.com/recruit/candidate/987654/reaction/67890", "errorMessage": null, "createdAt": "2026-03-04T10:00:00Z", "updatedAt": "2026-03-04T10:00:05Z" }

Status field values:

statusMeaninglinkerrorMessage
PROCESSINGRequest received, not yet completednullnull
COMPLETEDCandidate successfully importedpopulatednull
FAILEDImport failednullpopulated

401 Unauthorized — missing or invalid token

Returned when the Bearer token is missing, expired, or was not issued for the Production environment.

404 Not Found

Returned when the provided UUID does not correspond to any known import request.

Last updated on