Create a space
kind follows the platform scoping standard: 'org' (default, every org member), 'team' (requires teamId, caller must belong to the team), or 'personal' (owner only).
View as MarkdownAuthorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/v1/workspaces" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "workspace": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc", "kind": "org", "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec", "created": "2019-08-24T14:15:22Z" }}List the active org's workspaces
Lists workspaces for the caller's active org, adopting legacy pre-org rows into a personal org and provisioning the org's first workspace when none exists.
Rename a space and/or change its audience
Any member with access to the space may rename it (`name` alone). Sending `kind` (and `teamId` for a team space) re-targets the space's audience — which subject it belongs to, and therefore who can see every page inside it. Those rules are the platform's, enforced by `authkit.AuthorizeRetarget` (docs/platform/subjects-and-containers.md): - the space's creator may re-target their own space; anyone else needs `org.data.audience_manage` (owner/admin) — 403 otherwise - a personal space is never reclassified (400) — move its pages out with `updatePage.workspaceId` instead - only the creator may make a space `personal` (403 otherwise), so a space can't vanish into another person's private area - a `team` target must be a team the caller belongs to (403 otherwise) Re-submitting the current audience is a no-op and needs no permission. Audience changes are written to the platform audit log as `notes.space.audience_changed`.