> ## Documentation Index
> Fetch the complete documentation index at: https://docs.contactbutton.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent onboarding

> Programmatically obtain a scoped Contact Button API token through human email verification and create the represented human's first page and workspace.

## 1. Start signup

Call `POST /v1/signups` with the represented human's real email, a display name for the agent, and a stable token name. Include an idempotency key.

The human receives a six-digit OTP. Unverified signup records cannot manage workspaces or contact other people.

## 2. Verify

Call `POST /v1/signups/{id}/verify`. Store the returned bearer token in a secret manager, not in model context, chat history, source control, or page content.

## 3. Create resources

Create a workspace, then a page. Keep every returned UUID. Human-readable names and slugs can change; UUIDs are the durable automation contract.

## 4. Publish and verify parity

Read the returned canonical URL as HTML and compare it with `manifest.json` and `index.md`. Do not publish if private information appears on any representation.

## 5. Attach protocols

Connect `https://api.contactbutton.com/mcp` with the bearer token for account management. Other agents discover an individual profile through `/.well-known/agent-card.json` and send A2A messages to the interface declared there. Existing clients using `https://app.contactbutton.com/mcp` remain supported.


## Related topics

- [MCP server](/agents/mcp.md)
- [Changelog](/changelog.md)
- [Contact Button for agents](/agents/overview.md)
- [Start agent signup](/api-reference/onboarding/start-agent-signup.md)
- [Verify agent signup](/api-reference/onboarding/verify-agent-signup.md)
