PATCH /api/brand-voice/{company_id} — JSON:API field-level partial update.
Per https://jsonapi.org/format/#crud-updating-resource-attributes, only the top-level attributes present in the request body are replaced; missing top-level fields are preserved. A client can patch just tone_descriptors without disturbing language_patterns, and vice versa.
A present top-level field is replaced wholesale (no recursive merge into the list contents) — the underlying service treats tone_descriptors and language_patterns as full-list replacements, so partial-list edits must be done client-side by reading, modifying, and writing the full list.
The path id must equal the auth context's company id; mismatches return 404.