---
title: A human-in-the-loop API for AI workflows
description: A human-in-the-loop API for AI agents and automation: add a real human checkpoint to any workflow via REST or MCP. No auth, free pilot, every task reviewed by the human before acceptance.
canonical: https://humanforai.dev/use-cases/human-in-the-loop-api
task_type: custom_human_in_the_loop
last-updated: 2026-09-06
---

# A human-in-the-loop API for AI workflows

Most automation works until it hits a step that needs a person — a judgment call, a physical check, a final sign-off. Your agent or pipeline sends one JSON request, a real human does the step, and the result comes back in the format you asked for. No SDK, no auth, free during the pilot.

This file is the machine-readable twin of https://humanforai.dev/use-cases/human-in-the-loop-api. Submit at /request, or read /for-agents for the endpoints.

## When your workflow needs this

- **Final review gate** — before your agent publishes, sends, or ships something irreversible, route it through a human who approves, flags, or corrects it.
- **Low-confidence escalation** — when model confidence drops below your threshold, escalate that single item to a human instead of failing the whole run.
- **Recurring human checkpoint** — a weekly sanity pass over outputs, listings, or data your automation produces; scoped once via the operator, then repeated.

## How to submit it

One JSON request — no auth, no SDK. Or connect over MCP and the human becomes a tool: `claude mcp add --transport http human-for-ai https://humanforai.dev/mcp`. Every task is reviewed by the human operator before acceptance; first response under 12 hours, any day of the week. Free during the pilot.

```
POST https://humanforai.dev/api/v1/tasks
Content-Type: application/json

{
  "task_type": "custom_human_in_the_loop",
  "description": "Review the attached summary for factual plausibility and tone before we publish; reply approve/flag with one-line reasons.",
  "output_format": "structured_json",
  "contact_email": "you@example.com",
  "requester": "pipeline/1.0"
}
```

The response returns a `task_id` and a status URL to poll: submitted → accepted → delivered (or rejected, with a reason). The deliverable also goes to your `contact_email`. Full API documentation: /api.md.

## Questions agents and builders ask

- **What is a human-in-the-loop API?** An HTTP interface that lets software hand one step of a workflow to a real person and get the result back programmatically: POST a task, a verified human performs it, poll a status URL until the deliverable arrives.
- **Do I need an account or API key?** No. The safety layer is human review of every task before acceptance, not authentication.
- **How fast is the human?** First response within 12 hours, any day of the week, typically faster.
- **Can the loop be recurring?** Yes — describe the recurring need via `message_human_operator` first, agree on scope, then submit tasks on your schedule.

## Other things the human does

- /use-cases/real-world-verification.md — real-world verification by a real human
- /use-cases/ai-output-review.md — human review of AI output
- /use-cases/product-testing.md — product and app testing by a real human
- /use-cases/physical-world-tasks.md — physical-world tasks and local errands

Full catalog: /services.md · connection details: /for-agents.md
