1. Vrtx APIs
Vrtx Docs
  • Welcome đź‘‹
  • Get Started
  • Auth
    • Token
      POST
  • Payouts
    • Create payout
      POST
    • Get payout status
      GET
    • Create bulk payout
      POST
    • Get bulk payout status
      GET
    • Get batch report
      GET
  • Transactions
    • Business Accounts
      • Get business account balance
      • List business transactions
      • Get transaction details by reference
  • Whitelist
    • Add whitelist entries
      POST
    • Get whitelist entries
      GET
    • Delete whitelist entries
      DELETE
  • Wallets
    • List Wallets
      GET
    • Get Wallet
      GET
  • Webhooks
Vrtx APIs
Vrtx Closed loop
Vrtx APIs
Vrtx Closed loop
  1. Vrtx APIs

Webhooks

Webhook
POST
Last modified:2026-10-04 08:32:34

Overview#

Webhooks allow your application to receive real-time notifications when specific events occur within Vrtx. When an event is triggered, Vrtx sends an HTTPS POST request to the webhook URL registered by your organization for the corresponding event code.

Supported Events#

Event CodeDescription
onboarding.completeTriggered when a customer's onboarding process is successfully completed.
topup.completeTriggered when a top-up to a business account is successfully completed.
payout.pendingTriggered when a payout is created and is pending submission to the bank.
payout.processingTriggered when a payout is being processed.
payout.failedTriggered when a payout fails.
payout.completedTriggered when a payout is successfully completed.

How Webhook Delivery Works#

1.
Register a webhook URL in the business portal.
2.
When one of the events occurs, Vrtx generates a webhook event.
3.
Vrtx sends the event to the registered URL using an HTTPS POST request.
4.
The request contains a standard webhook envelope and event-specific information inside the data object.

Webhook Payload#

All webhook events use the same top-level payload structure.
Event-specific fields are returned inside the data object.
{
  "id": "3f9a1c02-8b7d-4e21-9c3a-1a2b3c4d5e6f",
  "code": "payout.completed",
  "created_at": "2026-07-06T11:20:14.220Z",
  "webhook_id": "d292e3c5-b4de-464c-b1ca-d4361e557f20",
  "data": {}
}

Payload Fields#

FieldTypeDescription
idUUIDUnique identifier for the webhook event.
codestringEvent code indicating the type of event.
created_atstringTimestamp indicating when the event was created, in ISO 8601 format.
webhook_idUUIDIdentifier of the registered webhook receiving the event.
dataobjectEvent-specific payload containing details about the affected resource.

Example#

A completed payout event is delivered with the event code:
payout.completed
The data object contains the payout-specific information associated with the event.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢200Success
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://your-api-server.com' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "id": "dbd62ce2-d074-459f-a039-223d8f4a2778",
    "code": "onboarding.complete",
    "created_at": "2026-09-03T14:49:24.582Z",
    "webhook_id": "78005b4b-c551-45c9-8a83-87e26ebdfe1c",
    "data": {
        "customer_id": "fe141fcb-ebe0-410c-a4e6-5a12766db0b2",
        "mobile_number": "9665XXXXXX07",
        "status": "active",
        "completed_at": "2026-09-03T14:49:24.535Z",
        "external_reference": null
    }
}'
Response Response Example
{}
Modified at 2026-10-04 08:32:34
Previous
Get Wallet
Built with