Replace one person text row
Replaces one person-owned text row with the supplied mutation body.
Authentication
User bearer token: Supabase or Clerk session JWT, Clerk OAuth access token, or Clerk personal API key
Admin API key for system-to-system write operations
Path parameters
Query parameters
Provider name for provider-native IDs or slugs.
Provider-native source ID.
Provider-native source slug.
Actor type; inferred as agent when agentChassis and agentModel are supplied, or as employee from an authenticated user JWT session.
Agent chassis token for agent-authored writes.
Agent model id for agent-authored writes.
Request
Admin override for public entity text word limits; use only with explicit approval.
Allow intentional magnitude phrases without a currency marker (‘100K customers’) or intentional escape sequences before ’$’; never use this to persist corrupted currency text — write ’$’ literally instead.
Current row. Create defaults to true; inactive rows are hidden from default lists.
Primary row. Create defaults to true; inactive rows are not primary.
Text body for the selected text type. Entity create requires both a summary row and an expanded row. Shape: summary is a single short sentence; expanded is split into paragraphs by one blank line (“\n\n” in JSON). Run GET /v1/entities/texts/types (CLI: entities texts types list —data) before writing to inspect each textType’s minWords, maxWords, rewriteHint, and paragraphShape contract. Write ’$’ literally in currency amounts; escaped forms like ‘$50M’ are rejected as shell artifacts.
Response
Type-safe identifier for text records
Owning record, nested ids only: owner.entityId or owner.personId — exactly one is set, and no name fields. Writes are scoped by the owning entity/person route; owner is never a write field.
Derived character/word counts and governed-contract compliance for this text row; null when not evaluated.