OutFlo Public API / Guide
LinkedIn posting
Draft, review, schedule, and publish LinkedIn posts through the Public API.
Overview
Posting endpoints are mounted at /api/public/v1/posting and require posting scopes: posts.read, posts.write, posts.approve, or posts.publish. New API keys and the existing-key scope backfill receive all four by default. Publishing and publication changes normally use a two-step intent flow: prepare an Outflo-issued intent, review its confirmation token, then commit it. POST /publications/direct is the one-call exception for an authorized API-key owner: it creates, records an approval for, and schedules a ready post; it requires both posts.write and posts.publish, and returns an Outflo request ID. Updates and revision restores use expectedVersion or an If-Match ETag to prevent overwriting a newer draft.
Authentication
Send the same x-api-key header with every request.
Request and response schemas
Every operation below follows the same contract order. All responses use the standard status, data, and error envelope.
GET/api/public/v1/posting/postsList LinkedIn posts
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
No path parameters.
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| state | string | No | Filter by a posting state. |
| view | enum | No | all, drafts, calendar, approvals, or published. |
| cursor | string | No | Cursor from the previous page. |
| limit | integer | No | Maximum posts to return. |
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | List LinkedIn posts result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"state": "<string>",
"view": "<string>",
"cursor": "<string>",
"limit": 1
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/postsCreate a LinkedIn post draft
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | null | No | Internal post title, up to 160 characters. |
| bodyText | string | No | LinkedIn post text, up to 3,000 characters. |
| firstCommentText | string | null | No | Optional first comment to publish with the post, up to 1,250 characters. |
| settings | object | No | Optional posting settings. |
| editorialState | enum | No | IDEA, DRAFT, or READY.Example: DRAFT |
| assetsView assets[] definition | object[] | No | Up to nine completed assets for the current revision. |
Object definitions
Object and array fields link to their immediate child schema below.
assets[]
Up to nine completed assets for the current revision.
| Field | Type | Required | Description |
|---|---|---|---|
| assetId | string · UUID | Yes | Completed asset ID to attach to this revision. |
| altText | string | null | No | Accessible description for the asset, up to 1,000 characters. |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Create a LinkedIn post draft result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"title": "<string>",
"bodyText": "<string>",
"firstCommentText": "<string>",
"settings": {},
"editorialState": "DRAFT",
"assets": [
{
"assetId": "00000000-0000-4000-8000-000000000000",
"altText": "<string>"
}
]
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/publications/directCreate, approve, and schedule a LinkedIn post
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write + posts.publish posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | null | No | Internal post title, up to 160 characters. |
| bodyText | string | No | LinkedIn post text, up to 3,000 characters. |
| firstCommentText | string | null | No | Optional first comment to publish with the post, up to 1,250 characters. |
| settings | object | No | Optional posting settings. |
| assetsView assets[] definition | object[] | No | Up to nine completed assets for the current revision. |
| accountId | string · UUID | Yes | Eligible LinkedIn account that will publish the post. |
| scheduledFor | string · ISO 8601 date-time | Yes | Future publication time, including its UTC offset.Example: 2026-09-15T10:00:00+05:30 |
| sourceTimezone | string | Yes | IANA timezone used to schedule the publication.Example: Asia/Kolkata |
Object definitions
Object and array fields link to their immediate child schema below.
assets[]
Up to nine completed assets for the current revision.
| Field | Type | Required | Description |
|---|---|---|---|
| assetId | string · UUID | Yes | Completed asset ID to attach to this revision. |
| altText | string | null | No | Accessible description for the asset, up to 1,000 characters. |
Success response · 202
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 202. |
| data | object | array | null | Yes | Created post, approval, publication, and the Outflo-issued requestId (the publication ID) for later management. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"title": "<string>",
"bodyText": "<string>",
"firstCommentText": "<string>",
"settings": {},
"assets": [
{
"assetId": "00000000-0000-4000-8000-000000000000",
"altText": "<string>"
}
],
"accountId": "00000000-0000-4000-8000-000000000000",
"scheduledFor": "2026-09-15T10:00:00+05:30",
"sourceTimezone": "Asia/Kolkata"
}{
"status": 202,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/posts/{postId}Get a LinkedIn post
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Get a LinkedIn post result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}PATCH/api/public/v1/posting/posts/{postId}Update a LinkedIn post
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | null | No | Internal post title, up to 160 characters. |
| bodyText | string | No | LinkedIn post text, up to 3,000 characters. |
| firstCommentText | string | null | No | Optional first comment to publish with the post, up to 1,250 characters. |
| settings | object | No | Optional posting settings. |
| editorialState | enum | No | IDEA, DRAFT, or READY.Example: DRAFT |
| assetsView assets[] definition | object[] | No | Up to nine completed assets for the current revision. |
| expectedVersion | integer | No | Current post row version. Required for updates and restores; alternatively send the same value as a strong If-Match ETag.Example: 1 |
| checkpointReason | enum | No | MANUAL_SAVE, SUBMITTED, or RESTORED.Example: MANUAL_SAVE |
Object definitions
Object and array fields link to their immediate child schema below.
assets[]
Up to nine completed assets for the current revision.
| Field | Type | Required | Description |
|---|---|---|---|
| assetId | string · UUID | Yes | Completed asset ID to attach to this revision. |
| altText | string | null | No | Accessible description for the asset, up to 1,000 characters. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Update a LinkedIn post result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"title": "<string>",
"bodyText": "<string>",
"firstCommentText": "<string>",
"settings": {},
"editorialState": "DRAFT",
"assets": [
{
"assetId": "00000000-0000-4000-8000-000000000000",
"altText": "<string>"
}
],
"expectedVersion": 1,
"checkpointReason": "MANUAL_SAVE"
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/posts/{postId}/revisionsList post revisions
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | List post revisions result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/posts/{postId}/revisions/{revisionId}/restoreRestore a post revision
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
| revisionId | string · UUID | Yes | revisionId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| expectedVersion | integer | No | Current post row version. Required for updates and restores; alternatively send the same value as a strong If-Match ETag.Example: 1 |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Restore a post revision result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"expectedVersion": 1
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/assets/upload-intentsCreate an asset upload intent
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| fileName | string | Yes | Original filename, from 1 to 255 characters. |
| mimeType | enum | Yes | image/jpeg, image/png, image/gif, video/mp4, or application/pdf. |
| bytes | integer | Yes | File size in bytes; maximum 52,428,800 (50 MiB). |
| checksum | string | No | Optional file checksum, up to 128 characters. |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Create an asset upload intent result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"fileName": "<string>",
"mimeType": "<string>",
"bytes": 1,
"checksum": "<string>"
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/assets/{assetId}/completeComplete an asset upload
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| assetId | string · UUID | Yes | assetId path identifier. |
Query parameters
No query parameters.
Request body · application/json
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Complete an asset upload result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>",
"Content-Type": "application/json"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/assets/{assetId}/downloadGet an asset download URL
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| assetId | string · UUID | Yes | assetId path identifier. |
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Get an asset download URL result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/posts/{postId}/commentsList post comments and feedback
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| revisionId | string · UUID | No | Restrict threads to one revision. |
| cursor | string | No | Cursor from the previous page. |
| limit | integer | No | Maximum threads to return. |
| includeResolved | boolean | No | Include resolved comment threads.Example: false |
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | List post comments and feedback result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"revisionId": "00000000-0000-4000-8000-000000000000",
"cursor": "<string>",
"limit": 1,
"includeResolved": false
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/posts/{postId}/commentsAdd a post comment or feedback thread
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| revisionId | string · UUID | No | Revision the thread refers to. Defaults to the current revision. |
| threadType | enum | No | NOTE or FEEDBACK.Example: FEEDBACK |
| body | string | Yes | Comment text, from 1 to 5,000 characters. |
| mentions | string[] · UUID | No | Optional user IDs to mention; maximum 50. |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Add a post comment or feedback thread result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"revisionId": "00000000-0000-4000-8000-000000000000",
"threadType": "FEEDBACK",
"body": "<string>",
"mentions": []
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/comments/{commentId}/repliesReply to a post comment
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| commentId | string · UUID | Yes | commentId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| body | string | Yes | Reply text, from 1 to 5,000 characters. |
| mentions | string[] · UUID | No | Optional user IDs to mention; maximum 50. |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Reply to a post comment result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"body": "<string>",
"mentions": []
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/comment-threads/{threadId}/resolveResolve a post comment thread
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| threadId | string · UUID | Yes | threadId path identifier. |
Query parameters
No query parameters.
Request body · application/json
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Resolve a post comment thread result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>",
"Content-Type": "application/json"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/posts/{postId}/approval-requestsRequest approval for a post
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.write posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| revisionId | string · UUID | No | Revision to submit. Defaults to the current revision. |
| reviewerUserId | string · UUID | No | Optional user assigned to review the request. |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Request approval for a post result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"revisionId": "00000000-0000-4000-8000-000000000000",
"reviewerUserId": "00000000-0000-4000-8000-000000000000"
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/approval-requests/{requestId}/approveApprove a post approval request
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.approve posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| requestId | string · UUID | Yes | requestId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| comment | string | No | Optional approval comment, up to 5,000 characters. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Approve a post approval request result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"comment": "<string>"
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/approval-requests/{requestId}/request-changesRequest changes to a post approval request
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.approve posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| requestId | string · UUID | Yes | requestId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| comment | string | No | Optional change-request comment, up to 5,000 characters. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Request changes to a post approval request result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"comment": "<string>"
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/posts/{postId}/publication-intentsPrepare a publication intent
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.publish posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| postId | string · UUID | Yes | postId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| accountId | string · UUID | Yes | Eligible LinkedIn account that will publish the post. |
| revisionId | string · UUID | No | Revision to publish. Defaults to the current revision. |
| scheduledFor | string · ISO 8601 date-time | Yes | Scheduled publication time, including its UTC offset.Example: 2026-08-06T09:00:00+05:30 |
| sourceTimezone | string | Yes | IANA timezone used to schedule the publication.Example: Asia/Kolkata |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Prepare a publication intent result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"accountId": "00000000-0000-4000-8000-000000000000",
"revisionId": "00000000-0000-4000-8000-000000000000",
"scheduledFor": "2026-08-06T09:00:00+05:30",
"sourceTimezone": "Asia/Kolkata"
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/publication-intents/{intentId}/commitCommit a publication intent
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.publish posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| intentId | string · UUID | Yes | intentId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| confirmationToken | string | Yes | Token returned by the corresponding prepare-intent operation. |
Success response · 202
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 202. |
| data | object | array | null | Yes | Commit a publication intent result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"confirmationToken": "<string>"
}{
"status": 202,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/publications/{publicationId}/action-intentsPrepare a publication action
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.publish posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| publicationId | string · UUID | Yes | publicationId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| action | enum | Yes | RESCHEDULE, CANCEL, or RETRY. |
| scheduledFor | string · ISO 8601 date-time | action = RESCHEDULE | Required when action is RESCHEDULE.Example: 2026-08-07T09:00:00+05:30 |
| sourceTimezone | string | action = RESCHEDULE | Required when action is RESCHEDULE.Example: Asia/Kolkata |
| expectedVersion | integer | Yes | Current publication row version.Example: 1 |
Success response · 201
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 201. |
| data | object | array | null | Yes | Prepare a publication action result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"action": "<string>",
"scheduledFor": "2026-08-07T09:00:00+05:30",
"sourceTimezone": "Asia/Kolkata",
"expectedVersion": 1
}{
"status": 201,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}POST/api/public/v1/posting/publication-action-intents/{intentId}/commitCommit a publication action
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.publish posting scope. |
| Content-Type | string | Yes | Must be application/json.Example: application/json |
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
| intentId | string · UUID | Yes | intentId path identifier. |
Query parameters
No query parameters.
Request body · application/json
| Field | Type | Required | Description |
|---|---|---|---|
| confirmationToken | string | Yes | Token returned by the corresponding prepare-intent operation. |
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Commit a publication action result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"confirmationToken": "<string>"
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/accountsList eligible LinkedIn posting accounts
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | List eligible LinkedIn posting accounts result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/usageGet LinkedIn posting usage
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Get LinkedIn posting usage result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/entitlementGet LinkedIn posting entitlement
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
No path parameters.
Query parameters
No query parameters.
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Get LinkedIn posting entitlement result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"headers": {
"x-api-key": "<string>"
}
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}GET/api/public/v1/posting/calendarGet the LinkedIn posting calendar
Headers
| Field | Type | Required | Description |
|---|---|---|---|
| x-api-key | string | Yes | Workspace API key with the posts.read posting scope. |
Path parameters
No path parameters.
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| from | string · ISO 8601 date-time | Yes | Start of the calendar range. |
| to | string · ISO 8601 date-time | Yes | End of the calendar range. |
| accountId | string · UUID | No | Restrict results to one LinkedIn account. |
| states | string · CSV | No | Comma-separated publication states. |
| cursor | string | No | Cursor for scheduled publications. |
| unscheduledCursor | string | No | Cursor for unscheduled drafts. |
| limit | integer | No | Maximum items per result set. |
Request body
No request body.
Success response · 200
| Field | Type | Required | Description |
|---|---|---|---|
| status | integer | Yes | HTTP status mirrored in the JSON body. Success: 200. |
| data | object | array | null | Yes | Get the LinkedIn posting calendar result. The exact data fields depend on the selected resource. |
| error | string | null | Yes | Null on success; a developer-readable message on failure. |
{
"from": "<string>",
"to": "<string>",
"accountId": "00000000-0000-4000-8000-000000000000",
"states": "<string>",
"cursor": "<string>",
"unscheduledCursor": "<string>",
"limit": 1
}{
"status": 200,
"data": "<endpoint-specific response data>",
"error": null
}{
"status": 400,
"data": null,
"error": "Developer-readable error message"
}