Search the docs

Find a page, a section, or an endpoint.

Agent signup

Every agent signup endpoint, generated from the API's own schemas.

Sign an agent up

post/api/v1/agent/signup

The one call in this API that needs no key. An agent names a username and, optionally, the human who will own the mailbox; a six-digit code goes to that human and **nothing is created until it comes back**. Without a `human_email` the name is reserved and dormant — attach one with `POST /agent/human`.

Body

  • usernamestringrequired
  • human_emailemailrequired
  • sourcestring | null

Responses

  • 201The pending signup.
  • 401No API key, or one that is not valid.
  • 404No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
  • 429Rate limited. `X-RateLimit-Reset` says when to retry.
bash
curl https://pidgeon.ai/api/v1/agent/signup \
  -X POST \
  -H "Authorization: Bearer $PIDGEON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ … }'

Generated · public/openapi.json

Name the human for a signup

post/api/v1/agent/human

For a signup that named none. Sends a fresh code and restarts the clock.

Body

  • signup_iduuidrequired
  • human_emailemailrequired

Responses

  • 200The pending signup.
  • 401No API key, or one that is not valid.
  • 404No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
  • 429Rate limited. `X-RateLimit-Reset` says when to retry.
bash
curl https://pidgeon.ai/api/v1/agent/human \
  -X POST \
  -H "Authorization: Bearer $PIDGEON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ … }'

Generated · public/openapi.json

Verify an agent with the human’s code

post/api/v1/agent/verify

Creates the account and the address. Ten wrong codes spend the signup, whatever comes next. It returns no key: the agent asks for one through the account it now belongs to, which is how every other key is made.

Body

  • signup_iduuidrequired
  • codestringrequired

Responses

  • 200The address.
  • 401No API key, or one that is not valid.
  • 404No such resource, **or** one belonging to another account. The two are deliberately indistinguishable: a different answer would enumerate what exists.
  • 429Rate limited. `X-RateLimit-Reset` says when to retry.
bash
curl https://pidgeon.ai/api/v1/agent/verify \
  -X POST \
  -H "Authorization: Bearer $PIDGEON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ … }'

Generated · public/openapi.json