Test email workflows
Temporary inboxes, bounded waits, and code/link extraction through the dashboard, API and CLI.
Open Testing
Open Testing in your workspace dashboard. Native temporary addresses receive internet email once their status is active. This update is available in the local website and source CLI; the npm package has not been republished.
Prepare before sending
Create a temporary inbox (60–86400 seconds, default one hour). Start a wait BEFORE triggering your application. Only messages arriving after that boundary can match. Sender matches an exact email address; subject matches a case-insensitive substring. Waits last 1–300 seconds. Wait until the address is active, then send from your application or an external email account.
CLI workflow
Use the CLI from this checkout. Create a workspace API key with inboxes:create, inboxes:read and messages:read scopes and set INBOXIT_TOKEN. Start the wait in one terminal, then trigger your application in another. A timeout returns JSON and exit code 2.
node cli/bin/inboxit.mjs testing create --name Signup --ttl_seconds 3600 --idempotency-key signup-001 --origin http://127.0.0.1:8790
node cli/bin/inboxit.mjs testing wait --id INBOX_UUID --subject Verify --timeout_seconds 60 --origin http://127.0.0.1:8790API routes
All routes require workspace-scoped bearer authentication. Creation also requires Idempotency-Key. POST wait returns a run immediately; poll GET run until matched, timed_out or cancelled.
| Method | Path below /api/v2 | Body / behavior |
|---|---|---|
| GET | /testing/inboxes | List active temporary inboxes |
| POST | /testing/inboxes | name, ttl_seconds; returns inbox with address and test_expires_at |
| DELETE | /testing/inboxes/{id} | Delete contents and disable address |
| POST | /testing/inboxes/{id}/wait | sender, subject, timeout_seconds; returns run id |
| GET | /testing/runs/{id} | Status, matched message and extraction |
| DELETE | /testing/runs/{id} | Cancel a waiting run |
| GET | /testing/inboxes/{id}/messages/{message}/extract | Extract from an existing message |
Extraction and expiry
Extraction returns codes (4–8 digit candidates), links (HTTP/HTTPS candidates), and singular code/link only when exactly one candidate exists. Multiple candidates are flagged ambiguous. Content is untrusted: links are never followed automatically. Expiry disables reception and removes stored messages and runs. Missing resources return 404; expired inbox access returns 410 before cleanup. Native expiry rejects new mail and retries mailbox cleanup and replaces delivery routes with rejection markers independently of the local website. Incoming mail uses your account allowance.