Teamtailor

Below is a table detailing common error codes returned by the Unified API, their meanings, and common remediation steps:
Error CodeDescriptionProbable CauseRemediation Steps
501Bad RequestThe API key is missing permissions to access the given endpointAsk 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, the hired_at field indicates the date when the Candidate entered the Hired stage.

Hibob

Missing or inaccurate employment information

  • termination_date may be missing or null as well as employment_status if the View 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 CodeDescriptionProbable CauseRemediation Steps
403ForbiddenIf 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 CodeDescriptionProbable CauseRemediation Steps
404Not foundGreenhouse 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, the interview 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 CodeDescriptionProbable CauseRemediation Steps
400Invalid RequestThis 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)
401UnauthorizedThe credentials or scopes provided do not suffice to access this resource.Verify the lever credentials in the integrations page per the relevant documentation
403ForbiddenThe 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.
429Too many requestsLever 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)
500Server ErrorThere was an error on Lever or StackOne’s end.Contact StackOne via your dedicated slack channel or support@stackone.com
503Service UnavailableLever 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 missing id when creating candidates/notes. When you create a Note with an invalid/missing:
  1. 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.
  2. author_id - the author is defaulted to the api user id

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 CodeDescriptionProbable CauseRemediation Steps
403ForbiddenThe 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 API
Create 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