Webhook Details
This page contains a complete list of available Branch webhooks, with descriptions and examples.
Account Verified as Worker
This webhook is triggered when a Branch user is verified as a worker on an organization's roster. Routing and account number will return null if the user's wallet has not yet been created.
Example
{
"event": "ACCOUNT_VERIFIED_AS_WORKER",
"event_id": "123124-23412-123-124",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"first_name": "John",
"last_name": "Doe",
"employee_id": "123",
"account_number": "1234567891234567",
"routing_number": "084106768",
"email_address": "john.doe@branchapp.com",
"phone_number": "5551234567"
}
}
Account Review
This webhook is triggered when a user has been flagged for manual review.
Example
{
"event": "ACCOUNT_REVIEW",
"event_id": "123124-23412-123-124",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"onboarding_link": "https://branchapp.com/ol1"
}
}
Advance Adjustment
This webhook is triggered when an adjustment is made to an advance to a worker.
Example
{
"event": "ADVANCE_ADJUSTMENT",
"event_id": "123124-23412-123-124",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"adjustment_amount": 641,
"advance_id": "18d99mn3bvf78094",
"employee_id": "123",
"original_outstanding_amount": 99,
"outstanding_amount": 444,
"timestamp": "2023-12-30T15:40:32-08:00",
"type": "tp_pull"
}
}
Advance Claimed
This webhook is triggered when a worker claims an advance.
Example
{
"event": "ADVANCE_CLAIMED",
"event_id": "123124-23412-123-124",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"advance_id": "123456",
"amount": 12345,
"employee_id": "123",
"timestamp": "2023-12-30T15:40:32-08:00"
}
}
Card Activated
This webhook is triggered when a user activates their card.
Example
{
"event": "CARD_ACTIVATED",
"event_id": "123124-23412-123-124",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"marqeta_card_token": "Acme_1099_Physical",
"card_product": "Acme_1099",
"card_type": "[PHYSICAL, VIRTUAL, UNKNOWN]",
"time_emitted": "T15:40:32-08:00"
}
}
Card Deactivated
This webhook is triggered when a user deactivates their card.
Example
{
"event": "CARD_DEACTIVATED",
"event_id": "123124-23412-123-124",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"marqeta_card_token": "Acme_1099_Virtual",
"card_product": "Acme_1099",
"card_type": "[PHYSICAL, VIRTUAL, UNKNOWN]",
"reason_code": "USER_REQUESTED",
"time_emitted": "T15:40:32-08:00"
}
}
Invoice Created
This webhook is triggered when an invoice is created.
Example
{
"event": "INVOICE_CREATED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"id": 399742129664,
"amount": 12456,
"description": "Invoice created for John Doe",
"filename": "j_doe_invoice_11",
"due_date": "01-01-2024"
}
}
Invoice Overdue
This webhook is triggered when an invoice is overdue.
Example
{
"event": "INVOICE_OVERDUE",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"id": 399742129664,
"amount": 12456,
"description": "Invoice not paid by due date",
"due_date": "01-01-2024"
}
}
Invoice Transfer Initiated
This webhook is triggered when an invoice transfer is initiated.
Example
{
"event": "INVOICE_TRANSFER_INITIATED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"invoice_id": 399742129664,
"amount": 12345,
"description": "Invoice transfer for John Doe"
}
}
KYC Fallback Failed
This webhook is triggered when KYC fallback ID upload verification has failed. This means that the user is not payable through Branch.
Example
{
"event": "KYC_FALLBACK_FAILED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123"
}
}
Organization Initialized Account Claimed
This webhook is triggered when an organization's initialized account is claimed.
Example
{
"event": "ORGANIZATION_INITIALIZED_ACCOUNT_CLAIMED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123"
}
}
Organization Initialized Account Claimed
This webhook is triggered when an organization's initialized account is created.
Example
{
"event": "ORGANIZATION_INITIALIZED_ACCOUNT_CREATED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"account_number": "123456789",
"routing_number": "084106768",
"onboarding_link": "https://branchapp.com/ol1"
}
}
Wallet Created
This webhook is triggered when the user passes KYC and a wallet is created.
Example
{
"event": "WALLET_CREATED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"account_number": "1234567891234567",
"routing_number": "084106768",
"onboarding_link": "https://branchapp.com/ol1"
}
}
Wallet Claimed
This webhook is triggered when a user downloads the application and claims a pre-initialized account.
Example
{
"event": "WALLET_CLAIMED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123"
}
}
Wallet Activated
When a worker's identity is verified a wallet is created, but is not usable until the user passes additional KYC checks. When those KYC checks pass, this event is triggered.
Example
{
"event": "WALLET_ACTIVATED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"account_number": "1234567891234567",
"routing_number": "084106768",
"onboarding_link": "https://branchapp.com/ol1",
"is_claimed": false
}
}
is_claimed = false: Initial onboarding after passing KYC checks.
is_claimed = true: Reclaiming of a previously created and claimed wallet.
Wallet Deactivated
Anytime a worker's wallet gets deactivated, this event is triggered.
This could be due to Branch confirming the user as a fraud user, or the user requesting that their account be closed.
Example
{
"event": "WALLET_DEACTIVATED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"account_number": "1234567891234567",
"routing_number": "084106768",
"reason_code": "USER_REQUESTED",
"reason": "Worker Resigned",
"is_claimed": true
}
}
is_claimed = false: The wallet was not created after failed Branch fraud checks.
is_claimed = true: A wallet that was created and claimed is now being deactivated.
Wallet Closed
This webhook is triggered when a wallet is closed. The worker is reset and can onboard again.
Example
{
"event": "WALLET_CLOSED",
"event_id": "69a9d1ab-b646-4b69-8f45-49b6ac617282",
"client_type": "ORGANIZATION",
"client_id": "100000",
"data": {
"employee_id": "123",
"account_number": "123456789",
"routing_number": "987654321"
}
}