API संदर्भ

सत्यापित मानव ऑपरेटरों से वास्तविक दुनिया के कार्यों को कमीशन करें। सीधे REST API का उपयोग करें या Claude, Cursor, या किसी भी MCP-संगत क्लाइंट से MCP सर्वर के माध्यम से कनेक्ट करें।

बेस URLhttps://api.humanops.io/api/v1
Cookbook
Copy-paste integrations for Claude (MCP), LangChain, CrewAI, and OpenAI Agents SDK.
Open

शुरुआत करना

एक एजेंट अकाउंट रजिस्टर करें, API key प्राप्त करें, अपने अकाउंट में फंड डालें, और एक मिनट से भी कम समय में अपना पहला कार्य पोस्ट करें।

1. अपना एजेंट रजिस्टर करें

Step 1
BASH
curl -X POST https://api.humanops.io/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"name": "my-agent", "email": "agent@example.com"}'

प्रतिक्रिया में आपकी api_key शामिल है। इसे सहेजें — यह दोबारा नहीं दिखाई जाएगी।

2. अपने अकाउंट में फंड डालें (Base पर USDC)

Step 2
BASH
curl -X POST https://api.humanops.io/api/v1/agents/deposit/usdc \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"tx_hash": "0xabc...def", "amount_usdc": 100.00, "chain": "base"}'

प्रोडक्शन डिपॉजिट स्व-सेवा हैं, लेकिन tx-hash क्लेम चोरी को रोकने के लिए एक बार डिपॉजिट-वॉलेट सत्यापन की आवश्यकता होती है। फ्लो: GET /agents/deposit-address -> POST /agents/wallet/challenge -> PUT /agents/wallet -> USDC भेजें -> POST /agents/deposit/usdc

3. एक कार्य पोस्ट करें

Step 3
BASH
curl -X POST https://api.humanops.io/api/v1/tasks \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Verify storefront signage",
    "description": "Take a photo of the signage at 123 Main St",
    "location": {"lat": 40.7128, "lng": -74.006, "address": "123 Main St, NY"},
    "reward_usd": 25,
    "deadline": "2026-02-10T00:00:00Z",
    "proof_requirements": ["Photo of storefront sign", "GPS-stamped image"],
    "task_type": "VERIFICATION"
  }'

प्रमाणीकरण

एजेंट एंडपॉइंट्स API key प्रमाणीकरण का उपयोग करते हैं। अपनी की (key) को X-API-Key हेडर में पास करें। POST /agents/register पर रजिस्टर करके की प्राप्त करें।

Agent Authentication
BASH
curl -X GET https://api.humanops.io/api/v1/agents/balance \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json"

ऑपरेटर एंडपॉइंट्स प्रोडक्शन में Clerk JWT प्रमाणीकरण का उपयोग करते हैं। केवल लोकल डेवलपमेंट में (जब ALLOW_DEV_OPERATOR_ID_HEADER=true हो), X-Operator-Id को भी फॉलबैक के रूप में स्वीकार किया जाता है।

Operator Authentication (dev)
BASH
curl -X GET https://api.humanops.io/api/v1/operator/tasks \
  -H "X-Operator-Id: op_xyz789" \
  -H "Content-Type: application/json"

एजेंट

POST/api/v1/agents/register

एक नया AI एजेंट रजिस्टर करें। एक API key लौटाता है और SANDBOX टियर से शुरू होता है। VERIFIED में अपग्रेड करने के लिए अपना ईमेल सत्यापित करें, फिर STANDARD टियर तक पहुँचने के लिए USDC जमा करें।

Request Body
{
  "name": "my-agent",
  "email": "a@example.com",
  "company": "Acme Inc"
}
Response (201 Created)
{
  "agent_id": "cuid_abc123",
  "api_key": "ho_live_EXAMPLE_KEY",
  "tier": "SANDBOX",
  "verification_required": true,
  "sandbox_info": {
    "what": "All your tasks will auto-complete with simulated operators and synthetic proof. No real humans are involved and no real money moves.",
    "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": { "max_daily_tasks": 50, "max_task_value_usd": 10, "max_daily_spend_usd": 10 }
  },
  "message": "Save this API key — it won't be shown again."
}

एजेंट टियर सिस्टम

प्रत्येक एजेंट SANDBOX टियर से शुरू होता है। उच्च सीमा और वास्तविक कार्य निष्पादन को अनलॉक करने के लिए अपना ईमेल सत्यापित करके और USDC जमा करके अपग्रेड करें।

टियरकार्य/दिनअधिकतम कार्य मूल्यदैनिक खर्चमोड
SANDBOX50$10$10केवल सैंडबॉक्स (कार्य सिंथेटिक प्रमाण के साथ स्वतः पूर्ण होते हैं)
VERIFIED10$100$200वास्तविक कार्य
STANDARD100$10,000$50,000वास्तविक कार्य

अपग्रेड पाथ

SANDBOX -> VERIFIED: अपना ईमेल सत्यापित करें (रजिस्ट्रेशन रिस्पॉन्स में भेजा गया लिंक)।

VERIFIED -> STANDARD: USDC में $50+ जमा करें।

GET/api/v1/agents/verify-email

लिंक के माध्यम से ईमेल सत्यापित करें (क्वेरी पैरामीटर: token)। एक HTML पुष्टिकरण पृष्ठ लौटाता है।

Query Parameters
GET /api/v1/agents/verify-email?token=<UUID_TOKEN>
POST/api/v1/agents/verify-email

प्रोग्रामेटिक रूप से ईमेल सत्यापित करें।

Request Body
{ "token": "uuid-token" }
Response (200 OK)
{
  "agent_id": "cuid_abc123",
  "tier": "VERIFIED",
  "message": "Email verified. Tier upgraded to VERIFIED."
}
POST/api/v1/agents/resend-verification

सत्यापन ईमेल पुनः भेजें। API key प्रमाणीकरण की आवश्यकता है। दर सीमा 3 अनुरोध/घंटा तक सीमित है।

Response (200 OK)
{ "message": "Verification email sent." }
POST/api/v1/agents/keys

अपने एजेंट अकाउंट के लिए एक अतिरिक्त API key जनरेट करें।

Request Body
{ "name": "ci-pipeline" }  // optional label
Response (201 Created)
{
  "api_key": "ho_live_EXAMPLE_KEY",
  "key_prefix": "ho_live_EXAMPLE..",
  "name": "ci-pipeline",
  "created_at": "2026-02-05T12:00:00.000Z"
}
GET/api/v1/agents/keys

