Errors

Error KPIs

Returns aggregate KPI metrics for errors in the requested time range.

get/errors/kpis

Request

  • Base URL
    https://api.tatum.io/v4/logs
  • URL
    https://api.tatum.io/v4/logs/errors/kpis
  • Auth
    API key in header x-api-key

Query parameters

'5m'
OR
'15m'
OR
'1h'
OR
'6h'
OR
'24h'
OR
'7d'
OR
'14d'
OR
'30d'

Relative look-back window. Ignored when from/to are supplied.

fromstring date-time

Inclusive window start, ISO-8601. Use together with to for an explicit range instead of time_range.

tostring date-time

Exclusive window end, ISO-8601. Defaults to now when only from is given.

searchstring

Free-text search across error fields (message, operation, ids). Control bytes are rejected; min 3 chars (text-index floor), max 128 chars.

'errors'
OR
'usage'

Ranking dimension for aggregated views: errors orders by error volume, usage orders by total request volume.

filter[network][in]string[]

Include rows where network (blockchain network (chain-qualified)) is one of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no network (unattributed traffic).

filter[network][nin]string[]

Exclude rows where network (blockchain network (chain-qualified)) is none of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no network (unattributed traffic).

filter[chain][in]string[]

Include rows where chain (parent blockchain as recorded on the error; unrecognised values match no rows rather than erroring) is one of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no chain (unattributed traffic).

filter[chain][nin]string[]

Exclude rows where chain (parent blockchain as recorded on the error; unrecognised values match no rows rather than erroring) is none of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no chain (unattributed traffic).

filter[source][in]string[]

Include rows where source (error source / originating layer) is one of the given values. Repeat the parameter to pass multiple values.

filter[source][nin]string[]

Exclude rows where source (error source / originating layer) is none of the given values. Repeat the parameter to pass multiple values.

filter[operation][in]string[]

Include rows where operation (RPC method / operation) is one of the given values. Repeat the parameter to pass multiple values.

filter[operation][nin]string[]

Exclude rows where operation (RPC method / operation) is none of the given values. Repeat the parameter to pass multiple values.

filter[operation][contains]string

Include rows where operation (RPC method / operation) contains this substring (SQL LIKE '%value%').

filter[error_code][in]integer[]

Include rows where error_code (error / status code (JSON-RPC codes are negative)) is one of the given values. Repeat the parameter to pass multiple values.

filter[error_code][nin]integer[]

Exclude rows where error_code (error / status code (JSON-RPC codes are negative)) is none of the given values. Repeat the parameter to pass multiple values.

filter[error_code][between]integer[]

Include rows where error_code (error / status code (JSON-RPC codes are negative)) falls within an inclusive numeric range (SQL BETWEEN lo AND hi). Pass the parameter exactly twice: first the lower bound, then the upper bound.

filter[req_id][in]string[]

Include rows where req_id (request id — NOT unique, a JSON-RPC batch emits one error row per failing member) is one of the given values. Repeat the parameter to pass multiple values.

Response

Aggregate error KPIs with trend deltas and sparklines.

total_eventsnumber required

All error events in the window, across every protocol (HTTP, JSON-RPC, gRPC, WebSocket). Reconciles with the heatmap and issues totals. The 5xx / 4xx counts below are HTTP-only subsets, so total_events is >= their sum.

total_5xxnumber nullable required

Server-error (5xx, HTTP-only) events; null when the result is capped.

total_4xxnumber nullable required

Client-error (4xx, HTTP-only) events; null when the result is capped.

delta_total_pctnumber nullable required

Percentage change in total errors vs. the preceding equal-length window. null when there is no prior data to compare against.

delta_5xx_pctnumber nullable required

Percentage change in 5xx vs. the preceding equal-length window. null when there is no prior data to compare against.

delta_4xx_pctnumber nullable required

Percentage change in 4xx vs. the preceding equal-length window. null when there is no prior data to compare against.

cappedboolean required

True when the result was served from the raw table and hit the row cap (10,000). When true, total_events is the cap, and total_5xx, total_4xx, the sparklines, and the deltas are null.

Example response

{
  "total_events": 512,
  "total_5xx": 89,
  "total_4xx": 423,
  "delta_5xx_pct": -12.5,
  "delta_4xx_pct": 8.3,
  "sparkline_total": {
    "points": [
      {
        "timestamp": "2024-01-14T12:00:00.000Z",
        "value": 42
      }
    ],
    "total": 1538
  },
  "sparkline_5xx": {
    "points": [
      {
        "timestamp": "2024-01-14T12:00:00.000Z",
        "value": 42
      }
    ],
    "total": 1538
  },
  "sparkline_4xx": {
    "points": [
      {
        "timestamp": "2024-01-14T12:00:00.000Z",
        "value": 42
      }
    ],
    "total": 1538
  },
  "top_operations": [
    {
      "operation": "eth_call",
      "count": 17
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.