Skip to main content
This section documents the Control Plane API—the API that powers the Backdrift dashboard. This is separate from the APIs generated for your projects.

Base URL

Authentication

All endpoints (except /auth/*) require a Bearer token:
Get a token by logging in:

Common Responses

Success

Error

Rate Limiting

API Categories

Authentication

Signup, login, token refresh

Projects

Create, list, update, delete projects

Specs

Chat, apply, generate blueprints from specs

Blueprints

Generate, validate, get blueprints

Revisions

Version history, compare, classify changes

Validations

Well-Architected validation, auto-fixes

Deployments

Deploy, preview, destroy, rollback

Templates

Pre-built starter templates

Authentication Endpoints

POST /auth/signup

Create a new account.

POST /auth/login

Authenticate and get tokens.
Response:

POST /auth/refresh

Refresh an expired access token.

GET /auth/me

Get current user info.

Project Endpoints

GET /projects

List your projects.

POST /projects

Create a new project.

GET /projects/:id

Get project details.

PATCH /projects/:id

Update a project.

DELETE /projects/:id

Archive a project.

Spec Endpoints

The Spec API enables conversational backend editing. Users chat with AI to refine their backend specification, then apply changes and generate blueprints.

GET /projects/:projectId/spec

Get the current project specification.
Response:

POST /projects/:projectId/spec/chat

Send a chat message to refine the spec. Returns updated spec content (draft, not saved).
Response:

POST /projects/:projectId/spec/apply

Save the current spec (creates a new version).
Response:

POST /projects/:projectId/spec/generate-blueprint

Generate a BlueprintIR from the saved spec. Returns immediately with a status URL.
Response (202 Accepted):

GET /projects/:projectId/spec/generation-status/:blueprintId

Poll for blueprint generation progress.
Response:

GET /projects/:projectId/spec/chat/history

Get chat message history for a project.
Response:

POST /projects/:projectId/spec/chat/message

Add an assistant message to the chat history (used for system notifications like generation status).
Response:

Blueprint Endpoints

POST /projects/:id/blueprints

Generate a blueprint from a prompt.

POST /blueprints/:id/validate

Run validation checks on a blueprint.

GET /blueprints/:id/validation-report

Get detailed validation results.

Deployment Endpoints

POST /projects/:id/validate

Preview deployment (dry run).

POST /projects/:id/deploy

Deploy the project.

GET /deployments/:id

Get deployment status and logs.

DELETE /projects/:id/stack

Destroy all stacks.

POST /projects/:id/rollback

Rollback to a previous deployment.

Artifact Endpoints

GET /projects/:id/artifacts/openapi

Get OpenAPI specification (JSON).

GET /projects/:id/artifacts/design-doc

Get design documentation.

GET /projects/:id/artifacts/sdk/python

Download Python SDK.

GET /projects/:id/artifacts/cdk

Download CDK project.

Usage Endpoints

GET /usage/me

Get your LLM usage summary.
Response:

GET /usage/recent

Get recent LLM calls for debugging.