Skip to main content
PUT
Save Person Voice Edits

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Save-edits payload (PUT). ONLY the editable voice fields are declared, so a client can never write arm-status / provenance / internal columns (an undeclared field is silently dropped — critical pattern #58 — and the service additionally allowlists). No positioning (company layer). The route stamps manually_edited_at server-side so future auto-derives no-clobber the user's edits.

tone
string
default:""
Maximum string length: 2000
style
string
default:""
Maximum string length: 2000
topics
string[]
Maximum array length: 25
Maximum string length: 500
do_guidelines
string[]
Maximum array length: 25
Maximum string length: 500
dont_guidelines
string[]
Maximum array length: 25
Maximum string length: 500
sample_snippets
string[]
Maximum array length: 25
Maximum string length: 1000

Response

Successful Response

The persisted PERSON voice (+ per-arm status + provenance). updated_at null means no row yet -- the FE auto-derive-and-saves on first load. The arm-status columns are the migration-249 CHECK vocabulary ('ok'/'absent'/'error') and may be null until a derive has run; the *_arm_detail carry the original rich reason.

tone
string
default:""
style
string
default:""
topics
string[]
do_guidelines
string[]
dont_guidelines
string[]
sample_snippets
string[]
linkedin_arm_status
string | null
linkedin_arm_detail
string | null
x_arm_status
string | null
x_arm_detail
string | null
derived_at
string<date-time> | null
manually_edited_at
string<date-time> | null
derivation_version
integer | null
updated_at
string<date-time> | null