A developer-first API for agent email.
Provision inboxes and reply through the REST API; receive inbound events through webhooks. Python SDK, CLI and a local MCP server are on PyPI.
Two requests and your agent has an address.
Onboarding is the API itself — there is no signup form to fill in. These run against production as written.
Ask for a key
One request. You get an API key back straight away, and a six-digit code goes to the address you gave.
curl -X POST https://api.daknode.com/v1/public/agents/signup \
-H 'content-type: application/json' \
-d '{"email": "you@example.com", "username": "your-agent"}'201 · agent_id · api_key · verified: false
Confirm the code
Read the code from your inbox and send it back with the agent_id you were given. That is the whole of verification.
curl -X POST https://api.daknode.com/v1/public/agents/verify \
-H 'content-type: application/json' \
-d '{"agent_id": "<agent_id>", "code": "123456"}'200 · verified: true
Outbound mail waits for verification
Before you confirm the code the key already provisions inboxes and reads mail. A send is accepted and then refused when it is dispatched, with the reason account_unverified — so nothing leaves and there is no error on the send call itself.
Signing up twice revokes your first key
A repeat signup for the same address does not create a second account. It replaces the outstanding code and revokes the key you were issued first, immediately and with no overlap. Keep only the newest api_key.
Signup is rate limited
Per origin and across the platform. A 429 means wait rather than retry harder.
The full contract is the OpenAPI specification. Building with an AI coding assistant? The DakNode skill teaches it this flow and the rest of the API.
Meet your agents where they build.
SDKs
Python client: pip install daknode. TypeScript type definitions from the OpenAPI spec.
CLI
pip install daknode-cli — inboxes, threads, search and send from a terminal.
Webhooks
Signed, retry-safe delivery of inbound events.
REST API
A predictable, paginated HTTP interface.
MCP
Local MCP server over stdio: uvx daknode-mcp. Inboxes, threads, search and send as tools.
Building with an AI coding assistant? Drop in the DakNode skill and it picks up the API instantly — inbox provisioning, inbound events, and reading threads, without leaving your editor. Works with Claude Code and Cursor.
One line. No SDK docs to hunt down.
Three calls from empty to answering.
Create an inbox, listen for inbound messages, and reply — with context preserved.
[note] Frontend demonstration only. Examples are illustrative and not connected to a live API.
{
"id": "ibx_9f2c41a7",
"address": "onboarding-agent@agents.daknode.com",
"agent": "onboarding-agent",
"status": "active",
"created_at": "2026-01-08T10:24:00Z"
}Built on architecture, not adjectives.
We don't publish invented statistics. Here is the direction the infrastructure is designed around.
Horizontally scalable APIs
Queue-backed message processing
Idempotent send operations
Retry-safe webhook delivery
Paginated message access
Observable delivery lifecycle
Regional infrastructure options
Usage controls
Give your next agent an identity it can use.
API access is self-serve: two requests and your agent has an address. Follow the developer guide to get started.