---
title: "Get a Voice Profile"
method: GET
path: "/voice-profiles/{id}"
tags: ["Voice Profiles"]
---

# Get a Voice Profile

`GET /voice-profiles/{id}`

## Request

- Base URL: `https://app.openpo.st/api/v1`
- URL: `https://app.openpo.st/api/v1/voice-profiles/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `openpost_session`

## Path parameters

- `id` string, required: Voice Profile ID

## Query parameters

- `workspace_id` string, required: Workspace ID

## Response `200`

OK

- VoiceProfile
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `assigned_account_ids` string[], nullable, required
  - `created_at` string, date-time, required
  - `definition` Definition, required
    - `boundaries` string[], nullable: Tone or identity boundaries
    - `corrections` Correction[], nullable: Accepted edits that explain how the voice should change a draft
      - `lesson` string: Optional general lesson from the edit
      - `original` string, required: Generated or draft wording that did not fit
      - `preferred` string, required: Accepted replacement wording
    - `disliked_patterns` string[], nullable: Writing patterns this voice avoids
    - `examples` Example[], nullable: Representative writing examples
      - `platform` string: Optional source platform, used as provenance rather than a style rule
      - `text` string, required: Representative text
      - `why_it_fits` string: Why this example represents the voice
    - `expertise` string[], nullable: Subjects the voice can discuss from experience
    - `forbidden_phrases` string[], nullable: Phrases this voice must not use
    - `formality` string: Formality style and limits
    - `humor` string: Humor style and limits
    - `identity_summary` string: Short description of the person or brand behind the voice
    - `interview_answers` InterviewAnswer[], nullable: Optional answers used to learn opinions and phrasing
      - `answer` string, required: Answer in the profile owner's own words
      - `question` string, required: Interview question
    - `opinions` string[], nullable: Established views the builder may draw on
    - `preferred_language` string: Language or locale this voice normally writes in
    - `recurring_expressions` string[], nullable: Expressions that sound natural in this voice
    - `traits` string[], nullable: Stable voice traits
    - `vocabulary` string[], nullable: Words the voice naturally uses
  - `id` string, required
  - `is_default` boolean, required
  - `name` string, required
  - `revision` integer, required
  - `schema_version` integer, required
  - `updated_at` string, date-time, required
  - `workspace_id` string, required

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/openpo/apis/openpost-api.md) · [All operations](https://skmtc.dev/openpo/apis/openpost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openpo/apis/openpost-api/revisions/67d3964458a7?raw)
