---
title: API reference
path: reference/api
status: published
---

# API reference

The full HTTP API surface, organised by OpenAPI tag. Each page below is auto-generated from the live OpenAPI spec served at `GET /openapi.json` — so it always reflects the deployed version, including the exact JSON schemas, request/response shapes, parameters, and security requirements.

Read [API overview](./api/overview) first if you're new to the API — it covers auth, pagination, error format, and the conventions used across every page.

## Tenant-facing API

What end-customers and tenant-context users interact with.

- [auth](./api/auth)
- [organization](./api/organization)
- [catalog](./api/catalog)
- [subscriptions](./api/subscriptions)
- [service-packs](./api/service-packs)
- [provisioning](./api/provisioning)
- [billing](./api/billing)
- [metering](./api/metering)
- [notifications](./api/notifications)
- [entrypoints](./api/entrypoints)
- [uploads](./api/uploads)

## Service-to-service API

What ScaiLabs services call against ScaiControl.

- [registry](./api/registry) — register, heartbeat, fetch entrypoints
- [service-billing](./api/service-billing) — service-token-scoped billing
- [webhooks](./api/webhooks) — inbound webhook receivers from payment providers

## Admin API

Operator surfaces, gated on `admin:*` scopes or the `super_admin` role.

- [admin](./api/admin) — cross-cutting endpoints
- [admin-tenants](./api/admin-tenants)
- [admin-partners](./api/admin-partners)
- [admin-users](./api/admin-users)
- [admin-groups](./api/admin-groups)
- [admin-subscriptions](./api/admin-subscriptions)
- [admin-packs](./api/admin-packs)
- [admin-billing](./api/admin-billing)
- [admin-accounting](./api/admin-accounting)
- [admin-provisioning](./api/admin-provisioning)
- [admin-platform](./api/admin-platform)
- [admin-usage](./api/admin-usage)
- [admin-lookups](./api/admin-lookups)
- [admin-entrypoints](./api/admin-entrypoints)
- [admin-webhook-subscriptions](./api/admin-webhook-subscriptions)

## Unclassified

- [untagged](./api/untagged) — endpoints without a tag in the OpenAPI spec

## Live spec

Always available at `GET /openapi.json`. Swagger UI at `GET /docs` (Swagger UI) and `GET /redoc` (ReDoc) for in-browser exploration with try-it-out support.
