Publishing now
Leave out scheduledAt and the Post publishes now.
curl https://app.pubrivo.com/api/posts \ -H "Authorization: Bearer $PUBRIVO_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "Fresh out of the oven.", "channelIds": ["5b0b6c1e-9f4a-4a57-8d1e-2c3f4a5b6c7d"] }'The response is a 201 with each Variant queued as scheduled. The worker prepares its media
and starts publishing. Read the Post again with
GET /api/posts/{id} to see each one reach published, with its permalink, or failed, with
its reason.
It needs permission
Section titled “It needs permission”Publishing now skips the 15-minute window in which someone could catch a
mistake, so it is a permission of its own: posts:publish.
- An API key has it if Also allow publishing immediately was ticked when it was created.
- An Authorized app has it if you allowed publishing immediately when you approved it.
Without it, the request is refused before anything is made:
{ "error": { "code": "insufficient_scope", "message": "Publishing now needs posts:publish. Send scheduledAt to schedule instead." }}Trying a failed Variant again — POST /api/variants/{id}/retry — publishes now too, and needs the
same permission.
Twice is not twice
Section titled “Twice is not twice”The same creation request sent from the same credential within 10 minutes comes
back as the first Post, with a 200, deduplicated: true, existingPostId and
deduplicationReason: "identical_request". A new Post returns 201 and deduplicated: false.
Matching includes text, Channels, placements, ordered media asset IDs or URLs, trimmed alt text,
TikTok and YouTube options, and the scheduled instant (or both requests publishing now). Channel
order and object key order do not matter; an omitted placement means feed. A fully cancelled
Post is not matched.
Changing any of these creates a new request, subject to the usual validation. Uploads belong to
one Post, so reusing an attached asset with different text, time or options is refused with
media_unavailable. Content matching does not edit the existing Post. Pubrivo currently has no
caller-supplied idempotency key.