DotsDocs
References

Error Codes

Every error_code the Dots API returns, grouped by category, with what each one means and how to respond.

This page lists the error codes returned by the Dots API and what each one means.

Error Response Shape

Every failed request returns a JSON body with success: false. Branch on error_code rather than on message: the code is stable, the message is not.

Error response
{
  "success": false,
  "message": "There are insufficient funds in the wallet",
  "error_code": "transaction-insufficient-funds"
}
FieldDescription
successAlways false on an error response.
messageHuman-readable description. Subject to change; do not parse it.
error_codeStable machine-readable code. Absent on some authorization failures and on schema validation errors.
errorsStructured validation details, when available.

Treat an absent error_code as a generic failure of that HTTP status rather than as a distinct condition. Always handle the status code as well as the code.

Error Code Reference

Authentication Errors

CodeDescription
auth-contact-already-existsThe provided phone number is already in use.
auth-email-already-existsThe provided email address is already in use.
auth-username-already-existsThe provided username is already in use.
authentication-code-expiredThe authentication code has expired.
captcha-failedCAPTCHA validation failed.

Validation Errors

CodeDescription
address-invalidThe address is invalid. Check and update the address.
external-id-already-existsThe provided external ID is already in use.
incomplete-business-compliance-informationThe business compliance information is incomplete.
invalid-checkout-session-line-itemA checkout session line item is invalid.
invalid-date-of-birthThe provided date of birth is invalid.
invalid-einThe provided Employer Identification Number (EIN) is invalid.
invalid-emailThe email address is invalid.
invalid-inputThe request input is invalid.
invalid-phone-numberThe phone number is invalid.
invalid-phone-number-landlineLandline phone numbers are not allowed.
invalid-phone-number-voipVOIP phone numbers are not allowed.
invalid-ssnThe provided Social Security Number (SSN) is invalid.
invalid-usernameThe username is invalid. Usernames may only contain letters, digits, and hyphens (-). They must not contain swear words or protected words.
plaid-business-name-mismatchThe bank account name and business legal name do not match. Contact support for help.
tin-check-failedThe SSN or EIN did not match the provided personal information.

Invoice Errors

CodeDescription
invalid-invoice-requested-informationThe value for requested information in the invoice is invalid.
invalid-invoice-breakdownThe breakdown of the invoice is invalid.
invalid-invoice-itemThe invoice item is invalid.
invalid-invoice-item-totalThe totals of the invoice items are incorrect.

Transaction Errors

CodeDescription
ach-account-balance-check-failedThe ACH account balance check failed.
clawback-failedThe clawback failed.
duplicate-wire-amountA wire with the same amount was created in the last seven days. Retry with an amount at least one dollar apart.
invalid-transactionThe transaction is invalid.
payout-minimum-unmetThe payout amount does not meet the minimum.
transaction-insufficient-fundsThere are insufficient funds in the wallet.

Idempotency Errors

CodeDescription
idempotency-errorThe request has already been processed.
idempotent-transactionThe transaction has already been processed.

Resource and Permission Errors

CodeDescription
inactive-organization-connectionThe organization connection is inactive.
insufficient-permissionThe credentials lack permission for the action.
no-organization-selectedNo organization is selected.
no-such-resourceThe requested resource was not found.
plan-rate-limit-exceededThe current plan’s rate limit has been exceeded.
plan-restrictedThe endpoint is not available on the current plan.
status-conflictThe resource is in a conflicting state.

User Information Errors

CodeDescription
app-info-missingThe app has missing or invalid information.
banned-userThe user is banned.
user-info-missingThe user has missing or invalid information.
user-info-missing-cardThe user is missing credit card information.
user-info-missing-cash-appThe user is missing Cash App account information.
user-info-missing-contactThe user is missing contact information.
user-limit-exceededThe user exceeded a payment limit or must submit a required tax form, such as a 1099, before receiving another payout.
user-mergedThe user was merged into another user.

Phone and Verification Errors

Returned when Dots cannot deliver a verification code. These surface on Send a Verification Token. A white-labeled integration has to handle them directly, because your UI — not a Dots-hosted Flow — owns the phone number the user typed in.

CodeStatusDescription
phone-number-invalid422The phone number is not a valid destination. Re-collect the number.
phone-number-not-sms-capable422The number cannot receive SMS, typically a landline. Ask for a mobile number.
phone-number-unsubscribed422The number opted out of Dots messages. The user must use a different number or contact support.
phone-number-temporarily-blocked422The carrier is temporarily blocking the number. Retry later or use a different number.
verification-max-attempts429Too many verification attempts for this number. Wait before retrying.
phone-number-calls-not-supported422The number cannot receive a voice call. Retry without use_voice.
phone-number-call-blocked422The voice call was blocked. Retry without use_voice.

phone-number-invalid, phone-number-not-sms-capable, and phone-number-unsubscribed will not succeed on retry with the same number — prompt the user for a different one. phone-number-temporarily-blocked and verification-max-attempts are time-based and are worth retrying with backoff.

Service Errors

CodeDescription
email-send-failedThe email could not be sent. Try again.
pdf-generation-failedThe PDF could not be generated. Try again.
resource-busyThe resource is unavailable because one or more previous requests are still being processed.
service-unavailableA service was unavailable.
sms-send-failedThe SMS could not be sent. Try again.