Access

Get access event

Returns a single access event by its event_id, plus the error logs the same request produced.

event_id comes from the /access/events list. A raw req_id is not a valid key — it is producer-generated and collides with unrelated requests — and yields 400.

has_errors is tri-state: true/false answer the question, and null means the error lookup did not complete. null is not "no errors".

get/access/events/{id}

Request

  • Base URL
    https://api.tatum.io/v4/logs
  • URL
    https://api.tatum.io/v4/logs/access/events/{id}
  • Auth
    API key in header x-api-key

Path parameters

idstring required

Response

The access event for the given event id, with its paired errors.

errors_truncatedboolean required

True when the request produced more errors than errors carries — the EVENT_SIBLINGS_LIMIT (512) cap bit.

has_errorsboolean nullable required

Whether this request emitted error-log rows.

null means the lookup did not complete — NOT "no errors". The lookup is deliberately non-fatal: a cross-reference is worth less than the request detail it decorates, so a ClickHouse failure degrades this field instead of failing the request. A client must render null as unknown; rendering it as "no errors" would assert something the service did not check.

event_idstring required

Opaque identifier for this individual access row, and the only stable address for it. req_id is producer-generated rather than Envoy-injected, so it is not unique — it collides with unrelated requests. Pass this to GET /access/events/{id} or filter[event_id][in].

req_idstring required

Request identifier, and the join key across access and error logs. Not unique — see event_id.

timestampstring required

When the request was received, ISO-8601 UTC.

methodstring required

HTTP method of the request.

uristring required

Request path, API keys masked (t-0123****abcdef).

status_codenumber required

HTTP response status code.

req_time_msnumber required

Upstream response time in milliseconds.

sourcestring required

Traffic source / attribution channel.

trace_idstring required

Distributed-trace identifier for correlating across services.

gateway_idstring required

Gateway that served the request.

interface_idstring required

Interface (chain-network endpoint) that handled the request.

chainstring required

Blockchain the request targeted.

networkstring required

Chain-qualified network the request targeted.

regionstring required

Serving region.

bytes_sentnumber required

Response payload size in bytes.

bytes_readnumber required

Request payload size in bytes.

remote_ipstring required

Client IP as seen by the edge (proxy-aware).

uastring required

Client user-agent string.

batch_sizenumber required

Number of sub-requests when the call was a JSON-RPC batch (1 for non-batched calls).

hoststring required

Host header the request was sent to.

error_reasonstring required

Why the gateway rejected the request before forwarding it, e.g. ip_not_allowed, origin_not_allowed, origin_missing, credits_exhausted, rate_limit_exceeded, api_key_invalid. Empty when the request was not rejected by the gateway, and on rows logged before the gateway started recording a reason (for Envoy Gateway blockchain-rpc rows, until 2026-10-25).

Example response

{
  "errors": [
    {
      "event_id": "djE6MTc4Nzc0MzIxNjA1ODoyMkUzMzg3QUEwRjlEM0M2OnFncHptLTBmNWE1OTJm",
      "json_rpc_id": "1",
      "error_code": 3,
      "operation": "eth_call",
      "error_message": "execution reverted"
    }
  ],
  "has_errors": true,
  "event_id": "djE6MTc4Nzc0MzIxNjA1ODoyMkUzMzg3QUEwRjlEM0M2OnFncHptLTBmNWE1OTJm",
  "req_id": "a309e3a8edccb942-AMS",
  "timestamp": "2024-01-14T12:00:00.000Z",
  "method": "POST",
  "uri": "/",
  "status_code": 200,
  "req_time_ms": 63,
  "source": "blockchain-rpc",
  "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
  "gateway_id": "1e06265e-f014-48ae-9cc6-94d046e4e04d",
  "interface_id": "ethereum-mainnet-json-rpc",
  "chain": "ethereum",
  "network": "ethereum-mainnet",
  "region": "europe-west4",
  "bytes_sent": 1024,
  "bytes_read": 256,
  "remote_ip": "203.0.113.42",
  "ua": "tatum-sdk/4.2.0",
  "batch_size": 1,
  "host": "ethereum-mainnet.gateway.tatum.io",
  "error_reason": "ip_not_allowed"
}

Changes

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