Signing up
Open your Egma instance in a browser —http://localhost:3101 for a default local deployment — and sign up. On a fresh instance the first person to sign up claims it: your account is created, your organization is created, and you become its admin in one step. Open signup closes immediately after — everyone who joins after you arrives by invitation.
If the instance requires email verification (configured via EGMA_SMTP_URL), confirm your address before proceeding.
Signing in
Navigate to your Egma instance and enter your email and password. Your session is valid for the browser you signed in on. The session cookie is scoped to the instance’s origin, so it is not shared with any other service.Getting an API key
Via the CLI (recommended)
Runegma login in your terminal. The CLI initiates a device code flow: it prints a short code, opens your browser to the approval page with the code pre-filled, and waits. Approve the request in your browser, select which project the terminal is acting for, and the CLI exchanges the code for an API key.
~/.egma/credentials by default. See Credential storage location to change this with EGMA_HOME.
Via the web dashboard
- Sign in to your Egma instance.
- Navigate to Settings → API Keys.
- Click Create.
- Copy the key immediately — it is shown in full only once.
Via the API
Send aPOST request to /api/keys. You must authenticate this request with an existing session cookie or API key.
API key format
Every Egma API key begins with the prefixegma_sk_, followed by 32 random bytes. The full key is shown only at creation time. The platform stores a SHA-256 hash of the key alongside the last four characters — enough to identify which key is in use, but never enough to reconstruct it.
Using an API key
Pass your API key as a Bearer token in theAuthorization header of every request:
curl calls.
Key scoping and trace ingestion
The distinction matters in two places:- Trace ingestion (
POST /v1/traces): use a project-scoped key. Org-wide keys atmemberoradminrole are not refused, but the spans they carry are filed under no project at all — invisible in the dashboard. A key held by avieweris refused for trace ingestion regardless of scope, because sending spans is a write. - Management operations (creating projects, reading members, calling
PATCH /api/platform/settings): an org-wide key works fine.
Revoking a key
Via the dashboard
- Navigate to Settings → API Keys.
- Find the key you want to revoke.
- Click Revoke.
Via the API
:id with the key’s identifier (visible in the key list).
Removing a team member revokes all keys they minted, automatically and immediately. You do not need to revoke their keys separately.
Inviting team members
Only admins can invite new members. Open the Members page, type the invitee’s email address, choose a role, and send the invitation. If your instance has no email transport configured (EGMA_SMTP_URL is not set), the invitation link is returned directly to you rather than sent by email. Pass it to your colleague however you like — the link works once and expires after seven days.
The invitation is accepted by the address it was sent to only. An expired invitation and an already-accepted one return different messages so you know whether to resend or tell the person they are already in.
Roles
Egma has three roles. Every role may create an API key for themselves — the login flow mints one as its last step.An organization always keeps at least one admin. The last admin cannot be demoted, removed, or deactivated.
Credential storage location
The CLI stores your credentials at~/.egma/credentials by default. Override this by setting EGMA_HOME: