Metrics
The Metrics page (sidebar > Metrics) gives you a deeper analytical view of your API usage. It shows your overall outcome distribution and breaks down traffic by API key, client IP, or target domain.
For real-time summary cards and timeline charts (Concurrency, Requests, Bytes, Response Time), use the Dashboard Overview page.
Filters
Two controls sit above the page: an API key selector and an interval selector.
Key Filter
Use the API Key dropdown to scope the page to a specific key. Only keys within your access scope appear: personal keys, org keys you administer, or keys shared through teams.
Interval Selector
Use the interval buttons to control the time window:
| Button | Window |
|---|---|
| 1M | Last 1 minute |
| 5M | Last 5 minutes |
| 30M | Last 30 minutes |
| 1H | Last 1 hour |
| 6H | Last 6 hours |
| 1D | Last 24 hours |
Both the donut and the table follow whatever you pick.
Outcome Distribution
A donut chart at the top shows the success/error breakdown for the selected interval. Hover any slice to see the exact request count and percentage. Use it to quickly spot whether a sudden drop in success rate lines up with a specific outcome category.
Outcome Types
Every API request is classified into exactly one outcome. Only success counts against your billable quota.
| Outcome | Layer | Meaning |
|---|---|---|
success |
n/a | The request delivered a valid response. With no validate rules, this means HTTP 200. If you sent validate rules, any response your rules accepted counts as success, whatever the HTTP status. |
application_error |
target | The target returned HTTP 200, but the response body contained an error field. |
application_fail |
target | The target returned a non-2xx status that your validate rules did not accept, or no response at all. |
client_error |
caller | Your request was rejected before it left FourA: bad parameters, malformed proxy value, or a URL that resolves to a private/reserved IP (SSRF guard). |
rate_limit |
FourA | The request was rejected by your RPM or concurrency limit. See Rate Limits. |
service_error |
FourA | The backend returned a 5xx, or replied with a body we couldn't parse. |
service_fail |
FourA | A network failure: timeout, connection refused, DNS error, client disconnected. |
The layer column tells you who's responsible: target means the site you called, caller means your request was bad, FourA means we couldn't process it.
If you use validate.status.accept to allow specific non-200 codes (for example [200, 403]), those responses come back as success instead of application_fail. The classification follows the engine's verdict on your rules, not the raw HTTP code.
For the full taxonomy and how it maps to billing, see Request Outcomes.
Multi-View Usage Table
Below the donut, a usage table breaks down your traffic with three view tabs:
| Tab | Groups data by |
|---|---|
| API Key | Each of your API keys |
| Client IP | Source IP addresses making requests |
| Domain | Target domains in your requests |
Each tab supports four scope chips on the right that change the columns shown:
| Scope | What it shows |
|---|---|
| Bandwidth | Request count, bytes in, bytes out |
| Response Time | Request count, min, average, and max latency |
| Concurrency | Request count plus concurrent request counts (API Key view only) |
| Outcomes | Request count plus a per-outcome breakdown |
Related
- Dashboard Overview: Real-time stats and timeline charts
- Request Outcomes: The seven outcome values explained in detail
- API Errors: How errors come back over the wire