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 nullSome errors are returned as a JSON body with error and message fields:
error | Cause |
|---|---|
TOO_MANY_ATTACHMENTS | attachments contains more than 5 items |
INVALID_GDPR_VALID_TO | gdprNotice.validTo is present but is not in the future |
INVALID_GDPR_CONSENT_TEXT | gdprNotice.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:
status | Meaning | link | errorMessage |
|---|---|---|---|
PROCESSING | Request received, not yet completed | null | null |
COMPLETED | Candidate successfully imported | populated | null |
FAILED | Import failed | null | populated |
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.