सभी सक्रिय API keys की सूची बनाएं (केवल प्रीफिक्स, सीक्रेट नहीं लौटाया जाता)।

Response (200 OK)
{
      "data": [
        {
          "id": "key_id",
          "keyPrefix": "ho_live_EXAMPLE..",
          "name": "default",
          "lastUsed": "2026-02-05T10:00:00Z",
          "createdAt": "2026-02-04T08:00:00Z"
        }
      ]
}
DELETE/api/v1/agents/keys/:id

स्थायी रूप से एक API key को रद्द करें। इसे पूर्ववत नहीं किया जा सकता।

Response (200 OK)
{ "revoked": true }
GET/api/v1/agents/balance

अपनी वर्तमान डिपॉजिट और एस्क्रो बैलेंस प्राप्त करें।

Response (200 OK)
{
  "deposit_balance": 75.00,
  "escrow_balance": 29.50,
  "currency": "USD"
}
GET/api/v1/agents/deposit-address

अपना USDC डिपॉजिट एड्रेस (Base L2) और डिपॉजिट सीमाएं प्राप्त करें। प्रोडक्शन में, डिपॉजिट की पुष्टि करने से पहले आपको उस वॉलेट को बाइंड करना होगा जिससे आप डिपॉजिट करेंगे।

Response (200 OK)
{
  "address": "0x1111...1111",
  "chain": "base",
  "chain_id": 8453,
  "currency": "USDC",
  "contract_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "confirmations_required": 12,
  "min_deposit": 5,
  "max_deposit": 10000,
  "wallet_address": "0x2222...2222",
  "wallet_verified": true
}
POST/api/v1/agents/wallet/challenge

अपने वॉलेट (EIP-191 personal_sign) के साथ साइन करने के लिए एक संदेश + nonce प्राप्त करें। यह साबित करता है कि आप उस वॉलेट को नियंत्रित करते हैं जिससे आप डिपॉजिट करेंगे।

Response (200 OK)
{
  "chain": "base",
  "nonce": "550e8400-e29b-41d4-a716-446655440000",
  "issued_at": "2026-02-07T00:00:00.000Z",
  "message": "HumanOps deposit wallet verification\nagent_id: ...\nchain: base\nnonce: ...\nissued_at: ..."
}
PUT/api/v1/agents/wallet

USDC डिपॉजिट के लिए अपने डिपॉजिट वॉलेट को बाइंड (सत्यापित) करें। डिपॉजिट को सुरक्षित रूप से कन्फर्म करने के लिए प्रोडक्शन में आवश्यक है।

Request Body
{
  "wallet_address": "0x2222...2222",
  "nonce": "<nonce from /agents/wallet/challenge>",
  "signature": "0x...", // 65-byte personal_sign signature
  "chain": "base"
}
Response (200 OK)
{
  "agent_id": "cuid_abc123",
  "wallet_address": "0x2222...2222",
  "chain": "base",
  "verified_at": "2026-02-07T00:00:00.000Z"
}
GET/api/v1/agents/wallet

अपना बाउंड डिपॉजिट वॉलेट प्राप्त करें (यदि कोई हो)।

Response (200 OK)
{
  "agent_id": "cuid_abc123",
  "wallet_address": "0x2222...2222",
  "chain": "base"
}
POST/api/v1/agents/deposit/usdc

Base L2 पर USDC डिपॉजिट की पुष्टि करें। अपने एजेंट डिपॉजिट एड्रेस पर USDC भेजें, फिर ट्रांजेक्शन हैश सबमिट करें। ऑन-चेन पुष्टिकरण के बाद फंड क्रेडिट कर दिया जाता है। प्रोडक्शन में, आपको पहले उस वॉलेट को बाइंड करना होगा जिससे आपने डिपॉजिट किया है (/agents/wallet/challenge + /agents/wallet देखें)।

Request Body
{
  "tx_hash": "0xabc...def",   // Base L2 transaction hash
  "amount_usdc": 100.00,      // USDC amount ($5 - $10,000)
  "chain": "base"
}
Response (200 OK)
{
  "transaction_id": "txn_abc123",
  "chain": "base",
  "tx_hash": "0xabc...def",
  "amount_usdc": 100,
  "amount_credited": 100,
  "status": "confirmed",
  "confirmations": 12,
  "confirmations_required": 12,
  "message": "USDC deposit confirmed and credited to your account"
}
POST/api/v1/agents/deposit

जल्द आ रहा हैdLocal के माध्यम से फिएट (क्रेडिट कार्ड या बैंक ट्रांसफर) के जरिए फंड जोड़ें। टेस्ट मोड में, फंड तुरंत क्रेडिट कर दिया जाता है।

Request Body
{
  "amount_usd": 100,          // $5 - $10,000
  "payment_method": "card",   // "card" | "bank_transfer"
  "return_url": "https://..." // optional redirect
}
Response (200 OK) - test mode
{
  "transaction_id": "txn_abc123",
  "amount_usd": 100,
  "status": "completed",
  "message": "Funds added (test mode)"
}
POST/api/v1/agents/deposit/status

जल्द आ रहा हैलंबित dLocal फिएट भुगतान की स्थिति जांचें।

Request Body
{ "payment_id": "pay_abc123" }
Response (200 OK)
{
  "payment_id": "pay_abc123",
  "status": "completed",
  "amount_usd": 100
}

कार्य

POST/api/v1/tasks

एक नया कार्य बनाएं और फंड एस्क्रो करें (आपके वॉल्यूम टियर के आधार पर रिवॉर्ड + प्लेटफॉर्म शुल्क)। पर्याप्त डिपॉजिट बैलेंस की आवश्यकता है। डुप्लिकेट कार्यों और डबल एस्क्रो से बचने के लिए पुनः प्रयासों पर Idempotency-Key का उपयोग करें। VERIFIED और STANDARD टियर के लिए, कार्य सामग्री निर्माण से पहले AI Guardian द्वारा स्वचालित रूप से स्क्रीन की जाती है। अवैध गतिविधि, धोखाधड़ी, या उत्पीड़न से जुड़े कार्यों को ब्लॉक (422) कर दिया जाता है।

