Update a post
Updates a post that is still pending. Two things can change:
• scheduled_at — reschedule (must be at least 1 minute in the future) or set to null to publish immediately. Only allowed while every item is still in pending state.
• items — replace the set of pending items. Items with item_id are updated in place, items without are inserted, and pending items not present in the body are deleted. Items that already finished publishing are never touched.
At least one of scheduled_at or items must be provided.
Authorization
apiKey In: header
Path Parameters
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/posts/string" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "status": "pending", "scheduled_at": "string", "created_at": "string", "updated_at": "string", "item_count": 0, "items": [ { "id": "string", "platform": "youtube", "connection_id": "string", "edit_id": "string", "render_id": "string", "status": "pending", "published_url": "string", "error_code": "string", "metadata": { "youtube": { "title": "string", "description": "string", "categoryId": "string", "privacyStatus": "public", "license": "youtube", "embeddable": true, "publicStatsViewable": true, "madeForKids": true, "selfDeclaredMadeForKids": true, "tags": [ "string" ], "notifySubscribers": true, "coverImageId": "string" }, "tiktok": { "title": "string", "privacyLevel": "PUBLIC_TO_EVERYONE", "disableDuet": true, "disableComment": true, "disableStitch": true, "videoCoverTimestampMS": 0, "brandContentToggle": true, "brandOrganicToggle": true, "isAigc": true }, "instagram": { "caption": "string", "captionGroups": { "hook": [ "string" ], "emoji": [ "string" ], "body": [ "string" ], "cta": [ "string" ], "hashtags": [ "string" ] }, "captionParts": [ "string" ], "captionAutoEnvelope": true, "captionTemplate": "string", "coverUrl": "string", "coverImageId": "string", "thumbOffset": 0, "shareToFeed": true, "audioName": "string", "collaborators": [ "string" ], "userTags": [ "string" ], "trialReel": "off" }, "facebook": { "description": "string", "postType": "reel", "videoTitle": "string", "coverImageId": "string" }, "bluesky": { "text": "string", "languages": [ "string" ], "coverImageId": "string" }, "threads": { "text": "string", "replyControl": "everyone", "coverImageId": "string" }, "linkedin": { "text": "string", "visibility": "PUBLIC", "coverImageId": "string" }, "pinterest": { "boardId": "string", "title": "string", "description": "string", "link": "string", "coverImageUrl": "string", "coverImageId": "string" }, "carmedia": { "title": "string", "description": "string", "visibility": "public", "coverImageId": "string" }, "twitter": { "text": "string", "replySettings": "everyone", "coverImageId": "string" } }, "created_at": "string", "updated_at": "string", "posted_at": "string" } ]}Get a post GET
Returns full status of a post including every item. Poll this endpoint to track immediate posts through `pending → rendering → publishing → published`.
Delete a post DELETE
Permanently deletes a post and all its items. Already-published items remain live on the destination platforms — this only removes the CutPro record.