Every call from a registered API client is logged. The logs are essential for debugging integration issues, monitoring abuse, and demonstrating compliance.
What's Captured
- Timestamp — to the millisecond.
- Client — which registered client made the call.
- Endpoint and method — e.g.
POST /api/v1/records/orders. - Status code — HTTP response (200, 404, 429, 500).
- Response time — milliseconds end-to-end.
- IP address — the calling source.
- Bytes in/out — payload sizes.
- Error details — on non-2xx responses, the error body is captured (PII-scrubbed).
Useful Filters
- Status code ≥ 400 — see all failed calls.
- Response time > 1000ms — find slow endpoints.
- Per client — drill into one integration.
- Per endpoint — see which endpoints get the most traffic.
Worked Examples
- Integration debugging: Customer reports their sync isn't picking up new orders. Filter by their client, sort by timestamp — see that GET /orders is returning empty even though there are new orders. Check their query parameters.
- Rate limit investigation: Filter status=429 — see which clients are bumping the limit and at what endpoints.
- Slow endpoint detection: Sort by response time descending — top results identify slow endpoints needing optimisation.
- Abuse detection: Spike in 401s suggests credential trouble; spike in 403s suggests over-eager scope; spike in 500s suggests bug.
Note: Logs are retained 90 days by default. Configure longer retention if compliance requires; consider exporting to an external log store for years-long retention.