Skip to content

Manage your workspace

A workspace is the tenant boundary. Everything captured, every key, every member and every alert belongs to exactly one, and nothing crosses between them. Workspace administration lives on the Organization page, and keys on the Keys page.

There are three, and a person has exactly one.

ownermemberviewer
See every dashboard page, traces includedYesYesYes
Create and revoke ingest keysYesYesNo
Acknowledge alertsYesYesNo
Create, cancel and schedule datasetsYesYesNo
Change route configurationYesYesNo
Approve a recommendation for deliveryYesYesNo
Rename the workspaceYesNoNo
Invite peopleYesNoNo

A viewer is a genuine read-only role: they can see captured content in the Traces page like anyone else, but every write is refused with a 403.

  1. On the Organization page, an owner enters an email address, an optional display name, and a role of member or viewer. There is no way to invite a second owner.

  2. Invitations go out through the identity provider’s temporary-password flow. The new member appears in the member list with the status invited straight away, and becomes active once they sign in.

  3. Re-inviting the same address resends. If the member row was saved but the email failed, the API says so explicitly rather than silently succeeding, and resending is the fix.

Owners only, 2 to 100 characters. The slug does not change with it: the slug is the workspace’s stable identifier and stays as it was created.

The Keys page mints ingest keys: mg_ followed by 48 hex characters, shown once at creation and stored only as a hash afterwards. Name each one for where it runs, production, ci, laptop, because the list afterwards shows only a label, a first-and-last hint, and whether it is revoked. Revoking is immediate and cannot be undone; mint a new key rather than trying to restore one.

Every key the dashboard creates carries the ingest scope and only that scope. That is enough to send rows and to exchange a session token, and not enough for anything else.

ScopeWhat it opensHow you get one
ingestPOST /v1/ingest, POST /v1/traces, POST /v1/ingest/sessionsThe Keys page
readThe reporting endpoints, including GET /v1/alertsOperator command line only
agent:read/v1/agent/routes and /v1/agent/traces for the MCP serverOperator command line only

An environment is not something you create in the dashboard. It is a label the SDK stamps on every row, and the dashboard offers whichever labels it finds.

.env
METERGRAPH_ENV=production

Or in code, init(environment="production"). Anything you like: production, staging, a preview branch name. Keep the spelling stable, because detectors build a route’s baseline within one environment, and a rename starts that baseline again from nothing.

Rows sent without an environment are not lost. The environment filter lists the non-empty environments seen in the window you are looking at, and selecting none of them means all traffic, including calls that never carried a label.

A workspace on the free plan is allowed 100,000 captured calls per month. The period is the calendar month in UTC, and the counter resets on the first. Calls are counted as they are stored, so a batch that is accepted counts when the worker writes it.

Where you areWhat happens
Under 80%Nothing, other than a meter on the Get started page
80% or moreA banner on every page with the count and the allowance
At the allowancePOST /v1/ingest answers 402 with the code quota_exceeded, and capture pauses

A 402 is not a client error you can retry your way out of. The SDK treats it as a transient server condition: it backs off, doubling up to 60 seconds, and the rows queued in the meantime are dropped. Your application keeps working normally, because capture never sits in the request path. Nothing is billed and nothing is stored until the next period or a larger allowance.

The dashboard’s upgrade button records an upgrade request that a person follows up on. There is no self-serve plan change, and no card entry in the product.

Separately from the allowance, captured metadata is retained for 90 days.