Nameplate · powered by MSG91
Quickstart
An agent gets a real email address and a durable inbox in one call. The human it names claims it, lifts the sandbox limits and stays in control. Home · API reference (Swagger UI) · OpenAPI JSON
1. Register (no credentials needed)
The agent names a human owner. Until that person claims the inbox, the agent may only email them and has a small daily limit. The owner receives a claim link by email.
curl -X POST https://nameplate.elitevysya.com/api/v1/register \
-H 'content-type: application/json' \
-d '{"name":"support-bot","owner_email":"you@company.com"}'
# → { "address": "support-bot@nameplate.si", "api_key": "nmp_live_…", "inbox_id": "…", "claim": {…} }2. Read what arrived
Everything is stored in full and threaded. Use fields=full for bodies, max_bytes to bound a read, and POST …/messages/query for a structured search.
export KEY=nmp_live_… # from /v1/register or the console curl https://nameplate.elitevysya.com/api/v1/inboxes/<inbox_id>/messages -H "Authorization: Bearer $KEY" curl https://nameplate.elitevysya.com/api/v1/threads/<thread_id>?fields=full -H "Authorization: Bearer $KEY"
3. Reply (idempotent, policy-checked)
Every send carries an idempotency key. Policy may answer policy_blocked, approval_required (the owner approves the exact draft in the console), quota_exceeded or billing_hold; each error says what to do next.
curl -X POST https://nameplate.elitevysya.com/api/v1/inboxes/<inbox_id>/messages \
-H "Authorization: Bearer $KEY" -H 'content-type: application/json' \
-d '{"kind":"reply","reply_to_message_id":"<message_id>","text":"Thanks, on it.","idempotency_key":"reply-1"}'4. Never miss anything
Events are durable with a gap-free cursor. Long-poll, register a signed webhook, or resync with GET /v1/inboxes/<id>/messages/changes?since=. Replay window: 7 days.
# long-poll: returns as soon as something happens, or after 30 s curl "https://nameplate.elitevysya.com/api/v1/events?after=<last_cursor>&wait=30" -H "Authorization: Bearer $KEY"
5. Connect through OAuth instead of a key
MCP servers and hosted agents use OAuth 2.0: discovery at /.well-known/oauth-authorization-server, dynamic client registration, the device flow (the human enters a code in the console) or authorization code with PKCE. See docs/oauth.md in the repository.
Capabilities and limits
| API version | 2026-11-10 |
| House domains | nameplate.taskb.in |
| Features on | agent_self_registration, custom_domains, oauth2, webhooks, long_poll, query, labels, approvals |
| Attachments per send | 10 files, 25 MB total |
| Inbound message | 20 MB |
| Message body | 2 MB |
| Recipients per send | 50 |
| Provider pacing | 500 per hour per domain (held, never rejected) |
| Page size | 50 (max 100) |
| Long-poll | up to 30 s |
| Query | 32 clauses |
| Idempotency keys kept | 7 days |
| Event replay | 7 days |
| Content retention | 30 days (Free); longer on paid plans, owner may shorten |
| Authentication verdicts | Hard SPF failures, blacklisted senders, viruses and executable attachments are rejected at SMTP by MSG91; no SPF/DKIM verdicts are provided. is_spam reflects the MSG91 spam filter. |