Recent Errors

GET /v1/traffic/errors/recent

Returns your active account's most recent error responses (status code ≥ 400), newest first, with just enough fields to render a timeline row. Powers the dashboard "Recent errors" panel. For full request bodies and replay use the traffic-log endpoints; for aggregate error rates use /traffic/metrics.

Requires the traffic-inspector read permission on the active account.

Query parameters

limit int
Max rows to return. Defaults to 20. Clamped to the range 1–100; out-of-range or non-numeric values fall back to 20.
hours int
Look-back window in hours. Defaults to 24. Clamped to the range 1–720 (30 days); out-of-range or non-numeric values fall back to 24.
tier string
Optional status-class filter. 4xx returns only 400–499; 5xx returns only 500+. Any other value (or omitted) returns all errors (status ≥ 400). Case-insensitive.

Response (200 OK)

errors array<Error>
The matching error rows, newest first. Each item has the fields below.
hours int
The resolved look-back window (echoes the request, after clamping/defaulting).

Error object

id int64
Traffic-log row ID.
status_code int
HTTP status code of the response.
method string
HTTP method. Empty string when not recorded.
path string
Request path. Empty string when not recorded.
host string
Request host header. Empty string when not recorded.
source_ip string
Client IP of the request. Empty string when not recorded.
created_at datetime
When the request was logged.
endpoint_name string
The endpoint's subdomain label, falling back to the linked tunnel name when the endpoint has been deleted. Empty string when neither is available.
endpoint_uuid string (uuid)
UUID of the originating endpoint. Empty string when the endpoint no longer exists.

Errors

401 Unauthorized
Missing auth.
403 Forbidden
No active account, not a member, or missing the traffic-inspector read permission.
Request — last 20 5xx errors over 6 hours
curl "https://api.ngris.com/v1/traffic/errors/recent?tier=5xx&hours=6&limit=20" \ -H "X-API-KEY: <your_api_key>"
Python
import requests r = requests.get( "https://api.ngris.com/v1/traffic/errors/recent", params={"tier": "5xx", "hours": 6, "limit": 20}, headers={"X-API-KEY": "<your_api_key>"}, ).json() for e in r["errors"]: print(f"{e['created_at']} {e['status_code']} {e['method']} {e['path']} ({e['endpoint_name']})")
Response — 200 OK
{ "errors": [ { "id": 9912831, "status_code": 502, "method": "POST", "path": "/v1/checkout", "host": "shop.example.com", "source_ip": "203.0.113.40", "created_at": "2026-06-15T11:58:12Z", "endpoint_name": "shop", "endpoint_uuid": "0d3e9f8a-2b5c-4a7d-9f1a-1a2b3c4d5e6f" } ], "hours": 6 }
On this page
Recent Errors
Iris