Profiles
Get writing style
Reads the trained writing style for one LinkedIn profile (priority rules, voice, structure, vocabulary, custom instructions, learnings, examples).
GET
/api/public/linkedin-profiles/:id/writing-stylecURLGET /api/public/linkedin-profiles/:id/writing-style
curl "https://postiv.ai/api/public/linkedin-profiles/ID_ID/writing-style" \
-H "Authorization: Bearer pk_postiv_..."200Response
{
"success": true,
"writingStyle": {
"integration": {
"id": 1234,
"provider": "linkedin",
"status": "active",
"parentIntegrationId": null
},
"profile": {
"id": 1234,
"name": "Jan",
"headline": "Founder",
"picture": "https://..."
},
"hasWritingStyle": true,
"writingStyle": {
"tone": "direct"
},
"modelContext": "Write in a direct, no-fluff tone...",
"updatedAt": "2026-06-01T00:00:00.000Z"
}
}Authorization
Requires an organization API key with the profiles:read scope, sent as Authorization: Bearer or x-api-key.
Path parameters
idstringrequiredResource id from the corresponding list or create endpoint.
Response
The profile's writing style state.
writingStyle.integration.idintwritingStyle.integration.providerstringwritingStyle.integration.statusstringwritingStyle.integration.parentIntegrationIdint|nullwritingStyle.profileobject{ id, name, headline, picture }
writingStyle.hasWritingStylebooleanwritingStyle.writingStyleobject|nullRaw structured style JSON (agent_profiles.tone_voice), null if untrained.
writingStyle.modelContextstringFormatted prose version meant to be fed to an LLM as writing instructions; empty string if untrained.
writingStyle.updatedAttimestamp|nullErrors
| 400 | id path param must be a positive integer (zod coercion failure -> validation_error) |
| 404 | linkedin_profile_not_found: integration id not in this workspace |
Good to know
- hasWritingStyle=false means no trained style yet: callers should write naturally rather than inventing one.