Bill Sync
Trigger and monitor bill synchronization for linked accounts. When a sync is triggered, BillerAPI fetches the latest bill data from the biller and updates your records.
Related guide: Link a Biller Account
The Sync Record object
Attributes
| Field | Type | Description |
|---|---|---|
| id* | string | Unique sync record identifier |
| account_link_id* | string | The account link that was synced |
| status* | string | Sync status: PENDING, IN_PROGRESS, COMPLETED, FAILED |
| bills_found | integer | Number of bills discovered during sync |
| bills_updated | integer | Number of bills updated during sync |
| error | string | Error message if sync failed |
| started_at | string | ISO 8601 timestamp when sync started |
| completed_at | string | ISO 8601 timestamp when sync completed |
| created_at | string | ISO 8601 timestamp when the record was created |
Example Sync Record object
JSON
{
"id": "sync_abc123",
"account_link_id": "al_xyz789",
"status": "COMPLETED",
"bills_found": 3,
"bills_updated": 1,
"error": null,
"started_at": "2026-04-01T12:00:00Z",
"completed_at": "2026-04-01T12:00:05Z",
"created_at": "2026-04-01T12:00:00Z"
}POST
/bills/sync/triggerTrigger a bill sync for a linked account. Returns immediately with a sync record. The sync runs asynchronously in the background.
Request Body
| Field | Type | Description |
|---|---|---|
| account_link_id* | string | The account link to sync bills for |
| force | boolean | Force a full re-sync even if recently synced (default: false) |
Response — 202 Accepted
{
"id": "sync_abc123",
"account_link_id": "al_xyz789",
"status": "PENDING",
"created_at": "2026-04-01T12:00:00Z"
}curl -X POST https://sandbox.api.billerapi.com/bills/sync/trigger \
-H "X-Client-ID: your_client_id" \
-H "X-Client-Secret: your_client_secret" \
-H "Content-Type: application/json" \
-d '{
"account_link_id": "al_xyz789",
"force": false
}'GET
/bills/syncGet sync status and history for an account link.
Query Parameters
| Field | Type | Description |
|---|---|---|
| account_link_id* | string | Filter by account link ID |
| since | string | ISO 8601 timestamp to filter syncs created after this date |
| limit | integer | Maximum number of sync records to return (default: 20, max: 100) |
| include_deleted | boolean | Include deleted sync records (default: false) |
Response
{
"syncs": [SyncRecord],
"total": 5
}curl "https://sandbox.api.billerapi.com/bills/sync?account_link_id=al_xyz789&limit=10" \
-H "X-Client-ID: your_client_id" \
-H "X-Client-Secret: your_client_secret"