Find a request
- Copy the
x-request-idresponse header from your application, or use the Activity link on a Playground error. - Open Activity in the dashboard and search for that request ID.
- For a broader investigation, choose the project, time range, provider, model, user, team, or status, then select Apply filters.
- Open a row to inspect its detail and attempt history.
Explore a conversation
Open Activity → Sessions to see the calls belonging to a conversation, their token usage, attributed cost, errors, and first/last activity. Open a session to inspect its consumption and chronological model requests and MCP actions, then open an individual model request for routing, timing, policy, and cost evidence. Send an opaqueX-Aixy-Session-ID with every model call in the conversation. Generate a new ID
when a new conversation starts. For example, with the OpenAI Python client:
X-Aixy-Session remains separate and is not recorded.
Playground conversations are grouped automatically, including multiple model rounds and approved MCP actions. New
conversation starts a new session. Aixy also recognizes allowlisted session identifiers supplied
by Codex and Claude Code, explicit metadata.session_id, client_metadata.thread_id or
client_metadata.session_id, and x-litellm-session-id. Client versions and intermediaries can
change which metadata reaches the gateway; verify that your request appears in Sessions.
A session is scoped to the authenticated organization, project, user and API key. The same ID from
another scope produces a separate session. No prompts or responses need to be captured to group
calls. Older calls without an identifier stay in Requests.
Totals cover all matching retained calls in the selected period, including fallback attempts;
they are calculated before pagination. Start with the default 24 hours or choose a wider retained
period. Searching a session ID without a selected period searches retained history up to 90 days.
Your project and user permissions still apply. The observed span includes idle time between calls.
A cost total adds only recorded attributed amounts. Coverage shows how many calls have cost
information; missing or partial cost is marked incomplete. A dash means no amount is available,
not free usage. Cost statuses distinguish estimates from provider-reported or reconciled evidence.
Token coverage likewise identifies calls with missing totals. Cache and reasoning tokens may be
subsets of other token classes and are not added again to total tokens. Asynchronous telemetry and
retention can limit what is available.
MCP clients send the same X-Aixy-Session-ID on tool calls and X-Aixy-API-Key-ID naming the
inference key used for the model rounds. This is the key’s non-secret ID, not its bearer secret.
Aixy checks that the key is active, belongs to the MCP token’s user and organization, and matches
the authorized project. Omitting the key ID produces a separate tool-only session; Aixy does not
guess which key the client used. MCP-Session-Id remains the independent tool-discovery context.
Requests includes unlinked historical model and MCP calls. A session timeline is ordered oldest
first and preserves individual model details. Tool rows show server, action, status, duration and
request ID. MCP call records exclude tool arguments, results and credentials. Opt-in model captures can
include tool history already sent in model prompts. Running or unknown
actions may have completed externally; check their outcome before submitting another action.
MCP counts are separate from model consumption. Tokens, cost and their coverage count model calls;
external tool costs are not recorded. MCP call metadata follows its existing retention and bounded
history, independently of model usage. If a data source is unavailable, Activity names it and marks
the visible timeline and totals incomplete. Late telemetry, retention and deletion can change the
available rows while paging. For a very dense history, narrow the selected period.
Interpret the detail
Provider error explanations distinguish authentication, permissions, model access, parameters,
context limits, quota, rate limits, overload, and availability when the provider supplies recognized
evidence. Earlier records may have only an HTTP status; inspect what was actually recorded.
A failed upstream attempt may still have cost or an uncertain outcome. A budget reservation alone
does not establish provider billing.
Activity is asynchronous diagnostic telemetry. A record can be delayed or missing if telemetry
export fails. Historical fields without evidence stay unknown rather than being reconstructed.
Configure content capture
Prompts and responses are not captured by default. An authorized administrator can select Configure capture in Activity, choose the organization or project under Policy scope, and:- Enable prompts, responses, or both.
- Choose retention of 1, 3, 7, 30, or 90 days.
- Save the policy and make a new test request.
- Open the resulting request and explicitly retrieve its content with a role that permits it.
Correlate application requests
Store the gateway request ID with your application’s diagnostic logs. You can also declare a product name and optional version usingX-Aixy-Client, for example Support Service/1.2.3.
Use product identifiers without personal data or secrets. Client labels help investigation but do
not authenticate a user or change permissions.
For configuration changes, use the Audit log. For external tool execution,
use the common Activity timeline as described in Agent tools.