Seed a workspace from a starter template
Seeds the workspace with the databases, records, views, and pages of the named onboarding starter template, and records the onboarding analytics events around it. The seeding runs as the caller, so it requires `databases:write` and `surfaces:write` in the workspace. It is not idempotent: applying a starter twice creates the content twice.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/workspaces/string/starter" \ -H "Content-Type: application/json" \ -d '{ "template": "team" }'{ "data": { "template": "team" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Create a workspace
Creates a workspace with the given name and slug and makes the authenticated caller its first owner. Any authenticated caller may create one. Malformed names, slugs, icons, or accent colors are rejected as validation errors, and an already-taken slug conflicts.
Seed a workspace from an approved AI draft plan
Seeds the workspace from the draft plan the user reviewed, and possibly edited, in the describe-your-work onboarding flow, re-normalizing the plan on the server before anything is created. Needs the same `databases:write` and `surfaces:write` permissions as applying a fixed starter. A plan that normalizes to nothing left to build is rejected as a validation error.