Error codes

Below is a list of error codes that Check may return in the type field, along with information on how to resolve them.

Error codeDescription
address_invalidInvalid address. There are many potential messages you may receive for an invalid address error.
api_errorAn internal error occurred. We have been notified and are looking into the issue.
bank_account_invalidBank account not found or not active on this company. Returned by the Corrections endpoints when bank_account is invalid or the correction's bank account is no longer active at approval.
company_blockingThe company's Onboard status is in blocking state and certain actions like running payroll cannot be performed.
company_not_implementedThe company's implementation is not complete and certain actions like running payroll cannot be performed.
company_not_in_good_standingThe company is not in good standing and certain actions like running payroll cannot be performed. The API reports only in_good_standing. See company object for the reasons.
company_tax_setup_requiredCompany tax setup must be complete.
company_terminated_errorThe company is terminated and the termination has taken effect, so the payroll cannot be approved. Returns HTTP 400 on Approve a payroll. Contact Check support.
contractor_payment_already_existsOnly one contractor payment can be created per contractor per payroll.
contractor_payment_limit_exceededContractor payments are limited to 500 per payroll.
correction_emptyCorrection has no payrolls to approve. Add at least one payroll (e.g. via Void a payroll) first.
correction_funding_not_simulatableThe correction's funds transfer payment cannot be completed or failed. It may already be settled or canceled; fetch the correction for its current status. Sandbox only.
correction_not_draftOnly draft corrections can be updated, deleted, previewed, or approved, and payrolls (void or replacement) can only be added to a draft correction. Once approved, changes require reopening the correction or a new correction.
correction_not_manually_simulatedSimulate actions are only available for corrections with simulation_mode manual. Automatic corrections settle on their own. Sandbox only.
correction_not_pendingOnly pending corrections can be reopened or start processing.
correction_not_previewedPreview this correction to generate its receipt.
correction_not_processingOnly processing corrections can complete or fail funding. Start processing with Start correction processing first. Sandbox only.
correction_not_session_managedThis correction's payrolls are not managed by the correction; it cannot be approved through Approve a correction.
correction_not_supportedThis correction cannot accept payrolls (void or replacement). Create a correction via Create a correction and use that instead.
correction_reopen_deadline_passedThis correction can no longer be reopened because its reopen_deadline has passed.
disallowed_environmentThe requested functionality is not supported in the current sandbox or live environment.
earning_code_already_existsOnly one earning code can be created per company, type, name, and active status.
employee_benefit_effective_date_overlapThe maximum number of overlapping benefits for this benefit type has been exceeded. Update the benefits’ effective dates to have fewer overlapping benefits.
employee_federal_withholding_lockedThe employee has an IRS lock-in letter on file (irs_lock_in_letter is "true"), so their federal W-4 elections can't be changed and their federal W-4 form can't be previewed or submitted. The response has no input_errors. See IRS lock-in letters.
federal_tax_liability_exceeds_100kThe company's attempt at payroll approval failed due to their total federal tax liability exceeding $100,000 for their deposit period. To resolve this, the payroll must be funded by wire.
locked_resource_errorCannot start action because another one is in progress. Returns HTTP 409. Retry once the in-progress calculation, preview, or approval completes.
net_pay_negativeNet pay was calculated to be negative. Contact us if you encounter this.
non_empty_payroll_requiredPayrolls must have at least one item or contractor payment to be previewed or approved.
non_managed_payroll_update_invalidNon-managed payrolls cannot be updated as they were not managed and paid via Check. Contact us if you need to update a non-managed item.
not_authenticatedAuthentication credentials were not provided.
not_foundThe resource you're looking for was not found, or you do not have permission to access it.
off_cycle_options_invalidOnly payrolls of type 'off_cycle' can have 'off_cycle_options'.
payday_invalidThe payday is not valid for the given pay period and frequency.
payroll_date_invalidInvalid payroll period or payday.
payroll_already_approvedPayroll is already approved, and further changes are not allowed. If changes need to be made before the approval deadline, you can reopen the payroll.
payroll_approval_deadline_expiredPayroll is past approval deadline without approval, and further changes are not allowed. If you want to pay employees by payday, they must all be paid with the "manual" payment method.
payroll_item_already_existsOnly one payroll item may be created per employee per payroll. The response will identify the employee causing the issue.
payroll_item_already_voidedOne of the selected payroll items or contractor payments has already been voided by a void that is pending or later. On Approve a correction, another correction's void of the item was approved first.
payroll_item_limit_exceededPayroll items are limited to 500 per payroll.
payroll_managed_by_correctionThe payroll is a void or replacement whose lifecycle its correction manages, so it cannot be previewed, approved, updated, or reopened directly. Act on the correction instead.
payroll_not_approvedPayroll must be approved.
payroll_not_draftPayroll is not in draft status. Modifying or deleting the payroll is not allowed.
payroll_not_voidablePayroll must be a non-void regular or off_cycle payroll with a paid or partially_paid status to be voided. An ACH-funded payroll may also be rejected until its funding has cleared the ACH return window.
payroll_preview_required_before_approvalPayroll must be previewed before being approved.
payroll_reopening_invalidOnly payrolls in the 'pending' status can be reopened.
payroll_reopening_invalidPayroll cannot be reopened after reopen deadline has passed
permission_deniedYou do not have permission to perform this action.
post_tax_deduction_invalidThe post tax deduction to be created or updated is invalid. Refer to the post-tax deduction object specification to determine the correct configuration.
preview_requiredCorrection must be previewed before being approved.
request_malformedThe request was malformed.
routing_number_invalidInvalid ABA routing number. Update it to be a valid ABA routing number and try again.
settlement_date_invalidsettlement_date must be a banking day between the earliest date ACH can reach and 7 days from today.
settlement_date_requiredsettlement_date must be set before the correction can be approved, because the correction will debit or refund the employer.
start_date_invalidInvalid payday start date for paydays list endpoint.
state_not_supportedYou have tried to create a company, employee, or workplace in a state that is not currently supported by Check. Contact Check if a state you require is not yet supported via the API.
throttledYou made too many requests to the API. See the accompanying message for when to attempt requests again.
unapproved_payroll_void_invalidPayroll items of unapproved payrolls cannot be voided. Instead, update the previous payroll.
validation_errorThe request body contained invalid data. Look at the message and optional input_errors for more information to resolve.
voided_payroll_reopening_invalidCannot reopen a payroll with voided item or voided contractor payment. Contact us if you need to reopen a voided item.
void_already_existsOne of the selected payroll items or contractor payments is already covered by a draft void, on this or another correction, and cannot be voided again.
void_invalidA void payroll item cannot be voided.
3dp_cash_requirement_limit_exceededPayroll exceeds three-day payroll cash requirement limit of $1,000,000. To proceed, change the payroll's funding_payment_method to wire.