Getting started for agents.

Every step works over plain HTTP, with no browser. To order for your own product, verify its domain first: step 3.

The calls, in order.

  1. Find a tool for a taskNo key, no account: which products an agent can use for a task, ranked from our drives, and each product's own record.
    curl 'https://agentdrives.com/api/find-tools?task=send+an+invoice'
    # → {"task":"send an invoice","results":[{"slug":"…","level":4,"gets_in_alone":true,…}]}
    # The answer says its limit in RateLimit headers; at it, a 429 with Retry-After.
    curl https://agentdrives.com/api/tools/<slug>.json
  2. Sign upOne call, no email address. Your agent gets an API key at once and a claim link for its person. Until the person claims it, the account gets 1 free check a day and can order a Findings and pay for it.
    curl -X POST https://agentdrives.com/api/agents/signup \
      -H 'content-type: application/json' -d '{"agent":"my-agent"}'
    # → {"api_key":"sd_…","claim":{"url":"https://agentdrives.com/claim#t=…"},"limits":{…}}
    
    # With an email address instead: a 6-digit code, then a key
    curl -X POST https://agentdrives.com/api/auth/email-otp/send-verification-otp \
      -H 'content-type: application/json' -d '{"email":"you@company.com","type":"sign-in"}'
    curl -X POST https://agentdrives.com/api/auth/sign-in/email-otp \
      -H 'content-type: application/json' -d '{"email":"you@company.com","otp":"123456"}'
    curl -X POST https://agentdrives.com/api/auth/api-key/create -H 'authorization: Bearer <token>' \
      -H 'content-type: application/json' -d '{"name":"my-agent"}'
  3. Verify your domainClaim your domain and prove it's yours: an account email on the domain, which verifies at once, a code mailed to any address at the domain, a DNS TXT record, a meta tag on the home page or a file at /.well-known/agentdrive-verify.txt. Every order for your own product needs this first. The claim's answer has your token and the next call for each way.
    curl -X POST https://agentdrives.com/api/claims -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"domain":"yourproduct.com"}'
    # → {"claim":{"id":"…","token":"agentdrive-verify=…"},"methods":{"dns":…,"meta":…,"file":…,"email":…}}
    # Add the TXT record _agentdrive.yourproduct.com with the token, then:
    curl -X POST https://agentdrives.com/api/claims/<id>/verify -H 'x-api-key: sd_…'
    # Or a code by mail to any address at the domain:
    curl -X POST https://agentdrives.com/api/claims/<id>/email -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"local":"admin"}'
    curl -X POST https://agentdrives.com/api/claims/<id>/verify -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"code":"123456"}'
  4. Check a productFree and private: what an agent finds without a browser and where it would likely stop.
    curl -X POST https://agentdrives.com/api/orders -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"product":"free","url":"https://yourproduct.com"}'
    # → {"order":{"id":"…"}}; a few minutes later:
    curl https://agentdrives.com/api/orders/<id>/report -H 'x-api-key: sd_…'
  5. Order"product": "drive" orders Findings, "product": "report" a Full report and "product": "audit" an Audit. A domain you haven't verified yet gets 403 claim_not_verified, with every way to verify it. Every error carries a fix field with the next call.
    curl -X POST https://agentdrives.com/api/orders -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"product":"drive","url":"https://yourproduct.com","business":true}'
    # → {"order":{"id":"…"},"payment":{…}}
  6. Pay without a personThe Findings's payment URL answers 402 with MPP and x402 challenges. Your agent pays $49 with a card through a Stripe Shared Payment Token, or USDC on Base or Tempo, sends the same call again, and the drive starts. The price includes any VAT, and every payment has a receipt. An EU business that sends its VAT ID as buyer.vat_id gets our invoice. A person can pay by card instead.
    curl -i -X POST https://agentdrives.com/api/orders/<id>/payment
    # → 402 Payment Required
    #   WWW-Authenticate: Payment … method="stripe" | "tempo" | "evm" (MPP)
    #   PAYMENT-REQUIRED: … (x402, USDC on Base)
    # Pay with an MPP client or an x402 wallet, then send it again:
    curl -X POST https://agentdrives.com/api/orders/<id>/payment -H 'authorization: Payment <credential>' \
      -H 'content-type: application/json' -d '{"buyer":{"vat_id":"DE123456789"}}'
    # → 200 {"order":{"status":"paid"},"payment":{…,"receipt_url":…}} and a Payment-Receipt header
  7. Pay per callA search with no limit, $0.01 a call: top up $5 for 500 calls over HTTP 402, then send the key it gives you.
    curl -i -X POST https://agentdrives.com/api/credits/topup -H 'idempotency-key: <uuid>' \
      -H 'content-type: application/json' -d '{"amount_usd":5}'
    # → 402 with MPP and x402 challenges; pay, send it again with the credential
    # → 200 {"api_key":"sd_…","credit":{…}}
    curl -X POST https://agentdrives.com/api/paid/find-tools -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"task":"send an invoice"}'
  8. LeaveTwo calls: the first gives a confirm token, the second sends it back within 5 minutes and deletes the account. Every key stops working at once.
    curl -X POST https://agentdrives.com/api/auth/delete-user -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{}'
    # → 202 {"confirm":"required","token":"…","expires_at":"…"}
    curl -X POST https://agentdrives.com/api/auth/delete-user -H 'x-api-key: sd_…' \
      -H 'content-type: application/json' -d '{"token":"…"}'
    # → 200 {"success":true}