Plans & Pillars
Get content pillar
Reads one pillar in full: name, description, freeform content, suggested day, mode, version, and 30-day performance vs. the account average when the pillar has published posts in that window. Works for an account's own pillars and for the shared pillars of its social stack.
/api/public/pillars/:idcurl "https://postiv.ai/api/public/pillars/ID_ID" \
-H "Authorization: Bearer pk_postiv_..."{
"success": true,
"integrationId": 1234,
"channel": "linkedin",
"pillar": {
"id": "pl1...",
"name": "Content Strategy",
"description": "...",
"content": "Write about planning frameworks...",
"suggestedDay": "Tuesday",
"mode": "evergreen",
"version": 3,
"source": "account",
"stats": {
"postsPublished": 4,
"avgImpressions": 5200,
"engagementRateVsAverage": 1.15
}
}
}Authorization
Requires an organization API key with the plans:read scope, sent as Authorization: Bearer or x-api-key.
Path parameters
idstringrequiredResource id from the corresponding list or create endpoint.
Query parameters
integrationIdintPass the account when the pillar came from list-pillars with pillarSource 'set'. Omit it to find the pillar's own account from its id.
Response
The pillar with performance stats.
integrationIdintThe account the pillar was read for.
channelstringChannel of that account.
pillar.id / name / description / suggestedDay / modemixedpillar.contentstringFreeform guidance on what to cover and how to write for this pillar.
pillar.versionintpillar.sourcestringWhose pillar this is for the account: its own, or its social stack's shared one.
pillar.statsobject|null30-day performance (posts published, avg impressions, engagement rate vs. profile average, top posts); null if no published posts in that window.
Errors
| 400 | id path param must be a UUID |
| 404 | integration_not_found: integrationId is not an account in this workspace |
| 404 | pillar_not_found: pillar archived, doesn't exist, or not in this workspace |