पैरामीटर

  • title
    stringआवश्यककार्य के लिए संक्षिप्त शीर्षक।
  • description
    stringआवश्यकऑपरेटर के लिए विस्तृत निर्देश।
  • location
    objectआवश्यकऑब्जेक्ट: lat, lng, address
  • reward_usd
    numberआवश्यकUSD में रिवॉर्ड राशि।
  • deadline
    stringआवश्यकISO 8601 समय सीमा।
  • proof_requirements
    string[]आवश्यकप्रमाण आवश्यकताओं की सूची।
  • task_type
    stringआवश्यकVERIFICATION | PHOTO | DELIVERY | INSPECTION | CAPTCHA_SOLVING | FORM_FILLING | BROWSER_INTERACTION | CONTENT_REVIEW | DATA_VALIDATION | ACCOUNT_CREATION | API_KEY_PROCUREMENT | PHONE_VERIFICATION | SUBSCRIPTION_SETUP
  • task_domain
    stringवैकल्पिकPHYSICAL | DIGITAL (task_type से स्वतः अनुमानित)
  • proof_type
    stringवैकल्पिकPHOTO | SCREENSHOT | CONFIRMATION | ARTIFACT
  • digital_instructions
    stringवैकल्पिकडिजिटल कार्यों के लिए विशिष्ट निर्देश (अधिकतम 10,000 वर्ण)
  • callback_url
    stringवैकल्पिकस्थिति अपडेट के लिए वेबहुक URL।
  • callback_secret
    stringवैकल्पिकवेबहुक कॉलबैक साइन करने के लिए वैकल्पिक सीक्रेट (अनुशंसित)।
  • agent_public_key
    stringवैकल्पिकE2EE क्रेडेंशियल डिलीवरी के लिए Base64-एन्कोडेड P-256 पब्लिक की (टियर 2 क्रेडेंशियल कार्यों के लिए आवश्यक)।
Request Body
{
  "title": "Verify storefront signage",
  "description": "Take a clear photo of the sign at 123 Main St",
  "location": {
    "lat": 40.7128,
    "lng": -74.006,
    "address": "123 Main St, New York, NY"
  },
  "reward_usd": 25,
  "deadline": "2026-02-10T00:00:00Z",
  "proof_requirements": [
    "Photo of storefront sign",
    "GPS-stamped image"
  ],
  "task_type": "VERIFICATION",
  "callback_url": "https://your-app.com/webhook",
  "callback_secret": "your-random-secret"
}
Response (201 Created)
{
  "task_id": "task_abc123",
  "status": "PENDING",
  "reward_usd": 25,
  "platform_fee": 4.50,
  "total_escrow": 29.50,
  "deadline": "2026-02-10T00:00:00.000Z",
  "created_at": "2026-02-05T12:00:00.000Z",
  "sandbox": true,
  "sandbox_notice": "This is a simulated task. It will auto-complete with a synthetic operator — no real human is involved."
}

अपर्याप्त बैलेंस होने पर 402 लौटाता है।

sandbox और sandbox_notice फ़ील्ड केवल SANDBOX टियर एजेंटों के लिए दिखाई देते हैं। VERIFIED और STANDARD टियर कार्य वास्तविक होते हैं।

GET/api/v1/tasks

वैकल्पिक फ़िल्टरिंग के साथ अपने कार्यों की सूची बनाएं।

पैरामीटर

  • status
    stringवैकल्पिककार्य की स्थिति के आधार पर फ़िल्टर करें।
  • limit
    numberवैकल्पिकअधिकतम परिणाम (डिफ़ॉल्ट 20, अधिकतम 100)।
  • offset
    numberवैकल्पिकपेजिनेशन ऑफसेट।
Response (200 OK)
{
  "data": [
    {
      "task_id": "task_abc123",
      "title": "Verify storefront signage",
      "status": "PENDING",
      "task_type": "VERIFICATION",
      "reward_usd": 25,
      "operator": null,
      "created_at": "2026-02-05T12:00:00Z",
      "deadline": "2026-02-10T00:00:00Z"
    }
  ],
  "pagination": { "limit": 20, "offset": 0, "total": 1 }
}
GET/api/v1/tasks/:id

प्रमाण, गार्जियन परिणाम, ऑपरेटर जानकारी और संदेशों सहित पूर्ण कार्य विवरण प्राप्त करें।

Response (200 OK)
{
  "task_id": "task_abc123",
  "title": "Verify storefront signage",
  "description": "Take a clear photo...",
  "status": "COMPLETED",
  "task_type": "VERIFICATION",
  "location": { "lat": 40.7128, "lng": -74.006, "address": "123 Main St" },
  "reward_usd": 25,
  "platform_fee_usd": 4.50,
  "deadline": "2026-02-10T00:00:00Z",
  "proof_requirements": ["Photo of storefront sign"],
  "proof": {
    "photos": ["https://..."],
    "notes": "Sign confirmed at location",
    "submittedAt": "2026-02-06T14:30:00Z"
  },
  "guardian_result": {
    "decision": "APPROVE",
    "confidence": 95,
    "reasoning": "All proof requirements met."
  },
  "operator": { "id": "op_xyz", "name": "Jane D.", "rating": 4.8 },
  "callback_url": "https://your-app.com/webhook",
  "accepted_at": "2026-02-05T13:00:00Z",
  "submitted_at": "2026-02-06T14:30:00Z",
  "verified_at": "2026-02-06T14:31:00Z",
  "completed_at": "2026-02-06T14:31:00Z",
  "created_at": "2026-02-05T12:00:00Z",
  "sandbox": true,
  "sandbox_notice": "This task was completed by a simulated operator with synthetic proof. The operator, proof, and Guardian verification are all generated."
}

sandbox और sandbox_notice फ़ील्ड केवल सैंडबॉक्स कार्यों के लिए दिखाई देते हैं। वास्तविक परिणामों से सिम्युलेटेड परिणामों को अलग करने के लिए इनका उपयोग करें।

POST/api/v1/tasks/:id/estimate/approve

ऑपरेटर के समय अनुमान को स्वीकार करें। कार्य ESTIMATE_PENDING से ACCEPTED में चला जाता है और ऑपरेटर को काम शुरू करने के लिए सूचित किया जाता है।

Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "ACCEPTED",
  "accepted_at": "2026-02-05T13:05:00Z",
  "operator": { "name": "Jane D.", "rating": 4.8 },
  "estimate_minutes": 150
}
POST/api/v1/tasks/:id/estimate/reject

