Teamtailor
Below is a table detailing common error codes returned by the Unified API, their meanings, and common remediation steps:Error Code | Description | Probable Cause | Remediation Steps |
---|---|---|---|
501 | Bad Request | The API key is missing permissions to access the given endpoint | Ask your customer to re-authenticate following the steps outlined in the relevant documentation |
Candidate hired_at date
- Given Teamtailor considers a Candidate as hired when they are in the
Hired
stage, thehired_at
field indicates the date when the Candidate entered theHired
stage.
Hibob
Missing or inaccurate employment information
termination_date
may be missing or null as well asemployment_status
if theView selected employees' Lifecycle sections
is missing from the service user (refer to the Hibob guide for the full permission sets that your customer needs to enable)
Error Code | Description | Probable Cause | Remediation Steps |
---|---|---|---|
403 | Forbidden | If you receive an empty response or error 403, it likely means the permissions do not allow you to access the data you are trying to fetch. | Ask your customer to re-authenticate following the steps outlined in the relevant documentation |
Greenhouse
Error Code | Description | Probable Cause | Remediation Steps |
---|---|---|---|
404 | Not found | Greenhouse may also return 404 if an invalid Greenhouse user ID was provided in the on-behalf-of input in the account linking process. | Ask your customer to re-authenticate following the steps outlined in the relevant documentation |
SmartRecruiters
SmartRecruiters has restrictive rate limits and does not offer the ability of listing applications and interviews. This means a lot of requests need to be made to backfill this behaviour (and allow it in the unified API), combined with the rate limits it can take some time to list / sync applications & interviews. Due to these behaviours, theinterview
endpoint by default has a filter applied to only return interviews for candidates in the following status INTERVIEW
OFFERED
HIRED
TRANSFERRED
, filtering out candidates that are in REJECTED
WITHDRAWN
LEAD
and IN_REVIEW
status.
Lever
Error Code | Description | Probable Cause | Remediation Steps |
---|---|---|---|
400 | Invalid Request | This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again. | Double-check the parameters you are sending (query parameters or body data) |
401 | Unauthorized | The credentials or scopes provided do not suffice to access this resource. | Verify the lever credentials in the integrations page per the relevant documentation |
403 | Forbidden | The Lever account settings don’t authorize the oauth app to perform the requested operation. | Talk to a Super Admin on your Lever account to update your API settings. |
429 | Too many requests | Lever imposes a limit of the number of requests a client can make in a short time. Read more about our rate limiting here. | Implement a retry strategy (you can do this easily via retryConfig of the StackOne sdk ) |
500 | Server Error | There was an error on Lever or StackOne’s end. | Contact StackOne via your dedicated slack channel or support@stackone.com |
503 | Service Unavailable | Lever is temporarily down for maintenance. Please retry your requests with exponential backoff. | Implement a retry strategy (you can do this easily via retryConfig of the StackOne sdk ) |
Bullhorn (ATS)
Bullhorn’s ATS system is a crossover with a traditional CRM based tool. It has relaxed validation rules that means some operations can fail silently or create records with invalid relationships. It is possible to supply an invalid or missingid
when creating candidates/notes
. When you create a Note with an invalid/missing:
candidate_id
- the note is still created in the BH db with the invalid reference. This means it’s successful and retrievable but won’t appear anywhere in the UI.author_id
- the author is defaulted to the api userid
Workable
Candidates created without an associated application will be added to a generic talent pool that appears in the Workable UI. These candidates will not be returned in the API response as the provider does not support returning talent pool candidates at time of writing.SAP SuccessFactors (LMS)
If you are integrating with SAP SuccessFactors via the OCN (Open Content Network) flow, you must use the/unified/lms/content/batch
endpoint.
This is due to the OCN API having a rate limit of 1 request per 5 minutes and the batch endpoint has a number of configurations that help batch requests in a performant way.
content_id
is not a required field for creating a completion.
Factorial HR
Error Code | Description | Probable Cause | Remediation Steps |
---|---|---|---|
403 | Forbidden | The OAuth token does not have the required scopes to access the requested resource. | Ensure the integration is authorized with the following scopes: documents , employees , company_legal_entities , contracts , finance , company_locations . Re-authenticate the connection with these scopes enabled. This applies only to OAuth-based integrations. |
CascadeHR (HRIS)
Time-off
We have used the IRIS Cascade HR Absence API to create time off records for employees. The Absence API has several limitations, including no validation for entitlement checks, key person blocking, overlapping rules, or approval workflows. All absences are treated as admin-entered and auto-approved.For full details, refer to the official documentation:
Absence Endpoint Limitations – IRIS Cascade HR APICreate The system currently supports applying a half day only on the start or end date of a time off request by using the start_half_day and end_half_day fields in the request body. Unlike CascadeHR UI, this system does not support marking arbitrary days within the date range as half days