Check document (PDF) processing status
After PUTting a document to the pre-signed URL from /posts/upload/init, poll this until status is READY. LinkedIn rasterizes each page into preview images first; the document cannot be posted until it is READY. Only needed for mediaType=document.
/posts/upload/document-statusCode Examples
curl -X GET 'https://api.connectsafely.ai/linkedin/posts/upload/document-status' \ -H 'Authorization: Bearer <your_api_key>'After PUTting a document to the pre-signed URL from /posts/upload/init, poll this until status is READY. LinkedIn rasterizes each page into preview images first; the document cannot be posted until it is READY. Only needed for mediaType=document.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
assetUrn | query | Yes | string | Document asset URN from /posts/upload/init. |
accountId | query | No | string | LinkedIn account ID. If omitted, uses the default account. |
Request Body
No request body.
Responses
| Status | Description |
|---|---|
| 200 | Current processing status. |
| 401 | Unauthorized |
| 500 | Server error |
200 Response Parameters
| Name | Type | Description |
|---|---|---|
success | boolean | |
status | string | |
ready | boolean | true when status is READY (safe to call /posts/create). |
200 Example
{
"success": true,
"status": "active",
"ready": true
}401 Response Parameters
| Name | Type | Description |
|---|---|---|
error | string |
401 Example
{
"error": "example_value"
}500 Response Parameters
| Name | Type | Description |
|---|---|---|
error | string |
500 Example
{
"error": "example_value"
}Complete multipart video upload
Call after all video chunks have been PUT to the pre-signed URLs. Only needed for MULTIPART uploads (large videos).
Create a LinkedIn post
Publishes a LinkedIn post. The mediaType field decides what you post. Text (none): send text only, one call with no upload. Image (image): upload via /posts/upload/init, then pass assetUrn (and optional altText). Carousel (image): upload each image, then pass 2 to 9 of them in assetUrns. Video (video): upload, then pass assetUrn and recipes. Document/PDF (document): upload, poll /posts/upload/document-status until READY, then pass assetUrn, recipes, and title. New to the API? The step-by-step guide with cURL, JavaScript, and Python examples for each post type lives at /docs/api/posting.