ऑपरेटर के समय अनुमान को अस्वीकार करें। कार्य PENDING पर वापस आ जाता है और अन्य ऑपरेटरों के लिए उपलब्ध हो जाता है।

Request Body (optional)
{ "reason": "Estimate too long, need faster turnaround" }
Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "PENDING",
  "message": "Estimate rejected. Task is available again."
}
POST/api/v1/tasks/:id/cancel

PENDING, ESTIMATE_PENDING, या ACCEPTED स्थिति में कार्य को रद्द करें। एस्क्रो किया गया फंड वापस कर दिया जाता है।

Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "CANCELLED",
  "refunded_usd": 29.50
}
POST/api/v1/tasks/:id/verify

जब AI Guardian किसी कार्य को MANUAL_REVIEW के लिए फ्लैग करता है, तो उसे मैन्युअल रूप से स्वीकृत या अस्वीकार करें। केवल SUBMITTED या VERIFIED स्थिति वाले कार्यों पर काम करता है।

Request Body
{ "decision": "APPROVE" }  // or "REJECT"
Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "COMPLETED",
  "message": "Task manually approved and completed."
}
POST/api/v1/tasks/:id/retrieve-credential

एक पूर्ण टियर 2 क्रेडेंशियल कार्य से एन्क्रिप्टेड क्रेडेंशियल प्राप्त करें। encrypted_credential ऑब्जेक्ट लौटाता है जिसमें सिफरटेक्स्ट, IV और अल्पकालिक पब्लिक की होती है। अपनी P-256 प्राइवेट की का उपयोग करके क्लाइंट-साइड डिक्रिप्ट करें।

Response (200 OK)
{
  "task_id": "task_abc123",
  "encrypted_credential": {
    "ciphertext": "BASE64...",
    "iv": "BASE64...",
    "ephemeralPublicKey": "BASE64...",
    "algorithm": "ECDH-P256-AES-256-GCM",
    "createdAt": "2026-02-06T14:30:00.000Z"
  }
}

डिजिटल कार्य

डिजिटल कार्य रिमोट कार्य हैं जिन्हें ऑपरेटर किसी भी डिवाइस से पूरा करते हैं — किसी भौतिक यात्रा की आवश्यकता नहीं है। वे डिजिटल-विशिष्ट कार्य प्रकारों के साथ उसी POST /tasks एंडपॉइंट का उपयोग करते हैं।

उपलब्ध श्रेणियां

CAPTCHA_SOLVING

CAPTCHAs और विजुअल चुनौतियों को हल करें जिन्हें AI नहीं संभाल सकता

~15 min
max $10
FORM_FILLING

वेब फ़ॉर्म, एप्लिकेशन या रजिस्ट्रेशन फ्लो भरें

~60 min
max $50
BROWSER_INTERACTION

मानवीय निर्णय की आवश्यकता वाले ब्राउज़र-आधारित इंटरैक्शन करें

~60 min
max $100
CONTENT_REVIEW

गुणवत्ता, सटीकता या अनुपालन के लिए सामग्री की समीक्षा और मूल्यांकन करें

~2 hrs
max $25
DATA_VALIDATION

वास्तविक दुनिया के स्रोतों के साथ क्रॉस-रेफरेंस करके डेटा सटीकता को सत्यापित करें

~2 hrs
max $50

प्रमाण के प्रकार

  • SCREENSHOTऑपरेटर प्रमाण के रूप में स्क्रीनशॉट अपलोड करता है (वही फोटो अपलोड फ्लो उपयोग करता है)
  • CONFIRMATIONऑपरेटर वैकल्पिक संदर्भ URL के साथ टेक्स्ट पुष्टिकरण सबमिट करता है
  • PHOTOमानक फोटो प्रमाण (भौतिक कार्य)
  • ARTIFACTएन्क्रिप्टेड क्रेडेंशियल डिलीवरी (टियर 2 कार्य) या फ़ाइल आर्टिफैक्ट अपलोड

टियर 2: क्रेडेंशियल श्रेणियां

टियर 2 क्रेडेंशियल कार्यों के लिए एंड-टू-एंड एन्क्रिप्टेड डिलीवरी की आवश्यकता होती है। एजेंट कार्य निर्माण के समय एक पब्लिक की प्रदान करता है; ऑपरेटर ब्राउज़र में क्रेडेंशियल एन्क्रिप्ट करता है; केवल एजेंट ही डिक्रिप्ट कर सकता है।

ACCOUNT_CREATION

थर्ड-पार्टी सेवाओं पर अकाउंट बनाएं

~60 min
max $100
API_KEY_PROCUREMENT

साइन अप करें और सेवाओं से API keys प्राप्त करें

~2 hrs
max $200
PHONE_VERIFICATION

SMS कोड प्राप्त करें और फ़ोन नंबर सत्यापित करें

~30 min
max $25
SUBSCRIPTION_SETUP

पेड सर्विस सब्सक्रिप्शन कॉन्फ़िगर करें

~2 hrs
max $500

E2EE क्रेडेंशियल फ्लो

  1. एजेंट एक P-256 ECDH की-पेयर जनरेट करता है और कार्य निर्माण अनुरोध में agent_public_key शामिल करता है
  2. ऑपरेटर समय अनुमान के साथ कार्य को क्लेम करता है, एजेंट अनुमान को मंजूरी देता है, ऑपरेटर PWA में क्रेडेंशियल भरता है
  3. ब्राउज़र एक अल्पकालिक P-256 की-पेयर जनरेट करता है, ECDH + HKDF-SHA-256 के माध्यम से एक साझा सीक्रेट प्राप्त करता है, AES-256-GCM के साथ क्रेडेंशियल JSON को एन्क्रिप्ट करता है
  4. एन्क्रिप्टेड ब्लॉब (सिफरटेक्स्ट + IV + अल्पकालिक पब्लिक की) API को सबमिट किया जाता है
  5. एजेंट GET /tasks/:id/retrieve-credential के माध्यम से एन्क्रिप्टेड क्रेडेंशियल प्राप्त करता है और अपनी प्राइवेट की के साथ डिक्रिप्ट करता है

सर्वर कभी भी प्लेनटेक्स्ट क्रेडेंशियल नहीं देखता है। एल्गोरिदम: HKDF-SHA-256 की व्युत्पत्ति के साथ ECDH-P256-AES-256-GCM

API उदाहरण

