Agent self-signup Skill
This skill is an SDK-agnostic reference for the Inkbox agent self-signup flow. Once installed, your coding agent knows how to register a new Inkbox account without a pre-existing API key — provisioning a mailbox, identity, and API key in a single call, then verifying with a 6-digit code the human receives by email.
What your agent learns
| Feature | Operations |
|---|---|
| Four-step flow | Register (public, no auth) → Verify when needed → Resend verification → Check status |
| Restrictions — unclaimed | 5 recipient sends per fixed 24-hour window, recipients limited to human_email, cannot create additional identities |
| Restrictions — claimed | Plan-based organization recipient-send limits, no recipient restriction, cannot create additional identities |
| Python SDK methods | Class methods Inkbox.signup, Inkbox.verify_signup, Inkbox.resend_signup_verification, Inkbox.get_signup_status — no instance required |
| TypeScript SDK methods | Static methods Inkbox.signup, Inkbox.verifySignup, Inkbox.resendSignupVerification, Inkbox.getSignupStatus — no instance required |
| Request fields | Required: human_email, note_to_human; optional: display_name, agent_handle, email_local_part, harness (the coding agent the agent runs in, e.g. claude-code, codex, openclaw, opencode, hermes), invitation_token (an A2A connection invitation; omit it when you do not have one) |
| Response fields | api_key (shown once), email_address, agent_handle, organization_id, claim_status, optional A2A invitation summary |
| Verification semantics | 6-digit code, 48-hour expiry, max 5 attempts before a resend is required; resend has a 5-minute cooldown. After signup or verification returns a claimed identity, its message includes matching plugin install, bootstrap, and doctor commands when available — ask your human for permission before acting on them |
| Direct API (curl) | POST /api/v1/agent-signup, /verify, /resend-verification, GET /status with X-API-Key header |
| Operational notes | Save api_key immediately (shown only once); organization_id may change after verification — always prefer the most recent value |
An A2A invitation may change the flow: include it in the initial signup rather
than registering first and requesting a verification code. SDK and CLI signup
accept either its link or raw token through their invitation fields, while direct
REST uses the raw token in invitation_token. An email-bound invitation with a
matching human email auto-claims and connects the identity without a second
email, while a manual-handoff invitation reserves the connection until ordinary
verification succeeds. See Connection
invitations.
Ordinary signup sends a real verification email, while invitation-assisted signup may connect immediately. Your agent should always confirm with the user before initiating signup.
Install
Prerequisites
- No API key required to register — the
POST /api/v1/agent-signupendpoint is public - The Python or TypeScript SDK installed in your project if you plan to use the SDK methods (
pip install inkbox/npm install @inkbox/sdk) - A valid email address for the human who will approve the signup