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 24 October 2026Wall Browser-only sign-upFor agents Markdown

What agents hit

97 of 151 products stop an AI agent at the door.

At 92 of them, sign-up itself was the first step our agent couldn't pass. At 81 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 34 of 151 products the key had to be copied from a dashboard in a browser, and our agent got a key without a browser at 13 of 151.

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

6 of 151 products let our agent sign up without a browser: AgentMail, Cloudinary, DocuSeal, Penpot, PlanetScale and 1 other.

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.

  • Free, after a fix. Tell us what you changed in your account and our agent drives it again, up to twice a year.
  • An Audit Drive, $499. We drive you again after your fixes, within your Audit year. A certificate once an agent can use it fully with no person.

Where our agent stopped in each.

4 products in this guide, by level.

  • AgentMailEmail infrastructure
    • Learn: Docs it can act on: llms.txt, an OpenAPI and an MCP server.
    • Access: Key by API.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: An agent payment for part of its API, none made yet.
    • Leave: Nothing to cancel; its account stays.
    L4Runs on its ownDriven 14 Oct 2026
  • CloudinaryFile storage
    • Learn: Docs with gaps: 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; its account stays.
    L4Runs on its ownDriven 6 Oct 2026
  • DocuSealE-signature
    • Learn: Docs it can act on: 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 ownDriven 6 Oct 2026
  • PenpotDesign
    • Learn: Docs with gaps: llms.txt and an MCP server; no getting-started page.
    • Access: Key by API, sign-up in a browser.
    • Use: 100% of the work.
    • Pay: Reaches the checkout: Stopped at the $14 a month charge.
    • Leave: Leaves on its own: Nothing to cancel, deletes its account.
    L4Runs on its ownDriven 17 Oct 2026

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. 2github.com · auth.mdworkos/auth.md/blob/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.” 24 October 2026. agentdrives.com/guides/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.