Navigation

Webhooks

BillerAPI sends webhook events to notify your application when key actions occur. Configure your webhook endpoint in the Client Portal to start receiving events.

Related guide: Webhooks Integration Guide

The Webhook Event object

Attributes

FieldTypeDescription
id*stringUnique event identifier
type*stringEvent type (e.g., request-to-link.created)
created_at*stringISO 8601 timestamp when the event occurred
data*objectEvent-specific payload data
client_id*stringThe client this event belongs to
Example Webhook Event object
JSON
{
  "id": "evt_abc123",
  "type": "request-to-link.created",
  "created_at": "2026-04-01T10:00:00Z",
  "client_id": "client_xyz",
  "data": {
    "id": "rtl_abc123",
    "client_user_id": "user_456",
    "biller_id": "test_electric_company",
    "status": "PENDING"
  }
}

Event Types

EventDescription
request-to-link.createdA new request-to-link was created
request-to-link.updatedA request-to-link status changed
account-link.createdA new biller account was successfully linked
account-link.updatedAn account link status changed (e.g., disconnected)
link.createdA link session was created and is ready for the user
EVENTrequest-to-link.created

Sent when a new request-to-link is created. Use this to track when linking flows are initiated for your users.

{
  "id": "evt_001",
  "type": "request-to-link.created",
  "created_at": "2026-04-01T10:00:00Z",
  "client_id": "client_xyz",
  "data": {
    "id": "rtl_abc123",
    "client_user_id": "user_456",
    "biller_id": "test_electric_company",
    "status": "PENDING",
    "metadata": {
      "source": "onboarding"
    },
    "created_at": "2026-04-01T10:00:00Z"
  }
}
EVENTrequest-to-link.updated

Sent when a request-to-link status changes. Includes both the new and previous status for easy state tracking.

{
  "id": "evt_002",
  "type": "request-to-link.updated",
  "created_at": "2026-04-01T10:05:00Z",
  "client_id": "client_xyz",
  "data": {
    "id": "rtl_abc123",
    "client_user_id": "user_456",
    "biller_id": "test_electric_company",
    "status": "COMPLETED",
    "previous_status": "IN_PROGRESS",
    "link_token_id": "lt_token123",
    "updated_at": "2026-04-01T10:05:00Z"
  }
}

Handling Webhooks

Your webhook endpoint must return a 200 status code within 30 seconds to acknowledge receipt. If BillerAPI does not receive a 200 response, the event will be retried up to 3 times with exponential backoff.

For a complete guide on setting up webhooks, verifying signatures, and handling retries, see the Webhooks Integration Guide.