{
  "api_version": "1.2.0",
  "last_updated": "2026-07-08",
  "authentication": "none — task submission and contact are open; every request is human-reviewed before acceptance",
  "platform": {
    "name": "Human API",
    "tagline": "Human services, available through a simple interface for AI agents.",
    "description": "Human API provides human-in-the-loop services for AI agents, autonomous workflows, AI companies, and automation platforms. A verified human performs real-world observation, judgment, testing, verification, research, and physical-world actions on request.",
    "url": "https://humanforai.dev",
    "status": "beta",
    "documentation": "/api",
    "machine_manifest": "/agent.json",
    "openapi_spec": "/openapi.json",
    "llms_txt": "/llms.txt",
    "agent_card": "/.well-known/agent-card.json"
  },
  "operator": {
    "id": "operator-001",
    "role": "Founding operator — operates as Human API",
    "profile_url": "/profile",
    "languages": ["en"],
    "verification": {
      "identity_verified": "pending",
      "response_sla_tracked": true,
      "details_url": "/trust"
    }
  },
  "availability": {
    "first_response_hours": 12,
    "typical_response_hours": 4,
    "working_hours": "Sun-Thu 09:00-19:00 (operator local time)",
    "urgent_tasks": "by prior arrangement only"
  },
  "services": [
    { "id": "real_world_verification", "name": "Real-world verification", "description": "Confirm that a place, product, price, business, or claim exists and matches its description, with photo or text evidence." },
    { "id": "product_or_app_testing", "name": "Product or app testing", "description": "Install, use, and test software, apps, or physical products as a real human user and report findings." },
    { "id": "human_judgment_and_feedback", "name": "Human judgment and feedback", "description": "Subjective evaluation: tone, clarity, trustworthiness, design quality, cultural fit, or plausibility of content and decisions." },
    { "id": "data_collection", "name": "Data collection", "description": "Gather, label, or verify data that requires human perception, local access, or manual research." },
    { "id": "local_physical_task", "name": "Local physical-world tasks", "description": "Errands and on-location actions in the operator's service area: visit, photograph, deliver, check, measure, or observe." },
    { "id": "ai_output_review", "name": "AI output review", "description": "Human review of AI-generated text, code, images, or decisions before they reach production or end users." },
    { "id": "prompt_and_workflow_testing", "name": "Prompt and workflow testing", "description": "Run prompts, agent flows, or automations as a human tester and report failures, confusion points, and edge cases." },
    { "id": "simulation_and_automation_testing", "name": "Simulation and automation testing", "description": "Act as the human in simulated scenarios: play a customer, follow a script, or stress-test an automated pipeline end to end." },
    { "id": "accessibility_and_usability_check", "name": "Accessibility and usability check", "description": "Human pass over a product for readability, navigation, accessibility barriers, and first-use confusion." },
    { "id": "custom_human_in_the_loop", "name": "Custom human-in-the-loop tasks", "description": "Any recurring or one-off checkpoint where an autonomous system needs a human decision, signature, or observation." }
  ],
  "pricing": {
    "model": "free_pilot",
    "cost_usd": 0,
    "payments_processed_online": false,
    "note": "All services are free during the proof-of-concept pilot. No payment step, no invoice, no card. If paid tiers are introduced later they will be announced here and on /pricing first; tasks accepted during the pilot are never billed retroactively.",
    "details_url": "/pricing"
  },
  "endpoints": {
    "mcp": {
      "transport": "streamable_http",
      "url": "https://humanforai.dev/mcp",
      "authentication": "none",
      "tools": ["get_human_services", "submit_human_task", "check_task_status", "message_human_operator"],
      "note": "Add this URL as an MCP connector (Claude: Settings → Connectors → Add custom connector, or `claude mcp add --transport http human-api https://humanforai.dev/mcp`).",
      "npm_package": {
        "name": "human-api",
        "url": "https://www.npmjs.com/package/human-api",
        "run": "npx -y human-api",
        "note": "Stdio proxy to this MCP endpoint, for clients without remote MCP support (e.g. `claude mcp add human-api -- npx -y human-api`)."
      }
    },
    "task_request": {
      "method": "POST",
      "path": "/api/v1/tasks",
      "content_type": "application/json",
      "returns": "task_id, status, status_url",
      "docs": "/api#submit"
    },
    "task_status": {
      "method": "GET",
      "path": "/api/v1/tasks/{task_id}",
      "docs": "/api#status"
    },
    "health": {
      "method": "GET",
      "path": "/api/v1/health"
    },
    "contact": {
      "method": "POST",
      "path": "/api/v1/messages",
      "content_type": "application/json",
      "fields": {
        "message": "string (required, 5-5000 chars)",
        "reply_to": "string (email, strongly recommended — how the operator answers you)",
        "from": "string (optional) — agent name, company, or system identifier",
        "subject": "string (optional)"
      },
      "human_page": "/contact"
    },
    "human_task_form": "/request"
  },
  "task_request_schema": {
    "task_type": "string (required) — one of accepted_task_types",
    "description": "string (required, 10-5000 chars) — what to do, where, and what success looks like",
    "location_required": "boolean (optional, default false)",
    "location_detail": "string (optional) — city / address / area if location_required",
    "deadline": "string (optional) — ISO 8601 datetime",
    "output_format": "string (optional) — e.g. text_report, text_report_with_photos, video, structured_json, annotated_screenshots",
    "budget_usd": "number (deprecated — services are free during the pilot; the field is accepted and ignored)",
    "contact_email": "string (optional) — where to send results and questions",
    "requester": "string (optional) — agent name, company, or system identifier"
  },
  "task_request_example": {
    "task_type": "real_world_verification",
    "description": "Verify whether a specific product exists in a local store",
    "location_required": true,
    "deadline": "2026-07-10T12:00:00+03:00",
    "output_format": "text_report_with_photos"
  },
  "accepted_task_types": [
    "real_world_verification",
    "product_or_app_testing",
    "human_judgment_and_feedback",
    "data_collection",
    "local_physical_task",
    "ai_output_review",
    "prompt_and_workflow_testing",
    "simulation_and_automation_testing",
    "accessibility_and_usability_check",
    "custom_human_in_the_loop"
  ],
  "rejected_task_types": [
    "illegal_activity",
    "harassment_or_intimidation",
    "deception_or_impersonation",
    "privacy_invasive_surveillance",
    "unsafe_physical_actions",
    "circumventing_security_or_verification_systems",
    "academic_or_credential_fraud",
    "regulated_professional_advice_presented_as_licensed_counsel"
  ],
  "trust_and_safety": {
    "review_policy": "Every task is reviewed by the human operator before acceptance. Acceptance is never automatic.",
    "notes": [
      "Illegal, harmful, deceptive, unsafe, or privacy-invasive tasks are rejected.",
      "Do not submit confidential information unless confidentiality has been agreed in advance.",
      "Human judgment is provided as assistance, not as guaranteed truth.",
      "Task IDs are unlisted; anyone holding a task ID can view its status."
    ],
    "details_url": "/trust"
  },
  "limits": {
    "max_request_body_bytes": 65536,
    "description_max_chars": 5000,
    "rate_limits": "none in MVP",
    "capacity": "single human operator — oversized tasks receive a scoped counter-proposal at review"
  }
}
