Common API error codes

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

HTTP error codeDescription
4XXClient side unauthorized, forbidden, or bad request errors
5XXServer side errors

📘

NOTE

See HTTP response status codes in the Mozilla developer documentation for more information about the five classes of HTTP response codes.

An error response consists of HTTP status code (e.g. 401 Unauthorized) and additional detail fields.

Error response fieldDescription
timestampError response timestamp.
codeError code. The value begins with BDC_.
severityError severity (ERROR, WARNING, or INFORMATION)
categoryError category (REQUEST, APPLICATION, SERVER, or DOWNSTREAM)
messageError message. This message provides a short description about the error.
[
    {
        "timestamp": "2024-12-25T00:00:00.000+00:00",
        "code": "BDC_1109",
        "severity": "ERROR",
        "category": "DOWNSTREAM",
        "message": "Session is invalid.  Please log in."
    }
]

Error codes list

The BILL v2 API and v3 API relies on the same source for HTTP error response codes. You can retrieve the complete list of the error codes available in the sandbox environment with /v2/Errors.json.

curl https://sandbox.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
"code": "BDC_1001",
"message": "System error occurred."

"code": "BDC_1002",
"message": "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.
"code": "BDC_1109",
"message": "Session is invalid. Please log in."
Confirm whether your API session is valid.

Sign in to your BILL developer account with /v3/login. In response, your API session is created and a sessionId is generated. Use the sessionId in all subsequent API calls to confirm that you are in a signed-in session.

If your API session is inactive or idle for 35 minutes, the session expires and you are automatically signed out.
"code": "BDC_1144"Confirm whether your API requests per developer key per hour are not more than 20000. In addition, confirm whether your Login 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.
"code": "BDC_1150",
"message": "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.
"code": "BDC_1151",
"message": "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/nominate a user to a bank account in the BILL Help Center for more information.
"code": "BDC_1155",
"message": "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.
"code": "BDC_1322",
"message": "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.
"code": "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.