Skip to main content
POST
/
linkedin
/
scheduled_posts
Create a LinkedIn post Create a new LinkedIn post.
curl --request POST \
  --url https://scheduler.dashsocial.com/linkedin/scheduled_posts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "brand_id": 1,
  "auto_publish": true,
  "text": "<string>",
  "media_ids": [
    1
  ],
  "timestamp": "2023-11-07T05:31:56Z",
  "alt_text_media_map": {},
  "approval_requests": [
    {
      "requested_by_user_id": 123,
      "review_user_id": 123
    }
  ],
  "board_ids": [
    1
  ],
  "campaign_ids": [
    1
  ],
  "content_tag_ids": [
    1
  ],
  "duplicate_to_brand_ids": [
    1
  ],
  "post_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "sort_index": 123,
  "subtitle_content": "<string>"
}
'
{
  "code": 123,
  "errors": {},
  "message": "<string>",
  "status": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://developer.dashsocial.com/llms.txt

Use this file to discover all available pages before exploring further.

This endpoint has platform-specific fields and publishing rules. See the full scheduling guide for a complete walkthrough including media upload, publishing modes, and examples.

LinkedIn-specific fields

ParameterDescription
textPost caption text

Publishing modes

Modestatusauto_publishtimestamp
Publish immediatelyAUTOPUBLISHINGtrueNot required
Schedule for laterSCHEDULEDtrueRequired
Save as draftDRAFTtrue or falseOptional

Example request

{
  "auto_publish": true,
  "brand_id": 144,
  "status": "SCHEDULED",
  "text": "We're excited to share our newest launch.",
  "media_ids": [621242772],
  "timestamp": "2026-03-10T15:00:00Z"
}

Notes

  • auto_publish: false is not supported. Always set auto_publish: true.
  • Caption-only posts (no media) are supported.
  • Image posts support up to 20 images. Video posts support 1 video only. Images and videos cannot be mixed.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
brand_id
integer

The id of the brand to which the post belongs.

Required range: x >= 0
auto_publish
boolean

Whether the post should be auto published.

status
enum<string>

The current status of the post.

Available options:
AUTOPUBLISHING,
DRAFT,
EXPIRED,
FAILED,
IMPORTED,
MISSING_APPROVALS,
PARTIALLY_FAILED,
POSTED,
SCHEDULED,
SKIPPED,
USERS_NOTIFIED
text
string

Text content of the LinkedIn post referred to as "commentary" in LinkedIn docs

Maximum string length: 3000
media_ids
integer[]

The list of the media ids attached to the post.

Required range: x >= 0
timestamp
string<date-time> | null

The scheduled date & time for publishing the post.

alt_text_media_map
object

Mapping for the alt text of media in the post

approval_policy
enum<string>

The approval policy of the approval request

Available options:
APPROVAL_REQUIRED,
APPROVAL_NOT_REQUIRED
approval_requests
object[]

The list of approval requests associated with the post.

board_ids
integer[]

The list of the board ids associated with the post.

Required range: x >= 0
campaign_ids
integer[]

The list of the campaign ids associated with the post.

Required range: x >= 0
content_tag_ids
integer[]

The list of the content tag ids associated with the post.

Required range: x >= 0
creation_source
enum<string>

To identify the user or the application that created the post.

Available options:
RSS_FEED
duplicate_to_brand_ids
integer[]
write-only

The list of duplicate to brand ids.

Maximum array length: 55
Required range: x >= 0
post_group_id
string<uuid>

The id of the post group associated with the post.

sort_index
number

The sorted index for unscheduled posts.

subtitle_content
string | null

Raw SRT subtitle file content as text

subtitle_metadata
object

Subtitle metadata including language code and filename

Response

Unprocessable Entity

code
integer

Error code

errors
object

Errors

message
string

Error message

status
string

Error name