API Reference
Blossum v0.9 keeps the external /v1 API and response shapes stable for the controlled hosted private beta. Errors now carry a requestId (in error.details.requestId, also returned as the X-Request-Id header) so you can quote it in support requests. The API base URL is configured per environment via BLOSSUM_API_URL; in hosted deployments the web and API run as separate services.
Hosted Beta & Health
BLOSSUM_API_URL (e.g. https://api.your-host)Configure the API base URL per environment; /v1 lives under it. Locally it is http://localhost:3000.
/api/healthFast, lightweight health: app version, data mode, database + provider modes. Always 200.
/api/readyReadiness probe. In database mode verifies a live connection; returns 503 until ready.
/api/liveLiveness probe. Returns 200 while the process is alive.
/api/runtime-statusRicher secret-safe diagnostics including the startup-check report (app session / demo).
External API v0.7
/v1/design-productsList design products available to an authenticated API client.
/v1/projectsCreate a project from a design entitlement without auto-billing.
/v1/projects/:id/provisionProvision starter files and GitHub Actions workflow into the connected repository.
/v1/projects/:id/deployTrigger deployment for a provisioned, entitled project.
/v1/ai/statusReport whether AI generation is running in demo or real provider mode.
/v1/ai/generationsCreate an AI generation request that produces reviewable artifacts.
/v1/projects/:id/versions/from-generation/:generationIdCreate a reviewable project version from accepted artifacts.
/v1/projects/:id/versions/:versionId/approveApprove a project version before provisioning or deployment.
/v1/projects/:id/versions/:versionId/provisionProvision an approved project version through the existing GitHub Actions flow.
/v1/webhook-endpointsRegister an outbound webhook endpoint for project and deployment lifecycle events.
Authentication & Scopes
Authorization: Bearer blsm_test_xxxAll /v1 routes require a workspace-scoped API key.
Workspace scopingAuthenticated /v1 requests are always scoped to the API key workspace.
memory or databaseDemo memory mode remains available while durable database mode is introduced for PostgreSQL-backed runtimes.
ai:writeRequired for AI generation creation, run/cancel, and artifact review actions.
project_versions:writeRequired for project version creation, approval, provisioning, and deployment.
repository_connections:writeRequired for repository connection creation and updates.
webhooks:writeRequired for webhook endpoint creation, updates, and deletes.
usage:readRequired for usage and rate limit inspection endpoints.
Responses, Limits, and Webhooks
{ "data": {}, "meta": {} }External API successes always return a consistent envelope.
{ "error": { "code": "string", "message": "string", "details": { "requestId": "req-…" } } }Errors share a consistent shape; details carries a requestId (also the X-Request-Id header) for support/tracing. Existing clients that ignore it are unaffected.
X-RateLimit-Limit / Remaining / ResetWorkspace and API-key rate limits are surfaced when straightforward.
Review before deployAPI clients cannot bypass artifact review or project version approval.
Blossum-Event-Type / Blossum-Delivery-Id / Blossum-Timestamp / Blossum-SignatureOutbound webhooks are signed using HMAC(timestamp + payload).
Common Error Codes
UNAUTHORIZEDMissing or invalid API key.
INSUFFICIENT_SCOPEThe API key lacks the scope required for this action.
API_ACCESS_REQUIREDThe workspace/plan does not have external API access enabled.
ENTITLEMENT_REQUIREDAn active entitlement is required to create, provision, or deploy.
RATE_LIMIT_EXCEEDEDWorkspace/API-key rate limit exceeded; see X-RateLimit-* and retryAfterSeconds.
BETA_ACCESS_REQUIREDPrivate beta access is required; an accepted beta invite is needed.
REQUEST_BLOCKEDThe action is blocked by a policy/entitlement decision; see details.requiredAction.
RUNTIME_NOT_READYThe runtime is not ready (e.g. database mode without a reachable database).
DATABASE_NOT_READYDatabase mode is configured but the database is unreachable.
PROVIDER_NOT_CONFIGUREDA required provider (GitHub/Stripe/AI) real mode is enabled but not fully configured.
INTERNAL_ERRORUnexpected server error; quote error.details.requestId when reporting it.
Feedback & Private Beta
Private betaBlossum is in a controlled private beta. Operators create invites in /app/admin/beta-invites; invitees accept via /beta/invite/<token> (email delivery is manual for now).
/api/feedbackList feedback for the current workspace (app session / demo).
/api/feedbackSubmit feedback (category, severity, title, description). Captures the request id for tracing.
/app/feedbackIn-app feedback form for beta users; blocked states link here.
Provider modesGitHub/billing/AI may run in demo mode; real modes require external configuration. billingOrdersSubscriptions remains documented_partial in database mode.
Beta Deployment Checklist
Provision PostgreSQL & set DATABASE_URLSet BLOSSUM_DATA_MODE=database and run db:migrate before startup.
Configure URLs & CORSSet BLOSSUM_API_URL / web PUBLIC_API_URL and CORS_ORIGINS to your web origin(s).
Set hosted secretsSESSION_SECRET and API_KEY_SECRET are required in hosted mode.
Verify probesConfirm /api/health, /api/ready, and /api/live before sending traffic.
Create an API keyCreate a workspace API key in /app/api-keys; it is shown once and stored hashed.
Authentication example:
curl -H "Authorization: Bearer blsm_test_xxx" \ http://localhost:3000/v1/design-products
Create API keys in /app/api-keys; a key is shown once and stored only as a hash. Rate limits are per workspace/API key and surfaced via X-RateLimit-* headers. Register outbound webhook endpoints with POST /v1/webhook-endpoints.
Demo AI mode returns deterministic artifacts and never calls external AI APIs.
Memory mode remains available for local-safe development. Database mode requires DATABASE_URL and exposes safe runtime health through /api/health, readiness through /api/ready, and liveness through /api/live.
AI generation still requires review and approval before provisioning or deployment. Reseller payouts, non-GitHub deployment providers, enterprise SSO, distributed rate limiting, and advanced multi-agent orchestration remain out of scope.