API Keys & Trace Routing
API keys authenticate your system when sending traces to Mibo. You need at least one to use passive testing.
Each project can have multiple API keys. Keys can be unrestricted (access all agents in the project) or scoped to specific agents.
Email verification and trace access
Section titled “Email verification and trace access”You can create and revoke API keys before verifying your email. Verification is required when a key sends a trace. Until you verify, Mibo rejects the request with 403 EMAIL_NOT_VERIFIED before storing or evaluating the trace.
To enable trace ingestion, click Resend verification email in the Verify your email banner if needed. Open the link Mibo sends, return to Mibo, and click I’ve verified my email. The key becomes usable for trace ingestion after verification; you do not need to create a replacement key.
If the verification link has expired, resend it and try again. Resending can be temporarily unavailable during the cooldown or a server rate limit, but I’ve verified my email remains available after you open the link. If you verified on another device, return to this dashboard and use the same confirmation action to refresh this session.
Creating an API key
Section titled “Creating an API key”-
Open your project
Go to the project you want to create a key for.
-
Go to API Keys
Click API Keys in the project navigation.
-
Create a new key
Click Create New API Key. Enter a descriptive Key Name, for example, “Production Traces” or “n8n Integration.”
-
Choose access permissions (recommended)
Choose Full Access to allow the key to send traces for all current and future agents. Choose Granular Access to limit the key to the agents you select. For Your API, a key limited to one agent lets Mibo infer the target, so you can omit
platformId. OTLP still usesservice.nameto select the agent, even when the key is limited to one agent. -
Choose an expiration
New keys use 90 days (Recommended) by default. You can choose another preset, set a custom date within one year, or choose Never expires. Short-lived keys are safer for integrations.
-
Copy the key
The full key is shown only once at creation. Copy it and store it securely. You won’t be able to see it again.
Key format
Section titled “Key format”API keys follow this format: mibo_<random-string>. When listed in the dashboard, keys are masked as mibo_...xxxx (only the last 4 characters are visible).
Using API keys
Section titled “Using API keys”Include the key in the x-api-key header when making requests:
curl -X POST "https://api.mibo-ai.com/public/traces" \ -H "Content-Type: application/json" \ -H "x-api-key: <YOUR_API_KEY>" \ -H "x-request-id: chat-001" \ -d '{ "spans": [{ "span_id": "s-1", "name": "Support Agent", "attributes": { "gen_ai.response.text": "Your order ships on Friday." } }] }'Agent scoping and routing
Section titled “Agent scoping and routing”When a trace arrives, Mibo resolves its target differently for each ingestion path:
| Path | How Mibo selects the agent | What the key scope does |
|---|---|---|
| Your API | A key limited to one agent selects it. Otherwise, include platformId at the top level or metadata.mibo.platform_id. |
The key must allow the selected agent. |
| OTLP | service.name must match the agent’s OTLP Service Name. mibo.platform_id is not used for OTLP routing. |
The key must allow the agent matched by service.name; it does not replace service.name. |
For Your API, a single-agent key is the simplest way to avoid an explicit agent target. For OTLP, configure the service name first, then make sure the key is allowed to write to that agent.
Revoking a key
Section titled “Revoking a key”Click the revoke button next to any key to permanently delete it. Revoked keys stop working immediately, and any system using that key will start getting authentication errors.
Best practices
Section titled “Best practices”- Name your keys descriptively: use names like “Production n8n” or “Staging Traces” so you know what each key is for.
- Scope keys to one agent when using Your API. It eliminates the per-request agent field and limits blast radius if the key is compromised. OTLP still requires its matching
service.name. - Don’t share keys across environments. Create separate keys for staging and production.
- Monitor last used dates. If a key hasn’t been used in a while, consider revoking it.
What’s next
Section titled “What’s next”With your API key configured, your system can start sending traces.