get_persona_brief
get_persona_briefRead an AI persona and brand voice brief, poll until it is done
Returns the brief started by POST /api/v1/tools/persona-brief. While status is pending,
fetching, analyzing or synthesizing, call again every 3 seconds: progress and pages
show what has been read so far. When status is done, brief holds the structured brief,
brief.writingPrompt the ready-to-paste prompt and markdown the full document. When status
is failed, failureReason says why (NO_USABLE_PAGE, LLM_UNAVAILABLE, TIMEOUT, INTERNAL).
A page with a failureReason did not contribute to the brief. ANALYSIS_FAILED is the only one
on a page that was read: it keeps its title and wordCount, stays counted in
progress.pagesFetched and never enters progress.pagesAnalyzed nor metrics.
No quota is consumed. The briefId is random: whoever holds it can read the brief, which is
what makes share links work. Briefs expire after 90 days. Reads that are not attributed to an
account are subject to three anti-abuse counters, all per IP address and per UTC day:
the total number of requests, the reads of a single brief, and the number of different
briefs read. All three are far above any legitimate polling, including the busiest paid
account: crossing any of them returns 429 READ_RATE_LIMITED with Retry-After. Once the
cost ceiling is reached, further requests keep being refused until it resets, whether or
not they carry a valid briefId.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| briefId | Yes | The briefId returned by the creation call (22 characters). |