persona_get

Fetch one of a brand's personas — who it is talking to, in their own words — so an agent can write for someone in particular.

Fetches a single Persona by the pair that addresses it: its Brand’s slug and its own.

A Persona is an audience archetype — who a brand is talking to. It is the counterpart to the Brand’s own sections, which say who it is talking as. Discover a brand’s personas with brand_get; there is no separate list tool, because the brand bundle already carries them.

Input

Field Type Required Description
brand_name string yes The slug of the brand that owns the persona.
persona_name string yes The persona slug. Unique within its brand, so it must be paired with brand_name.

Output

{ persona }, carrying slug, name, description, revision, the age range, and four context sections:

Section What belongs in it
profile Who they are: life stage, situation, role, context
motivations What they want: jobs to be done, triggers, outcomes
frictions What stops them: objections, doubts, perceived risk
language The words they use for the problem — their verbatims

Each section is free-form markdown and independently optional — one you haven’t written is null, which is normal rather than an error.

ageMin and ageMax are independently nullable: ageMin alone means “and older”, ageMax alone means “and younger”, and both null means the persona is not defined by age at all.

`language` is not a locale

Despite the name, language holds voice-of-customer wording — how this audience describes the problem in their own register (“my knees are shot by mile 18”), not a language setting like en-GB. It is the raw material for copy that sounds like the reader rather than like the brand.

Example

“Write three ad headlines for Acme Running, aimed at Marathon Maya.”

persona_get({ brand_name: 'acme-running', persona_name: 'marathon-maya' });
// → { persona: { slug: 'marathon-maya', ageMin: 30, ageMax: 44,
//                frictions: 'Thinks carbon plates are a gimmick…', … } }

The agent reads frictions and language alongside the brand’s voice, so the headline answers a real objection in words the reader would use.

Keep the revision

If you intend to edit the Persona, hold onto revision — pass it as base_revision to persona_update or persona_delete so a concurrent change can’t be silently overwritten.

Requires the brand:read scope — a persona is part of its brand’s context, not a separate permission.