---
title: "The structured voice the engine drafts in: tone, characteristic phrases, vocabulary, sentence style and what it avoids, capped exactly as the drafting context caps them. `register` names which voice this is and the registers do not sound alike: 'brand' is the voice of the product's own website, 'personal' is the founder's own extracted from writing samples they supplied, 'imported' came from an imported brief, and null is a producer that has not been classified. `source` is the same fact in the older producer vocabulary ('site', 'uploaded_samples', 'imported'). Pass ?register= to ask for one register rather than the current row; has_profile is false, with a null profile, when that voice has not been extracted yet."
method: GET
path: "/api/v1/kb/voice-profile"
---

# The structured voice the engine drafts in: tone, characteristic phrases, vocabulary, sentence style and what it avoids, capped exactly as the drafting context caps them. \`register\` names which voice this is and the registers do not sound alike: 'brand' is the voice of the product's own website, 'personal' is the founder's own extracted from writing samples they supplied, 'imported' came from an imported brief, and null is a producer that has not been classified. \`source\` is the same fact in the older producer vocabulary ('site', 'uploaded_samples', 'imported'). Pass ?register= to ask for one register rather than the current row; has_profile is false, with a null profile, when that voice has not been extracted yet.

`GET /api/v1/kb/voice-profile`

## Request

- Base URL: `https://afterlaunch.io`
- URL: `https://afterlaunch.io/api/v1/kb/voice-profile`
- Auth: HTTP bearer

## Query parameters

- `register` 'brand' | 'personal' | 'imported'

## Response `200`

The requested voice profile, or has_profile false.

- object
  - `data` object, required
  - `meta` object, required
    - `enrollment_id` string, uuid, required
    - `generated_at` string, date-time, required

## Other responses

- `401`: Missing, invalid or revoked API key.
- `403`: The key does not carry the scope this endpoint requires.
- `404`: No enrollment data, or a key bound to a superseded product run.
- `429`: Per-key rate limit exceeded. Honour Retry-After.

---

[API](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api.md) · [All operations](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/afterlaunch/apis/afterlaunch-public-api/revisions/d67a599194a4?raw)
