Skip to content

Approvals

Let editors and agents propose posts that the owner approves before they go out.

Owners can require approval in Settings → Workspace. Then editors (and OAuth connections approved by editors) can’t schedule or publish directly. Instead they send posts for review:

{ "caption": "…", "targets": [ … ], "action": "submit", "scheduledAt": "2026-11-07T10:00:00+08:00" }

The post is saved as a draft with review: "pending", and the owner gets a notification.

The owner (or an owner’s API key) approves with POST /posts/{id}/approve. The post is checked and scheduled for its own scheduledAt, or for the time in the body:

{ "scheduledAt": "2026-11-07T12:00:00+08:00" }

A post without a future time returns 400 until you send one.

POST /posts/{id}/reject sends it back as a plain draft (review: "none"). The author gets a notification with the optional reason:

{ "reason": "Use the new menu photo, please." }

GET /posts?status=drafts and look for review: "pending". Agents can do the same with list_posts, then approve_post or reject_post, which makes a good owner workflow: “Show me what’s waiting for approval and approve the ones that fit our style.”

Separately from team approvals, a post’s public preview link lets a client approve it without an account. When they do, clientApprovedAt is set; changing the caption or media afterwards clears it.