Create a post
Create a post targeting one or more connected accounts. Guardrails run on ALL outbound text (caption, per-platform overrides, the X and Bluesky thread, the X and Instagram first comment) — a block returns 422 with the violations, never a silent drop. Creating a post sends it: scheduled is the ordinary answer and the post goes out at its time. In copilot mode it is held for human approval instead, and a pending_approval response is the system working, not an error. Either way the response carries a signed, no-login link to the post — preview_url, or approval_url on a hold — meant to be handed to the person. Omit scheduled_at to publish as soon as it's created (or approved). Instagram, TikTok, YouTube, and Pinterest require media; YouTube requires a video. caption may be omitted when no destination insists on one: a story (placement: "stories") prints no caption, so text sent with one is dropped, and X, Instagram and LinkedIn all publish media with no words. Every other platform still requires it, and one such destination in the send brings the requirement back for the whole post — the caption is shared.
Request
- Base URL: https://xpost.to/api/v1
- URL: https://xpost.to/api/v1/posts
- Auth: HTTP bearer
Request body
Example request
{
"platform_configurations": {
"instagram": {
"placement": "stories"
},
"x": {
"first_comment": "Link in this comment 👇"
}
}
}Response
Created — check status; message says what happens next, in words meant to be passed on
Changes
No recorded changes to this operation across all 1 revision of this API.