Use cases

For human approval

An agent that can publish is useful. An agent that cannot publish until you say so is the one you will actually turn on.

The problem

Immediate auto-post is how accounts get restricted. The first weeks of an agent integration should be draft, review, then send. Most posting APIs skip that state: the agent either publishes or it does not, so teams bolt on a second approval tool, or they never let the agent write anything real.

What PostLake does about it

Drafts are fail-closed

POST /v1/posts with draft: true (MCP: create_post). The post is stored, listed, editable, and invisible to every network. It costs nothing. A failed publish leaves the draft intact, so an approval is not a one-shot.

Publish is a separate act

publish_draft (or the dashboard) sends it, optionally with a scheduledAt. Omitting the time uses whatever the draft already had. Clearing the time publishes now. The agent can be told "never call create_post without draft: true."

The person sees the whole week

Drafts show in the dashboard alongside scheduled posts. The calendar is the approval queue. Edit copy, retarget accounts, move the slot, or delete it.

Per-agent caps on top

Even after you approve, you can cap which brands an agent may post from, which networks it may reach, and how much it may do in a day. Approval plus guardrails, not one or the other.

How it fits together

Create with draft: true, review on the calendar, then publish_draft. Walkthrough: human approval for agents.

curl -X POST https://api.postlake.dev/v1/posts \
  -H "Authorization: Bearer $POSTLAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "Ready when you are",
  "profile": "my-brand",
  "draft": true
}'

Get started free (20 credits, no card) · Agent calendar walkthrough · vs Postiz

Common questions

Can I make an agent draft social posts without publishing them?

Yes. Send draft: true. The post never reaches a network and never spends credits until you (or publish_draft after you said yes) send it.

Is this the same as pendpost or Rolino?

Same job, different shape. Those are local-first approval apps. PostLake is a hosted API: the draft lives next to scheduling, analytics and the MCP tools, so the agent does not need a second vendor for the gate.

What if publish fails?

The draft stays. A rejection is not a consume. Fix the copy or the media and try again.

Related