Let agents sign up and get a key without a browser.

Give agents an API call that signs up and returns a key with limits, and let a person claim the account later.

By AgentDrivesUpdated 12 October 2026Wall Browser-only sign-upFor agents Markdown

What agents hit

87 of 140 products stop an AI agent at the door.

At 83 of them, sign-up itself was the first step our agent couldn't pass. At 75 of them a bot check on the form was the reason: let signed agents past it, or give agents the way in below.

Past sign-up, the key is the next wall. At 35 of 140 products the key had to be copied from a dashboard in a browser, and our agent got a key without a browser at 15 of 140.

The fix our drives gave owners, in their words:

The fix, step by step

  1. Add a sign-up call.

    One POST with an email address creates the account and sends a code to that address. The agent reads the code and sends it back, all over the API.

    POST /v1/signup        {"email": "agent@example.com"}
    POST /v1/signup/verify {"email": "agent@example.com", "code": "…"}
    → 201 {"api_key": "…", "scope": "free"}
  2. Return a key with limits.

    The first key works on a free plan or a sandbox: small quotas, no money, nothing that reaches other people. Raise the limits once a person claims the account. Neon does this: an unclaimed database works at once, with small limits, and expires after 72 hours unless someone claims it.1

  3. Let a person claim it.

    The agent hands its person a short code or a link, and the person signs in and takes the account over. In auth.md the person types the agent's code once signed in,2 within 10 minutes2. Vercel's claim link for a deployment is a code valid for 24 hours.3

  4. Publish it where agents look.

    auth.md puts an agent_auth block in your OAuth server's metadata, at <authorization server>/.well-known/oauth-authorization-server2, with the ways an agent may register and the endpoint it POSTs to.2 Link the sign-up call from your llms.txt and your API docs too.

  5. Make keys from the API or CLI.

    Once signed in, an agent makes, lists and revokes its own scoped keys over the API. Where a person must approve, use the device flow: the agent shows a code, the person approves it once on any device.4

Who already does it

7 of 140 products let our agent sign up without a browser: AgentMail, Basecamp, Cloudinary, DocuSeal, Penpot and 2 others.

Check it yourself

  1. Sign up from a terminal.

    Use a new email address. You want the account and a code in the inbox, with no browser.

    curl -s -X POST https://api.example.com/v1/signup \
      -H "content-type: application/json" \
      -d '{"email": "new-agent@example.com"}'
  2. Use the key on a real call.

    The first call that creates something should work with the new key.

    curl -s https://api.example.com/v1/projects \
      -H "authorization: Bearer $API_KEY"
  3. Read your metadata like an agent.

    If you publish auth.md, the block is here.

    curl -s https://example.com/.well-known/oauth-authorization-server | jq .agent_auth

Written by our agents from our drives and the vendors' own docs. How we write.

Fixed it? Drive it again.

Our agent drives your product again, and you see how far it gets now.

  • A Drive, $49. One drive any time: your level, where an agent stops and the next fixes.
  • A Monthly drive, $29 a month. We drive it every month and tell you when the place an agent stops changes.

Where our agent stopped in each.

8 products in this guide, by level.

  • AgentMailEmail infrastructure
    • Find: Docs for agents: llms.txt, an OpenAPI and an MCP server; a docs page for each core task.
    • Access: Key by API.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: An agent payment on its API, none made yet.
    • Leave: Nothing to cancel: Can't delete its account.
    L4Runs on its own
  • AirtableDatabases
    • Find: Some docs for agents: llms.txt and an MCP server.
    • Access: MCP sign-in, sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the $24 a month charge.
    • Leave: Leaves on its own: Nothing to cancel, deletes what it made.
    L4Runs on its own
  • BasecampProject management
    • Find: Some docs for agents: An OpenAPI and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the card form.
    • Leave: Leaves on its own: Cancels on its own, deletes its account.
    L4Runs on its own
  • CloudinaryFile storage
    • Find: Some docs for agents: llms.txt and an MCP server.
    • Access: Sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Payment not reached.
    • Leave: Nothing to cancel: Can't delete its account.
    L4Runs on its own
  • DocuSealE-signature
    • Find: Some docs for agents: llms.txt and an OpenAPI.
    • Access: Key by API.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the card form.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L4Runs on its own
  • ActiveCampaignEmail marketing
    • Find: Docs for agents: yes: llms.txt, an OpenAPI and an MCP server.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a person
  • Acuity SchedulingScheduling
    • Find: Some docs for agents: partly: llms.txt and an OpenAPI.
    • Access: Signs up sometimes: partly.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a person
  • AmplitudeProduct analytics
    • Find: Docs for agents: yes: llms.txt, an OpenAPI and an MCP server.
    • Access: Can't sign up: no.
    • Use: Work not reached: not reached.
    • Pay: Payment not reached: not reached.
    • Leave: Leaving not reached: not reached.
    Can't sign up on its own: a bot check stops it
    L1Needs a person

Pages this guide cites.

As linked when it was written. ↩ goes back to where the text cites it.

  1. 1neon.com · Claimable Postgresdocs/reference/claimable-postgres↩
  2. 2raw.githubusercontent.com · auth.mdworkos/auth.md/main/AUTH.md↩
  3. 3vercel.com · Claim deploymentsdocs/deployments/claim-deployments↩
  4. 4rfc-editor.org · RFC 8628, Device Authorization Grantrfc/rfc8628.txt↩

Asked about this guide.

Won't bots sign up by the thousand?

Limit what an unclaimed account can do: a small quota, no sending to other people, no money, an expiry date. Rate-limit sign-ups per email domain and per signer. A person's claim lifts the limits.

Do we still need the email code?

Yes. It ties the account to an inbox the agent controls, and an agent with its own inbox reads it in seconds.

Cite this

AgentDrives. “Let AI agents sign up and get an API key.” 12 October 2026. agentdrives.com/fixes/let-agents-sign-up-and-get-a-key

Drive data is CC BY 4.0. The text as Markdown. Every fact with its evidence.

More from the drives.