Content / REST API
Generate content
Generate a LinkedIn post using the workspace voice config, content examples, and intelligence context. The route requires workspace_id as a query param (auto-injected from the API key when present). Returns hook + body + cta + alternatives + reasoning.
POST /api/content/generateBackend AI, consent requiredParameters
workspaceIdOptional · string- Optional workspace ID or slug. Required when this credential can access multiple workspaces and no workspace was configured on the client.
workspace_idOptional · string- Workspace UUID (sent as ?workspace_id query param). Auto-injected with API key auth.
workspace_slugOptional · string- Optional workspace slug for the agent context.
topicRequired · string- What the post should be about (10-5000 chars).
postTypeOptional · string- See the input schema for this field.thought_leadership · lead_magnet · case_study · personal_story
postLengthOptional · string- See the input schema for this field.short · medium · long
linkedinAccountIdOptional · string- Optional - pin the post to a specific account voice.
hookStyleOptional · string- See the input schema for this field.question · contrarian · story · statistic · bold_claim · curiosity_gap
regenerateInstructionsOptional · string- User feedback when iterating on a previous draft.
previousPostOptional · string- Previous post content for regeneration context.
strategyContextOptional · object- See the input schema for this field.
allowHostedAiOptional · boolean- Must be true when this operation uses Pipeline hosted inference.
curl -X POST "https://app.pipeline.help/api/content/generate" \
-H "Authorization: Bearer $PIPELINE_API_KEY" \
-H "X-Pipeline-Execution-Policy: hosted-enabled" \
-H "Content-Type: application/json" \
-d '{"topic":"example","allowHostedAi":true}'Full input schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"description": "Optional workspace ID or slug. Required when this credential can access multiple workspaces and no workspace was configured on the client."
},
"workspace_id": {
"type": "string",
"description": "Workspace UUID (sent as ?workspace_id query param). Auto-injected with API key auth."
},
"workspace_slug": {
"type": "string",
"description": "Optional workspace slug for the agent context."
},
"topic": {
"type": "string",
"description": "What the post should be about (10-5000 chars)."
},
"postType": {
"type": "string",
"enum": [
"thought_leadership",
"lead_magnet",
"case_study",
"personal_story"
]
},
"postLength": {
"type": "string",
"enum": [
"short",
"medium",
"long"
]
},
"linkedinAccountId": {
"type": "string",
"description": "Optional - pin the post to a specific account voice."
},
"hookStyle": {
"type": "string",
"enum": [
"question",
"contrarian",
"story",
"statistic",
"bold_claim",
"curiosity_gap"
]
},
"regenerateInstructions": {
"type": "string",
"description": "User feedback when iterating on a previous draft."
},
"previousPost": {
"type": "string",
"description": "Previous post content for regeneration context."
},
"strategyContext": {
"type": "object",
"additionalProperties": true
},
"allowHostedAi": {
"type": "boolean",
"description": "Must be true when this operation uses Pipeline hosted inference."
}
},
"required": [
"topic"
]
}