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

# API overview

> Read and act on your Dash.fi data — cards, transactions, balances, payments, and settlements — over the Public API.

The Dash.fi Public API lets you read and act on your account data from your own systems. It's a REST API that returns JSON and uses API key authentication.

## Base URL

All endpoints are served under a single base URL:

```
https://api.dash.fi/v1/public
```

## Authentication

The API uses API key authentication via a **Bearer token**. Send your API key in the `Authorization` header on every request:

```bash theme={null}
curl https://api.dash.fi/v1/public/balance \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Get your API key

Create your key in the Dash.fi dashboard under **Settings → Developer → API**:

<Steps>
  <Step title="Open developer settings">
    In [app.dash.fi](https://app.dash.fi), go to **Settings → Developer** and select the **API** tab.
  </Step>

  <Step title="Generate a key">
    Under **API keys**, click **Generate**. Generating a key requires the API key permission — if you don't see the button, ask an administrator on your account.
  </Step>

  <Step title="Copy it once">
    The full key is shown **only once**, right after you generate it. Copy it and store it somewhere safe.
  </Step>
</Steps>

<Note>
  Keep your API key secret — anyone with it can act on your behalf. Never commit it to source control or expose it in client-side code. You can hold **one key at a time**: if it's lost or leaked, click **Regenerate** in the same screen. Regenerating invalidates the previous key **immediately**, so swap it into your integrations right away.
</Note>

## Endpoints at a glance

<Tip>
  Every endpoint page below includes an interactive playground. Paste your API key into the **Authorization** field and send a real request straight from the docs.
</Tip>

### Cards

| Endpoint                            | Description                |
| ----------------------------------- | -------------------------- |
| `GET /cards`                        | List cards                 |
| `POST /cards`                       | Create a card              |
| `GET /cards/{card-id}`              | Get a card                 |
| `PATCH /cards/{card-id}`            | Update a card              |
| `POST /cards/{card-id}/archive`     | Archive a card             |
| `POST /cards/{card-id}/freeze`      | Freeze a card              |
| `POST /cards/{card-id}/unfreeze`    | Unfreeze a card            |
| `GET /cards/{id}/financial-events`  | Get card financial events  |
| `GET /cards/{id}/sensitive-details` | Get sensitive card details |

<Note>
  The Card endpoints require the **card management** feature to be enabled for your account. Until it's enabled, these endpoints return `403 Forbidden`. Contact [support@dash.fi](mailto:support@dash.fi) to request access.
</Note>

### Financial

| Endpoint                             | Description             |
| ------------------------------------ | ----------------------- |
| `GET /balance`                       | Get account balance     |
| `GET /payments`                      | List payments           |
| `GET /settlements`                   | List card settlements   |
| `GET /transactions`                  | List card transactions  |
| `GET /transactions/{transaction-id}` | Get a transaction by ID |

### Health

| Endpoint      | Description          |
| ------------- | -------------------- |
| `GET /health` | Service health check |

Use `GET /health` to verify connectivity and that your credentials are accepted before wiring up other calls.

## Webhooks

Dash.fi can POST events to a URL you own as they happen — for example `card.financial_event.v1`. Each delivery carries event metadata in headers (`X-Outpost-Event-Id`, `X-Outpost-Topic`, `X-Outpost-Timestamp`, `X-Outpost-Signature`) and the payload directly in the body, with no envelope. Topics are versioned (`<domain>.<event>.v<major>`); a breaking change ships as a new topic version, so your subscriptions never shift schema underneath you.

Manage subscriptions in the dashboard under **Settings → Developer → Webhooks**. Webhooks must be enabled for your account first — if the tab is unavailable, contact [support@dash.fi](mailto:support@dash.fi) to request access.
