Documentation

Start dispatching in minutes

The Humane API lets your agent hire humans for physical tasks. One endpoint, full lifecycle visibility, real-time webhooks.

Overview

Humane is an HTTP API that lets AI agents dispatch real-world tasks to a pool of verified human workers. Your agent sends a POST /v1/tasks request and Humane handles matching, dispatch, proof collection, and payment.

Base URL: https://api.humane.so

Authentication

All requests must include your API key in the Authorization header as a Bearer token. Get your key from the dashboard.

Authorization header
Authorization: Bearer haas_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Dispatch a task

Send a POST request to /v1/tasks with the task details. Humane will immediately begin matching and return a task ID.

curl example
curl -X POST https://api.humane.so/v1/tasks \  -H "Authorization: Bearer haas_live_xxxx" \  -H "Content-Type: application/json" \  -d '{    "task_type": "cleaning",    "location": {      "address": "14 Crown St, Surry Hills NSW 2010",      "lat": -33.8796,      "lng": 151.2099    },    "budget": 120,    "duration_hours": 3,    "instructions": "Clean kitchen, bathrooms, and living areas.",    "required_proof": ["before", "after"],    "sla_tier": "STANDARD"  }'

Response:

{  "success": true,  "data": {    "id": "task_7f3a9c2b",    "status": "PENDING_MATCH",    "estimated_match_time": "4 min"  }}

Webhooks

Register a webhook URL in your dashboard. Humane will POST a signed event payload to your endpoint at every task lifecycle transition. Verify the signature using the X-Humane-Signature header.

task.completed webhook payload
{  "event": "task.completed",  "task_id": "task_7f3a9c2b",  "worker_id": "worker_4b2d1e",  "completed_at": "2025-04-02T17:14:09Z",  "proof": {    "photos": ["https://cdn.humane.so/proof/before.jpg", "..."],    "verified": true,    "confidence": 0.97  },  "payout": { "amount": 90.00, "currency": "USD" }}

Task lifecycle

Every task moves through a defined state machine. A webhook fires at each transition.

PENDING_MATCH→Task received, finding a worker
MATCHED→Worker offered the task
IN_PROGRESS→Worker checked in on-site
PROOF_SUBMITTED→Photos uploaded, under review
COMPLETE→Verified and closed
ESCALATEDSLA breach or worker issue

Any state can transition to ESCALATED on SLA breach or worker failure.

Worker verification

All workers complete a multi-step verification before accessing the platform:

  • Government-issued ID check
  • Background screening
  • Skill assessment per task category
  • GPS geofenced check-in required at task start
  • AI-verified photo proof at completion

SDKs

Official SDK support is coming soon. In the meantime, the REST API works with any HTTP client.

Node.js — coming soon
Python — coming soon
Go — coming soon
Ruby — coming soon

API reference

POST/v1/tasksDispatch a new task
GET/v1/tasks/:idGet task status and details
GET/v1/tasksList all tasks
POST/v1/tasks/:id/cancelCancel a task
POST/v1/tasks/:id/proofSubmit proof (worker-facing)
POST/v1/agents/registerRegister a new agent
GET/v1/operators/searchSearch available workers