BILL now maintains a 90-day event history for each subscription. You can get the list of event notifications sent to you for a subscription with GET /v3/events/subscription/{subscription_id}. You can now get the list of events for the last 90 days.
The card-account.updated webhook notification now includes the id field.
| Field | Description |
|---|---|
id | BILL-generated ID of the card account. The value begins with cat. |
See Card account notification payloads for more information.
The payment.updated webhook notification now includes more status values.
| Status | Description |
|---|---|
READY_TO_FUND | BILL is ready to start debiting the payer's funding account. |
CANCELLATION_IN_PROGRESS | Payment cancellation is in progress. |
PARTIALLY_CLAIMED | A virtual card payment has been claimed by the vendor for less than the full amount. |
UNDEFINED | If none of the above conditions are met. |
See Payment notification payloads for more information.
We have introduced a set of API endpoints for general ledger classifications. These endpoints enable you to better maintain a General Ledger (GL) for bookkeeping and financial reporting.
Accounting classes
Accounting class objects enable you to set up categories unique to your business.
| Operation | API endpoint |
|---|---|
| Create an accounting class | POST /v3/classifications/accounting-classes |
| Get list of accounting classes | GET /v3/classifications/accounting-classes |
| Get accounting class details | GET /v3/classifications/accounting-classes/{id} |
| Update an accounting class | PATCH /v3/classifications/accounting-classes/{id} |
| Archive an accounting class | POST /v3/classifications/accounting-classes/{id}/archive |
| Restore an archived accounting class | POST /v3/classifications/accounting-classes/{id}/restore |
Departments
Department objects enable you to set up groups or divisions for your business, such as Marketing, HQ, or Asia-Pacific.
| Operation | API endpoint |
|---|---|
| Create a department | POST /v3/classifications/departments |
| Get department details | GET /v3/classifications/departments/{id} |
| Update a department | PATCH /v3/classifications/departments/{id} |
| Archive a department | POST /v3/classifications/departments/{id}/archive |
| Restore an archived department | POST /v3/classifications/departments/{id}/restore |
Employees
Employee objects enable you to set up employees on your payroll.
| Operation | API endpoint |
|---|---|
| Create an employee | POST /v3/classifications/employees |
| Get employee details | GET /v3/classifications/employees/{id} |
| Update an employee | PATCH /v3/classifications/employees/{id} |
| Archive an employee | POST /v3/classifications/employees/{id}/archive |
| Restore an archived employee | POST /v3/classifications/employees/{id}/restore |
Items
Item objects enable you to set up products and/or services sold by your business.
| Operation | API endpoint |
|---|---|
| Create an item | POST /v3/classifications/items |
| Get item details | GET /v3/classifications/items/{id} |
| Update an item | PATCH /v3/classifications/items/{id} |
| Archive an item | POST /v3/classifications/items/{id}/archive |
| Restore an archived item | POST /v3/classifications/items/{id}/restore |
Jobs
Job objects enable you to set up unique projects with their own set of income and expenses.
| Operation | API endpoint |
|---|---|
| Create a job | POST /v3/classifications/jobs |
| Get job details | GET /v3/classifications/jobs/{id} |
| Update a job | PATCH /v3/classifications/jobs/{id} |
| Archive a job | POST /v3/classifications/jobs/{id}/archive |
| Restore an archived job | POST /v3/classifications/jobs/{id}/restore |
Locations
Location objects enable you to set up office locations, such as West Coast, San Francisco, or California.
| Operation | API endpoint |
|---|---|
| Create a location | POST /v3/classifications/locations |
| Get location details | GET /v3/classifications/locations/{id} |
| Update a location | PATCH/v3/classifications/locations/{id} |
| Archive a location | POST/v3/classifications/locations/{id}/archive |
| Restore an archived location | POST /v3/classifications/locations/{id}/restore |
We have introduced a set of API endpoints for the Spend & Expense reimbursement operations. A reimbursement is a request to be repaid from budget funds for an out-of-pocket expense. Reimbursements enable business transactions without a charge card (physical or virtual card) to be included in the Spend & Expense platform.
See Reimbursements for more information.
| Operation | API endpoint |
|---|---|
| Upload an image for a reimbursement | POST /v3/spend/reimbursements/image-upload-url |
| Create a reimbursement | POST /v3/spend/reimbursements |
| Approve a reimbursement | POST /v3/spend/reimbursements/{reimbursementId}/action |
| Get list of reimbursements | GET /v3/spend/reimbursements |
| Get reimbursement details | GET /v3/spend/reimbursements/{reimbursementId} |
| Update a reimbursement | PATCH /v3/spend/reimbursements/{reimbursementId} |
| Delete a reimbursement | DELETE /v3/spend/reimbursements/{reimbursementId} |
We have added two new recipes for showcasing more workflows with the v3 API.
| Recipe | Description |
|---|---|
| List unpaid balance for each vendor | In this recipe, we list unpaid bills that are past their current due date, and then extract the unpaid balance for each vendor. |
| Pay vendors that accept virtual cards | In this recipe, we check whether a vendor accepts virtual cards as a payment method, and then we pay the vendor with an API card. |
You can get details about your current API session with GET /v3/login/session. In the response, we have introduced a set of improvements.
Field | Description |
|---|---|
| The existing The |
| This is a new field in the Get API session details response. This field is set as |
See GET /v3/login/session in the API reference for more information.
We have added a new field in the cancel payment response to confirm that BILL has received your payment cancellation request. When you attempt to cancel a payment with POST /v3/payments/{paymentId}/cancel, you now get a cancelRequestSubmitted field in the response. This field is set as true if your cancel payment request is submitted.
Note: If the payment is canceled, the payment status is set as CANCELLED.
See POST /v3/payments/{paymentId}/cancel in the API reference for more information.
We have added bill payment status information in the bills API response. When you create a bill and it goes through a payment workflow, the bills API response now includes the paymentStatus field.
See POST /v3/bills in the API reference for more information.
We have introduced a new Get list of organization industries (GET /v3/organizations/industries) endpoint. Get a list of available values for the industry field for an organization. Use this information to set the industry field in your POST /v3/partner/organizations or PATCH /v3/organizations/{organizationId} request.
See GET /v3/organizations/industries in the API reference for more information.