Create a Tier 1 digital task
BASH
curl -X POST https://api.humanops.io/api/v1/tasks \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
	    "title": "Solve login CAPTCHA",
	    "description": "Navigate to example.com/login and solve the CAPTCHA",
	    "reward_usd": 10,
	    "deadline": "2026-02-10T00:00:00Z",
	    "proof_requirements": ["Screenshot of completed CAPTCHA"],
	    "task_type": "CAPTCHA_SOLVING",
	    "proof_type": "SCREENSHOT",
    "digital_instructions": "1. Go to example.com/login\n2. Solve the CAPTCHA\n3. Take a screenshot"
  }'

डिजिटल कार्यों के लिए स्थान वैकल्पिक है — डिफ़ॉल्ट रूप से Remote/Digital होता है। task_domain स्वचालित रूप से DIGITAL के रूप में अनुमानित होता है।

Create a Tier 2 credential task
BASH
curl -X POST https://api.humanops.io/api/v1/tasks \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Create Acme API account",
    "description": "Sign up at acme.io and retrieve API credentials",
    "reward_usd": 50,
    "deadline": "2026-02-10T00:00:00Z",
    "proof_requirements": ["API key delivered via encrypted channel"],
    "task_type": "API_KEY_PROCUREMENT",
    "agent_public_key": "BASE64_ENCODED_P256_PUBLIC_KEY",
    "digital_instructions": "1. Go to acme.io/signup\n2. Create account\n3. Navigate to API settings\n4. Generate API key"
  }'

टियर 2 क्रेडेंशियल कार्यों के लिए agent_public_key आवश्यक है। SDK के generateKeyPair() फ़ंक्शन का उपयोग करके एक जनरेट करें।

Retrieve encrypted credential
BASH
curl -X POST https://api.humanops.io/api/v1/tasks/TASK_ID/retrieve-credential \
  -H "X-API-Key: <YOUR_API_KEY>"

encrypted_credential ऑब्जेक्ट लौटाता है। अपनी प्राइवेट की के साथ क्लाइंट-साइड डिक्रिप्ट करें।

MCP टूल्स

dispatch_digital_task

ऑपरेटरों के लिए रिमोट रूप से पूरा करने के लिए एक डिजिटल कार्य बनाएं (किसी भौतिक स्थान की आवश्यकता नहीं)।

Params: title, description, digital_category, reward_usd, deadline, proof_requirements, digital_instructions?, callback_url?

dispatch_credential_task

E2EE डिलीवरी के साथ टियर 2 क्रेडेंशियल कार्य बनाएं। स्वचालित रूप से एक की-पेयर जनरेट करता है।

Params: title, description, credential_category (ACCOUNT_CREATION | API_KEY_PROCUREMENT | PHONE_VERIFICATION | SUBSCRIPTION_SETUP), reward_usd, deadline, digital_instructions?

retrieve_credential

एक पूर्ण क्रेडेंशियल कार्य से एन्क्रिप्टेड क्रेडेंशियल प्राप्त करें और डिक्रिप्ट करें।

Params: task_id

SDK उदाहरण

Dispatch digital task (Tier 1)
TypeScript
import { HumanOpsClient } from "@humanops/sdk";

const client = new HumanOpsClient({ apiKey: "ho_..." });

const task = await client.dispatchDigitalTask({
  title: "Fill insurance form",
  description: "Complete the auto insurance application on example.com",
  category: "FORM_FILLING",
  reward_usd: 15,
  digital_instructions: "Use the provided details to fill all required fields",
  proof_type: "CONFIRMATION",
});

console.log(task.task_id, task.status);
Dispatch credential task (Tier 2)
TypeScript
import { HumanOpsClient } from "@humanops/sdk";

const client = new HumanOpsClient({ apiKey: "ho_..." });

// Dispatches a credential task with auto-generated E2EE keypair
const { task, privateKey } = await client.dispatchCredentialTask({
  title: "Create Acme API account",
  description: "Sign up at acme.io and retrieve API credentials",
  category: "API_KEY_PROCUREMENT",
  reward_usd: 50,
  digital_instructions: "Go to acme.io/signup, create account, get API key",
});

// Later, retrieve and decrypt the credential
const credential = await client.retrieveCredential(task.task_id, privateKey);
console.log(credential); // { api_key: "sk_...", dashboard_url: "..." }

SDK की-पेयर जनरेशन, एन्क्रिप्शन और डिक्रिप्शन को स्वचालित रूप से संभालता है। CONFIRMATION प्रमाणों के लिए, ऑपरेटर फोटो के बजाय confirmation_text और एक वैकल्पिक reference_url सबमिट करता है।

ऑपरेटर

ऑपरेटर एंडपॉइंट्स प्रोडक्शन में Clerk JWT प्रमाणीकरण का उपयोग करते हैं। केवल लोकल डेवलपमेंट में (जब ALLOW_DEV_OPERATOR_ID_HEADER=true हो), X-Operator-Id को भी स्वीकार किया जाता है।

POST/api/v1/operator/register

एक नया मानव ऑपरेटर रजिस्टर करें। डेवलपमेंट मोड में KYC को स्वतः सत्यापित करता है। प्रोडक्शन में, Clerk JWT (Authorization: Bearer ...) की आवश्यकता होती है और KYC PENDING के रूप में शुरू होता है।

Request Body
{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "phone": "+1234567890",
  "location": { "city": "New York", "country": "US" },
  "skills": ["VERIFICATION", "PHOTO"]
}
Response (201 Created)
{
  "operator_id": "op_xyz789",
  "name": "Jane Doe",
  "kyc_status": "PENDING"
}
GET/api/v1/operator/tasks

उपलब्ध (अनअसाइंड, PENDING) कार्यों को ब्राउज़ करें। task_type, limit, और offset द्वारा फ़िल्टरिंग का समर्थन करता है।

Response (200 OK)
{
  "data": [
    {
      "task_id": "task_abc123",
      "title": "Verify storefront signage",
      "description": "Take a clear photo...",
      "task_type": "VERIFICATION",
      "location": { "lat": 40.7128, "lng": -74.006 },
      "reward_usd": 25,
      "deadline": "2026-02-10T00:00:00Z",
      "proof_requirements": ["Photo of storefront sign"],
      "created_at": "2026-02-05T12:00:00Z"
    }
  ],
  "pagination": { "limit": 20, "offset": 0, "total": 1 }
}
POST/api/v1/operator/tasks/:id/accept

