---
title: "The account's workspace role (Screenwriter, Content creator or Business), and whether it may switch."
method: GET
path: "/account/workspace-role"
tags: ["Account"]
---

# The account's workspace role (Screenwriter, Content creator or Business), and whether it may switch.

`GET /account/workspace-role`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/account/workspace-role`
- Auth: HTTP bearer

Your workspace role (Screenwriter, Content creator or Business) decides how the workspace leans: which areas show, how Slug coaches you, and what kind of project New Project starts with (a Screenwriter's is always a story; product projects are for Content creator and Business). One account and one Studio Credit balance across every role. Switching is allowed only on accounts an admin has turned it on for, and every switch is recorded. `role` is `writer`, `creator` or `business` (null before first-run onboarding); `canSwitch` says whether an admin allowed this account to switch; `defaultProjectKind` is the kind a new project starts as when none is named. Scope: `account:read`. Free.

## Response `200`

The workspace role.

- WorkspaceRole
  - `role` 'writer' | 'creator' | 'business' | 'null', nullable, required: Null until first-run onboarding has picked a track.
  - `label` string, nullable, required: "Screenwriter", "Content creator" or "Business".
  - `workspaceTrack` string, nullable, required: The stored track the role is read from (`professional_writer` | `storyteller`).
  - `creatorContext` string, nullable, required: The stored creator context the role is read from (`self` | `company`).
  - `craftFocus` 'screenwriter' | 'novelist' | 'advertiser' | 'brand_marketer' | 'content_creator' | 'comms' | 'founder' | 'journalist' | 'null', nullable, required: The craft focus Slug coaches toward (set it with PUT /account/craft-focus). A switch never changes it.
  - `canSwitch` boolean, required: Whether an admin allowed this account to switch its role.
  - `defaultProjectKind` 'story' | 'product', required: The kind a new project starts as when none is named.
  - `options` object[], required
    - `role` 'writer' | 'creator' | 'business', required
    - `label` string, required
    - `description` string, required

## Other responses

- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/64c1102ccb2f?raw)
