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.
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.