---
title: "Developer resources — Omra API"
description: "The Omra REST API: base URL, OpenAPI 3.1 document, interactive reference, and how keys authenticate."
canonical: https://clubomra.com/developers
last-updated: 2026-08-28
---
# Omra developer resources

> The Omra API: a REST surface over the club's own member record, with an
> OpenAPI 3.1 document, an interactive reference, and API keys issued from club
> settings.

## When to use this page

- Calling the Omra API: the base URL, the OpenAPI document, and how an api-key header authenticates.
- Reading or writing a club's data from outside the Omra app.

## The API

One REST surface over the same member record the app runs on: membership and
households, billing, the tee sheet, regattas, camps, banquets, point of sale and
feedback. Read a club's data, or write back to it, without going through the
staff app.

- **Base URL** — `https://api.clubomra.com/api/v1`
- **Interactive reference** — https://api.clubomra.com/api-reference
- **OpenAPI 3.1 document** — https://api.clubomra.com/api-reference/spec.json

## Authentication

Send an API key in the `api-key` request header. Keys are issued per club from
**Settings → Developer** in the staff app; each key is scoped to the club that
issued it.

```
curl https://api.clubomra.com/api/v1/members?club_id=YOUR_CLUB_ID \
  -H "api-key: YOUR_API_KEY"
```

## Response shape

Successful responses use the envelope `{ request_id, code, status, data }`. List
endpoints return `has_more` for pagination, and mutations accept an
`idempotency-key` header so a retried write does not double-apply.

## Public endpoints that need no key

- `GET /trust/subprocessors` — the subprocessor register, as JSON
- `GET /trust/ai-systems` — where omra uses AI and what it may decide, as JSON

## Questions

Write to hello@clubomra.com for an API key problem, a missing endpoint, or a field
the API does not expose yet.