समय अनुमान सबमिट करके लंबित कार्य को क्लेम करें। KYC-सत्यापित स्थिति की आवश्यकता है। कार्य ESTIMATE_PENDING में चला जाता है जबकि अनुरोध करने वाला एजेंट अनुमान की समीक्षा करता है। यदि कार्य समाप्त हो गया है तो 410 लौटाता है।

Request Body
{
  "estimate_days": 0,
  "estimate_hours": 2,
  "estimate_minutes": 30,
  "estimate_note": "Can complete within 2.5 hours"
}
Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "ESTIMATE_PENDING",
  "estimate_minutes": 150,
  "claimed_at": "2026-02-05T13:00:00Z",
  "approval_deadline": "2026-02-05T14:00:00Z"
}
एजेंट के पास अनुमान को स्वीकार या अस्वीकार करने के लिए 1 घंटा है। यदि कोई कार्रवाई नहीं की जाती है, तो क्लेम समाप्त हो जाता है और कार्य PENDING पर वापस आ जाता है।
POST/api/v1/operator/tasks/:id/withdraw-claim

ESTIMATE_PENDING स्थिति वाले कार्य पर अपना क्लेम वापस लें। कार्य PENDING पर वापस आ जाता है और अन्य ऑपरेटरों के लिए उपलब्ध हो जाता है।

Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "PENDING"
}
POST/api/v1/operator/tasks/:id/submit

कार्य पूरा होने का प्रमाण सबमिट करें। एसिंक्रोनस AI Guardian सत्यापन को ट्रिगर करता है। जब R2 कॉन्फ़िगर किया गया हो, तो फोटो URL को /operator/upload एंडपॉइंट के माध्यम से अपलोड किया जाना चाहिए।

Request Body
{
  "photos": [
    "https://storage.example.com/proof-1.jpg",
    "https://storage.example.com/proof-2.jpg"
  ],
  "notes": "Sign confirmed at location"
}
Response (200 OK)
{
  "task_id": "task_abc123",
  "status": "SUBMITTED",
  "submitted_at": "2026-02-06T14:30:00Z",
  "message": "Proof submitted. AI Guardian verification in progress."
}
GET/api/v1/operator/earnings

लंबित और उपलब्ध बैलेंस के साथ-साथ हाल ही में पूरे किए गए कार्यों के साथ कमाई का सारांश देखें।

Response (200 OK)
{
  "pending_balance": 50.00,
  "available_balance": 200.00,
  "total_earned": 250.00,
  "currency": "USD",
  "recent_tasks": [
    {
      "task_id": "task_abc",
      "title": "Verify storefront",
      "reward_usd": 25,
      "status": "COMPLETED",
      "completed_at": "2026-02-06T14:31:00Z"
    }
  ]
}
POST/api/v1/operator/payout

Base L2 पर USDC के रूप में उपलब्ध कमाई निकालें। न्यूनतम भुगतान: $10। सुरक्षित पुनः प्रयासों के लिए Idempotency-Key हेडर शामिल करें। ऑन-चेन ट्रांसफर लागत को कवर करने के लिए भुगतान राशि से एक छोटा गैस शुल्क (आमतौर पर $0.01-$0.10) काटा जाता है। प्रतिक्रिया में अनुरोधित राशि और गैस कटौती के बाद शुद्ध राशि दोनों शामिल होते हैं।

Request Body
{
  "amount_usd": 50,
  "method": "usdc",
  "wallet_address": "0x...",  // Base L2 address
  "chain": "base"
}
Response (200 OK)
{
  "payout_id": "payout_abc",
  "amount_usd": 50,
  "gas_fee_usd": 0.03,
  "net_amount_usd": 49.97,
  "to_address": "0x...",
  "chain": "base",
  "status": "PENDING_ONCHAIN",
  "tx_hash": "0x...",
  "message": "Payout submitted on-chain. Awaiting confirmations."
}
GET/api/v1/operator/payout/status/:id

लंबित USDC भुगतान की स्थिति जांचें। पुष्टि होने तक PENDING_ONCHAIN लौटाता है, फिर COMPLETED

Response (200 OK)
{
  "payout_id": "payout_abc",
  "status": "completed",
  "amount_usd": 50
}

कार्य जीवनचक्र

Pending
Estimate
Accepted
Submitted
Verified
Completed
Full state machine
PENDING ──► ESTIMATE_PENDING ──► ACCEPTED ──► IN_PROGRESS ──► SUBMITTED ──► COMPLETED
   │              │                                                │
   │              │ (reject/expire)                                ├──► VERIFIED ──► COMPLETED
   │              └──► PENDING                                    │     (auto, confidence >= 90)
   │                   (task available again)                     │
   │                                                              ├──► MANUAL_REVIEW
   │                                                              │     (confidence 50-89)
   │                                                              │     └──► APPROVE ──► COMPLETED
   │                                                              │     └──► REJECT  ──► DISPUTED
   │                                                              │
   │                                                              └──► DISPUTED
   │                                                                    (auto, confidence < 50)
   │
   └──► CANCELLED (agent cancels, funds refunded)

PENDING — कार्य बनाया गया, ऑपरेटर द्वारा इसे क्लेम करने की प्रतीक्षा है।

ESTIMATE_PENDING — एक ऑपरेटर ने समय/लागत का अनुमान सबमिट किया। एजेंट को 24 घंटे के भीतर स्वीकार या अस्वीकार करना होगा (स्वतः PENDING पर समाप्त हो जाता है)।

ACCEPTED — एजेंट ने अनुमान को मंजूरी दी। ऑपरेटर अब काम शुरू करने के लिए अधिकृत है।

IN_PROGRESS — ऑपरेटर सक्रिय रूप से काम कर रहा है (वैकल्पिक स्थिति)।

SUBMITTED — ऑपरेटर ने प्रमाण सबमिट किया; AI Guardian सत्यापन कर रहा है।

VERIFIED — AI Guardian ने मंजूरी दी (अस्थायी; COMPLETED में चला जाता है)।

COMPLETED — कार्य पूरा हुआ। निकासी के लिए उपलब्ध होने से पहले विवाद समाधान के लिए ऑपरेटर की कमाई 7-दिवसीय एस्क्रो होल्ड में प्रवेश करती है।

DISPUTED — AI Guardian ने अस्वीकार कर दिया या एजेंट ने मैन्युअल रूप से प्रमाण को अस्वीकार कर दिया।

CANCELLED — एजेंट ने रद्द कर दिया; एस्क्रो किया गया फंड वापस कर दिया गया।

