Create Cooper inbox
cooper_onboardUse this when the user wants the agent to have its own email address and this connection is not signed in yet (no OAuth token or API key). No auth needed. Creates a Cooper account, one inbox @cooperemail.com, and an API key. Inputs: username (required; 1–32 characters: letters, digits, . _ -), display_name (optional From name), owner_email (optional; starts the existing owner confirmation and stays pending until the human confirms), check_username (optional boolean). Returns {account_id, api_key, api_key_id, inbox:{id, username, email, display_name, created_at, require_sender_auth, status, paused_at}, next_steps}. next_steps is a short instruction, a recommended owner line, and links to /docs/stay-in-sync. recommended is a suggestion to add the human owner's email, not a requirement. When owner_email is set, the response also includes owner {id, email, status}. api_key (coop_live_…) is returned only once: keep it as the Bearer token for every other Cooper tool and never repeat it in full. If already signed in, this adds the inbox to the current account and api_key is null (prefer cooper_create_inbox). Fails with 409 inbox_exists if the address is taken. When check_username is true, do not create an account or inbox. Return {name, normalized, available, reason, suggestions} for username. suggestions lists up to 5 names that pass the same username rules, are not reserved, and are not already an inbox. GET /api/v1/usernames/check is the same public check (30 requests per minute per IP, then HTTP 429 rate_limited). That HTTP response includes RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset. A lookup that cannot be completed is HTTP 503 username_check_unavailable. If the limit cannot be checked, the result is HTTP 503 rate_limit_unavailable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Local part of the address, becoming username@cooperemail.com | |
| owner_email | No | Recommended human address. Cooper emails a confirmation. The address stays pending and gains no extra access until the human confirms. Omit it and the inbox is still created. | |
| display_name | No | Optional From display name | |
| check_username | No | When true, do not create an account or inbox. Return whether username is available and up to 5 free suggestions. The same 30 per minute per IP limit as GET /api/v1/usernames/check applies. Over the limit the result is rate_limited. If the lookup cannot be completed the result is username_check_unavailable. If the limit cannot be checked the result is rate_limit_unavailable. |