# Style Profile object

A named instruction fragment. Kind `personality` is who the assistant is. Kind `note` is how this turn should sound. Register modes (`profanity`, `lecturing`, `adult`, `candor`, `dark_humor`) live on the assistant, not on the profile row — except platform personality rows, which carry a suggested preset in `settings`.

## Properties

**`id`** string

Unique identifier. Format: `sty_` followed by 32 hex characters.

**`kind`** string

`personality` or `note`.

**`scope`** string

`platform` (shipped catalog, read-only) or `organization` (custom).

**`organization_id`** string optional

Owning organization for custom rows. Null on platform rows.

**`slug`** string

Stable snake_case key. Platform slugs: personalities `professional`, `warm`, `witty` (platform default voice), `concise_operator`, `mentor`, `irreverent`, plus the fun/calm pack (`assistant`, `storyteller`, `meditation`, `unhinged`, `conspiracy`, `argumentative`, `motivation`); notes `formal`, `casual`, `creative`, `concise`, `salesy`, `technical`, `empathetic`, `structured`, `unhinged`, `chaotic`, `spicy`.

**`is_default`** boolean

True only on the Witty row inside a personality (or unfiltered) **list**. `GET /v1/style-profiles/{id}` always returns `false` — use the list's `default_personality_id` (null on `kind=note`) to know which row the picker should select when an assistant's `personality_id` is null.

**`name`** string

Display name.

**`description`** string optional

Short picker hint.

**`body`** string

Instruction fragment. Personality bodies start with `# PERSONALITY`. Note bodies are this-turn delivery instructions.

**`settings`** object optional

Suggested register preset on personality rows. Null on notes. Keys: `profanity` (`avoid` | `when_fitting` | `unrestricted`), `lecturing` (`default` | `never`), `adult` (`avoid` | `allow`), `candor` (`cautious` | `direct`), `dark_humor` (`off` | `on`). Applying a personality copies these onto `assistants.personality_settings`.

**`is_active`** boolean

Inactive rows are hidden from pickers and cannot be newly attached.

**`created_by`** string optional

Author user id. Null on platform rows.

**`created_at`** string

ISO 8601 timestamp.

**`updated_at`** string

ISO 8601 timestamp.

## Related Resources

- [List style profiles](/docs/api-reference/style-profiles/list)
- [Create assistant](/docs/api-reference/assistants/create)
- [Create a model response](/docs/api-reference/responses/create)