Afriex · AsyncAPI Specification

Afriex Business Webhooks

Version

View Spec View on GitHub PaymentsRemittancesCross-Border PaymentsFintechFinancial ServicesForeign ExchangeMobile MoneyMoney TransferAfricaStablecoinsVirtual AccountsWebhookA2AAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-12'
method: searched
source: openapi/afriex-business-openapi-original.json (OpenAPI 3.1 webhooks block) + https://docs.afriex.com/api-reference/endpoint/webhooks/introduction
spec_type: OpenAPI-3.1-webhooks
asyncapi_published: false
note: 'Afriex publishes no AsyncAPI document — /asyncapi.yaml and /asyncapi.json were not served on any
  host and the docs index names no event spec. It does, however, describe its event surface machine-readably
  inside the OpenAPI 3.1 contract itself, using the top-level webhooks block: five webhook channels, each
  a real operation with a typed request body, plus a WebhookEventName enum of ten event names. That is
  a genuine machine-readable event contract, so this artifact captures it verbatim from the spec rather
  than deriving a fabricated AsyncAPI from prose. The Webhooks pointer is emitted; no AsyncAPI pointer
  is, because no AsyncAPI document exists.'
transport: https-webhook-push
channels:
- channel: customer.events
  operation_id: customerWebhookEvent
  summary: Customer Events
  description: 'Afriex delivers real-time notifications to your configured webhook URL whenever a customer
    is **created**, **updated**, or **deleted**.


    The payload structure is **identical** across all events. Only the `event` field changes.


    **Security**: Every request includes an `x-webhook-signature` header. You **must** verify this signature
    using Afriex''s public key before processing. See the [Webhooks Over'
  payload_media_type:
  - application/json
- channel: payment_method.events
  operation_id: paymentMethodWebhookEvent
  summary: Payment Method Events
  description: 'Afriex delivers real-time notifications to your configured webhook URL whenever a payment
    method is **created**, **updated**, or **deleted** for a customer.


    The payload structure is **identical** across all events. Only the `event` field changes.


    **Security**: Every request includes an `x-webhook-signature` header. You **must** verify this signature
    using Afriex''s public key before processing. S'
  payload_media_type:
  - application/json
- channel: transaction.events
  operation_id: transactionWebhookEvent
  summary: Transaction Events
  description: 'Afriex sends real-time webhook notifications to your configured URL whenever a transaction
    is **created** or **updated**.


    - `TRANSACTION.CREATED`: Fired when a new transaction is initiated.

    - `TRANSACTION.UPDATED`: Fired when the transaction status or other fields change (most commonly `status`
    and `updatedAt`).


    The payload structure is **identical** for both events. Only the `event` field and p'
  payload_media_type:
  - application/json
- channel: checkout_session.events
  operation_id: checkoutSessionWebhookEvent
  summary: Checkout Session Events
  description: 'Afriex delivers a webhook to your configured URL when a hosted checkout session is created.
    Checkout sessions are currently available in the sandbox/staging environment only.


    **Security**: Every request includes an `x-webhook-signature` header. You **must** verify this signature
    using Afriex''s public key before processing. See the [Webhooks Overview & Security](https://docs.afriex.com/api-referen'
  payload_media_type:
  - application/json
- channel: pool_deposit_request.events
  operation_id: poolDepositRequestWebhookEvent
  summary: Pool Deposit Events
  description: 'Afriex delivers a webhook to your configured URL when a pool account deposit you submitted
    is rejected during review.


    Submitting proof through `POST /api/v1/transaction/pool-account` creates a transaction in `IN_REVIEW`.
    An operator then confirms or rejects the inflow: approval surfaces as `TRANSACTION.CREATED`, rejection
    surfaces here. This event cannot be fired from `POST /api/v1/webhooks/trigg'
  payload_media_type:
  - application/json
events:
- name: CUSTOMER.CREATED
  resource: CUSTOMER
- name: CUSTOMER.UPDATED
  resource: CUSTOMER
- name: CUSTOMER.DELETED
  resource: CUSTOMER
- name: PAYMENT_METHOD.CREATED
  resource: PAYMENT_METHOD
- name: PAYMENT_METHOD.UPDATED
  resource: PAYMENT_METHOD
- name: PAYMENT_METHOD.DELETED
  resource: PAYMENT_METHOD
- name: TRANSACTION.CREATED
  resource: TRANSACTION
- name: TRANSACTION.UPDATED
  resource: TRANSACTION
- name: CHECKOUT_SESSION.CREATED
  resource: CHECKOUT_SESSION
- name: POOL_DEPOSIT_REQUEST.REJECTED
  resource: POOL_DEPOSIT_REQUEST
event_count: 10
security:
  signature_header: x-webhook-signature
  algorithm: RSA-SHA256
  encoding: base64
  signed_data: raw request body bytes
  key_source: Dashboard -> Developers -> Webhooks
  key_note: Staging and production use different public keys.
  verification_guidance: Verify against raw bytes, never parsed JSON.
delivery:
  ack_status: 200 (or any 2xx)
  ack_budget_seconds: 30
  failure_response: Return 400 or 401 on signature verification failure.
  retries: 12
  backoff: 30s, 1m, 2m, 4m, 8m, 16m, 32m, 1h, 2h, 4h, 8h, 16h
  source_ips:
    sandbox: 34.234.189.210
    production: 34.197.33.100
  firewall_note: Inbound allowlisting of the Afriex source IPs is required or deliveries are blocked.
configuration:
  where: Dashboard -> Developers -> Webhooks
  subscription_api: null
  subscription_note: Webhook endpoints are configured in the dashboard UI only. There is no API operation
    to register, list, update or delete a webhook subscription, so an agent cannot provision its own callback
    — a human must do it once in the console. triggerWebhook (sandbox) fires a test delivery but does
    not manage subscriptions.
testing:
  operation: triggerWebhook
  http: POST /api/v1/webhooks/trigger
  scope: sandbox/staging only
docs: https://docs.afriex.com/api-reference/endpoint/webhooks/introduction

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/afriex-business-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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