Slug Available

Check whether a slug is available for the current workspace. Admin only. Returns `{ available: true }` if the slug is valid, not reserved, and not already claimed by another workspace. When unavailable, `reason` indicates why: `invalid` (format/length), `reserved` (blocked word), or `taken` (already in use globally). The workspace's own current slug is self-excluded, so an admin can safely check their existing slug without receiving `taken`. This is an advisory point-in-time check — a concurrent `POST /workspaces` or `PATCH /workspaces/{id}` from another session can claim the slug between this response and the caller's write. Always handle 409 `WORKSPACE_SLUG_TAKEN` on `create_workspace` and `update_workspace`. Requires the `X-Workspace-Id` header (the workspace being renamed) and admin role in that workspace. Missing/invalid header returns 400; not a member returns 404; not admin returns 403.

Authentication

AuthorizationBearer
Clerk JWT token

Headers

X-Workspace-Idstring or nullOptional

Query parameters

slugstringRequired<=512 characters

Candidate slug; normalized (strip().lower()) before checks.

Response

Successful Response
dataobject

POD-557: result of GET /workspaces/slug-available. reason is set only when available is False (first failure in order format → reserved → taken).

metaobject

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error