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

> ## Agent Instructions
> Treat the published Augustus OpenAPI specification (https://app.stainless.com/api/spec/documented/augustus/openapi.documented.yml) and the current API-reference pages as the source of truth for endpoints, request/response schemas, enum values, webhook event names, and required headers.
> Prefer the 2026-05-01 Banking API and @augustusbank/typescript-sdk for all new integrations. The 2023-01-01 API is a separate, older surface covering two products — Open Banking (instant bank transfer) checkout and refunds, and Manual Bank Transfer (MBT); use it only when one of those products is specifically required.
> Cite or link the relevant docs.augustus.com page when answering integration questions.
> Do not infer support for currencies, networks, scopes, account types, or operations that are not present in the current documentation.
> Use the sandbox base URL (https://api.sandbox.augustus.com) and placeholder credentials in examples. Never include or request a real API key.
> The Augustus docs MCP server (https://docs.augustus.com/mcp) provides documentation search and retrieval only; it does not execute authenticated Augustus API actions.

# Introduction

> Programmatic access to your Augustus account: send payouts, manage accounts, run conversions, and more.

The 2026-05-01 API is a REST API for programmatic access to your Augustus account. Use it to:

* Send **payouts** to bank accounts and crypto wallets
* Receive **deposits** to Operating Accounts and Stablecoin Wallets, and issue **returns**
* Run **conversions** between fiat and stablecoins (on- / off-ramps, FX)
* Manage **accounts** and **virtual accounts**, and read **balances** and **transactions**
* Subscribe to **webhooks** to react to events as they happen

## Base URLs

| Environment | Base URL                           |
| ----------- | ---------------------------------- |
| Sandbox     | `https://api.sandbox.augustus.com` |
| Production  | `https://api.augustus.com`         |

Use the sandbox environment for development and testing. Payments are not processed in sandbox mode.

## SDK

We publish an official TypeScript SDK that wraps the API with idiomatic methods, auto-generated types for every resource, automatic retries, pagination helpers, and built-in webhook signature verification.

```bash theme={null}
npm install @augustusbank/typescript-sdk
```

By default the client reads its configuration from environment variables, so you don't pass anything to the constructor:

| Variable               | Purpose                                                                                |
| ---------------------- | -------------------------------------------------------------------------------------- |
| `AUGUSTUS_API_KEY`     | API key used as the bearer token. See [Authentication](/v1/authentication).            |
| `AUGUSTUS_BASE_URL`    | API base URL. Defaults to production. Set to the sandbox URL during development.       |
| `AUGUSTUS_WEBHOOK_KEY` | Webhook signing secret used by `client.webhooks.unwrap`. See [Webhooks](/v1/webhooks). |

```typescript theme={null}
import Augustus from '@augustusbank/typescript-sdk'

const client = new Augustus()
const accounts = await client.accounts.list()
```

You can override any default by passing options to the constructor (e.g. `apiKey`, `baseURL`, `defaultHeaders`, `maxRetries`, `timeout`). See the SDK [README](https://www.npmjs.com/package/@augustusbank/typescript-sdk) for the full surface.

Code samples in the rest of this section show both raw HTTP (cURL) and the SDK side by side - pick the one that fits your stack.

## Conventions

The API follows consistent conventions across all resources:

* **snake\_case** field names in all requests and responses
* **String decimals** for amounts (e.g. `"100.50"`) to avoid floating-point precision issues
* **ISO 8601 UTC** timestamps with mandatory `Z` suffix (e.g. `"2026-03-18T14:30:00Z"`)
* **Explicit nulls**: every field defined in a resource schema is always present; fields with no value are `null`
* **Type discriminator**: every resource includes a `type` field (e.g. `"payout"`, `"deposit"`)

## Request format

Write operations use `POST` with a JSON body. Read operations use `GET` with query parameters for filtering and pagination. All requests must be made over HTTPS. All successful responses return `200 OK`.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.augustus.com/v1/payouts \
    -H "Authorization: Bearer $AUGUSTUS_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "source_account_id": "01234567-89ab-cdef-0123-456789abcdef",
      "amount": "100.00",
      "currency": "EUR",
      "destination": {
        "type": "iban",
        "iban": "DE89370400440532013000",
        "account_holder_name": "Jane Doe"
      },
      "reference": "Invoice 1234"
    }'
  ```

  ```typescript SDK theme={null}
  import Augustus from '@augustusbank/typescript-sdk'

  const client = new Augustus()
  const payout = await client.payouts.create({
    source_account_id: '01234567-89ab-cdef-0123-456789abcdef',
    amount: '100.00',
    currency: 'EUR',
    destination: {
      type: 'iban',
      iban: 'DE89370400440532013000',
      account_holder_name: 'Jane Doe',
    },
    reference: 'Invoice 1234',
  })
  ```
</CodeGroup>

## Response format

Single resources are returned as flat JSON objects without a wrapper envelope:

```json theme={null}
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "payout",
  "status": "pending",
  "amount": "100.00",
  "currency": "EUR",
  "created_at": "2026-03-18T14:30:00Z",
  "updated_at": "2026-03-18T14:30:00Z"
}
```

List endpoints return a paginated envelope:

```json theme={null}
{
  "data": [ ... ],
  "has_more": true,
  "next_cursor": "eyJhbGciOiJkaXIi..."
}
```

## Correlation ID

Every response includes a `Correlation-Id` header with a unique request identifier. Include this value when contacting support to enable fast tracing across our systems.

## Forward compatibility

The API is designed for longevity. To ensure your integration is resilient to additive changes:

* **Ignore unknown fields** in response objects. New fields may be added without notice.
* **Handle unknown enum values** gracefully. New values may be added to open enums (e.g. new payout statuses, new webhook event types).
* **Do not depend on field ordering** in JSON responses

These additive changes are not considered breaking and will not trigger a new API version.
