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

# Developer API overview

> Integrate Orriven with your own systems: manage events, ticket types, registrations, codes and check-ins over a REST API scoped to one Business Unit.

The Orriven Developer API lets your own software do what the console does: create events, configure ticket types and prices, watch remaining capacity, register attendees, approve applications, mint redemption codes and record check-ins. It is the same data and the same rules as the console — capacity, lifecycles and approvals behave identically whichever door the change comes through.

<Note>
  The API is scoped to **one Business Unit**. An API key is generated inside a Business Unit and can only read and write that unit's events — never another unit's, never another organization's. See [API keys](/en/developers/api-keys).
</Note>

## What you can do

| Area              | Access                                                                                                                                                                                                                                     |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Events            | Create, read, update, archive (no delete)                                                                                                                                                                                                  |
| Ticket types      | Full configuration: price, capacity, waitlist, visibility, approval mode, sale window, lifecycle                                                                                                                                           |
| Remaining tickets | Live numbers: capacity, confirmed, waitlisted, held by pending orders, remaining                                                                                                                                                           |
| Registrations     | List, create, view, approve, reject, cancel                                                                                                                                                                                                |
| Redemption codes  | List, mint (single or batch), disable                                                                                                                                                                                                      |
| Add-ons & bundles | Full configuration, including bundle contents                                                                                                                                                                                              |
| Checkout          | Place / confirm / cancel orders from your backend: tickets, add-ons, bundles and codes in one cart; free settles instantly, paid answers a hosted Stripe page with your own return URLs — see [Headless checkout](/en/developers/checkout) |
| Orders            | List and read — settlement arrives by the platform webhook; refunds stay a console decision                                                                                                                                                |
| Perks             | Read a registration's effective perks (ticket ∪ code ∪ individual grants)                                                                                                                                                                  |
| Venues            | Read-only listing with perk gates, for showing where things happen                                                                                                                                                                         |
| Agenda & speakers | Read-only: the schedule (time-ordered, with per-session gates) and the speaker line-up                                                                                                                                                     |
| Check-ins         | Record and list, by registration id or badge code                                                                                                                                                                                          |
| Attendees         | Read-only listing per event                                                                                                                                                                                                                |

Automations fire for API actions exactly as they do for console actions: a registration created over the API triggers your "attendee added" automation, an approval triggers the confirmation flow, an arrival check-in triggers the welcome flow.

## Base URL and interactive docs

Every endpoint in these pages lives under `/v1` on your Orriven API host. In the examples we write the host as `$BASE`:

```bash theme={null}
export BASE="https://openapi.orriven.com"   # local development: http://localhost:3002
```

The API describes itself: `GET $BASE/openapi.json` returns the full OpenAPI 3.1 specification (use it to generate a client in your language), and `$BASE/docs` serves an interactive reference where you can try every endpoint with your key.

## Requests and responses

* Requests and responses are JSON; send `Content-Type: application/json` on writes.
* Timestamps travel as ISO 8601 with an offset (`2026-09-01T09:00:00+08:00`).
* Money is an **integer in minor units** of the event's currency (¥120.00 → `12000`), tax-inclusive — the same convention as the console.
* Every request carries your key: `Authorization: Bearer <secret>`.
* The API is [date-versioned](/en/developers/versioning): your key is pinned at creation, and every response echoes the effective version in the `Orriven-Version` header.

## Where to go next

<CardGroup cols={2}>
  <Card title="API keys" icon="key" href="/en/developers/api-keys">
    Generate a key in the console — the secret shows exactly once.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/en/developers/quickstart">
    Event → ticket type → registration → check-in, in seven curl calls.
  </Card>

  <Card title="Endpoint reference" icon="book" href="/en/developers/api-reference">
    Every resource, method and status code.
  </Card>

  <Card title="Ticket types" icon="tickets" href="/en/ticketing/ticket-types">
    The console-side concepts the API mirrors.
  </Card>
</CardGroup>
