Troubleshooting
401 Unauthorized
Possible causes:
- The Bearer token is missing from the
Authorizationheader - The token is expired or invalid
- Sandbox credentials used against the production endpoint (or vice versa)
Solution:
Call POST /api/v1/auth/token with your Client ID and Client Secret to obtain a fresh token. Make sure you are using the correct environment’s credentials (sandbox vs. production). See the Authentication page.
400 Bad Request — validation error on submission
Common field validation failures:
firstNameorsurnameis blank or exceeds 50 charactersemaildoes not match the patternname@domain.tldphonecontains invalid characters (only digits, spaces,+,-,(,),.are allowed)recruitmentIdis missinggdprNoticeis missinggdprNotice.validTois in the past (INVALID_GDPR_VALID_TO)gdprNotice.validTois supplied withoutgdprNotice.consentText(INVALID_GDPR_CONSENT_TEXT)
Solution: Review the error message in the response body and correct the corresponding field in your request.
422 Unprocessable Entity — invalid recruitment
The recruitmentId exists but is not active or does not belong to your company.
Solution: Use the ID of an active recruitment that belongs to your company.
429 Too Many Requests
You have exceeded the per-company rate limit of 50 requests per minute.
Solution: Reduce the frequency of your requests and implement exponential backoff with retry logic in your integration.
Too many attachments
The API returns 400 TOO_MANY_ATTACHMENTS if the attachments array contains more than 5 items.
Solution: Split the submission or reduce the number of attachments to 5 or fewer. The gdprNotice.consentText document does not count towards this limit.
Attachment too large
Each attachment (including GDPR documents) must not exceed 10 MB. If an attachment exceeds this limit, the request will be rejected.
Solution: Compress or reduce the file size before encoding it as base64.
Status stuck in PROCESSING
The GET /api/v1/candidate-reactions/{requestUuid} endpoint returns PROCESSING and does not transition to COMPLETED or FAILED.
Possible causes:
- Normal: processing can take a few seconds. Poll again after a short delay.
- Abnormal: an internal error occurred without updating the status record.
Solution: If the status does not change after several minutes, contact support with the requestUuid for investigation.