Common API error codes

An API operation can fail for different reasons. If an operation fails, the server responds with an error message.

{
   "response_status" : 1,
   "response_message" : "Error",
   "response_data" : {
      "error_code" : "{error_code}",
      "error_message" : "{error_message}"
   }
}

An error response consists of four fields.

Error response fieldDescription
response_status1 is returned for an error response
response_messageError is returned for an error response
error_codeError code. The value begins with BDC_.
error_messageError message. This message provides a short description about the error.

Error codes list

You can retrieve the complete list of the error codes available in the sandbox environment with /Errors.json.

curl --request POST \
--url 'https://api-stage.bill.com/api/v2/Errors.json'

There are over 525 different API error codes depending on the API operation and error type.

Common error codes

Error codeDescription & possible directions
"BDC_1001": "System error occurred."

"BDC_1002": "Unknown error occurred."
Confirm whether a parameter is unknown or misspelt parameter in the API request. In addition, confirm whether the API request object is in the correct format.
"BDC_1144"Confirm whether your API requests per developer key per hour are not more than 20000. In addition, confirm whether your Login and ListOrgs API requests per developer key per hour are not more than 200.

When you receive this error, all subsequent API requests must wait until the beginning of the next hour. Implement exponential backoff in your code to address rate limits.

See API rate limits for more information.
"BDC_1150": "User cannot make online payments."Bank account setup must be complete
Confirm whether your bank account setup is complete.

See Bank account setup for more information.

Paying user must have the correct user role
Confirm whether the organization user making an online payment has the Administrator user role, Payer user role, or a custom user role with permissions to pay bills. Use the BILL web app to set the Payer user role for the organization user.

See Manage a user's role in the BILL Help Center for more information.
"BDC_1151": "Cannot make online payments with the specified bank account."Bank account must be verified and active
Confirm whether the added bank account is verified by BILL. In addition, confirm whether the bank account stays active and not expired.

Paying user must have permissions to pay with the bank account
Confirm whether the organization user making an online payment has permissions to pay with bank account. Use the BILL web app to add authorized users for using the bank account.

See How to add a user to a bank account in the BILL Help Center for more information.
"BDC_1155": "Payments to the country are not supported."Confirm whether the vendor address country code is in the valid full name format. Accounting software, such as Oracle NetSuite, set the address country code as two letter or three letter country codes.
"BDC_1322": "Max number of concurrent requests per organization reached."Confirm whether your concurrent API requests per developer key per organization is not more than three.

When you receive this error, all subsequent API requests fail until one concurrent request is completed. Implement exponential backoff in your code to address concurrent rate limits.
"BDC_1340": "HTTP Method not supported."Confirm whether all your API requests are HTTPS POST requests. In addition, confirm whether your credentials are included only in the API request body and not as query string parameters.
"BDC_1361": "Untrusted session."Confirm whether your API session is Multi-Factor Authentication (MFA)-trusted for protected API operations, such as inviting a vendor to setup ePayments or adding a vendor bank account.

See the Login API for more information.
"BDC_1544"Confirm whether all the characters in your API requests are valid. The BILL API performs API input validation based on a set of rules.

See API text input validation for more information.