BitstrideBitstride

Control Plane API

The current operator-facing API surface across projects, datasets, jobs, billing, and deployments.

Control plane API

The control plane owns the operator-facing product surface. It is where Bitstride manages tenancy, configuration, jobs, and account state.

Current route groups

Auth

POST /v1/auth/register
POST /v1/auth/login
GET  /v1/auth/login/{provider}
GET  /v1/auth/callback/{provider}
GET  /v1/auth/verify
POST /v1/auth/logout
POST /v1/auth/refresh
POST /v1/auth/mfa/enroll
POST /v1/auth/mfa/verify
POST /v1/auth/mfa/verify-login
POST /v1/auth/mfa/disable

API keys

GET    /v1/api_keys
POST   /v1/api_keys
PUT    /v1/api_keys/{id}
DELETE /v1/api_keys/{id}

Projects

GET    /v1/projects
POST   /v1/projects
GET    /v1/projects/{id}
PUT    /v1/projects/{id}
DELETE /v1/projects/{id}

Models

GET    /v1/models
POST   /v1/models
GET    /v1/models/{id}
PUT    /v1/models/{id}
DELETE /v1/models/{id}

Datasets

GET    /v1/datasets
POST   /v1/datasets
GET    /v1/datasets/{id}
PUT    /v1/datasets/{id}
DELETE /v1/datasets/{id}
POST   /v1/datasets/{id}/upload
POST   /v1/datasets/{id}/validate

Fine-tuning

GET  /v1/fine_tuning/jobs
POST /v1/fine_tuning/jobs
GET  /v1/fine_tuning/jobs/{id}
POST /v1/fine_tuning/jobs/{id}/cancel

Reinforcement learning

GET  /v1/rl/jobs
POST /v1/rl/jobs
GET  /v1/rl/jobs/{id}
POST /v1/rl/jobs/{id}/cancel

Deployments

GET  /v1/deployments
POST /v1/deployments
GET  /v1/deployments/{id}
PUT  /v1/deployments/{id}

Billing and usage

GET /v1/usage
GET /v1/invoices

Organization context

GET    /v1/orgs/current
PUT    /v1/orgs/current
DELETE /v1/orgs/current

Notes on auth routing

The dedicated auth service owns all auth/session/API-key mutations. The control-plane API keeps /v1/auth/* and /v1/api_keys/* as compatibility shims and proxies them to AUTH_SERVICE_URL.

For first-party frontends, prefer NEXT_PUBLIC_AUTH_URL for auth, MFA, and API-key calls. When it is unset, clients fall back to NEXT_PUBLIC_API_URL.

Runtime modes

The API binary supports two runtime modes:

ModeRoutesUse case
FullAll control plane + gateway routesComplete platform API
GatewayHealth, readiness, metrics, inference onlyDedicated inference serving

Error shape

Error responses follow the OpenAI-style envelope used across the product:

{
  "error": {
    "code": "example_code",
    "message": "Human-readable error message"
  }
}