Posts

Update post

Updates an existing post; omitted fields are left unchanged. Draft posts and scheduled posts (more than 5 minutes before their publish time) can be fully updated. On a published post only text can change — post[body], platforms.youtube.title, platforms.pinterest.title and platforms.pinterest.destination_link (anything else returns 422). The new text is pushed asynchronously to every platform post that supports editing (Facebook feed posts, LinkedIn, YouTube, Pinterest, Telegram, Google Business except photo posts, and X within 30 minutes of publishing — X assigns a new platform_id); each outcome fires platform_post.edited or platform_post.edit_failed. Instagram, Threads, TikTok and Bluesky posts keep their original text.

patch/api/posts/{id}

Request

  • Base URL
    https://api.postproxy.dev
  • URL
    https://api.postproxy.dev/api/posts/{id}
  • Auth
    HTTP bearer

Path parameters

idstring required

Post id

Query parameters

profile_group_idstring

Profile group context for the request. Optional when the API key is scoped to a profile group (that group is used automatically); with a full-access key, defaults to the first profile group in the account.

Headers

Idempotency-Keystring

Optional idempotency key (up to 255 characters; a UUID is ideal). Retrying a successful write with the same key replays the original response (with an Idempotent-Replay: true header) instead of executing again. Stored responses are kept for 24 hours; only 2xx responses are stored.

Request body

profilesstring[]

Full replace: all existing profile assignments are removed and replaced with the new set (array of profile IDs or platform names)

platformsobject

Merged with existing platform params. When sent together with profiles, platform params are applied to the new profile set (same as create)

mediastring[]

Full replace: all existing media attachments are destroyed and replaced. Send an empty array to remove all media

queue_idstring

Assign the post to a queue

queue_priority'high' | 'medium' | 'low'

Queue priority

profile_group_idstring

Scope the lookup to a specific profile group

Response

The updated post

idstring

Unique post identifier (id)

bodystring

Post body/text content

status'draft' | 'processing' | 'processed' | 'scheduled' | 'media_processing_failed'

Post-level status

source'postproxy' | 'imported'

Origin of the post: postproxy (created via app or API) or imported (imported from a connected platform)

draftboolean

Whether the post is a draft

scheduled_atstring date-time nullable

ISO 8601 timestamp if scheduled, null otherwise

created_atstring date-time

ISO 8601 timestamp of creation

queue_idstring nullable

Queue ID if the post belongs to a queue

queue_priority'high' | 'medium' | 'low' | 'null' nullable

Priority level if in a queue

Changes

No recorded changes to this operation across all 1 revision of this API.