> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leapfinancial.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference overview

> Base URLs, required headers, JSON response patterns, HTTP status codes, and how the OpenAPI spec maps to this API.

## Base URLs

OpenAPI lists **`servers`** for tooling and the interactive playground. Paths in this spec already include the **`/v1`** prefix (for example **`POST /v1/request-money`**), so the server URL is the **host base** only—do not append **`/v1`** to the OpenAPI server value.

| Environment | Host base URL (`BASE_URL` in samples) | Versioned API root                     |
| ----------- | ------------------------------------- | -------------------------------------- |
| Sandbox     | `https://{raas-backend-sandbox}`      | `https://{raas-backend-sandbox}/v1`    |
| Production  | `https://{raas-backend-production}`   | `https://{raas-backend-production}/v1` |

Example create URL for sandbox: **`https://{raas-backend-sandbox}/v1/request-money`**. Your integration contact provides the concrete hosts.

You can regenerate the exported spec from the API repo with **`OPENAPI_SERVER_URL`** set so `servers` reflects another deployment.

## Common headers

| Header                               | Required                                                  | Purpose                    |
| ------------------------------------ | --------------------------------------------------------- | -------------------------- |
| **`Content-Type: application/json`** | On **`POST`**                                             | Request body is JSON.      |
| **`X-API-Key`**                      | On **`POST`** and **`GET`** under **`/v1/request-money`** | Integrator authentication. |

## Response format

* Success responses return JSON bodies defined in OpenAPI (`RequestMoneyResponse`, status payloads, etc.).
* Error responses use the shapes in OpenAPI for each status code. For example, **`404`** on **`GET /v1/request-money/{referenceId}`** returns **`error`** (stable machine-readable code such as `not_found`) and **`message`** (human-readable text you can surface in support tooling or UX). **`401`** and **`422`** use their own DTOs (`message`, and for **`422`** a **`details`** object).

## HTTP status codes (surface summary)

| Code                         | Typical use                                           |
| ---------------------------- | ----------------------------------------------------- |
| **201 Created**              | Successful **`POST /v1/request-money`**.              |
| **200 OK**                   | Successful **`GET /v1/request-money/{referenceId}`**. |
| **401 Unauthorized**         | Invalid or missing API key.                           |
| **403 Forbidden**            | **`POST`** blocked by screening (for example OFAC).   |
| **404 Not Found**            | Unknown `referenceId` for **`GET`**.                  |
| **422 Unprocessable Entity** | Validation or semantic errors on create.              |

## Rate limits and pagination

This specification does not define global rate limits or cursor pagination for the current two-endpoint surface. If your deployment adds limits, your integration contact will document them.

## Where to go next

Use the **Endpoints** group in the **API Reference** tab for **`createRequest`** and **`getByReferenceId`**, including schemas, examples, and the interactive playground.
