Skip to main content
GET
Get Content Detail

Authorizations

x-api-key
string
header
required

API key for authentication. You can create one here.

Path Parameters

content_id
string<uuid>
required

The UUID of the content item to fetch.

Query Parameters

website_id
string<uuid>
required

The website the content item belongs to.

Response

Successful response with the content item's full detail.

content_id
string<uuid>
required

The content item's id.

title
string | null
required

The content's title.

url
string | null
required

The content's display URL.

normalized_url
string | null
required

The normalized URL — the value joined against citation data.

type
string | null
required

How the content entered the hub: draft (Athena-written article), optimize (rewrite of an existing page), snipe, slice, manual (authored in the editor), external (added manually), imported (via GA4).

Example:

"draft"

sheet_id
string<uuid> | null
required

The Content Hub sheet the item belongs to. See GET /api/v1/content/sheets.

status
enum<string> | null
required

Generation lifecycle status. pending/pending_brief/pending_article mean work is in flight; generated_brief means the brief is ready while the article is still being written; generated means the text is ready; done means published/marked done; scheduled means a publish is scheduled. null when the item has no generation record yet (e.g. a tracked page that has not been scraped).

Available options:
done,
generated,
failed,
pending,
generated_brief,
pending_brief,
pending_article,
scheduled
brief
string | null
required

The content brief, as markdown. Available once status reaches generated_brief.

body
string | null
required

The article/page body, as markdown. Holds the generated draft, the optimize rewrite, the snipe article, authored text, or the scraped body of a tracked page — depending on type.

meta_description
string | null
required

The generated meta description.

cited_urls
string[] | null
required

External source URLs cited by the body. Not to be confused with citations on POST /api/v1/content, which is the count of AI responses citing this URL.

Internal URLs linked from the body.

brief_cited_urls
string[] | null
required

External source URLs referenced by the brief.

Internal URLs suggested by the brief.

optimize_summary
object | null
required

For optimize items: a summary of what the rewrite changed. null for other types or when no rewrite has completed.

linkedin_post
string | null
required

Latest completed LinkedIn post generated for this content; falls back to legacy stored values for older content.

x_post
string | null
required

Latest completed X post generated for this content; falls back to legacy stored values for older content.

facebook_post
string | null
required

Latest completed Facebook post generated for this content; falls back to legacy stored values for older content.

instagram_post
string | null
required

Latest completed Instagram post generated for this content; falls back to legacy stored values for older content.

reddit_post
string | null
required

Latest completed Reddit post generated for this content; falls back to legacy stored values for older content.

topic_name
string | null
required

Name of the topic the content targets, when assigned.

prompts
object[]
required

The prompts this content was written to target, oldest association first, capped at 100 entries. When prompts_total exceeds 100 the remainder is not currently retrievable. Empty when the item has no prompt targeting, which is normal for imported or externally tracked pages. This is not the same as the prompts that cited the page — see POST /api/v1/content/prompts for that.

prompts_total
integer
required

Total number of prompts targeted by this content, before the 100-entry cap applied to prompts.

mark_as_done_time
string<date-time> | null
required

When the item was marked done/published.

created_at
string<date-time>
required

When the content item was created.

updated_at
string<date-time>
required

When the content item or its generated text last changed (the newer of the row and generation timestamps).