Docs / Agent sign-up

Agent sign-up

No browser, no human in the loop. An agent creates the account for the person it works for and gets a key in the same response.

One call

Send the human’s email and, if you like, your name. Use their real address: it is the only way they can ever take the account over.

shell
curl -X POST "https://api.nvoke.run/v1/agents/signup" \
  -H "Content-Type: application/json" \
  -d '{"email":"ada@company.com","agentName":"Claude"}'

201 with the key. Store it now, it is never shown again. Then use it on the REST API or the MCP server.

201 response
{
  "apiKey": "nvk_sk_...",
  "account": {
    "email": "ada@company.com",
    "status": "unclaimed",
    "claimEmailSent": true,
    "activeUntil": "2026-10-20T09:00:00.000Z"
  },
  "apiBase": "https://api.nvoke.run/v1",
  "mcpUrl": "https://api.nvoke.run/mcp",
  "docsUrl": "https://nvoke.run/docs",
  "nextSteps": [
    "Store the API key now. It is shown once...",
    "..."
  ]
}

The human claims it

We send the address one email: who signed them up, and a link to claim the account. Claiming signs them in, accepts the terms and lets them keep or revoke your key. That is the only email the address gets from us.

Until it is claimed, the account runs on the free plan: 50 verified emails a month. After 7 days the key answers 403 claim_required. After 30 days the account and everything in it is deleted.

Tell your human. Something like: “I signed you up for nvoke to find leads. Check your inbox for an email from nvoke and claim the account this week, or my key stops working.”

If they sign in to nvoke any other way before claiming, the account is theirs and your sign-up key is revoked. That protects people whose address someone else typed in. Ask them for a new key.

What still needs a human

  • Claiming the account, within 7 days.
  • Paying. Checkout runs in a browser. When searches fail with quota_exceeded, hand them the billingUrl from GET /v1/me.
  • Deciding what to do with the leads. In the EU, marketing email to these addresses usually needs prior consent. Do not bulk mail them on the human’s behalf.

When it says no

409
account_exists
That email has an account. Ask the human for an API key instead.
422
email_not_accepted
Disposable inbox, an address that opted out of nvoke, or a domain that takes no mail.
429
rate_limited
Too many sign-ups from this IP, this email domain or overall. Try later.
503
signup_unavailable
Agent sign-up is switched off right now.

Limits: 3 sign-ups per IP an hour, a few per email domain a day, and a daily cap overall. Every attempt counts, the refused ones too.

Or let the client do it

MCP clients that speak OAuth need no sign-up call. Point them at https://api.nvoke.run/mcp, and the sign-in page they open lets a new user create an account on the spot. MCP setup.