We have introduced a set of API endpoints for the Spend & Expense custom field operations. A custom field enables you to categorize transactions in a budget based on policies and projects in your organization.

OperationAPI endpoint
Create a custom fieldPOST /v3/spend/custom-fields
Get list of custom fieldsGET /v3/spend/custom-fields
Get custom field detailsGET /v3/spend/custom-fields/{customFieldId}
Update a custom fieldPATCH /v3/spend/custom-fields/{customFieldId}
Delete a custom fieldDELETE /v3/spend/custom-fields/{customFieldId}
Create custom field valuesPOST /v3/spend/custom-fields/{customFieldId}/values
Get list of custom field valuesGET /v3/spend/custom-fields/{customFieldId}/values
Get custom field value detailsGET /v3/spend/custom-fields/{customFieldId}/values/{customFieldValueId}
Delete custom field valuesDELETE /v3/spend/custom-fields/{customFieldId}/values
Update custom field and values for a transactionPUT /v3/spend/transactions/{transactionId}/custom-fields
Get custom field details for a transactionGET /v3/spend/transactions/{transactionId}/custom-fields
Get custom field value details for a transactionGET /v3/spend/transactions/{transactionId}/custom-fields/{customFieldId}/values

The payment.updated webhook notification now includes more information.

FieldDescription
vendorVendor information. This includes vendor id and name.
billingTypeA payment object is created for each payment. billingType is the source of the payment object creation.

- BDC: Payment made with the BILL web app or BILL API
- BILL_AUTOPAY: Payment made with the BILL autopay feature
- NET_SYNC_FROM_ONLINE_PAYMENT: Payment made outside BILL with the sync feature to a BILL customer
- NET_SYNC_FROM_OFFLINE_PAYMENT: Payment made outside BILL with the sync feature to a customer outside BILL
- RECURRING_PAYMENT: Payment made for a recurring bill

See Payment notification payloads for more information.

We have introduced a new MFA step-up for API session (POST /v3/mfa/step-up) endpoint.

Ideally, when you sign in with POST /v3/login, set rememberMeId and device in your request to generate an MFA-trusted API session.

In case you sign in without rememberMeId and device in your request, you can use this POST /v3/mfa/step-up endpoint to mark the current API session as MFA trusted.

๐Ÿ“˜

NOTE

In addition, we have added a new field in the API login endpoint response. You now see a trusted field in the response. This field is set as true if the current API session is MFA-trusted.

See POST /v3/mfa/step-up in the API reference for more information.

When you create a vendor with vendor bank account information, BILL has restrictions for updating this bank account information. To stay consistent with this BILL policy, we have removed the ability to update vendor bank account information with the Update a vendor (PATCH /v3/vendors/{vendorId}) endpoint.

At the same time, we have introduced a set of endpoints for vendor bank account operations. You can now add and manage vendor bank account information with a dedicated set of endpoints.

๐Ÿ“˜

NOTE

To update vendor bank account information, you must first delete the existing vendor bank account (with DELETE /v3/vendors/{vendorId}/bank-account), and then create a new vendor bank account (with POST /v3/vendors/{vendorId}/bank-account) with the updated information.

OperationAPI endpoint
Create a vendor bank accountPOST /v3/vendors/{vendorId}/bank-account
Get vendor bank account detailsGET /v3/vendors/{vendorId}/bank-account
Delete a vendor bank accountDELETE /v3/vendors/{vendorId}/bank-account