Skip to main content
Asset uses webhooks to send notifications regarding specific requests and updates about the platform.

Configuring Webhooks

  • In the Asset Dashboard, go to Developers → Webhooks.
  • Enter your Endpoint URL (HTTPS only).
  • (Optional) Add custom Headers such as an Authorization token or an x-asset-signature secret.
  • Click Save.

Disabling Webhooks

There might be times in which you want to temporarily disable webhooks. To do this, follow the steps below:
  1. In the Asset Dashboard, open Developers → Webhooks.
  2. Toggle Enabled off.
  3. Click Save.

Retries

If there is non-200 response or the request times out, Asset will retry the request up to four more times, each with an exponential backoff. The first delay will be 10 seconds, and subsequent delays will double from there.

Catching Up on Missed Webhooks

If your endpoint was down or you missed some deliveries, you can replay past notifications with the Load webhook notifications endpoint:
  • Pass webhook_id (the asset-id header of the last webhook you received) to get all notifications created after it.
  • Filter by delivery status with the status query parameter (pending, sent, error), comma-separated for multiple values.
  • Results are paginated.
Each item in the response contains the notification id, the datetime it was sent (or created if it has not been sent yet), and the original notification message, so you can process missed events exactly as if they had been delivered to your endpoint.

Headers

Every webhook request comes with two headers asset-id and asset-signature. The asset-id header uniquely identifies the webhook request, and asset-signature is the signature of the request. You can use the public key at https://api.getasset.com/.well-known/jwks.json to validate the signature. Below is a sample Python code snippet that shows how to validate the signature.

Notifications

Plaid connections

For bank integrations, we have the following notifications available:
  • PLAID_ACCOUNT_CONNECTED: Sent when a new account is connected via Plaid.
  • PLAID_ACCOUNT_DISCONNECTED: Sent when an existing account is disconnected through the Plaid link flow.
  • PLAID_ACCOUNT_EXPIRED: Sent when Plaid detects that the account connection is not active. This means the account must be reconnected.
  • PLAID_SYNC_STARTED: Sent when a transactions sync starts for a Plaid-connected account.
  • PLAID_TRANSACTIONS_SYNCED: Sent when new transactions have been synced for a Plaid-connected account.
  • ACCOUNT_BALANCE_UPDATED: Sent when the balance is updated on an account.
All notifications above have the same message structure:

Bookkeeping requests

As the books are being completed for a business, Asset will send requests that lists the set of tasks that need to be completed by the business owner. Message structure:
In addition, when the business owner has completed the tasks, a notification is also sent. Message structure:
Questions? Reach out via our Contact form or email support@getasset.com.

Business notifications

We have the following notifications when a Business changes state:
  • BUSINESS_CREATED: Sent when a business is created.
  • BUSINESS_ACTIVATED: Sent when an inactive business is activated.
  • BUSINESS_DEACTIVATED: Sent when an active business is deactivated.
Message structure:

Document notifications

We have the following notifications for uploaded documents:
  • RECEIPT_MATCHED: Sent when a receipt document is matched to a transaction.
Message structure:
  • STATEMENT_IMPORTED: Sent when an uploaded bank statement finishes importing into an account.
Message structure: