Update a scheduled post
Edits a future scheduled post before delivery starts. Only `scheduled` posts with a future `scheduledAt` can be updated. Set `post.scheduledAt: null` to publish immediately. Requires write permission.
Edits a future scheduled post before delivery starts. Only scheduled posts with a future scheduledAt can be updated. Set post.scheduledAt: null to publish immediately. Requires write permission.
Authorization
BearerAuth PostMantis API key from the dashboard. Include as Authorization: Bearer <key>.
In: header
Path Parameters
Post UUID
uuidRequest Body
application/json
Fields to update. At least one field must be provided.
TypeScript Definitions
Use the request body type in TypeScript.
Fields on the post itself. At least one field across the whole request must change.
Replacement media array. Replaces all existing media. Max 20 items.
items <= 20Per-provider overrides. Replaces existing override object.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X PATCH "https://example.com/api/v1/posts/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{ "post": { "scheduledAt": "2026-05-07T09:00:00.000Z" } }'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "pending", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "media": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "artifactId": "706a3f1e-c357-4634-b1bf-20c221b5bb4e", "artifactStatus": "reserved", "contentType": "string", "url": "http://example.com", "alt": "string" } ], "deliveries": [ { "provider": "x", "profileName": "string", "status": "pending", "providerOptions": { "property1": null, "property2": null }, "profileId": "faebe71b-2bf8-4bdb-9b67-258e4d6aa00a", "scheduledAt": "2019-08-24T14:15:22Z", "publishedAt": "2019-08-24T14:15:22Z", "failedAt": "2019-08-24T14:15:22Z", "providerPostId": "string", "url": "http://example.com", "errorMessage": "string" } ], "body": "string", "scheduledAt": "2019-08-24T14:15:22Z", "canceledAt": "2019-08-24T14:15:22Z" }}Get a single post GET
Returns full post state including media processing status and per-provider delivery outcomes. Omitted fields mean no value. Use this to poll delivery status after creation.
Cancel a scheduled post POST
Cancels a scheduled post and its pending deliveries. Only posts in `scheduled` status that have not started delivery can be canceled. Requires write permission.