Skip to main content
You will call POST /v1/request-money and optionally GET /v1/request-money/{referenceId} with header X-API-Key.

Prerequisites

  • Base URL for your environment (sandbox or production). Banrural sandbox: set BASE_URL to https://banrural-request-api-sandbox.up.railway.app (API root: https://banrural-request-api-sandbox.up.railway.app/v1).
  • An integrator API key.
  • TLS-capable HTTP client (HTTPS).

Steps

1

Pick a referenceId

Choose an 8-character operation code your systems can reuse later: only a-z, A-Z, and 0-9 (for example Ab3xY9mK). It must identify this operation for your account.
2

Create an operation

Send POST /v1/request-money with a JSON body that satisfies RequestMoneyRequest (see OpenAPI for required fields and payout method shapes).
3

Read the response

On success you receive 201 with referenceId, id, status, waLink, landingLink, and related fields from RequestMoneyResponse. Choose the URL that matches your payer experience.
4

Fetch status (optional)

Call GET /v1/request-money/{referenceId} with the same referenceId to read the latest public status snapshot.

Example requests

Replace BASE_URL and YOUR_API_KEY. The body below is illustrative; align field names and payout payloads with the OpenAPI schema for your payout type.
curl -sS -X POST "$BASE_URL/v1/request-money" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
  "referenceId": "Ab3xY9mK",
  "expiresInMinutes": 120,
  "amount": 150.5,
  "currency": "GTQ",
  "requestData": {
    "userReferenceId": "user-8842",
    "name": {
      "firstName": "Maria",
      "lastName": "Lopez"
    },
    "address": {
      "country": "GT",
      "stateCode": "GT-01",
      "city": "Guatemala City",
      "line1": "12 Av. Reforma"
    },
    "dob": "1990-05-15",
    "payoutMethod": {
      "type": "bank_account",
      "bankAccount": {
        "country": "GT",
        "stateCode": "GT-01",
        "accountNumber": "0123456789012",
        "accountType": "checking",
        "bankCode": "BIND",
        "bankName": "BANCO INDUSTRIAL"
      }
    }
  }
}'

What you should see

  • 201 Created on a valid create payload, with JSON matching RequestMoneyResponse.
  • 401 Unauthorized if the key is missing or wrong.
  • 403 Forbidden on POST when screening blocks the operation (for example OFAC); see your integration contact for the exact payload.
  • 404 Not Found on GET when no public resource exists for that referenceId (for your account), as described in OpenAPI.
Use the API Reference tab’s playground to send real requests against the base URL you configure there, with the same X-API-Key header. If you use the partner portal playground instead, read Partner portal API playground: you paste your own key for create and lookup; Update status (internal) uses a server-side secret and your JWT; runs do not rotate your API key automatically.