The console
app.mapier.ai — where keys are minted, lines are requested, the sandbox lives, and every event and command is on the record.
Everything the API does is visible in the console at app.mapier.ai, and a few things can only be done there: minting a key, requesting a live line, and holding the sandbox phone. Sign in with an email code, Google or GitHub; two-factor authentication is under Account → Security.
Organizations and projects
An organization holds people and billing; a project holds everything
the API touches. Members are member (read-only), developer (can write
project resources) or admin (everything, including access and billing), and
an organization keeps at least one admin. A project can be opened by every
admin and by the members listed under its Settings → Access.
Every project surface exists twice, once per environment — the toggle in the header switches the whole console between live and test, and a page never mixes the two. In test, a project comes with a sandbox already provisioned.
The project's screens
| Screen | What it holds |
|---|---|
| Get started | Six rungs from "create a test key" to "receive your first message", each ticked from what the project has actually done, and a quickstart with the curl / Node fetch / Node SSE snippets for this project. The snippet never prints a key. |
| Keys | API keys per environment: create (the plaintext is shown once), name, expiry, last used, revoke. |
| Contacts | Everyone the project has messaged or been messaged by, with the line each is pinned to. In test the roster is the sandbox's cast. |
| Conversations | Every thread, with a needs-attention filter, the composer (which sends through the same path /v1 does), and an inspector naming the line. Attachments are downloaded from here. |
| Lines | The project's lines — a live line's relay health and capacity, and Request a line for a project that needs another. A live line is provisioned by Mapier's operations team after the request, not by an instant API call. |
| Webhooks | Endpoints per environment, their subscriptions, the signing secret (shown once, rotatable), and every delivery with a Retry. |
| Events | Everything the project has emitted, newest first, with the type printed exactly as your handler matches on it, a filter by type, and an inspector showing the payload and the webhook deliveries it produced. |
| Commands | The ledger of every command that settled — the command.settled rows of the stream as a table, faceted by status and type, with the error code beside the word and a link to the thread. |
| Sandbox | The test environment's phone: the contact's handset, the roster with each contact's delivery mode and auto-reply, the world's delivery delay, its daily budget, the newest events, the ledger of every command, and Reset world. |
| Usage | Messages sent, received and failed per day, per environment. |
| Settings | The project's name and slug, access, API keys, and the danger zone (archive). |
Under the organization: Members and Invitations, Billing, and the Audit log of who did what — every key minted, every line requested, every endpoint rotated.
Live updates
The console listens to a stream of its own and refetches what a hint names, so a settlement or an inbound message appears on the Conversations, Sandbox, Events and Commands screens within a second or two of the API recording it, without a reload. Nothing content-bearing travels on that channel; it is a nudge to re-read through the same permission checks a reload would go through.