Access breakdown
Where the window's requests went: the top 10 networks plus one "other" total, the top status codes and methods, the top 10 client IPs (each with its error rate and egress) plus one "other" total, every traffic source with a trend, and p50/p90/p95 latency over time — for the same window, source and filters as /access/chart, so a zoom updates it. Shares are of total_requests in the same response. Source sparklines share the KPI sparklines' grid (at most 30 points, sources_step_ms wide); the latency series has its own of at most 60. Accepts every filter[...] field /access/events does except event_id, plus search. When a raw read trips its bound the response is capped: true: total_requests and every *_other are null and the lists are empty.
Request
- Base URLhttps://api.tatum.io/v4/logs
- URLhttps://api.tatum.io/v4/logs/access/breakdown
- AuthAPI key in header x-api-key
Query parameters
Relative look-back window. Ignored when from/to are supplied.
Inclusive window start, ISO-8601. Use together with to for an explicit range instead of time_range.
Exclusive window end, ISO-8601. Defaults to now when only from is given.
Free-text substring match against the request URI. Matched with lower(uri) LIKE '%needle%', so separators (/, -, _, ., :) are fine. Control bytes are rejected; min 3 chars, max 128.
On an aggregate endpoint a search is answered from the raw table, whose read is bounded: past ACCESS_RAW_ROW_CAP rows scanned the response is capped: true. The floor is not cosmetic: access_logs_v1 has no index on uri, so a 1–2 char needle scans the owner's slice for a match that would hit nearly every row.
Include rows where status_code (HTTP response status code) is one of the given values. Repeat the parameter to pass multiple values.
Exclude rows where status_code (HTTP response status code) is none of the given values. Repeat the parameter to pass multiple values.
Include rows where status_code (HTTP response status code) falls within an inclusive numeric range (SQL BETWEEN lo AND hi). Pass the parameter exactly twice: first the lower bound, then the upper bound.
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).
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).
Include rows where chain (blockchain — the parent of network) is one of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no chain (unattributed traffic).
Exclude rows where chain (blockchain — the parent of network) is none of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no chain (unattributed traffic).
Include rows where method (HTTP / RPC method) is one of the given values. Repeat the parameter to pass multiple values.
Exclude rows where method (HTTP / RPC method) is none of the given values. Repeat the parameter to pass multiple values.
Include rows where method (HTTP / RPC method) contains this substring (SQL LIKE '%value%').
Include rows where remote_ip (client IP address, IPv4 or IPv6 (IPv6 matched in canonical form)) is one of the given values. Repeat the parameter to pass multiple values.
Exclude rows where remote_ip (client IP address, IPv4 or IPv6 (IPv6 matched in canonical form)) is none of the given values. Repeat the parameter to pass multiple values.
Include rows where source (traffic source / attribution channel) is one of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no source (unattributed traffic).
Exclude rows where source (traffic source / attribution channel) is none of the given values. Repeat the parameter to pass multiple values. Pass (empty) to match rows with no source (unattributed traffic).
Include rows where req_id (request id — NOT unique, may match unrelated requests) is one of the given values. Repeat the parameter to pass multiple values.
Response
Requests by network, status code, method, client IP and source, and latency percentiles over time.
Example response
{
"total_requests": 184230,
"networks": [
{
"network": "ethereum-mainnet",
"chain": "ethereum",
"requests": 1503,
"share_pct": 30.08
}
],
"networks_other": {
"requests": 1503,
"share_pct": 30.08
},
"statuses": [
{
"status_code": 200,
"requests": 1503,
"share_pct": 30.08
}
],
"statuses_other": {
"requests": 1503,
"share_pct": 30.08
},
"methods": [
{
"method": "POST",
"requests": 1503,
"share_pct": 30.08
}
],
"methods_other": {
"requests": 1503,
"share_pct": 30.08
},
"ips": [
{
"remote_ip": "203.0.113.42",
"requests": 1503,
"share_pct": 30.08,
"error_rate_pct": 1.2,
"egress_bytes": 1048576
}
],
"ips_other": {
"requests": 1503,
"share_pct": 30.08
},
"sources": [
{
"source": "blockchain-rpc",
"requests": 1503,
"share_pct": 30.08,
"sparkline": [
{
"timestamp": "2024-01-14T12:00:00.000Z",
"value": 42
}
]
}
],
"latency": {
"points": [
{
"timestamp": "2024-01-14T12:00:00.000Z"
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.