Authentication
User routes require a valid Supabase session and scope every query to the authenticated owner. For external automation, use MCP and its revocable personal tokens.
Core resources
GET /api/github/projects
POST /api/github/projects
PATCH /api/projects/:projectId
DELETE /api/projects/:projectId
GET /api/deployments
POST /api/deployments
POST /api/deployments/:deploymentId/rollback
GET /api/projects/:projectId/logs
GET /api/projects/:projectId/health
GET /api/projects/:projectId/domains
POST /api/projects/:projectId/domains
GET /api/secrets
POST /api/secretsResponse format
Successful responses use JSON for resources and states. Errors return an error object with a semantic HTTP status; secret values are never included in reads.
{
"error": "Project not found."
}