---
title: API reference
description: HTTP endpoints exposed by the Cuitty portal beyond the ingest path.
section: Reference
order: 2
updatedAt: 2026-04-27
slug: reference/api
---
# API reference

The Cuitty portal exposes a small REST surface beyond `/api/ingest` for project metadata, health, and module-specific reads. Every endpoint requires a bearer token unless explicitly noted.

## Health

```
GET /api/health
```

Returns `200 { "status": "ok" }` when the portal can reach Postgres and SpiceDB. Used by load balancers and the SDK during connection probes. Public — no auth required.

## Projects

```
GET    /api/projects                  List projects in the org
POST   /api/projects                  Create a project
GET    /api/projects/{id}             Read a project
PATCH  /api/projects/{id}             Update a project
DELETE /api/projects/{id}             Soft-delete a project
```

## API keys

```
GET    /api/projects/{id}/keys        List API keys
POST   /api/projects/{id}/keys        Create an API key (returns key once)
DELETE /api/projects/{id}/keys/{kid}  Revoke a key
```

## Module-specific reads

Each module exposes its own read endpoints under `/api/modules/{module}/`. See the [module documentation](/docs/modules/audit) for the full surface.

| Module       | Base path                       |
| ------------ | ------------------------------- |
| Audit        | `/api/modules/audit/`           |
| Costs        | `/api/modules/costs/`           |
| Deploys      | `/api/modules/deploys/`         |
| Logs         | `/api/modules/logs/`            |
| Configs      | `/api/modules/configs/`         |
| Repository   | `/api/modules/repository/`      |
| Performance  | `/api/modules/performance/`     |
| Traces       | `/api/traces/`                  |
| Errors       | `/api/errors/`                  |
| Feature Flags | `/api/flags/`                 |
| Webhooks     | `/api/webhooks/`                |
| Tenants      | `/api/tenants/`                 |
| Video        | `/api/video/`                   |

## OpenAPI

A live OpenAPI 3.1 document is published at `/api/openapi.json` on every running portal.