Bank account notification payloads
When you subscribe to a BILL event and the event triggers, BILL sends a notification to your provided notificationUrl
. See /v3/funding-accounts/banks in the API reference for more information about the request and response fields.
Sample bank-account.created
payload
bank-account.created
payloadIn this sample unescaped JSON payload, the details of a bank account are available. All the fields are included in each bank-account.created
payload.
Field | Description |
---|---|
id | BILL-generated ID of the bank account. The value begins with bac . |
archived | Set as true if the bank account is archived |
accountNumber | Bank account number |
nameOnAccount | Full name on bank account |
routingNumber | Bank routing number |
bankName | Bank name |
status | Bank account status (NOT_VERIFIED , VERIFIED , PENDING , BLOCKED , EXPIRED , INVALID , or UNDEFINED ) |
createdBy | BILL-generated ID of the user that created the bank account. This value begins with 006 . |
type | Bank account type (CHECKING or SAVINGS ) |
ownerType | Bank account owner type (BUSINESS or PERSONAL ) |
createdTime | Created date and time |
updatedTime | Updated date and time |
default | Bank account default values for BILL AP and AR operations. - payables : Set as true if the bank account is set as default for AP operations- receivables : Set as true if the bank account is set as default for AR operations |
{
"metadata": {
"eventId": "{event_id}",
"subscriptionId": "{subscription_id}",
"organizationId": "{organization_id}",
"eventType": "bank-account.created",
"version": "1"
},
"bank-account": {
"id": "{bankaccount_id}",
"archived": true,
"accountNumber": "*****2333",
"nameOnAccount": "Noodle Soupsmith",
"routingNumber": "074000010",
"bankName": "Chase",
"status": "PENDING",
"createdBy": "{user_id}",
"type": "CHECKING",
"ownerType": "BUSINESS",
"createdTime": "2025-12-16T23:15:23.127+00:00",
"updatedTime": "2025-12-16T23:15:23.127+00:00",
"default": {
"payables": false,
"receivables": false
}
}
}
Sample bank-account.updated
payloads
bank-account.updated
payloadsBILL sends bank-account.updated
notifications for a set of operations.
Fields that trigger bank-account.updated
notifications
bank-account.updated
notificationsWhen changes are made to a set of fields in a bank account, the bank-account.updated
notification is triggered.
Field | Description |
---|---|
archived | Set as true if the bank account is archived |
status | Bank account status |
default.payables | Set as true if the bank account is set as default for AP operations |
default.receivables | Set as true if the bank account is set as default for AR operations |
Bank account status
values
status
valuesIn this sample unescaped JSON payload, the details of an updated bank account are available.
When the status
changes from PENDING
to VERIFIED
, the archived
value is set as false
.
{
"metadata": {
"eventId": "{event_id}",
"subscriptionId": "{subscription_id}",
"organizationId": "{organization_id}",
"eventType": "bank-account.updated",
"version": "1"
},
"bank-account": {
"id": "{bankaccount_id}",
"archived": false,
"accountNumber": "*****2333",
"nameOnAccount": "Noodle Soupsmith",
"routingNumber": "074000010",
"bankName": "Chase",
"status": "VERIFIED",
"createdBy": "{user_id}",
"type": "CHECKING",
"ownerType": "BUSINESS",
"createdTime": "2025-12-16T23:15:23.127+00:00",
"updatedTime": "2025-12-19T23:15:23.127+00:00",
"default": {
"payables": false,
"receivables": false
}
}
}
When the status
changes from VERIFIED
to NOT_VERIFIED
, the archived
value is set as true
.
{
"metadata": {
"eventId": "{event_id}",
"subscriptionId": "{subscription_id}",
"organizationId": "{organization_id}",
"eventType": "bank-account.updated",
"version": "1"
},
"bank-account": {
"id": "{bankaccount_id}",
"archived": true,
"accountNumber": "*****2333",
"nameOnAccount": "Noodle Soupsmith",
"routingNumber": "074000010",
"bankName": "Chase",
"status": "NOT_VERIFIED",
"createdBy": "{user_id}",
"type": "CHECKING",
"ownerType": "BUSINESS",
"createdTime": "2025-12-16T23:15:23.127+00:00",
"updatedTime": "2025-12-20T23:15:23.127+00:00",
"default": {
"payables": false,
"receivables": false
}
}
}
When the bank account status
is PENDING
, EXPIRED
, or BLOCKED
, the archived
value is set as true
.
{
"metadata": {
"eventId": "{event_id}",
"subscriptionId": "{subscription_id}",
"organizationId": "{organization_id}",
"eventType": "bank-account.updated",
"version": "1"
},
"bank-account": {
"id": "{bankaccount_id}",
"archived": true,
"accountNumber": "*****2333",
"nameOnAccount": "Noodle Soupsmith",
"routingNumber": "074000010",
"bankName": "Chase",
"status": "{PENDING, EXPIRED, or BLOCKED}",
"createdBy": "{user_id}",
"type": "CHECKING",
"ownerType": "BUSINESS",
"createdTime": "2025-12-16T23:15:23.127+00:00",
"updatedTime": "2025-12-19T23:15:23.127+00:00",
"default": {
"payables": false,
"receivables": false
}
}
}
default
values for AP and AR operations
default
values for AP and AR operationsIn this sample unescaped JSON payload, the details of an updated bank account are available.
{
"metadata": {
"eventId": "{event_id}",
"subscriptionId": "{subscription_id}",
"organizationId": "{organization_id}",
"eventType": "bank-account.updated",
"version": "1"
},
"bank-account": {
"id": "{bankaccount_id}",
"archived": false,
"accountNumber": "*****2333",
"nameOnAccount": "Noodle Soupsmith",
"routingNumber": "074000010",
"bankName": "Chase",
"status": "VERIFIED",
"createdBy": "{user_id}",
"type": "CHECKING",
"ownerType": "BUSINESS",
"createdTime": "2025-12-16T23:15:23.127+00:00",
"updatedTime": "2025-12-20T23:15:23.127+00:00",
"default": {
"payables": true,
"receivables": true
}
}
}
Updated 8 days ago