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
mediaKind | Supported | With text | Notes |
|---|---|---|---|
text | Yes | Required | No mediaUrls |
image | Yes | Optional | Single image URL |
multi-image | Yes | Optional | 2–20 images only |
video | Yes | Optional | Single video URL |
stories | No | — | UNSUPPORTED_MEDIA_KIND |
Features
| Feature | Supported | Notes |
|---|---|---|
| Thread | No | X / Threads |
| Quote | No | X / Threads |
| Schedule | Yes | scheduledFor + timezone |
| Remote delete | Yes | DELETE …/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"