Changelog
The API is unversioned: fields and endpoints are added, never renamed or removed, so nothing here breaks code written against an earlier entry.
October 2026
Section titled “October 2026”YouTube counts
Section titled “YouTube counts”A Variant published to YouTube now carries its counts in metrics: views, likes, comments, shares,
minutes watched, average view duration and percentage, and subscribers gained, as YouTube reports
them, with days holding them by day. Every other Network’s metrics stays null, as do webhook
payloads. Data model.
Stories
Section titled “Stories”channelOptions.{id}.placement in POST /api/posts sends a Facebook Page or Instagram Post to the
feed (the default), as a story, or to both with feed_and_story, which makes two Variants. A
Story carries no text and exactly one image or video; a Channel without Stories refuses story
with a blocker. Variants, and so the variant.* webhooks, carry placement.
Reference.
Listing Posts, in the reference
Section titled “Listing Posts, in the reference”The reference now lists GET /api/posts’s query: from, to, limit
and cursor. They were already accepted, and nothing about them changed.
Retrying on a disconnected Channel
Section titled “Retrying on a disconnected Channel”POST /api/variants/{id}/retry on a failed Variant whose Channel has been disconnected now answers
409 channel_disconnected, and the Variant stays failed. It used to answer 200 and queue it,
and the Variant was then cancelled again. Connecting the account again lets it be tried.
Errors.
YouTube titles
Section titled “YouTube titles”channelOptions.{id}.youtube.title in POST /api/posts sets a video’s title. Left out, the title
is still the Post’s first sentence. A YouTube Post that ends up with no title, because it has no
text and sends none, is now refused with a blocker instead of failing at YouTube when it is due.
TikTok and YouTube.
Webhook endpoints answer
Section titled “Webhook endpoints answer”GET and POST /api/webhooks and DELETE /api/webhooks/{id} were documented below but answered
404 until now; they are served, and callable from the reference’s
explorer. Nothing about their requests or responses changed.
Uploads over MCP
Section titled “Uploads over MCP”The MCP tools create_media_upload and complete_media_upload, twins of POST /api/media and
POST /api/media/{id}/complete, and { "assetId": "…" } in schedule_post and publish_now
media. An assistant with a shell uploads a local file with curl, so its bytes never pass through
the conversation. AI assistants.
Webhooks
Section titled “Webhooks”variant.published and variant.failed, sent to endpoints registered with POST /api/webhooks,
signed in Pubrivo-Signature and retried for 24 hours. Needs the new webhooks:manage
permission. Webhooks.
Media by URL
Section titled “Media by URL”media in POST /api/posts takes { "url": "https://…" } beside { "assetId": "…" }. Pubrivo
checks what the address holds when the Post is created and fetches it before publishing.
Media.
Publish now
Section titled “Publish now”Leave out scheduledAt to publish immediately. Needs the new posts:publish permission, as does
POST /api/variants/{id}/retry. Publishing now.
API keys can schedule
Section titled “API keys can schedule”Keys and Authorized apps schedule at least 15 minutes ahead; the same Post sent twice within 10
minutes comes back once; and every Post they make carries via, its maker’s name.
MCP server and Authorized apps
Section titled “MCP server and Authorized apps”https://app.pubrivo.com/mcp, with OAuth sign-in, a Workspace pick, and the tools list_channels,
list_posts, schedule_post, publish_now and cancel_post. AI assistants.
The API
Section titled “The API”GET /api/channelsGET /api/posts,GET /api/posts/{id}POST /api/posts,POST /api/posts/{id}/cancelPOST /api/variants/{id}/retryPOST /api/media,POST /api/media/{id}/complete,DELETE /api/media/{id}- API keys, in Settings › API keys
- The OpenAPI document, at
/developers/openapi.json