GET /billing · POST /checkout · /cancel · GET /invoices · POST /update-payment · POST /change-plan.
- + This claim link is invalid or expired. Provision a fresh resource to get a new one. +
+POST /db/new (or any /new endpoint) to mint a fresh link.
+ POST /api/v1/stacks/:slug/redeploy routes to the agent API. Rollback and Stop don't exist on the agent API yet.
- GET /api/v1/stacks{' '}
- (returns DashboardStack). UI keeps /deployments (user language); API stays /stacks (existing).
- {`{"ok": true, "items": DashboardStack[], "total": number}`}.
- Status enum: building | running | failed | stopped.
- Resource shape including connection_url.
- The connection URL is single-use safe — frontend keeps it in memory only, masks by default, reveals on click.
- GET /api/v1/resources/:id/metrics endpoint.
- Brief §5.5 requires storage / connections / query-rate over 24h / 7d / 30d. Frontend is blocked until contract locks. See Contracts.
- GET /api/v1/resources/:id/audit endpoint exists. Lock proposal in{' '}
- Contracts.
- {`{"ok": true, "items": Resource[], "total": number}`}. Backed by{' '}
- resourcesH.List() which fans out to gRPC agent.ListResources(team_id). connection_url{' '}
- is intentionally omitted from list responses — only GET /:id and /rotate include it.
- DashboardStack handles both — there's no "service" concept in the proto yet.
-
- Stacks group services that share an env, vault, and lifecycle. Deploy them as a unit with one compose.yml.
-
GET /api/v1/team/members · POST .../invite ·{' '}
- DELETE .../:user_id · POST .../leave · GET /invitations ·{' '}
- DELETE /invitations/:id · POST /invitations/:id/accept.
- PATCH /api/v1/team/members/:user_id for role changes is missing. Brief §5.8 requires Owner / Admin / Developer / Viewer with promotion/demotion.
-