up to 10 images (2+ = multi-image post) or 1 video
Carousel
multi-image post, not a swipeable carousel
First comment
yes, up to 1,250 characters
Video cover
yes, as an uploaded image
Connection lasts
around 60 days
Units per write
1
What the user needs
Any LinkedIn member can connect their personal profile.Company pages appear only for pages the connecting member administers. One connect can
therefore create several accounts at once: the personal profile, plus one per page.
Page accounts are not in the redirect
The OAuth redirect returns only the personal profile's accountId. Call GET /api/v1/accounts afterwards to find the page accounts — their platformUserId reads organization:{id}. Each is targeted exactly like any other account.
If a member is made admin of a new page later, they need to reconnect before it appears.
Publishing behaviour
Text up to 3,000 characters — the most generous of the four.
One image publishes as a single-media post; 2–10 as a multi-image post.
One video, or images — never both in the same post.
LinkedIn treats several characters as formatting controls. Chirio escapes them for you, so
brackets and punctuation in your copy come out as written. #hashtags pass through untouched.
Video covers
Set coverUrl on the video media item and Chirio uploads that image as the video's cover
alongside the video itself. Without one, LinkedIn generates its own.
The cover has to be declared before the upload begins — it is what makes LinkedIn issue an
upload URL for it — so it cannot be added to a video that is already on its way. In practice
that only means sending it in the same publish call, which is what you would do anyway.
thumbOffsetMs does not work here
LinkedIn has no way to name a frame of the video as its cover; it only accepts an uploaded image. Chirio refuses thumbOffsetMs on LinkedIn rather than accepting it and doing nothing, so you find out at the API rather than by looking at the published post.
If LinkedIn accepts the video but offers nowhere to put the cover, the publish fails rather
than going out with LinkedIn's generated frame — the outcome supplying a cover was meant to
avoid. Retry the call.
First comments
Supported, up to 1,250 characters, posted as the same author as the post.
A LinkedIn comment failure is not fixed by reconnecting
Unlike Instagram and Threads, a permission refusal here is an authorisation Chirio holds with LinkedIn, not something your user's connection can grant. Publishing keeps working normally. Contact support rather than sending your user through the connect flow again.
Connection lifetime
LinkedIn issues long-lived refresh credentials only to integrations it has specifically
approved for it. In the common case a LinkedIn connection therefore needs re-authorising
roughly every 60 days, rather than being refreshed indefinitely in the background.
Plan for it: check status on GET /api/v1/accounts and prompt the user before a campaign
rather than after a failure. See Account lifecycle.
Common failures
Symptom
Cause
invalid_post, 3,000 characters
The text is too long
invalid_post, one video or images
You mixed a video with images
thumbOffsetMs refused
LinkedIn takes a cover image, not a timestamp — send coverUrl
Comment fails on permissions
Chirio-side authorisation — contact support, do not reconnect
Account expired after ~60 days
Expected on LinkedIn — reconnect
A company page is missing
The member does not administer it, or was granted admin after connecting