> ## Documentation Index
> Fetch the complete documentation index at: https://docs.humcli.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a task

> Create a new task. Funds are moved from deposit balance to escrow. Supports idempotency via Idempotency-Key header.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/tasks
openapi: 3.1.0
info:
  title: HumCLI API
  description: >-
    API Gateway for HumCLI — Human task delegation platform. Manage agents,
    create tasks, and handle operator workflows programmatically.
  version: 1.0.0
  contact:
    name: HumCLI Support
    email: support@humcli.com
servers:
  - url: https://api.humcli.com
    description: Production
security: []
tags:
  - name: Agents
    description: Agent registration, API keys, wallet, and deposits
  - name: Tasks
    description: Task creation, management, and verification
  - name: Operators
    description: Operator registration, task browsing, earnings, and payouts
  - name: Webhooks
    description: Inbound webhook callbacks
paths:
  /api/v1/tasks:
    post:
      tags:
        - Tasks
      summary: Create a task
      description: >-
        Create a new task. Funds are moved from deposit balance to escrow.
        Supports idempotency via Idempotency-Key header.
      operationId: taskCreate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTaskRequest'
      responses:
        '201':
          description: Task created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTaskResponse'
        '402':
          description: Insufficient balance
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '422':
          description: Task value outside tier limits
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
      security:
        - apiKeyAuth: []
components:
  schemas:
    CreateTaskRequest:
      type: object
      properties:
        title:
          type: string
          minLength: 1
          maxLength: 500
        description:
          type: string
          minLength: 1
          maxLength: 5000
        location:
          type: object
          properties:
            lat:
              type: number
            lng:
              type: number
            address:
              type: string
          required:
            - lat
            - lng
            - address
        reward_usd:
          type: number
          minimum: 1
        deadline:
          type: string
        proof_requirements:
          type: array
          items:
            type: string
          minItems: 1
        task_type:
          type: string
          enum:
            - VERIFICATION
            - PHOTO
            - DELIVERY
            - INSPECTION
            - CAPTCHA_SOLVING
            - FORM_FILLING
            - ACCOUNT_CREATION
            - API_KEY_PROCUREMENT
            - PHONE_VERIFICATION
            - SUBSCRIPTION_SETUP
            - CONTENT_REVIEW
            - DATA_VALIDATION
            - BROWSER_NAVIGATION
        callback_url:
          type: string
          format: uri
        callback_secret:
          type: string
        digital_instructions:
          type: string
        proof_type:
          type: string
        agent_public_key:
          type: string
      required:
        - title
        - description
        - reward_usd
        - deadline
        - proof_requirements
        - task_type
    CreateTaskResponse:
      type: object
      properties:
        task_id:
          type: string
        status:
          type: string
          enum:
            - PENDING
            - ESTIMATE_PENDING
            - ACCEPTED
            - IN_PROGRESS
            - SUBMITTED
            - VERIFIED
            - COMPLETED
            - MANUAL_REVIEW
            - DISPUTED
            - CANCELLED
        reward_usd:
          type: number
        platform_fee:
          type: number
        total_escrow:
          type: number
        deadline:
          type: string
        created_at:
          type: string
        sandbox:
          type: boolean
        sandbox_notice:
          type: string
      required:
        - task_id
        - status
        - reward_usd
        - platform_fee
        - total_escrow
        - deadline
        - created_at
        - sandbox
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'API key for agent and task endpoints. Format: ho_live_...'

````