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

# API reference

> Base URLs, authentication, objects and the conventions every endpoint follows.

The Partner API is called from your backend with your app credentials. Every Partner API endpoint is grouped in this tab’s sidebar, and each endpoint page has a request playground. Browser and mobile code uses the client and checkout endpoints instead, with a short-lived session your backend creates.

## Base URLs

| Environment | Base URL |
| - | - |
| Sandbox | `https://staging-api-v2.stableyard.fi` |
| Production | `https://prod-api.stableyard.fi` |

Credentials belong to one environment. Every endpoint page has a server selector, so a copied request switches between the two without edits.

## Authentication

HTTP Basic: app ID as the username, app secret as the password.

```bash theme={null}
curl https://staging-api-v2.stableyard.fi/v2/partners/config \
  -u "$APP_ID:$APP_SECRET"
```

The app secret is a server-side credential. It never reaches browser, mobile or agent-visible code. See [Authentication](/authentication).

## Conventions

| Rule | What it means for you |
| - | - |
| **Idempotency** | Every create that moves money requires an `Idempotency-Key`. An identical retry returns the original result; the same key with a changed body is refused. See [Idempotency](/idempotency). |
| **Amounts** | Exact decimal strings, never floating-point numbers. |
| **Identifiers** | Prefixed, stable and opaque. Store them as strings. |
| **Versioning** | Responses echo `Stableyard-Version`. A dated contract never changes; a new date is a new contract. |
| **Availability** | What a credential can use depends on entitlement, permissions and provider readiness. Read `GET /v2/partners/config` for app access and `GET /v2/accounts/{accountId}/capabilities` for regulated bank approval; bank requirements report eligible rails and wallets. |

## US bank endpoints

The Partner API includes US bank off-ramps and reusable USD bank onramps at `https://prod-api.stableyard.fi`. The same paths are available on the sandbox base URL with environment-specific credentials and resources.

| Action | Endpoint |
| - | - |
| Start bank compliance | `POST /v2/accounts/{accountId}/capability-activations` |
| Check account approval | `GET /v2/accounts/{accountId}/capabilities` |
| Discover bank-link fields | `GET /v2/accounts/{accountId}/bank-account-requirements` |
| Save a bank beneficiary | `POST /v2/accounts/{accountId}/bank-accounts` |
| List saved banks and their status | `GET /v2/accounts/{accountId}/bank-accounts` |
| Pay a verified US linked bank | `POST /v2/payments` with `intent: "send"` and `destination.type: "bank_account"` |
| Discover USD funding rails and wallets | `GET /v2/accounts/{accountId}/onramp-bank-account-requirements` |
| Issue a reusable funding account | `POST /v2/accounts/{accountId}/onramp-bank-accounts` |
| List funding accounts | `GET /v2/accounts/{accountId}/onramp-bank-accounts` |
| Reveal bank transfer instructions | `GET /v2/accounts/{accountId}/onramp-bank-accounts/{onrampBankAccountId}/deposit-instructions` |
| Reconcile inbound bank funding | `GET /v2/accounts/{accountId}/onramp-bank-accounts/{onrampBankAccountId}/transactions` |

An [off-ramp](/payments/off-ramps#us-linked-bank-payout) uses one canonical Payment and `payment.*` events. A [bank onramp](/concepts/on-ramp-accounts) creates a standing `OnrampBankAccount`; each inbound transfer has a funding transaction and `bank_funding.*` events. Fiat at checkout is a separate method on a receive Payment.

Endpoint publication does not enable a rail for an app or establish live production certification. Check the [coverage and certification boundary](/supported-regions-and-currencies#us-bank-environments-and-certification) before offering either flow.

## Objects

Every object, its ID prefix and the call that creates it are on [Concepts](/concepts/overview).

<Card title="Start with your configuration" icon="list-check" href="/api-reference/configuration/get-partner-config">
  `GET /v2/partners/config` proves the credential and reports what it can use. Call it first.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.