Errors & Team
Last updated on 2026-04-05
The errors page provides visibility into API failures, error patterns, and resolution workflows. The team page handles member management, role-based permissions, and API key administration.
Errors
Route: /errors
The errors page is the central hub for tracking, categorizing, and resolving API errors across all models and endpoints.
Error Overview
Summary cards at the top of the page showing:
| Metric | Example Value | Trend |
|---|---|---|
| Total Errors (24h) | 47 | -12% |
| Error Rate | 0.8% | -0.3% |
| Unresolved | 12 | -2 this week |
| Avg Resolution Time | 2.4h | -18% |
Error Types
A categorized breakdown of error types with counts and severity:
| Error Type | Count | Severity | Common Cause |
|---|---|---|---|
| Rate Limit (429) | 18 | Warning | Burst traffic exceeding provider limits |
| Timeout | 12 | Error | Long prompts or provider slowdown |
| Invalid Request (400) | 8 | Warning | Malformed prompt or parameters |
| Server Error (500) | 5 | Critical | Provider outage or internal failure |
| Auth Error (401) | 3 | Critical | Expired or invalid API key |
| Content Filter | 1 | Info | Response blocked by safety filter |
import { ErrorTypeBreakdown } from "@/components/errors/error-type-breakdown"
<ErrorTypeBreakdown errors={errorsByType} />
Frequency Charts
A Recharts BarChart showing error frequency over time, grouped by type:
- Time range toggle -- 24h, 7d, 30d views
- Stacked bars -- each color represents a different error type
- Trend line -- overlaid line showing the rolling average error rate
- Spike detection -- highlighted bars when error count exceeds 2x the average
import { ErrorFrequencyChart } from "@/components/errors/error-frequency-chart"
<ErrorFrequencyChart data={errorFrequencyData} />
Resolution Status
Each error is tracked through a resolution workflow:
| Status | Badge | Meaning |
|---|---|---|
| Open | Red | Newly detected, not yet investigated |
| Investigating | Yellow | Team member is looking into it |
| Resolved | Green | Root cause identified and fixed |
| Ignored | Gray | Known issue, intentionally dismissed |
Error Detail View
Clicking an error row expands to show the full context:
- Error message -- complete error response from the provider
- Stack trace -- request chain and error propagation path
- Request context -- the prompt, model, parameters, and user that triggered the error
- Timeline -- when the error first appeared, frequency, and resolution history
- Similar errors -- grouped related errors with the same root cause
- Actions -- assign to team member, mark as resolved, add notes
import { ErrorDetailView } from "@/components/errors/error-detail-view"
<ErrorDetailView error={selectedError} />
Team
Route: /team
The team page manages organization members, their roles and permissions, and API key administration.
Team Members
A table of all team members with management controls:
- Columns -- avatar, name, email, role, status (active, invited, deactivated), last active, API calls (30d)
- Actions -- edit role, resend invite, deactivate, remove
- Invite -- add new team members by email with role assignment
- Search -- filter by name or email
import { TeamMemberTable } from "@/components/team/team-member-table"
<TeamMemberTable members={teamMembers} />
Roles & Permissions
Role-based access control for the AI ops platform:
| Role | Dashboard | Models | Prompts | Playground | Usage | Logs | Errors | Team | Settings |
|---|---|---|---|---|---|---|---|---|---|
| Admin | Full | Full | Full | Full | Full | Full | Full | Full | Full |
| Engineer | View | Full | Full | Full | View | Full | Full | -- | -- |
| Analyst | View | View | View | Full | Full | View | View | -- | -- |
| Viewer | View | View | View | -- | View | -- | -- | -- | -- |
import { RolePermissions } from "@/components/team/role-permissions"
<RolePermissions roles={roles} />
API Key Management
Centralized API key administration for LLM providers:
- Key list -- all configured API keys with provider, name, last 4 characters, creation date, and status
- Usage tracking -- per-key request count and cost
- Rotation -- rotate keys with zero-downtime key swapping
- Scoping -- assign keys to specific models or environments (production, staging, development)
- Audit log -- track who created, rotated, or deleted each key
import { ApiKeyList } from "@/components/team/api-key-list"
<ApiKeyList apiKeys={apiKeys} />
Data Sources
| Data | Source | Location |
|---|---|---|
| Errors | errors |
data/seed.ts |
| Error frequency | errorFrequencyData |
data/seed.ts |
| Team members | teamMembers |
data/seed.ts |
| Roles | roles |
data/seed.ts |
| API keys | apiKeys |
data/seed.ts |
Next Steps
- Design Tokens -- oklch color system and theming
- Customization -- adapting the dashboard for your AI stack