Plans & Pillars

List Bob content plans

Lists Bob's weekly content plans for one LinkedIn profile: every item's topic/angle/format/status/target day/pillar, plus a pillar-distribution aggregate.

GET/api/public/content-plans
cURLGET /api/public/content-plans
curl "https://postiv.ai/api/public/content-plans?integrationId=123" \
  -H "Authorization: Bearer pk_postiv_..."
200Response
{
  "success": true,
  "integrationId": 1234,
  "weekStart": "2026-07-13",
  "weeksRequested": 1,
  "plans": [
    {
      "id": "p1...",
      "profileId": 1234,
      "weekStart": "2026-07-13",
      "status": "active",
      "items": [
        {
          "id": "i1...",
          "position": 0,
          "topic": "Why most B2B content fails",
          "angle": "contrarian",
          "goal": "engagement",
          "hookPattern": "myth-vs-fact",
          "targetDay": "2026-07-14",
          "status": "planned",
          "postId": null,
          "carouselId": null,
          "contentFormat": "text",
          "pillar": "Content Strategy"
        }
      ]
    }
  ],
  "pillarDistribution": [
    {
      "pillar": "Content Strategy",
      "count": 1,
      "percentage": 100
    }
  ],
  "hasPreviousWeek": true,
  "hasNextWeek": false
}

Authorization

Requires an organization API key with the plans:read scope, sent as Authorization: Bearer or x-api-key.

Query parameters

integrationIdintrequired

LinkedIn profile id.

weekStartstring

YYYY-MM-DD, normally a Monday. Defaults to the current week (computed server-side).

weeksAheadintdefault: 1

1-4 consecutive weeks.

Response

Plans for the requested week range.

integrationIdint
weekStartstring

Resolved first week (YYYY-MM-DD).

weeksRequestedint
plans[].iduuid
plans[].profileIdint
plans[].weekStartstring
plans[].statusstring
plans[].items[].iduuid
plans[].items[].positionint
plans[].items[].topicstring
plans[].items[].anglestring|null
plans[].items[].goalstring|null
plans[].items[].hookPatternstring|null
plans[].items[].targetDaystring|null

YYYY-MM-DD.

plans[].items[].statusstring
plans[].items[].postIduuid|null
plans[].items[].carouselIduuid|null
plans[].items[].contentFormatstring|null
plans[].items[].pillarstring|null
pillarDistribution[].pillarstring
pillarDistribution[].countint
pillarDistribution[].percentagefloat

Across all items in the returned weeks.

hasPreviousWeekboolean
hasNextWeekboolean

Errors

400invalid_integration_id / invalid_week_start / invalid_weeks_ahead: malformed params
404linkedin_profile_not_found: profile not in this workspace

Good to know

  • Call get_content_plan_item / GET /api/public/content-plan-items/:id before drafting a selected item to get its exact hook and saved source material.