Due · AsyncAPI Specification

Due Webhooks

Version

View Spec View on GitHub PaymentsCross-Border PaymentsStablecoinsFintechVirtual AccountsForeign ExchangeKYCWalletsAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-07-18'
method: searched
source:
- https://due.readme.io/docs/using-webhooks
- https://due.readme.io/docs/list-of-events
- https://due.readme.io/docs/handle-kyc-status-webhooks
spec_type: Webhooks
summary: >-
  Due delivers real-time events to registered HTTPS endpoints via HTTP POST. Each webhook endpoint has its own
  Ed25519 key pair; payloads are signed and the signature is sent hex-encoded in X-Webhook-Signature.
delivery:
  transport: https-post
  content_type: application/json
  envelope:
    fields: [id, type, data, occurredAt, attemptedAt]
    example:
      id: wh_evt__123
      type: transfer.status_changed
      data: {}
      occurredAt: '2025-09-22T12:00:00Z'
      attemptedAt: '2025-09-22T12:00:00Z'
    note: The full changed object is included in the `data` field.
security:
  scheme: Ed25519
  signature_header: X-Webhook-Signature
  signature_encoding: hex
  key: Per-endpoint public key (PEM) returned as publicKey when the endpoint is created; verify the raw request body.
retry:
  manual: POST /v1/webhook_endpoints/{webhookId}/events/{eventId}/retry
  note: Retries resend the same signed payload; verification is unchanged.
management_operations:
- get_v1-webhook-events        # List available webhook events
- get_v1-webhook-endpoints     # List webhook endpoints
- post_v1-webhook-endpoints    # Create webhook endpoint
- post_v1-webhook-endpoints-webhookid   # Update webhook endpoint
- delete_v1-webhook-endpoints-webhookid # Delete webhook endpoint
- get_v1-webhook-endpoints-webhookid-events
- post_v1-webhook-endpoints-webhookid-events-eventid-retry
events:
- type: transfer.status_changed
  description: A transfer changed status (e.g. payment_processed); the data payload is the full transfer object.
- type: bp.kyc.status_changed
  description: An account's KYC/KYB status changed (pending, resubmission_required, manual_review, approved/passed, rejected).
- type: bp.tos_accepted
  description: An account accepted the Terms of Service and Privacy Policy.
note: >-
  Due publishes no machine-readable AsyncAPI document; this is the webhook catalog derived from the docs.
  The authoritative subscribable list is returned at runtime by GET /v1/webhook_endpoints/events.

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/due-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.