Skip to Content
EmbedEmbed APISchedule PostUpdate a Scheduled Post

Update a scheduled post

PUT /schedule/:id

Updates an existing scheduled post in the workspace attached to your API key. The request body and validation mirror create exactly.

Authentication

embed-api-key: <YOUR_EMBED_API_KEY> header required. See auth.

Path parameters

ParamRequiredDescription
idyesScheduled post id

Request body

Identical to POST /schedule. All the same fields, types, and the same conditional platform-settings rules apply.

Behavior

  1. Confirms the post exists in your workspace (404 if not).
  2. Runs the same validation pipeline as create.
  3. Updates the post, then replaces its related rows: existing postContent and account rows are deleted and re-inserted from the request. Per-account status becomes PENDING unless the post is a DRAFT.

Example request

curl -X PUT "https://embed-api.postnitro.ai/schedule/post_123" \ -H "embed-api-key: $EMBED_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "status": "SCHEDULED", "scheduledAt": "2026-07-02T09:00:00Z", "designId": "design_456", "postContent": { "common": "Updated caption #relaunch" }, "selectedAccounts": ["acct_789"], "linkedinPostSettings": { "postType": "carousel", "postTitle": null } }'

Response 200

Returns the updated scheduled-post object in data (same shape as create).

{ "success": true, "message": "Scheduled post updated", "data": { /* updated scheduled-post object */ } }

Errors

Same set as create, plus:

StatusBodyWhen
422{ "status": false, "message": "Post id is required" }id missing
404{ "success": false, "message": "Post details not found.", "error": ... }No matching post in your workspace
upstream{ "success": false, "message": "Failed to update <status> post", "error": ... }DB update failed
Last updated on