> ## Documentation Index
> Fetch the complete documentation index at: https://next-developers.opencard.io/llms.txt
> Use this file to discover all available pages before exploring further.

# EMS API Overview

> Reference for the api.opencard.io EMS API — manage TPAs, organizations, card holders, OAuth clients, and webhooks for Expense Management Systems.

This API is for **EMS integrators**. You manage clients, legal signing, card holders, and webhooks. Transaction data arrives via **webhooks**, not by polling.

## Base URL

| Environment | URL                                                  |
| ----------- | ---------------------------------------------------- |
| Production  | `https://api.opencard.io/api/v1/application`         |
| Sandbox     | `https://sandbox-api.opencard.io/api/v1/application` |

## What's included

| Area               | Endpoints                                                                               |
| ------------------ | --------------------------------------------------------------------------------------- |
| Account            | Get/update your account                                                                 |
| OAuth Clients      | Create API credentials                                                                  |
| Public Records     | Company lookup before TPA                                                               |
| Card Issuers       | Catalog of programs → enable on your account                                            |
| TPAs + Signatories | Legal authorization flow                                                                |
| Identities         | List people for instant card holder onboarding                                          |
| Organizations      | Your end-clients                                                                        |
| Card Holders       | List (with `identity.name` / `employee_id`), onboard employees (email or `identity_id`) |
| Webhooks           | Receive transaction events                                                              |
| Receipt Scanner    | OCR photo receipts                                                                      |

## What's NOT here

* `/me` — end-user profile API (not for EMS integration)
* `/transactions` query — use webhooks instead
* Admin endpoints (global users, logs, statistics, etc.)

## Auth

```
POST https://api.opencard.io/oauth/token
→ Bearer token on all requests
```

See [Authentication](/api-reference/ems/authentication).

## Typical flow

1. `POST /accounts/{id}/tpas` + signatories
2. `POST /accounts/{id}/organizations`
3. `POST .../webhooks`
4. `POST .../cardholders`
5. Receive `card.transaction.*` on your webhook URL

Full walkthrough → [Quickstart](/getting-started/quickstart)
