Provider readinessInterfaces and provider certification may evolve. Check account capabilities before production use.Read the readiness contract

Configure a one-approver workflow

Separate editing from approval while keeping revisions and publishing authority auditable.

Direct answer

Set the brand approval policy to one_approver. Editors create and submit posts, approvers approve or reject the current revision, and publication proceeds only after the policy is satisfied or a specifically authorized direct-publish client is allowed to bypass review.

What this means in practice

Set the brand approval policy to one_approver. Editors create and submit posts, approvers approve or reject the current revision, and publication proceeds only after the policy is satisfied or a specifically authorized direct-publish client is allowed to bypass review.

Use the documented brand and account boundaries consistently across the scheduler, REST API, SDK, MCP tools, SSE consumers, and webhooks. That makes the same social operation explainable to an operator and reproducible by an integration.

Implementation checklist

  1. Assign editor and approver roles to different people where separation of duties matters.

  2. Submit a complete, previewed revision for review.

  3. Show common content and every target override to the approver.

  4. Record approval or rejection with actor, time, revision, and optional note.

  5. Return materially edited posts to review before dispatch.

Example request

This example uses a server-side API key and an explicit brand selection. Replace placeholder values and keep credentials out of browser bundles, client logs, and source control.

Shell
curl --request POST \
  --url 'https://postapi.app9.co/v1/social-posts/POST_ID/approve' \
  --header 'Authorization: Bearer APP9_POST_API_KEY' \
  --header 'X-App9-Post-Brand: BRAND_ID' \
  --header 'Content-Type: application/json' \
  --data '{
  "note": "Approved for the scheduled campaign window."
}'

Operational details

The V1 policy is none or one_approver; more complex routing belongs in a consuming workflow system.

Approvers can reject with an actionable note without deleting the draft.

Scheduling intent can be preserved while the post waits for review.

Common mistakes to avoid

Protect intent, tenant boundaries, and provider state.
  • Do not approve only the common caption while hiding platform overrides.
  • Do not allow an editor's ordinary key to gain posts:publish accidentally.
  • Do not keep an approval valid after a material revision without an explicit policy decision.

Was this useful? This documentation is reviewed against the public App9 Post contract. Use the API reference and live capability response for machine-enforced details.

Open API reference