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

# API Reference overview

> Complete map of the ArcenPay REST API — resources, auth, base URL, and which surfaces are developer-callable versus dashboard-managed.

The ArcenPay API is a REST API over HTTPS. It exposes two kinds of surfaces:

* **Developer API** — callable with your API key (`api_…`, `sk_…`, `rk_…` or `pk_…`) or an embed access token. These are the endpoints your backend and SDKs use.
* **Dashboard-managed API** — operated from the dashboard UI with a session cookie and team-role permissions. Your application code should **not** call these directly; the SDKs do not wrap them.

## Base URL

```
https://api.arcenpay.com/api/v1
```

All examples in this reference use this base. Local development defaults to `http://localhost:3300/api/v1`.

## Resource map

### Get started

| Resource                  | Auth | Page                                  |
| ------------------------- | ---- | ------------------------------------- |
| Authentication & API keys | —    | [Authentication](/api/authentication) |
| Pagination                | —    | [Pagination](/api/pagination)         |
| Rate limits               | —    | [Rate limiting](/api/rate-limits)     |
| Errors                    | —    | [Errors](/api/errors)                 |

### Credentials

| Resource               | Method / endpoint              | Auth                      | Page                                                                                 |
| ---------------------- | ------------------------------ | ------------------------- | ------------------------------------------------------------------------------------ |
| API Key object & types | —                              | —                         | [The API Key object](/api/api-keys)                                                  |
| Create temporary token | `POST /api/v1/api-keys/tokens` | API key (`tokens.create`) | [Create temporary token](/api-reference/credentials/create-a-temporary-access-token) |
| Create access token    | `POST /api/v1/access-tokens`   | API key or session        | [Create access token](/api-reference/credentials/create-an-access-token-identify)    |

### Customers

| Resource          | Methods                                                                | Auth                                        | Page                                 |
| ----------------- | ---------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------ |
| Companies         | `GET/POST /api/v1/companies`, `GET/PATCH/DELETE /api/v1/companies/:id` | Legacy `api_…` key or session               | [The Company object](/api/companies) |
| Company overrides | `GET/POST/DELETE /api/v1/companies/:id/overrides`                      | Legacy `api_…` key or session               | [The Company object](/api/companies) |
| Users             | `GET/POST /api/v1/users`                                               | Legacy `api_…` key or session               | [The User object](/api/users)        |
| Events            | `GET/POST /api/v1/events`                                              | Legacy `api_…` key, embed token, or session | [The Event object](/api/events)      |

### Access control

| Resource          | Methods                         | Auth                   | Page                                              |
| ----------------- | ------------------------------- | ---------------------- | ------------------------------------------------- |
| Check a feature   | `GET /api/v1/check?key=`        | API key or embed token | [The Entitlement object](/api/entitlements-flags) |
| Bulk entitlements | `GET /api/v1/entitlements`      | API key or embed token | [The Entitlement object](/api/entitlements-flags) |
| Consume usage     | `POST /api/v1/usage/consume`    | API key or embed token | [The Entitlement object](/api/entitlements-flags) |
| zkTLS proofs      | `GET/POST /api/v1/proofs/zktls` | API key                | [The Proof object](/api/proofs)                   |

### Billing & payments

| Resource                | Methods                                                                     | Auth                                        | Page                                                  |
| ----------------------- | --------------------------------------------------------------------------- | ------------------------------------------- | ----------------------------------------------------- |
| Subscription activation | `POST /api/v1/subscriptions/activate`                                       | Legacy `api_…` key, embed token, or session | [The Subscription object](/api/subscriptions)         |
| Plan lifecycle          | `POST /api/v1/companies/plan`, `/unsubscribe`, `/resume`                    | Embed token                                 | [The Subscription object](/api/subscriptions)         |
| Checkout sessions       | `GET/POST /api/v1/checkout-sessions`, `GET /api/v1/checkout-sessions/:id`   | Legacy `api_…` key or session               | [The Checkout Session object](/api/checkout-sessions) |
| Payment links           | `GET/POST /api/v1/payment-links`, `GET/PATCH /api/v1/payment-links/:id`     | Legacy `api_…` key or session               | [The Payment Link object](/api/payment-links)         |
| Coupon validation       | `GET /api/v1/coupons/validate`                                              | API key, embed token, or session            | [Coupons](/api-reference/coupons/validate-a-coupon)   |
| Autonomous Escrow       | `POST /api/v1/public/escrow/reserve`, `/confirm`, `/dispute`, `GET /status` | Public / Signature                          | [The Escrow object](/api/escrow)                      |
| Mandates                | `GET /api/v1/mandates/:id/status`, `POST /api/v1/mandates/revoke`           | Public                                      | [The Mandate object](/api/mandates)                   |

### Public checkout

| Resource             | Methods                                                                           | Auth   |
| -------------------- | --------------------------------------------------------------------------------- | ------ |
| Hosted checkout      | `GET/PATCH /api/v1/public/checkout/:sessionId`, `POST …/confirm`                  | Public |
| Payment-link session | `GET /api/v1/public/payment-links/:slug/spec`, `POST …/session`, `POST …/confirm` | Public |
| Smart-account config | `GET /api/v1/public/smart-account-config`                                         | Public |

### Dashboard-managed operations

Administrative configurations — such as team member invitations, workspace environments, invoice template visual styling, and webhook signing secrets — are managed directly within the [ArcenPay Dashboard](https://app.arcenpay.com). These operations require session-based permissions (`OWNER`, `ADMIN`, or `FINANCE`) and are intentionally separate from the developer REST API surface.

## Which key works where

Every endpoint table in this reference marks its accepted credentials. The [endpoint auth matrix](/api/authentication#which-key-works-where--the-endpoint-auth-matrix) is the single source of truth for the exact key-per-endpoint compatibility.

## Related

* [Authentication](/api/authentication) — the endpoint auth matrix and permission model
* [Quickstart](/quickstart) — first integration end to end
