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-profilescURLGET /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[].idintintegrationId used everywhere else.
profiles[].providerstringAlways 'linkedin'.
profiles[].channelstringAlways 'linkedin' on this endpoint.
profiles[].profileTypestringprofiles[].parentIntegrationIdint|nullSet for organization_page rows.
profiles[].namestring|nullprofiles[].usernamestring|nullX handle. Always null for LinkedIn.
profiles[].headlinestring|nullprofiles[].picturestring|nullResolved profile picture URL.
profiles[].statusstringAlways 'active' (query filters to active integrations).
profiles[].socialSetIduuid|nullThe social set (one brand across LinkedIn and X) this account belongs to, if any.
Errors
| 404 | workspace_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.