YARRAPOST GUIDES · UPDATED 14 SEPTEMBER 2026
Connect agents through API and MCP
Agents are named workspace users in YarraPost. The HTTP API and MCP tools use the same operations, permissions and approval rules as the human workspace. YarraPost does not provide AI writing assistance; you choose and authorize the agent that prepares your content.
Choose an integration path
HTTP clients call
https://yarrapost.com/api/v1/operations/{operation} using
POST with a JSON body and bearer authorization. The
OpenAPI reference describes the current
operations and schemas.
MCP clients connect to https://yarrapost.com/mcp using
Streamable HTTP and a custom
Authorization: Bearer … header. Clients must support that
header. MCP OAuth discovery and dynamic client registration are not
currently supported. Social-channel consent is a separate flow completed
by a person.
Give each agent its own permissions
A workspace administrator can issue a named agent credential. Grant only
the scopes needed for its role: read, write,
publish, approve, connect and
admin. For an agent that prepares drafts for human review,
start with read and write. Publishing permission does not include
approval permission.
Store credentials in a secret manager and send them only to the intended service. Do not embed them in public pages, browser-delivered code or logs.
Discover before creating content
Start with workspace_get,
capabilities_list and connections_list. These
identify the workspace, available formats and connected destinations.
Use connection_instructions if a person needs to authorize
a channel. Provider access restrictions still apply to agents.
Prepare a draft through the HTTP API
Call post_create with an internal title and variants keyed
by connection ID. For example, this is a request body for a text draft;
replace the connection placeholder with an ID returned for your
workspace:
{
"title": "September product update",
"variants": [{
"connection_id": "<connected-destination-uuid>",
"text": "Our September product update is ready.",
"media_ids": []
}]
}
Send mutations with an Idempotency-Key header of 8–128
characters. Reuse the same key and body for a transport retry of the
same operation; use a new key for a new operation. MCP operation
mutations use the idempotency_key input field instead.
For media, call media_upload_instructions, upload the
binary through authenticated HTTP, and retain the returned media ID for
the variant’s media_ids.
Validate, approve and schedule
-
Call
post_validate. Correct issues withpost_edit, using the current version. -
Call
post_request_approval. When approval is required, an identity with the approve scope callspost_approvefor the exact revision. Content edits invalidate approval. -
Call
post_schedulewith the current version, an explicit-offset ISO timestamp inscheduled_at, and an IANAtimezonesuch asAustralia/Melbourne.
Version conflicts mean the post has changed. Fetch it again with
post_get and review the current content before deciding
what to do next. Do not blindly overwrite another user’s changes.
Track the outcome, not just the request
Poll post_get for per-destination delivery status and the
available published link. Use events_list for cursor-based
event polling. A queued or processing result is not successful
publication. An unknown outcome needs inspection before another publish
attempt; idempotent API requests alone cannot resolve an uncertain
external provider response.
Use the returned progress and recovery guidance to distinguish automatic recovery from manual inspection. Keep the original post and delivery identifiers when reporting failures.
For the reviewer’s view of the process, read how to approve and schedule social posts.
Questions about early access or an integration? Contact support@yarrapost.com.