Approve social posts from your AI app — after you confirm each one
Opt-in social:approve on API tokens and MCP OAuth connections. Agents can schedule one post you have seen and said yes to; Post now stays in the dashboard.
Social drafting stayed human-in-the-loop. Now you can optionally let ChatGPT, Claude, or Cursor approve or reject a single post once you have read it and confirmed — pinned to that exact revision, scheduled for its publish time, never Post now.
What changed
Until now, Approve and Reject lived only in Dashboard → Social. That is still the default.You can now opt in on purpose:
API tokens — switch on social:approve when you create the token (off by default; also turns on social:write).
Connected AI apps (MCP OAuth) — tick Allow approving and rejecting social posts on the consent screen. Existing connections keep draft-only access until you disconnect and reconnect with the box checked.
New routes and tools mirror the dashboard:
POST /api/v1/social/posts/{postId}/approve
POST /api/v1/social/posts/{postId}/reject
aveiro_social_approve_post and aveiro_social_reject_post
Why revision pinning matters
GET a post (or aveiro_social_get_post) and note its revision. Approve and reject require that value. If someone edits the draft or swaps media after you said yes, the revision changes and the approval fails with 409 REVISION_CONFLICT — so only the version you saw can go out.
What did not change
Post now is still dashboard-only. API approval schedules the post; it does not publish on the spot.
Default tokens and OAuth connections are still draft-only. Nothing gained social:approve automatically.
Rate limits apply per organization (20 approves and 30 rejects per hour).
Try it safely
Create a token with social:write only — draft a post and approve in the dashboard (unchanged path).
When you trust a specific agent, add social:approve, draft one post, have the agent show you the full caption, targets, media, and schedule, and say yes to that post only.
Revoke the token or disconnect the app any time — already-scheduled posts stay scheduled until you reject them in Social.