Posts

Create post

Creates a new post and publishes it to the specified platforms. Set draft to true to create a draft that won't publish until reviewed.

post/api/posts

Request

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

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[] required

Array of profile IDs or platform names (e.g. "twitter", "instagram" — uses the first connected profile for that platform). All resolved profiles must belong to the same profile group.

mediastring[]

Array of media URLs, base64 data URIs, or file uploads (multipart)

platformsobject

Platform-specific parameters, keyed by platform name (e.g. instagram, youtube). See Platform Parameters docs for all available options.

profile_group_idstring

ID of the profile group to resolve profiles against. If omitted, platform names resolve in the default group (first one on the account) and profile IDs are looked up across all groups your API key / user can access

queue_idstring

Queue ID — adds the post to a queue. The queue must belong to the same profile group as the resolved profiles

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

Queue priority (default: medium)

Response

Post created

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.