List recent posts

Posts for the project, newest first, filterable by status and bounded by limit. Ask for what you want: ?status=pending_approval answers "what is waiting on me?" on its own, and several may be named at once (?status=pending_approval,scheduled). The reply echoes filter — what actually applied — because a filter that matched everything and a filter that never reached the query look identical in the rows. Rows carry status (pending_approval, scheduled, processing, posted, partial, failed, rejected, draft). A pending_approval row also carries approval_url — its one-click approve/reject page. A rejected row carries rejectionReason: what the person actually objected to, which is what to fix before sending it again. publishes says what has to happen before a row goes out: at_time (scheduledAt is a slot somebody chose), on_approval (a person's yes, scheduledAt: null), or now (nothing — it is on its way). It is null on a parked row — a draft or a rejected one — because nothing is going to happen to those until somebody decides something; read status.

get/posts

Request

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

Query parameters

statusstring
Example:pending_approval,scheduled

One status, or several comma-separated. Anything else is a 400 naming the vocabulary — never a quietly unfiltered list.

limitinteger
fromstring date-time

Only posts whose scheduled_at is at or after this instant (ISO 8601, Z or offset). With from or to the list runs soonest first and leaves out posts that have no time yet (drafts, posts going out on approval). Echoed in filter.

tostring date-time

Only posts whose scheduled_at is at or before this instant. from after to is a 400.

Response

Post list

dataobject[]

Changes

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