Open Activity and choose a page in the Requests group. Use the time buttons (15 minutes up to 14 days) to widen or narrow the window.

Routes

Routes lists every route your API serves with how many calls it got, how many failed, and how long it took. Sort by errors or by slowness to find what needs attention. Open a route to see:

Requests

Requests is the full list. Search by path or by an exact request id, and filter by status (404, or a class like 5xx). Every request has a request id. It appears on the response (x-request-id) and on the events, flow runs and webhook deliveries that call caused, so you can follow one action through everything it set off.

A request trace

Open any request to see it end to end:
  • Who called (which key or user) and from where.
  • The access-rule decision, including why a call was refused. See Debugging rules.
  • DB queries it ran, how many and how long each took.
  • Events and jobs it started.
  • Flow runs it triggered.
  • Logs your flows wrote during it.
  • A timing waterfall of the steps.

Find why a call failed

  1. In your app, catch the error and read its requestId.
  2. Open Activity → Requests and paste it into the search.
  3. Open the trace and read the decision and the steps.

Errors

Errors groups failures by what went wrong, so one problem shows up once with a count instead of a thousand times. Open a group to see the requests behind it.

Bandwidth

Bandwidth shows the bytes your API received and sent over the window, and the endpoints, callers and requests that moved the most, including the largest responses. Headers are not counted, only what the request and response carried. Use it to find a route that sends far more than it should.

What a request records

From code

Good practice

  • Open Errors after every release.
  • Put the request id in your own error reports and support messages.
  • Keep personal data and secrets out of what your flows log.