chobitmail
DocsAPI Docslogin

Getting started

chobitmail is a one-time email receiving API for E2E tests. Issue a disposable address per test and receive OTPs and confirmation links as JSON.

This page walks you through signup to your first successful receive.

1. Account and API key

  1. Sign in with GitHub (no credit card required)
  2. Create an API key in the dashboard
  3. Copy the key shown (cbm_live_... format) right away

API keys are scoped to a team. Quotas (concurrent active inboxes, daily creates, daily receives) are also team-scoped.

Storing the key in an environment variable is convenient. Treat it as a secret and handle it carefully.

export CHOBITMAIL_API_KEY=cbm_live_...

2. Create a one-time address

curl -s -X POST https://chobitmail.com/api/inboxes \
  -H "Authorization: Bearer $CHOBITMAIL_API_KEY"

Example response:

{
  "id": "v56m2aq5ly17piq3",
  "address": "v56m2aq5ly17piq3@chobitmail.com",
  "createdAt": "2026-07-17T07:30:00.000Z",
  "expiresAt": "2026-07-17T07:40:00.000Z"
}
  • address : email address to enter in the app under test
  • id : inbox ID for later API calls
  • expiresAt : after this time, the address and messages are deleted automatically

3. Send email from your app

Send email to the one-time address created via /api/inboxes.

4. Wait for delivery

Use the /api/inboxes/<inbox id>/messages/wait API to wait until a message arrives.

curl -s "https://chobitmail.com/api/inboxes/v56m2aq5ly17piq3/messages/wait" \
  -H "Authorization: Bearer $CHOBITMAIL_API_KEY"

Example response:

{
  "message": {
    "id": "k2x9m4p7q1w8e5r3",
    "from": "noreply@myapp.example",
    "subject": "[MyApp] Your verification code",
    "text": "Your verification code is 482913.",
    "html": "<p>Your verification code is <b>482913</b>.</p>",
    "links": ["https://myapp.example/verify?token=abc123"],
    "codes": ["482913"],
    "attachments": [],
    "receivedAt": "2026-07-17T07:30:00.000Z"
  }
}

For OTP input tests, use message.codes[0]. For link confirmation, use message.links[0].

5. Delete the one-time address

On the free tier, concurrent inboxes are limited. Deleting after a test frees the slot immediately.

curl -s -X DELETE https://chobitmail.com/api/inboxes/v56m2aq5ly17piq3 \
  -H "Authorization: Bearer $CHOBITMAIL_API_KEY"

Inboxes are also deleted when the TTL expires. The official Playwright fixture DELETEs automatically per test.

Next steps

Goal Docs
Endpoints overview, errors, Message shape API guide (Japanese)
Interactive OpenAPI UI /api/docs
A few lines of Playwright tests Playwright (Japanese)
Raise free-tier limits Sender domain verification (Japanese)