Skip to main content

Endpoints

Auth: X-API-Key (raas_sandbox_* / raas_live_*). Feature: request-money. Host: Partner API overview.

Create — POST /v1/request-money

Body (conceptual)

For bank_account, bankAccount.accountNumber accepts 1–34 alphanumeric characters (A–Z, 0–9), matching the ISO 13616 electronic IBAN maximum. Spaces are removed and lowercase letters are normalized to uppercase. The legacy bankAccount.number alias follows the same rule. Exact nested shapes are in OpenAPI (CreateRequestMoneyDto). For cash, send cash.provider as before — the platform maps it to the fund-request payer field.

Success response (additive)

Fields you already use remain (referenceId, id, status, statusDetails, waLink, landingLink). RaaS Widgets also returns: The create response keeps the legacy shape: it does not include requestId, operationId, or recipientReferenceId. Persist requestId from the request_money.created webhook, or read it later with GET. Do not send recipientReferenceId on create. After the payer fulfills the link, that value appears on the operation (Partner GET /partner/operations and operation.* webhooks) and equals requestData.userReferenceId.

Idempotency

Without a matching key, a duplicate partner + referenceId returns 409 LEGACY_REFERENCE_EXISTS.

Offerability warnings

warnings[] entries such as ROUTE_NOT_OFFERABLE do not fail create. They mean the route can commit but may not appear in the payer widget at that amount. Try another amount/payer or contact your account manager.

Lookup — GET /v1/request-money/{referenceId}

Returns the public snapshot for your integrator referenceId, or 404 when unknown.

Lookup fields (additive)

Same link and status fields as create, plus: Lookup does not return recipientReferenceId. Use Partner GET /partner/operations/{operationId} (or the operation.* webhook) once operationId is present. Before fulfillment, GET includes requestId and omits operationId. warnings are create-only and are not returned on lookup.

Public status values

How these map from the internal money request / operation: see Lifecycle. After an operation exists, prefer operation webhooks for real-time updates.

Common error codes

Branch on stable error.code (or OFAC body code), never on message. Failed creates may also emit request_money.failed — see Webhooks.

Partner configuration

Optional partner settings power derived links:
  • landingBaseUrl — landingLink = base + ?ref={referenceId}
  • whatsappBaseUrl + message template — builds waLink
Configure via Partner Portal / Leap admin. Missing WhatsApp config yields an empty waLink string.

Next steps

Lifecycle

Fund-request link → operation → settlement.

Webhooks

Events from create through settlement.