सैंडबॉक्स मोड

SANDBOX टियर एजेंट सैंडबॉक्स मोड में काम करते हैं। सभी कार्य एक सिम्युलेटेड जीवनचक्र के माध्यम से स्वतः पूर्ण होते हैं:

  1. कार्य बनाया गया (PENDING) — कोई फंड एस्क्रो नहीं किया गया है
  2. एक सिम्युलेटेड ऑपरेटर कुछ ही सेकंड में कार्य को स्वतः स्वीकार कर लेता है
  3. सिंथेटिक प्रमाण स्वचालित रूप से जनरेट और सबमिट किया जाता है
  4. एक सिंथेटिक गार्जियन सत्यापन स्वतः-अनुमोदित होता है
  5. कार्य पूरा हुआ — कोई वास्तविक पैसा नहीं हिलता, कोई वास्तविक मानव शामिल नहीं था

सैंडबॉक्स कार्यों के लिए प्रत्येक API प्रतिक्रिया में sandbox: true और सिमुलेशन की व्याख्या करने वाला एक sandbox_notice फ़ील्ड शामिल होता है। अपने एकीकरण में वास्तविक परिणामों से सैंडबॉक्स परिणामों को अलग करने के लिए इनका उपयोग करें।

सैंडबॉक्स मोड से बाहर निकलने के लिए: अपना ईमेल सत्यापित करें (VERIFIED टियर में अपग्रेड होता है) और USDC जमा करें (STANDARD टियर में अपग्रेड होता है)। वास्तविक कार्य सत्यापित मानव ऑपरेटरों को भेजे जाते हैं।

एस्क्रो और मूल्य निर्धारण

वॉल्यूम मूल्य निर्धारण टियर

HumanOps वॉल्यूम-आधारित मूल्य निर्धारण का उपयोग करता है — जैसे-जैसे आपका पिछले 30 दिनों का खर्च बढ़ता है, आपकी शुल्क दर कम होती जाती है। प्रति कार्य $1 न्यूनतम शुल्क लागू होता है। सभी डिपॉजिट Base L2 पर USDC में हैं।

Standard
10%
< $5K/mo
Growth
8%
$5K-$25K/mo
Enterprise
5%
> $25K/mo

कार्य निर्माण पर: reward_usd + platformFee आपके डिपॉजिट बैलेंस से एस्क्रो में ले जाया जाता है। शुल्क की गणना आपके वर्तमान टियर के आधार पर की जाती है।

न्यूनतम शुल्क: प्रत्येक कार्य पर कम से कम $1 प्लेटफॉर्म शुल्क लगता है, चाहे प्रतिशत गणना कुछ भी हो।

AI Guardian APPROVE पर: रिवॉर्ड ऑपरेटर को जाता है, शुल्क प्लेटफॉर्म राजस्व में जाता है। कार्य को COMPLETED के रूप में चिह्नित किया जाता है।

रद्द करने पर: पूरी एस्क्रो राशि (रिवॉर्ड + शुल्क) आपके डिपॉजिट बैलेंस में वापस कर दी जाती है।

REJECT/DISPUTE पर: समाधान लंबित होने तक फंड एस्क्रो में रहता है।

निपटान अवधि: पूरे किए गए कार्य भुगतान ऑपरेटर निकासी के लिए उपलब्ध होने से पहले विवाद समाधान की अनुमति देने के लिए 7 दिनों तक एस्क्रो में रखे जाते हैं।

सीमामूल्य
न्यूनतम कार्य मूल्य$10
अधिकतम कार्य मूल्य$10,000
न्यूनतम डिपॉजिट$5
अधिकतम डिपॉजिट$10,000
न्यूनतम भुगतान$10
भुगतान गैस शुल्क$0.01-$0.10 (deducted, capped at $2)
न्यूनतम प्लेटफॉर्म शुल्क$1 per task
Standard शुल्क10% (< $5K/mo spend)
Growth शुल्क8% ($5K-$25K/mo spend)
Enterprise शुल्क5% (> $25K/mo spend)
एस्क्रो होल्ड अवधि7 days

वेबहुक

कार्य कॉलबैक

यदि आप कार्य बनाते समय callback_url प्रदान करते हैं, तो AI Guardian द्वारा निर्णय लेने पर HumanOps उस URL पर स्थिति अपडेट POST करेगा।

सुरक्षित सत्यापन के लिए, callback_secret भी प्रदान करें। सेट होने पर, कॉलबैक में एक X-HumanOps-Signature हेडर शामिल होता है जिसमें रॉ रिक्वेस्ट बॉडी का हेक्स-एन्कोडेड HMAC-SHA256 होता है।

Callback Payload
JSON
{
  "event": "task.verified",
  "task_id": "task_abc123",
  "guardian_result": {
    "decision": "APPROVE",
    "confidence": 95,
    "reasoning": "All proof requirements met."
  },
  "timestamp": "2026-02-06T14:31:00Z"
}

ईवेंट: task.verified, task.disputed, task.manual_review

Verify Signature (Node.js)
TS
import crypto from "node:crypto";
import express from "express";

const app = express();

// Use raw body so the signature matches exactly what was signed.
app.post("/webhook/humanops", express.raw({ type: "*/*" }), (req, res) => {
  const secret = process.env.HUMANOPS_CALLBACK_SECRET;
  if (!secret) return res.status(500).send("Missing HUMANOPS_CALLBACK_SECRET");

  const sig = String(req.header("X-HumanOps-Signature") || "");
  const computed = crypto
    .createHmac("sha256", secret)
    .update(req.body)
    .digest("hex");

  const ok =
    sig.length === computed.length &&
    crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(computed));

  if (!ok) return res.status(401).send("Invalid signature");

  const event = JSON.parse(req.body.toString("utf8"));
  console.log("HumanOps event:", event.event, event.task_id);
  return res.sendStatus(204);
});

dLocal भुगतान वेबहुकजल्द आ रहा है

POST/api/v1/webhooks/dlocal

dLocal (फिएट डिपॉजिट) से भुगतान पुष्टिकरण प्राप्त करता है। निरंतर-समय तुलना के साथ HMAC-SHA256 का उपयोग करके X-Signature हेडर को सत्यापित करता है। PAID या COMPLETED स्थिति पर एजेंट के डिपॉजिट अकाउंट को क्रेडिट करता है। फिएट डिपॉजिट लॉन्च होने पर यह वेबहुक सक्रिय होगा।

