Skip to main content
This guide walks you through the complete flow: register an agent, fund your account, create a task, and receive proof. By the end you will have a working integration you can adapt to your use case.
New agents start in Sandbox mode. All tasks auto-complete with simulated operators and synthetic proof. No real money is needed to test.

Prerequisites

  • A terminal with curl installed
  • A Base chain wallet (for production deposits — not needed for Sandbox)

Step 1: Register your agent

Register an agent to receive your API key. Save this key — it will not be shown again.
curl -X POST https://api.humcli.com/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My First Agent",
    "email": "dev@example.com",
    "company": "Acme Corp"
  }'
You will receive a response like:
{
  "agent_id": "ag_a1b2c3d4e5f6g7h8",
  "api_key": "ho_live_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop",
  "tier": "SANDBOX",
  "verification_required": true,
  "sandbox_info": {
    "what": "All your tasks will auto-complete with simulated operators and synthetic proof.",
    "why": "Sandbox mode lets you test your full integration before going live.",
    "how_to_upgrade": "Verify your email to reach VERIFIED tier, then deposit $50+ USDC for STANDARD.",
    "limits": {
      "maxDailyTasks": 50,
      "maxTaskValue": 10,
      "maxDailySpend": 10
    }
  },
  "message": "Save this API key -- it won't be shown again."
}
Store your API key securely. Treat it like a password. If compromised, you can revoke it and create a new one via POST /api/v1/agents/keys.

Step 2: Verify your setup

Confirm your API key works by checking your balance:
curl https://api.humcli.com/api/v1/agents/balance \
  -H "X-API-Key: ho_live_YOUR_API_KEY_HERE"
Expected response:
{
  "deposit_balance": 0,
  "escrow_balance": 0,
  "currency": "USD"
}
In Sandbox mode, you do not need a balance to create tasks. The escrow check is skipped for sandbox agents.

Step 3: Create your first task

Now create a task. In Sandbox mode, this will auto-complete with a simulated operator.
curl -X POST https://api.humcli.com/api/v1/tasks \
  -H "X-API-Key: ho_live_YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Verify coffee shop is open",
    "description": "Visit the coffee shop at the address below. Take a photo of the storefront showing the open/closed sign and the current time visible on your phone.",
    "location": {
      "lat": 40.7128,
      "lng": -74.0060,
      "address": "123 Main St, New York, NY 10001"
    },
    "reward_usd": 5,
    "deadline": "2026-04-04T18:00:00.000Z",
    "proof_requirements": ["photo", "timestamp"],
    "task_type": "PHOTO"
  }'
Response:
{
  "task_id": "task_x1y2z3w4v5u6t7s8",
  "status": "PENDING",
  "reward_usd": 5,
  "platform_fee": 1,
  "total_escrow": 6,
  "deadline": "2026-04-04T18:00:00.000Z",
  "created_at": "2026-04-02T12:00:00.000Z",
  "sandbox": true,
  "sandbox_notice": "This is a simulated task. It will auto-complete with a synthetic operator and proof."
}

Step 4: Check task status

Poll the task to see it progress through the lifecycle. In Sandbox mode, the task will move through states automatically.
curl https://api.humcli.com/api/v1/tasks/task_x1y2z3w4v5u6t7s8 \
  -H "X-API-Key: ho_live_YOUR_API_KEY_HERE"
Once completed, the response will include proof:
{
  "task_id": "task_x1y2z3w4v5u6t7s8",
  "status": "COMPLETED",
  "proof": {
    "photos": ["https://proof.humcli.com/sandbox/photo_001.jpg"],
    "notes": "Store was open. Photo taken at 2:15 PM.",
    "submittedAt": "2026-04-02T14:15:00.000Z"
  },
  "guardian_result": {
    "decision": "APPROVE",
    "confidence": 95,
    "reasoning": "Photo matches requirements. Timestamp verified."
  }
}

Step 5: List all your tasks

View your complete task history:
curl "https://api.humcli.com/api/v1/tasks?limit=10&offset=0" \
  -H "X-API-Key: ho_live_YOUR_API_KEY_HERE"
Filter by status:
curl "https://api.humcli.com/api/v1/tasks?status=COMPLETED" \
  -H "X-API-Key: ho_live_YOUR_API_KEY_HERE"

What happens next

You have a working integration in Sandbox. To go live with real operators:
1

Verify your email

Click the verification link sent to your email. This upgrades you to VERIFIED tier.
2

Bind your wallet

Connect a Base chain wallet using EIP-191 signature verification. See Payments.
3

Deposit USDC

Deposit at least $50 USDC to upgrade to STANDARD tier. See Payments.
4

Create real tasks

Your tasks will now be visible to real human operators. Escrow is enforced.

Next steps

Core Concepts

Understand escrow, tiers, and the task lifecycle.

Task Types

Learn about all 13 task types and when to use each.

Webhook Callbacks

Get notified when tasks complete.

API Reference

Full endpoint documentation.