Overview
Last 14 days
Received SentSee the numbers
| Day | Received | Sent |
|---|
Machinery
When each background job last proved it ran.
Deliveries needing attention
Events a tenant's system is still owed, or that gave up in the last seven days. Retry now puts one back in the cron's path immediately — for when their endpoint is fixed and the backoff shouldn't be waited out.
| Tenant | Event | Message | Attempts | Last status | State |
|---|
Tenants near their spend caps
| Tenant | Period | Used | Cap |
|---|
Recent failed messages
| When | Tenant | To | Why |
|---|
—
Integration
Numbers
Inbox users
What their system was told lately
| When | Event | Message | Attempts | Status | State |
|---|
Service
Identity & numbers
Integration
Replies & hours
Limits & history
Rate card
Phone
Carrier calling
Operator notes
Danger zone
Deleting a tenant revokes its API key at once and removes everything under it — its users and their sessions, messages and attachments, contacts, notes, templates, push registrations, opt-outs and usage ledger — in one step, and orphans its inbound numbers. You will be asked to type the tenant's name. Time Travel is the only way back, for thirty days.
Numbers that replied STOP to this tenant. Removing a row records consent given somewhere this gateway cannot see — it is your assertion, not a way to resume messaging someone who asked you to stop.
| Number | Stopped hearing from | Word | When |
|---|
Tenants
API keys come from the PBX. They are created and rotated
there and copied over by import_tenants.py; rotating
one here would leave calls on the old key while SMS demanded the
new one. Adding a tenant here is for an SMS-only customer with no
PBX tenant.
| Tenant | Numbers | SMS | Forwarding | Last activity | History | Limit |
|---|
Logs
Every message the gateway has carried, newest first — filter by tenant, business number (DID), customer number (CID), direction or status. What people wrote is never shown here — this ledger is metadata only: who, when, size, outcome. CRM is the delivery ledger's verdict on telling that tenant's system about it. Times are UTC; history reaches back as far as each tenant's retention keeps it. Click a row for the delivery story.
| When | Tenant | From → To | Content | Status | CRM |
|---|
Inbox users
Who may sign in to the tenant portal, and as whom. People sign in with an email and password only — the workspace follows from the credential. The same address may exist in several tenants as separate accounts with separate passwords; a sign-in then opens whichever ones its password actually matches. Passwords are written here and never read back.
Waiting for a reset link
This gateway has no mail server, so you are the delivery mechanism. Issue a link and send it however you already talk to that customer. It is good for four hours, works once, and ends every session that account had.
| Asked | Times |
|---|
| Workspace | Role | Last signed in |
|---|
Billing
The usage ledger priced with each tenant’s own rate card. Rates are set per tenant under Tenants → Edit; there is deliberately no gateway-wide default price, because a default would invoice a customer at a rate nobody agreed to.
| Tenant | Sent (billable) | Received | MMS | Total | Status |
|---|
Numbers
Every phone number this gateway answers for, across all tenants. A number sending real volume with no 10DLC campaign is on borrowed time — carriers filter unregistered traffic harder every quarter, and this table is where that shows before it hurts.
Search & order
What the carrier has for sale, by area code or by city and state. An order completes in seconds to minutes; a landed number joins the tenant's list on its own the next time its order is checked.
BANDWIDTH_ACCOUNT_ID,
BANDWIDTH_DASH_USER, BANDWIDTH_DASH_PASS
(a secret), BANDWIDTH_SITE_ID and
BANDWIDTH_PEER_ID on the Worker and reload.| Number | City | State | Rate center |
|---|
Orders
| Placed | Number | Tenant | Status |
|---|
| Number | Tenant | Campaign | In (30d) | Out (30d) | Status |
|---|
Operators
Who may administer this gateway. The admin key is one shared
bearer token with no name on it — it cannot be given to one
person and taken back from another, and everything done with it
is recorded as key. An operator account can be
disabled on its own, and everything they change carries their
email in the audit trail.
Your sign-in
Second factors for . A passkey signs you in with no password at all — your device checks a fingerprint, face or PIN and proves itself to this console; there is nothing to phish. The authenticator code guards the password door.
Add this key to your authenticator app (paste it, or open the link on your phone), then enter the six digits it shows.
A passkey works only on this console's own address — that binding is what makes it unphishable. Enroll one per device you sign in from.
| Name | Status | Last signed in |
|---|
Audit
Every change made through this console and the operator API, with who made it. Reads are not recorded — they would bury the writes, and the writes are what anyone goes looking for.
| When | Who | Did what | To | Detail |
|---|
Opt-outs
A number here replied STOP and cannot be messaged from the number shown until it replies START. Removing a row records consent given somewhere this gateway cannot see — a form, a phone call — and is your assertion, not a way to resume messaging someone who asked you to stop.
| Number | Stopped hearing from | Word | When |
|---|
Usage
Billable messages per tenant for one month. A message counts when the provider accepted it, delivered or not; a webhook retry counts nothing twice. Months roll over in the gateway's own timezone.
| Tenant | Sent | Segments | Sent MMS | Received | Received MMS |
|---|
Response times
For every inbound message in the last 30 days: minutes until the thread's next outbound reply, averaged per tenant. The one number that says whether an inbox is being worked or merely filling.
| Tenant | Answered | Avg. minutes to reply |
|---|
Webhook deliveries
Every event owed to this tenant's CRM endpoint: delivered, still being retried (with the next attempt's time), or dead after a day of refusals. Dead rows are the "their integration is broken and nobody noticed" alarm.
| When | Event | Message | Attempts | Status | State |
|---|