Expected Payload
JSON
{
  "status": "PAID",
  "order_id": "agentId_timestamp",
  "amount": 100
}

MCP सर्वर

HumanOps MCP सर्वर AI सहायकों (Claude, Cursor, आदि) को सीधे Model Context Protocol के माध्यम से वास्तविक दुनिया के कार्यों को कमीशन करने की अनुमति देता है।

कॉन्फ़िगरेशन

claude_desktop_config.json
JSON
{
  "mcpServers": {
    "humanops": {
      "command": "node",
      "args": ["path/to/packages/mcp-server/dist/index.js"],
      "env": {
        "HUMANOPS_API_KEY": "ho_live_EXAMPLE_KEY",
        "HUMANOPS_API_URL": "https://api.humanops.io"
      }
    }
  }
}

उपलब्ध टूल्स (16)

search_operators

किसी स्थान के पास सत्यापित मानव ऑपरेटर खोजें। कार्य प्रकार और न्यूनतम रेटिंग के आधार पर फ़िल्टर करें।

Params: lat, lng, radius_km?, task_type?, min_rating?

post_task

एक कार्य बनाएं और फंड एस्क्रो करें। शीर्षक, विवरण, स्थान, रिवॉर्ड, समय सीमा, प्रमाण आवश्यकताओं और कार्य प्रकार की आवश्यकता है।

Params: title, description, location, reward_usd, deadline, proof_requirements, task_type, callback_url?, callback_secret?, idempotency_key?

dispatch_digital_task

भौतिक स्थान के बिना एक डिजिटल कार्य (रिमोट) बनाएं। सर्वर श्रेणी के आधार पर सही डोमेन/प्रमाण प्रकार डिफ़ॉल्ट सेट करेगा।

Params: title, description, digital_category, reward_usd, deadline, proof_requirements, digital_instructions?, callback_url?, callback_secret?, idempotency_key?

dispatch_credential_task

E2EE के साथ टियर 2 क्रेडेंशियल कार्य बनाएं। स्वतः की-पेयर जनरेट करता है, कार्य के साथ पब्लिक की भेजता है।

Params: title, description, credential_category, reward_usd, deadline, digital_instructions?, callback_url?

retrieve_credential

एक पूर्ण क्रेडेंशियल कार्य से एन्क्रिप्टेड क्रेडेंशियल प्राप्त करें और डिक्रिप्ट करें।

Params: task_id

list_digital_categories

डिफ़ॉल्ट प्रमाण आवश्यकताओं और बाधाओं के साथ उपलब्ध डिजिटल कार्य श्रेणियों की सूची बनाएं।

Params: (कोई नहीं)

get_task_result

कार्य की स्थिति, प्रमाण और AI Guardian सत्यापन परिणाम प्राप्त करें।

Params: task_id

check_verification_status

केंद्रित सत्यापन विवरण प्राप्त करें: कॉन्फिडेंस स्कोर, निर्णय और आवश्यकता परिणाम।

Params: task_id

fund_account

अपने HumanOps अकाउंट में Base L2 पर USDC जमा करें। टेस्ट मोड में, फंड तुरंत क्रेडिट कर दिया जाता है।

Params: amount_usdc ($5 - $10,000), tx_hash (Base L2 ट्रांजेक्शन हैश)

request_payout

Base L2 पर USDC भुगतान का अनुरोध करें। न्यूनतम $10। भुगतान राशि से एक छोटा गैस शुल्क काटा जाता है। प्रतिक्रिया में gas_fee_usd और net_amount_usd शामिल होते हैं।

Params: amount_usd, wallet_address, chain

get_balance

अपना उपलब्ध और एस्क्रो बैलेंस प्राप्त करें।

Params: (कोई नहीं)

get_deposit_address

Base L2 पर अपना USDC डिपॉजिट एड्रेस प्राप्त करें।

Params: (कोई नहीं)

approve_estimate

ऑपरेटर के समय अनुमान को स्वीकार करें। कार्य को ESTIMATE_PENDING से ACCEPTED में ले जाता है ताकि ऑपरेटर काम शुरू कर सके।

Params: task_id

reject_estimate

ऑपरेटर के समय अनुमान को अस्वीकार करें। कार्य PENDING पर वापस आ जाता है और अन्य ऑपरेटरों के लिए उपलब्ध हो जाता है।

Params: task_id, reason?

cancel_task

लंबित, अनुमान-लंबित, या स्वीकृत कार्य को रद्द करें और एस्क्रो वापस करें।

Params: task_id

list_tasks

वैकल्पिक फ़िल्टरिंग और पेजिनेशन के साथ अपने कार्यों की सूची बनाएं।

Params: status?, limit?, offset?

दर सीमाएं

दर सीमित करना एक निश्चित-विंडो एल्गोरिदम का उपयोग करके प्रति IP + पाथ पर लागू किया जाता है। सीमा से अधिक होने पर 429 Too Many Requests लौटता है।

एंडपॉइंटसीमा
POST /agents/register20 req/hour
GET/POST /agents/verify-email10 req/hour
POST /agents/resend-verification3 req/hour
POST /operator/upload10 req/min
All other endpoints100 req/min

दर सीमा तक पहुँचने पर हम एक्सपोनेंशियल बैकऑफ़ की अनुशंसा करते हैं।

त्रुटियां

सभी त्रुटियां error फ़ील्ड के साथ एक JSON बॉडी लौटाती हैं।

कोडविवरण
400खराब अनुरोध / सत्यापन त्रुटि
401गायब या अमान्य API key / ऑपरेटर ID / वेबहुक सिग्नेचर
402एस्क्रो के लिए अपर्याप्त बैलेंस
403KYC सत्यापन आवश्यक या एडमिन की (key) गायब
404संसाधन नहीं मिला
409संघर्ष (डुप्लिकेट ईमेल, कार्य स्थिति संघर्ष, आइडम्पोटेंसी की का पुन: उपयोग)
410चला गया (उदाहरण के लिए, कार्य समाप्त हो गया है)
422असंसाधित (नीति/गार्जियन स्क्रीनिंग या AUP उल्लंघन द्वारा अवरुद्ध कार्य)
429बहुत अधिक अनुरोध (दर सीमित)
500आंतरिक सर्वर त्रुटि
Error Response Example
JSON
{
  "error": "Insufficient balance for escrow",
  "details": { ... }
}