We have added two new recipes for showcasing more workflows with the v3 API.

RecipeDescription
List unpaid balance for each vendorIn 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 cardsIn 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.

FieldDescription
mfaStatusThe existing PHONE_VERIFICATION status name is updated to DISABLED. This update adds clarity to the status.

The mfaStatus is set as DISABLED when MFA is disabled for the organization.
mfaBypassThis is a new field in the Get API session details response.

This field is set as true when MFA is disabled at the developer key level. All organizations that are linked to this developer key do not require MFA.

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.

We have introduced a new Get card funding purpose (GET /v3/funding-accounts/cards/funding-purposes) endpoint. Get a list of card funding purpose values based on the vendor and card brand.

When you create a payment (POST /v3/payments or POST /v3/payments/bulk) with a CARD_ACCOUNT funding account type, BILL requires a vendor industry value for compliance. When BILL cannot identify the vendor industry, the cardFundingPurpose field must be set in your payment request.

Use this endpoint to get the list of card funding purpose values you can set. If you get an empty 200 response, BILL has information about the vendor industry and setting the cardFundingPurpose field is not required in your payment request.

See GET /v3/funding-accounts/cards/funding-purposes in the API reference for more information.

We have introduced a new Get list of vendor payment options (GET /v3/payments/options) endpoint. You can now get a list of vendor payment options available based on the funding account options available in the signed-in user's BILL organization and on the payment methods accepted by a vendor.

See Vendor payment options for more information.

We have introduced a set of API endpoints for getting a list of bank account and card account users. In the response, if the funding account verificationStatus is set as NOMINATED, user verification must be completed before the user can pay with the specified funding account.

OperationAPI endpoint
Get list of bank account usersGET /v3/funding-accounts/banks/users
Get list of card account usersGET /v3/funding-accounts/cards/users

We have updated the webhooks events catalog to include the card-account.updated event. Notifications are triggered for this event when the card account expiration year or month is updated. You can now set up subscriptions to receive notifications for the new event.

See Card account notification payloads for more information.

We have introduced a new Get check image data (GET /v3/payments/{paymentId}/check-image) endpoint. You can now get images of an existing check sent to a vendor. From the response, use downloadLink in a GET request to download the front and back images of the check.

curl '{downloadLink}&sessionId={session_id}' \
--output {check_name}

See GET /v3/payments/{paymentId}/check-image in the API reference for more information.