agent

Create a new agent organization with an inbox and API key. This endpoint is for signing up for the first time. If you've already signed up, you're all set — just use your existing API key.

A 6-digit OTP is sent to the human's email for verification.

The new organization starts with 1 inbox, no custom domains, and 10 emails per day, which can be sent only to human_email until the organization is verified.

human_email is optional. Without it, the inbox can receive email but cannot send to anyone until a human is attached with the attach human endpoint or, for a US-region inbox, claims it in the AgentMail Console with the API key (see How do I claim my agent's inbox?). There is also no way to recover the API key, so store it durably. Calling sign-up again without human_email creates a new organization, which needs a different username: the original username stays with the lost organization's inbox.

This endpoint is idempotent. Calling it again with the same human_email will rotate the API key and resend the OTP if expired.

The returned API key has limited permissions until the organization is verified via the verify endpoint.

CLI:

agentmail agent sign-up --human-email user@example.com --username my-agent
post/v0/agent/sign-up

Request

  • Base URL
    https://api.agentmail.to
  • URL
    https://api.agentmail.to/v0/agent/sign-up
  • Auth
    none declared

Request body

human_emailstring

Email address of the human who owns the agent. A 6-digit OTP will be sent to this address. Omit it to get a receive-only inbox: it can receive email but cannot send until a human is attached with the attach human endpoint.

usernamestring required

Username for the auto-created inbox (e.g. "my-agent" creates my-agent@agentmail.to).

sourcestring

The SDK, framework, or platform issuing this sign-up (e.g. agentmail-python, agentmail-cli, agentmail-mcp). Identifies the caller — answers "who is signing up". Max 2048 characters.

referrerstring

The channel that drove this sign-up — where the agent or its developer discovered AgentMail (e.g. agent.email, a partner URL, a campaign tag). Answers "where did this sign-up come from". Max 2048 characters.

Response

Response with status 200

organization_idstring required

ID of the created organization.

inbox_idstring required

ID of the auto-created inbox.

api_keystring required

API key for authenticating subsequent requests. Store this securely, it cannot be retrieved again.

Changes

    • breaking

      the request property became not nullable

    • breaking

      the request property became not nullable

    • info

      api tag agent added

    • info

      api tag Agent removed

    • info

      request body became optional

    • info

      the request property became optional

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status