Docs
LinkedIn

Posts

Publish text, image, multi-image, and video to a LinkedIn personal profile.

Publish to a LinkedIn member profile through the shared POST /v1/posts surface.

Cross-platform flow: Media guide.

Supported formats

mediaKindSupportedWith textNotes
textYesRequiredNo mediaUrls
imageYesOptionalSingle image URL
multi-imageYesOptional2–20 images only
videoYesOptionalSingle video URL
storiesNoUNSUPPORTED_MEDIA_KIND

Features

FeatureSupportedNotes
ThreadNoX / Threads
QuoteNoX / Threads
ScheduleYesscheduledFor + timezone
Remote deleteYesDELETE …/destinations/:id

Create

curl -X POST https://api.onepostly.com/v1/posts \
  -H "x-api-key: op_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello from Onepostly",
    "mediaKind": "text",
    "destinations": [
      { "connectionId": "YOUR_LINKEDIN_CONNECTION_ID" }
    ]
  }'

Response: 202 with status: "queued". Poll GET /v1/posts/:id or use webhooks.

Image

{
  "text": "Caption optional",
  "mediaKind": "image",
  "mediaUrls": ["https://cdn.example.com/photo.jpg"],
  "destinations": [{ "connectionId": "YOUR_LINKEDIN_CONNECTION_ID" }]
}

Multi-image

{
  "text": "Album caption",
  "mediaKind": "multi-image",
  "mediaUrls": [
    "https://cdn.example.com/1.jpg",
    "https://cdn.example.com/2.jpg"
  ],
  "destinations": [{ "connectionId": "YOUR_LINKEDIN_CONNECTION_ID" }]
}

Video

{
  "text": "Video description",
  "mediaKind": "video",
  "mediaUrls": ["https://cdn.example.com/video.mp4"],
  "destinations": [{ "connectionId": "YOUR_LINKEDIN_CONNECTION_ID" }]
}

Remote delete

curl -X DELETE "https://api.onepostly.com/v1/posts/POST_ID/destinations/DEST_ID" \
  -H "x-api-key: op_YOUR_KEY"

See also