Skip to main content

Observability API Overview

Updated on
Oct 21, 2026

The Observability API provides read-only access to account usage, traffic, errors, and recorded transaction submissions through the Quicknode Admin API.


Enterprise only

These endpoints are available only to Enterprise accounts. Contact Quicknode to request access.

Available methods​

MethodDescription
GET /v0/endpoints/{id}/metrics/errors/summaryReturns RPC and HTTP error counts for one endpoint for a time range.
GET /v0/metrics/errors/summaryReturns account RPC and HTTP error counts for a time range.
GET /v0/metrics/traffic/summaryReturns successful requests, transferred bytes, credits, and distinct active methods for a time range.
GET /v0/transactionsLists account transaction submissions for a time range, with cursor pagination.
GET /v0/transactions/{network}/{hash}Returns recorded submission attempts for a transaction, optionally including request and response payloads.
GET /v0/usage/credits/summaryReturns total account API credits for a time range.
GET /v0/usage/rpc/summaryReturns account RPC requests, transferred bytes, and credits for a time range.
GET /v0/usage/streams/summaryReturns Streams blocks, transferred bytes, and block credits for a time range.
GET /v0/usage/webhooks/summaryReturns Webhooks deliveries and credits for a time range.

Authentication and examples​

Authenticate requests to https://api.quicknode.com with your Admin API key in the x-api-key header. Set the QN_API_KEY environment variable before running the method examples. See Admin API authentication for how to obtain a key.

Replace YOUR_QUICKNODE_ADMIN_API_KEY with your Admin API key, then run this example to retrieve credit usage for the last hour:

export QN_API_KEY="YOUR_QUICKNODE_ADMIN_API_KEY"

curl --get 'https://api.quicknode.com/v0/usage/credits/summary' \
--header "x-api-key: ${QN_API_KEY}" \
--header 'accept: application/json' \
--data-urlencode 'last=1h'

Example responses preserve the captured structure; identifiers, cursors, and payload contents are anonymized. Use identifiers and cursors from your own live responses.

Time ranges​

For summary and transaction-list requests, supply either last (for example, 1h) or both from and to as ISO 8601 timestamps. The individual method examples use a fixed UTC range; change it to a range with activity in your account.

Summary aggregation can round time boundaries. Use the returned data.from and data.to as the effective range when comparing totals; they may differ from the requested timestamps.

Grouping and pagination​

Summary methods that support grouping accept repeated group_by[] query parameters. Check each method's parameters for supported dimensions. Method grouping on error summaries requires kind=rpc.

For paginated results, when data.next_cursor is present, pass it unchanged as cursor with the same time range, filters, grouping, and limit to fetch the next page. Use the cursor from the live response, not the anonymized example.

Endpoint identifiers​

Endpoint error summaries require the numeric Admin API endpoint ID returned by List endpoints. Set QN_ENDPOINT_ID to this ID when running the example. Endpoint UUIDs in transaction records are different identifiers.

Transaction submissions​

To retrieve transaction submission attempts, set QN_NETWORK and QN_TRANSACTION_HASH from List transaction submissions. For the cURL example, URL-encode these path segments if they contain reserved characters.

A missing transaction returns data.exists: false and data.data: null with HTTP 200. Set include_payloads=true to include available request and response payloads. These endpoints read recorded submissions; they do not submit transactions or confirm on-chain inclusion or finality.