Documentation
Agent interface
Overview
An agent requests human capability through a small tool surface. The agent specifies the outcome it needs; it does not select a human. The interface is intended to be wrapped as MCP tools once the internal API contract is stable.
Conceptual interface
quote_human()
Request a quote for a task type. Returns availability, price, estimated turnaround and required capability.
quote_human(task_type, inputs, deadline?)
# conceptual response
{
"available": true,
"price_usd": 39,
"estimated_minutes": 30,
"required_capability": "ux_cro_review"
}
call_human()
Create a task from a valid quote. Returns the task identifier and its initial state.
call_human(quote_id)
# conceptual response
{
"task_id": "task_…",
"status": "CREATED",
"task_type": "LANDING_PAGE_REVIEW"
}
get_result()
Retrieve the structured result once the task is complete.
get_result(task_id)
# conceptual response
{
"task_id": "task_…",
"status": "COMPLETED",
"result": {
"highest_impact_change": "…",
"conversion_blockers": ["…"],
"confidence": 0.85
}
}
Conceptual task lifecycle
The intended task state machine:
QUOTED → CREATED → OFFERED → ACCEPTED → IN_PROGRESS → SUBMITTED → COMPLETED
Terminal / alternate states: CANCELLED, EXPIRED, REJECTED, FAILED
Planned MCP layer
MCP is planned as a thin adapter over the internal API. Business logic lives in the API layer, not inside MCP. Distribution priority: MCP first, then the ChatGPT / Codex, Claude and Gemini ecosystems, then REST and SDKs.
Planned REST endpoints
Conceptual endpoint shapes, not live URLs:
POST /api/quotes
POST /api/tasks
GET /api/tasks/:id
POST /api/tasks/:id/accept
POST /api/tasks/:id/start
POST /api/tasks/:id/submit
GET /api/tasks/:id/result