API Reference
This page lists the live routes most app code and ops scripts use. It is not exhaustive, but it reflects the current route folders under src/app/api.
Auth And Beta
| Method | Endpoint | Auth | Notes |
|---|---|---|---|
GET/POST | /api/auth/[...nextauth] | No | NextAuth Google OAuth entry point. |
POST | /api/beta/invite | No | Accepts an invite code and enables beta access. |
POST | /api/beta/grant | Yes | Admin-only beta enablement for one or more emails. |
Core Content
| Method | Endpoint | Auth | Notes |
|---|---|---|---|
GET/POST | /api/constitutions | Yes | List or create constitutions. |
GET/PATCH/DELETE | /api/constitutions/[id] | Yes | Fetch, update, or delete one constitution. |
POST | /api/clauses | Yes | Create a clause. |
PATCH | /api/clauses/[id] | Yes | Update a clause. |
GET | /api/clauses/[id]/history | Yes | Fetch clause history and linked chat sessions. |
POST | /api/chat | Yes | Streaming AI chat for drafting. |
GET/POST | /api/chat-sessions | Yes | List or create chat sessions. |
GET/PATCH | /api/chat-sessions/[id] | Yes | Read or update one session. |
POST | /api/chat-sessions/[id]/clauses | Yes | Link a clause to a session. |
Deployments And Stream
| Method | Endpoint | Auth | Notes |
|---|---|---|---|
POST | /api/deployments | Yes | Create a DigitalOcean deployment. |
GET | /api/deployments | Yes | List deployments for one constitution. |
GET/DELETE | /api/deployments/[id] | Yes | Poll deployment status and progress, or destroy it. |
GET | /api/deployments/[id]/launch | Yes | Redirect to Guacamole or direct IP launch. |
GET | /api/deployments/preview | Yes | Preview the DNS blocklist export. |
GET | /api/stream/connect | Token-based | Gateway handoff for browser stream launch. |
GET | /api/cron/reap-expired-deployments | Cron secret or header | Reaps expired deployments. |
Collaboration
| Method | Endpoint | Auth | Notes |
|---|---|---|---|
GET | /api/groups | No | List groups. |
POST | /api/groups | Yes | Create a group. |
GET | /api/groups/[id] | No | Fetch one group and its nested data. |
POST | /api/groups/[id]/join | Yes | Join a group by invite code. |
POST | /api/proposals | Yes | Create a proposal. |
GET/PATCH | /api/proposals/[id] | Yes | Read or update a proposal. |
POST | /api/proposals/[id]/vote | Yes | Cast or update a vote. |
POST | /api/proposals/[id]/comment | Yes | Add a proposal comment. |
Supporting Routes
| Method | Endpoint | Notes |
|---|---|---|
GET | /api/templates | Template catalog. |
POST | /api/templates/fork | Fork a template into a new constitution. |
POST | /api/research | Research synthesis for a clause. |
GET/POST | /api/versions | Version history surface. |
GET/POST | /api/versions/[id] | Fetch one version or trigger a rollback action. |
POST | /api/internal/test-stream-runs | Create a secret-protected internal stream test run. |
GET/DELETE | /api/internal/test-stream-runs/[id] | Poll internal test run status or destroy the run. |
POST | /api/internal/test-stream-runs/[id]/launch-url | Mint a fresh short-lived launch URL. |
POST | /api/internal/test-harness/session | Mint a short-lived internal session token. |