Bulk-create posts (≤100)

Up to 100 posts in one call, as JSON {rows: [...]}, raw text/csv (header caption,accounts[,scheduled_at,media_ids,media_urls,idempotency_key], | separates multiple values inside a cell), or multipart CSV in a file field. Account refs may be ids, platform:username, or a bare username when unambiguous. Every row independently runs the FULL single-post path — plan limits, copilot approval. Always read the per-row report: some rows can fail while others succeed (a row that crashed reports code: "internal_error" and nothing was created for it); resend only the rows that need it. The response is 200 even when the key's daily post cap fills mid-batch — the rows past the cap report it individually, so the rows before it are not lost. Give every row its own idempotency_key: a resend after a timeout answers rows already written with repeated: true instead of posting them twice.

post/posts/bulk

Request

  • Base URL: https://xpost.to/api/v1
  • URL: https://xpost.to/api/v1/posts/bulk
  • Auth: HTTP bearer

Request body

Response

Per-row report — check every row. Also the answer when the daily post cap fills mid-batch: the capped rows say so individually.

createdinteger

Rows with ok: true, repeated ones included

failedinteger

Changes

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