# For human approval > Markdown version of https://postlake.dev/use-cases/human-approval . The canonical page for humans. > PostLake is the social media API for AI agents: https://postlake.dev/llms.txt 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. ## 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.