Profiles

List LinkedIn profiles

Lists the LinkedIn profiles and company pages connected to the workspace: the integrationId values every post/schedule/carousel call needs. LinkedIn only: X accounts appear in workspace.accounts on GET /api/public/workspace and in the MCP tool list_social_accounts.

GET/api/public/linkedin-profiles
cURLGET /api/public/linkedin-profiles
curl "https://postiv.ai/api/public/linkedin-profiles" \
  -H "Authorization: Bearer pk_postiv_..."
200Response
{
  "success": true,
  "profiles": [
    {
      "id": 1234,
      "channel": "linkedin",
      "provider": "linkedin",
      "profileType": "personal",
      "parentIntegrationId": null,
      "name": "Jan van Musscher",
      "username": null,
      "headline": "Founder @ Postiv",
      "picture": "https://...",
      "status": "active",
      "socialSetId": null
    }
  ]
}

Authorization

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

Response

Connected profiles, personal (actor) profile first.

profiles[].idint

integrationId used everywhere else.

profiles[].providerstring

Always 'linkedin'.

profiles[].channelstring

Always 'linkedin' on this endpoint.

profiles[].profileTypestring
profiles[].parentIntegrationIdint|null

Set for organization_page rows.

profiles[].namestring|null
profiles[].usernamestring|null

X handle. Always null for LinkedIn.

profiles[].headlinestring|null
profiles[].picturestring|null

Resolved profile picture URL.

profiles[].statusstring

Always 'active' (query filters to active integrations).

profiles[].socialSetIduuid|null

The social set (one brand across LinkedIn and X) this account belongs to, if any.

Errors

404workspace_not_found: org_id doesn't resolve

Good to know

  • Agency admins in a client org are excluded from the member list this query joins against (their access is auto-granted, not seat-backed), matching the dual-membership seat rules in CLAUDE.md. Deliberately omits connected_at/expires_at: token lifecycle stays internal.