API Documentation
Everything you need to integrate HumanDispatch into your agent or application.
Quick Start
Base URL: https://api.humandispatch.io
Auth: Bearer token — Authorization: Bearer sk_live_...
Content-Type: application/json
# Install the SDK
npm install @humandispatch/sdk
# Or Python
pip install humandispatchimport { HumanDispatch } from "@humandispatch/sdk";
const hd = new HumanDispatch({ apiKey: "sk_live_..." });
// 1. Discover templates
const { templates } = await hd.templates.list();
// 2. Create a task
const task = await hd.tasks.create({
task_type: "PRODUCT_PHOTO_ECOMM",
title: "Spring PDP shots — 10 SKUs",
location: { mode: "onsite", address: "Toronto, ON" },
schedule: { start_at: "2026-04-22T10:00:00-04:00", duration_hours: 6 },
budget: { currency: "CAD", pricing_model: "fixed", max_total: 3000 },
deliverables: [{ kind: "photo", count: 30, format: "jpg" }],
task_spec: { product_count: 10, background: "white", angles: ["front", "45deg", "detail"] },
});
// 3. Accept work when QA passes
const qa = await hd.workOrders.getQA(workOrderId);
if (qa.qa.overallPass) {
await hd.workOrders.accept(workOrderId);
}MCP Server
Connect any MCP-compatible agent (Claude, GPT, custom) with 13 typed tools:
{
"mcpServers": {
"humandispatch": {
"command": "bun",
"args": ["run", "src/mcp/server.ts"],
"env": {
"HUMANDISPATCH_API_URL": "https://api.humandispatch.io",
"HUMANDISPATCH_API_KEY": "sk_live_..."
}
}
}
}Tools: get_templates, search_talent, create_task, request_quotes, accept_quote, create_booking, get_booking, submit_checkin, register_deliverables, get_qa, request_changes, accept_work, get_quotes
API Endpoints
Discovery
/v1/templatesList all available task templates with schemas
/v1/templates/:taskTypeGet full template with spec schema, validation rules, and acceptance tests
Tasks
/v1/tasksCreate a task from a template (supports Idempotency-Key header)
/v1/tasks/:taskIdGet task details and status
/v1/tasksList tasks (filter by status, task_type)
Quotes
/v1/tasks/:taskId/quote_requestsRequest quotes from talent
/v1/tasks/:taskId/quotesList quotes received for a task
/v1/quotes/:quoteId/acceptAccept a quote (enables booking)
Bookings
/v1/bookingsCreate booking with escrow hold from accepted quote
/v1/bookings/:bookingIdGet booking details
/v1/bookings/:bookingId/checkinRecord talent GPS check-in
/v1/bookings/:bookingId/cancelCancel booking and release escrow
Work Orders
/v1/work_orders/:id/deliverablesRegister deliverables (files + metadata)
/v1/work_orders/:id/qaRun automated QA checks on deliverables
/v1/work_orders/:id/request_changesRequest changes when QA fails
/v1/work_orders/:id/acceptAccept work and release payout to talent
Talent
/v1/talent/searchSearch talent by skills, location, task_type
/v1/talent/:talentIdGet talent profile
/v1/talentRegister new talent
Files & Webhooks
/v1/files/presignGet presigned URL for file upload
/v1/webhooksRegister webhook endpoint
/v1/webhooksList webhook endpoints
Task Templates
| Template | Description | Risk |
|---|---|---|
| PRODUCT_PHOTO_ECOMM | Product photography for PDP/ads | low |
| UGC_VERTICAL_BATCH | UGC vertical video clips | medium |
| EVENT_PHOTO_COVERAGE | Event photography with edited selects | low |
| EVENT_HIGHLIGHT_VIDEO | 30-90s highlight reels | low |
| ON_SITE_STORY_PACK | Same-day IG/TikTok story packs | low |
| RETAIL_AUDIT_PHOTO_CHECK | GPS-verified in-store audits | medium |
| OOH_ASSET_VERIFICATION | Billboard/OOH placement verification | low |
| STREET_TEAM_DISTRIBUTION | Geo-fenced flyer distribution | high |
| POPUP_EVENT_STAFFING | Brand ambassador staffing | medium |
| PODCAST_ON_SITE_CAPTURE | Multi-track audio recording | low |
Error Codes
{
"error": {
"http_status": 400,
"code": "SCHEMA_VALIDATION_FAILED",
"message": "Task validation failed",
"details": { "errors": ["..."] },
"request_id": "req_01J..."
}
}400SCHEMA_VALIDATION_FAILED — Invalid payload402INSUFFICIENT_FUNDS / ESCROW_REQUIRED403POLICY_BLOCKED / AUTH_SCOPE_DENIED404NOT_FOUND409CONFLICT_IDEMPOTENCY — Duplicate request429RATE_LIMITED — 60 RPM general, 10 RPM money endpointsWebhook Events
All webhooks are HMAC-SHA256 signed with replay protection. Events:
task.createdtask.policy_blockedquote.receivedbooking.confirmedbooking.checkin_recordeddeliverable.registeredqa.completedwork_order.acceptedpayout.initiateddispute.openedAgent Discovery
/llms.txtComplete API reference for LLM consumption/openapi.jsonOpenAPI 3.1 specification/.well-known/ai-plugin.jsonStandardized agent plugin manifest/JSON root with service description + endpoint map