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.
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.
{
"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 thebillingUrlfromGET /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.