Skip to main content

Documentation Index

Fetch the complete documentation index at: https://doc.raliopay.com/llms.txt

Use this file to discover all available pages before exploring further.

vIBAN Activated

Event Name: viban_activated
This event signifies that a previously PENDING Virtual IBAN has been approved by compliance and is now ready to receive incoming transfers. The iban and bic (or routingNumber for ACH) can now be shared with end users.

Event Payload

The webhook payload contains the following structure:
{
  "eventId": "550e8400-e29b-41d4-a716-446655440000",
  "eventType": "viban_activated",
  "timestamp": "2026-05-10T12:34:56.789Z",
  "data": {
    "vibanId": "7a1f3c5b-2d8e-4f0a-9b6c-1e3d4f5a6b7c",
    "accountId": "4c2b8e5d-1f6a-4e7c-9d3b-2a8f5c1e9b4d",
    "rail": "SEPA",
    "status": "ACTIVE",
    "iban": "DE89370400440532013000",
    "bic": "COBADEFFXXX"
  }
}

Payload Fields

eventId
string
required
Unique identifier for this webhook event
eventType
string
required
Event type — always viban_activated for this webhook
timestamp
string
required
ISO 8601 timestamp indicating when the event occurred
data
object
required
Event-specific payload

Expected Responses

Success Response

HTTP 200 OKThe webhook was processed successfully.

Client Error

HTTP 4xx StatusClient-side error. Will not be retried.

Server Error

HTTP 5xx StatusServer-side error. Will be retried with exponential backoff.

Implementation Example

app.post('/webhooks/ralio', async (req, res) => {
  const { eventType, data } = req.body;

  if (eventType === 'viban_activated') {
    const { vibanId, accountId, iban, bic } = data;
    console.log(`vIBAN ${vibanId} activated on account ${accountId}`);

    // Persist the bank details so they can be shared with the end user
    await markVibanActive(vibanId, { accountId, iban, bic });

    return res.status(200).json({ received: true });
  }
});