See More

{ "openapi": "3.1.0", "info": { "title": "Admin API", "description": "Quicknode Admin API reference", "version": "1.0.0" }, "paths": { "/v0/account/info": { "get": { "operationId": "get_v0_account_info", "summary": "Returns information about the account associated with the API key.", "tags": [ "account" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/account/v0-account-info" }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier for the account" }, "name": { "type": "string", "description": "The name of the account" }, "created_at": { "type": "string", "description": "The timestamp when the account was created" }, "billing_version": { "type": "string", "description": "The billing version associated with the account" }, "subscription": { "type": "object", "properties": { "plan_name": { "type": "string", "description": "The name of the subscription plan" }, "status": { "type": "string", "description": "The status of the subscription" }, "interval": { "type": "string", "description": "The billing interval of the subscription" } }, "description": "An object containing the account's subscription details:" } }, "description": "An object which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/metrics": { "get": { "operationId": "get_v0_metrics", "summary": "Fetches metrics aggregated across all endpoints for an account.", "tags": [ "metrics" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/account-metrics/v0-metrics" }, "parameters": [ { "name": "period", "in": "query", "schema": { "type": "string", "description": "The time period for the metrics. Accepted values: hour, day, week, month" }, "required": true, "description": "The time period for the metrics. Accepted values: hour, day, week, month" }, { "name": "metric", "in": "query", "schema": { "type": "string", "description": "The metric to retrieve. Accepted values: method_calls_over_time, metered_endpoint_data_over_time, metered_endpoint_credits_over_time, credits_over_time" }, "required": true, "description": "The metric to retrieve. Accepted values: method_calls_over_time, metered_endpoint_data_over_time, metered_endpoint_credits_over_time, credits_over_time" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "tag": { "type": "array", "items": {}, "description": "An array of strings identifying the metric group (e.g., network name)" }, "data": { "type": "array", "items": {}, "description": "An array of [timestamp, value] pairs representing the metric data points" } } }, "description": "An array of metric objects, each containing a tag and its associated data points" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/api-credits/{chain}": { "get": { "operationId": "get_v0_api_credits_by_chain", "summary": "Returns the API credit cost of each RPC method available on a chain.", "tags": [ "api-credits" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/api-credits/v0-api-credits-chain" }, "description": "Returns the API credit cost of each RPC method available on a chain. Credit costs are calculated using the account's billing version.", "parameters": [ { "name": "chain", "in": "path", "schema": { "type": "string", "description": "The chain slug from the GET /v0/chains response" }, "required": true, "description": "The chain slug from the GET /v0/chains response" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "method": { "type": "string", "description": "The name of the RPC method" }, "credits": { "type": "integer", "description": "The API credit cost of the method for the account's billing version" } } }, "description": "An array of data which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/billing/invoices": { "get": { "operationId": "get_v0_billing_invoices", "summary": "Returns a list of invoices", "tags": [ "billing" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/billing/v0-billing-invoices" }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "invoices": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier for the invoice" }, "status": { "type": "string", "description": "The current state of the invoice" }, "billing_reason": { "type": "string", "description": "The reason for generating the invoice" }, "amount_due": { "type": "integer", "description": "The total amount that is due on the invoice" }, "amount_paid": { "type": "integer", "description": "The total amount that has been paid for the invoice" }, "subtotal": { "type": "integer", "description": "The total cost of the invoice" }, "lines": { "type": "array", "items": { "type": "object", "properties": { "description": { "type": "string", "description": "A detailed description of each line item billed" }, "amount": { "type": "integer", "description": "The cost associated with each line item" } } }, "description": "An array of lines which contains the following fields:" }, "period_end": { "type": "integer", "description": "The end timestamp of the billing period for the invoice in second" }, "period_start": { "type": "integer", "description": "The start timestamp of the billing period for the invoice in second" }, "created": { "type": "integer", "description": "The timestamp when the invoice was created in second" } } }, "description": "An array of invoices" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/billing/payments": { "get": { "operationId": "get_v0_billing_payments", "summary": "Returns a list of payments.", "tags": [ "billing" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/billing/v0-billing-payments" }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "payments": { "type": "array", "items": { "type": "object", "properties": { "amount": { "type": "string", "description": "The total amount of the payment" }, "card_last_4": { "type": "string", "description": "The last four digits of the card used for the payment (masked for security)" }, "status": { "type": "string", "description": "The current status of the payment" }, "created_at": { "type": "string", "description": "The timestamp when the payment was created in second" }, "currency": { "type": "string", "description": "The currency in which the payment was made" }, "marketplace_amount": { "type": "string", "description": "The total amount spent in the marketplace" } } }, "description": "An array of payments associated with the account" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/chains": { "get": { "operationId": "get_v0_chains", "summary": "Returns a list of chains.", "tags": [ "chains" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/chains/v0-chains" }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "slug": { "type": "string", "description": "A short, unique identifier for the blockchain network" }, "networks": { "type": "array", "items": { "type": "object", "properties": { "slug": { "type": "string", "description": "A short, unique identifier for the specific network" }, "name": { "type": "string", "description": "The name of the specific network" } } }, "description": "An array of networks" } } }, "description": "An array of data which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/metrics": { "get": { "operationId": "get_v0_endpoints_by_id_metrics", "summary": "Returns a single metric.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-metrics/v0-endpoints-id-metrics" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "period", "in": "query", "schema": { "type": "string", "description": "Specifies the time period for which the data is to be retrieved. Valid values includes - hour, day, week or month" }, "required": true, "description": "Specifies the time period for which the data is to be retrieved. Valid values includes - hour, day, week or month" }, { "name": "metric", "in": "query", "schema": { "type": "string", "description": "Specifies the type of metric to retrieve. Valid values includes - method_calls_over_time, response_status_over_time, method_call_breakdown, response_status_breakdown or method_response_time_max" }, "required": true, "description": "Specifies the type of metric to retrieve. Valid values includes - method_calls_over_time, response_status_over_time, method_call_breakdown, response_status_breakdown or method_response_time_max" }, { "name": "percentile", "in": "query", "schema": { "type": "integer", "description": "Required when metric is method_response_time_max. Selects the response time percentile to return. For example, 95 returns the response time at or below which 95% of observed RPC responses completed. Accepted values: integers from 1 to 100, such as 50, 95, or 99" }, "description": "Required when metric is method_response_time_max. Selects the response time percentile to return. For example, 95 returns the response time at or below which 95% of observed RPC responses completed. Accepted values: integers from 1 to 100, such as 50, 95, or 99" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "array", "items": {}, "description": "A nested list of numerical values representing the metric fetched for the endpoint" }, "tag": { "type": "string", "description": "A string label that identifies or categorizes the specific metric" } } }, "description": "An array of data" }, "error": { "type": "string", "description": "A string containing an error message if the request to fetch the metric fails" } } } } } } } } }, "/v0/endpoints/{id}/method-rate-limits": { "get": { "operationId": "get_v0_endpoints_by_id_method_rate_limits", "summary": "Gets method rate limits.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-method-rate-limits" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "rate_limiters": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the rate limiter" }, "interval": { "type": "string", "description": "The time interval for the rate limit" }, "methods": { "type": "array", "items": {}, "description": "A list of method names to which the rate limiter applies " }, "rate": { "type": "integer", "description": "The number of allowed requests within the specified interval" }, "status": { "type": "string", "description": "The current status of the rate limiter" }, "created": { "type": "string", "description": "The timestamp when the rate limiter was created in second" } } }, "description": "An array of rate limiter configurations" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } }, "post": { "operationId": "post_v0_endpoints_by_id_method_rate_limits", "summary": "Creates a method rate limit.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-method-rate-limits-post" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "interval": { "type": "string", "description": "Specifies the time interval for the rate limit; valid values include second, minute or hour" }, "methods": { "type": "array", "items": {}, "description": "An array of method names to which the rate limiter applies" }, "rate": { "type": "integer", "description": " Specifies the maximum number of requests allowed for the specified methods within the defined interval" } }, "required": [ "interval", "methods", "rate" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the rate limiter" }, "interval": { "type": "string", "description": "The time interval for the rate limit" }, "methods": { "type": "array", "items": {}, "description": "A list of methods the rate limiter applies to" }, "rate": { "type": "integer", "description": "The maximum number of requests allowed within the specified interval" }, "status": { "type": "string", "description": "The current status of the rate limiter" }, "created": { "type": "string", "description": "The timestamp when the rate limiter was created in second" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/method-rate-limits/{method_rate_limit_id}": { "patch": { "operationId": "patch_v0_endpoints_by_id_method_rate_limits_by_method_rate_limit_id", "summary": "Updates a method rate limit.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-method-rate-limits-method_rate_limit_id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "method_rate_limit_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the rate limiter" }, "required": true, "description": "The unique identifier for the rate limiter" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "description": "The current status of the rate limiter; valid values include enabled or disabled" }, "methods": { "type": "array", "items": {}, "description": "An array of method names to which the rate limiter applies" }, "rate": { "type": "integer", "description": " Specifies the maximum number of requests allowed for the specified methods within the defined interval" } }, "required": [ "status", "methods", "rate" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the rate limiter" }, "interval": { "type": "string", "description": "The time interval for the rate limit" }, "methods": { "type": "array", "items": {}, "description": "A list of methods the rate limiter applies to" }, "rate": { "type": "integer", "description": "The maximum number of requests allowed within the specified interval" }, "status": { "type": "string", "description": "The current status of the rate limiter" }, "created": { "type": "string", "description": "The timestamp when the rate limiter was created in second" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } }, "delete": { "operationId": "delete_v0_endpoints_by_id_method_rate_limits_by_method_rate_limit_id", "summary": "Deletes a method rate limit.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-method-rate-limits-method_rate_limit_id-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "method_rate_limit_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the rate limiter" }, "required": true, "description": "The unique identifier for the rate limiter" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "string", "description": "A message indicating the result of the operation" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/rate-limits": { "patch": { "operationId": "patch_v0_endpoints_by_id_rate_limits", "summary": "Updates endpoint rate limits.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-rate-limits" }, "description": "Updates endpoint rate limits. Only rate limits specified in the payload are updated; omitted rate limits remain unchanged. The response returns the effective endpoint-level limits as a flat limits object.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "rate_limits": { "type": "object", "properties": { "rps": { "type": "integer", "description": "Specifies the maximum number of requests allowed per second" }, "rpd": { "type": "integer", "description": "Specifies the maximum number of requests allowed per day" }, "rpm": { "type": "integer", "description": "Specifies the maximum number of requests allowed per minute" } }, "description": "Contains the rate limit configurations that you want to update" } }, "required": [ "rate_limits" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "limits": { "type": "object", "properties": { "rps": { "type": "integer", "description": "The maximum number of requests allowed per second. A value of -1 indicates that no endpoint-level override is set for this bucket." }, "rpd": { "type": "integer", "description": "The maximum number of requests allowed per day. A value of -1 indicates that no endpoint-level override is set for this bucket." }, "rpm": { "type": "integer", "description": "The maximum number of requests allowed per minute. A value of -1 indicates that no endpoint-level override is set for this bucket." } }, "description": "The limits object which contains the following fields:" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } }, "get": { "operationId": "get_v0_endpoints_by_id_rate_limits", "summary": "Gets endpoint rate limits.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-rate-limits-get" }, "description": "Gets endpoint rate limits. The response returns an array with the source for each rate limit, including plan defaults and user-set overrides.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "rate_limits": { "type": "array", "items": { "type": "object", "properties": { "bucket": { "type": "string", "description": "The rate limit bucket, such as rps, rpm, or rpd" }, "rate_limit": { "type": "integer", "description": "The rate limit value for the bucket" }, "source": { "type": "string", "description": "The source of the rate limit, such as plan_default or user_override" }, "id": { "type": "string", "description": "The unique identifier for a user-set endpoint rate limit override. This field is returned for user_override rate limits and can be used to delete a specific endpoint rate limit." } } }, "description": "An array of endpoint rate limit configurations" } }, "description": "The data object which contains the endpoint rate limit configuration" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/rate-limits/{override_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_rate_limits_by_override_id", "summary": "Deletes a user-set endpoint rate limit by UUID.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-rate-limits/v0-endpoints-id-rate-limits-override_id-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "override_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the user-set endpoint rate limit override" }, "required": true, "description": "The unique identifier for the user-set endpoint rate limit override" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Indicates whether the endpoint rate limit was deleted" } }, "description": "The data object which contains the result of the operation" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/disable_multichain": { "post": { "operationId": "post_v0_endpoints_by_id_disable_multichain", "summary": "Disables multichain for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-disable_multichain" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Returns true when multichain is successfully disabled" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/enable_multichain": { "post": { "operationId": "post_v0_endpoints_by_id_enable_multichain", "summary": "Enables multichain for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-enable_multichain" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Returns true when multichain is successfully enabled" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/ip_custom_header": { "delete": { "operationId": "delete_v0_endpoints_by_id_ip_custom_header", "summary": "Deletes the IP custom header for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-ip_custom_header-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Returns true when the IP custom header is successfully deleted" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } }, "patch": { "operationId": "patch_v0_endpoints_by_id_ip_custom_header", "summary": "Creates or updates an IP custom header for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-ip_custom_header-patch" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "header_name": { "type": "string", "description": "The name of the IP custom header" } }, "required": [ "header_name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "header_name": { "type": "string", "description": "The name of the IP custom header that was set" } }, "description": "Contains the updated IP custom header details" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/security/domain_masks": { "post": { "operationId": "post_v0_endpoints_by_id_security_domain_masks", "summary": "Create an endpoint domain mask.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-domain_masks" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "domain_mask": { "type": "string", "description": "The domain mask that you will use to mask your endpoint" } }, "required": [ "domain_mask" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the domain mask" }, "domain_mask": { "type": "string", "description": "The domain mask that you used to mask your endpoint" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/domain_masks/{domain_mask_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_security_domain_masks_by_domain_mask_id", "summary": "Deletes an existing endpoint domain mask.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-domain_masks-domain_mask_id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "domain_mask_id", "in": "path", "schema": { "type": "string", "description": "The specific domain mask ID that needs to be deleted" }, "required": true, "description": "The specific domain mask ID that needs to be deleted" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Represent successfully deleted the existing endpoint domain mask" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/ips": { "post": { "operationId": "post_v0_endpoints_by_id_security_ips", "summary": "Creates a new endpoint IP.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-ips" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "ip": { "type": "string", "description": "The specific IP address that is allowed to access the API endpoint. Only requests originating from this IP address will be permitted" } }, "required": [ "ip" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the IP rule" }, "ip": { "type": "string", "description": "The IP address that is allowed to access the API endpoint" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/ips/{ip_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_security_ips_by_ip_id", "summary": "Deletes an existing endpoint IP.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-ips-ip_id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "ip_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint IP entry that needs to be deleted" }, "required": true, "description": "The unique identifier of the endpoint IP entry that needs to be deleted" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Represent successfully deleted the existing endpoint IP" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/jwts": { "post": { "operationId": "post_v0_endpoints_by_id_security_jwts", "summary": "Creates a new endpoint JWT.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-jwts" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "public_key": { "type": "string", "description": "The public key used to verify the JWT token" }, "kid": { "type": "string", "description": "The key identifier (KID) associated with the public key" }, "name": { "type": "string", "description": "A human-readable name for the JWT configuration" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the JWT configuration" }, "public_key": { "type": "string", "description": "The public key used to verify the JWT token" }, "kid": { "type": "string", "description": "The key identifier (KID) associated with the public key" }, "name": { "type": "string", "description": "A human-readable name for the JWT configuration" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/jwts/{jwt_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_security_jwts_by_jwt_id", "summary": "Deletes an existing endpoint JWT.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-jwts-jwt_id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "jwt_id", "in": "path", "schema": { "type": "string", "description": "A unique identifier for the JWT which needs to be deleted" }, "required": true, "description": "A unique identifier for the JWT which needs to be deleted" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Represent successfully deleted the existing endpoint jwt" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/referrers": { "post": { "operationId": "post_v0_endpoints_by_id_security_referrers", "summary": "Creates a new endpoint referrer.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-referrers" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "referrer": { "type": "string", "description": "The URL or domain that is allowed to access the specific API endpoint. Only requests coming from this referrer will be permitted" } }, "required": [ "referrer" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the referrer" }, "referrer": { "type": "string", "description": "The URL or domain that is allowed to access the specific API endpoint. Only requests coming from this referrer will be permitted" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/referrers/{referrer_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_security_referrers_by_referrer_id", "summary": "Deletes an existing endpoint referrer.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-referrers-referrer_id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "referrer_id", "in": "path", "schema": { "type": "string", "description": "The referrer_id which needs to be deleted" }, "required": true, "description": "The referrer_id which needs to be deleted" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Represent successfully deleted the existing endpoint referrer" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/request_filters": { "post": { "operationId": "post_v0_endpoints_by_id_security_request_filters", "summary": "Creates a new endpoint request filter for method whitelisting.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-request_filters-post" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "method": { "type": "array", "items": {}, "description": "An array of method names to whitelist" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier (UUID) of the newly created request filter" } }, "description": "Contains the created request filter details" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/security/request_filters/{request_filter_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_security_request_filters_by_request_filter_id", "summary": "Deletes an existing endpoint request filter.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-request_filters-request_filter_id-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" }, { "name": "request_filter_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the request filter to delete" }, "required": true, "description": "The unique identifier of the request filter to delete" } ], "responses": { "204": { "description": "Returns HTTP 204 No Content on successful deletion. The response body is empty." } } }, "put": { "operationId": "put_v0_endpoints_by_id_security_request_filters_by_request_filter_id", "summary": "Updates an existing endpoint request filter.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-request_filters-request_filter_id-put" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" }, { "name": "request_filter_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the request filter to update" }, "required": true, "description": "The unique identifier of the request filter to update" } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "method": { "type": "array", "items": {}, "description": "An array of method names to whitelist" } } } } } }, "responses": { "204": { "description": "Returns HTTP 204 No Content on successful update. The response body is empty." } } } }, "/v0/endpoints/{id}/security/tokens": { "post": { "operationId": "post_v0_endpoints_by_id_security_tokens", "summary": "Creates a new endpoint authentication token.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-tokens" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the token" }, "token": { "type": "string", "description": "The generated token string used for authentication" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security/tokens/{token_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_security_tokens_by_token_id", "summary": "Deletes an existing endpoint token.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security-tokens-token_id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" }, { "name": "token_id", "in": "path", "schema": { "type": "string", "description": "The specific token id that needs to be deleted" }, "required": true, "description": "The specific token id that needs to be deleted" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Represent successfully deleted the existing endpoint token" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints/{id}/security_options": { "get": { "operationId": "get_v0_endpoints_by_id_security_options", "summary": "Gets security options for an endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security_options" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "option": { "type": "string", "description": "Represents the security options" }, "status": { "type": "string", "description": "Indicates the status of the option. Possible values: enabled, disabled" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } }, "patch": { "operationId": "patch_v0_endpoints_by_id_security_options", "summary": "Updates security options for an endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoint-security/v0-endpoints-id-security_options-patch" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "properties": { "options": { "type": "object", "properties": { "tokens": { "type": "string", "description": "Controls the token-based authentication mechanism. Possible values includes 'enabled' or 'disabled'" }, "referrers": { "type": "string", "description": "The URL or domain that is allowed to access the specific API endpoint. Possible values includes 'enabled' or 'disabled'" }, "jwts": { "type": "string", "description": "Configures JSON Web Tokens (JWTs) for secure authentication and authorization. Possible values includes 'enabled' or 'disabled'" }, "ips": { "type": "string", "description": "Specifies IP address-based restrictions or permissions. Possible values includes 'enabled' or 'disabled'" }, "domainMasks": { "type": "string", "description": "Configures the masking or restriction of specific domains. Possible values includes 'enabled' or 'disabled'" }, "hsts": { "type": "string", "description": "The HTTP Strict Transport Security (HSTS). Possible values includes 'enabled' or 'disabled'" }, "cors": { "type": "string", "description": "Configures Cross-Origin Resource Sharing (CORS) policies to control how resources can be accessed by external domains. Possible values includes 'enabled' or 'disabled'" } }, "description": "The options object which contains the following fields:" } } } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "option": { "type": "string", "description": "Represents the security options" }, "status": { "type": "string", "description": "Indicates the status of the option. Possible values: enabled, disabled" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/endpoints": { "get": { "operationId": "get_v0_endpoints", "summary": "Retrieves a list of endpoints.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints" }, "description": "Retrieves a list of endpoints. Supports searching, filtering, and sorting.", "parameters": [ { "name": "limit", "in": "query", "schema": { "type": "integer", "description": "Specifies the maximum number of endpoints to retrieve in the response. The default value is set to 20" }, "description": "Specifies the maximum number of endpoints to retrieve in the response. The default value is set to 20" }, { "name": "offset", "in": "query", "schema": { "type": "integer", "description": "Specifies the number of endpoints to skip before starting to retrieve the list" }, "description": "Specifies the number of endpoints to skip before starting to retrieve the list" }, { "name": "search", "in": "query", "schema": { "type": "string", "description": "Search endpoints by subdomain or label" }, "description": "Search endpoints by subdomain or label" }, { "name": "sort_by", "in": "query", "schema": { "type": "string", "description": "Sort field. Accepted values: name, status, network, label, tags, usage, created_at. Default value: created_at" }, "description": "Sort field. Accepted values: name, status, network, label, tags, usage, created_at. Default value: created_at" }, { "name": "sort_direction", "in": "query", "schema": { "type": "string", "description": "Sort direction. Accepted values: asc, desc. Default value: ASC" }, "description": "Sort direction. Accepted values: asc, desc. Default value: ASC" }, { "name": "networks", "in": "query", "schema": { "type": "array", "items": {}, "description": "Filter by network name(s)" }, "description": "Filter by network name(s)" }, { "name": "statuses", "in": "query", "schema": { "type": "array", "items": {}, "description": "Filter by endpoint status. Accepted values: active, paused" }, "description": "Filter by endpoint status. Accepted values: active, paused" }, { "name": "labels", "in": "query", "schema": { "type": "array", "items": {}, "description": "Filter by endpoint label(s)" }, "description": "Filter by endpoint label(s)" }, { "name": "dedicated", "in": "query", "schema": { "type": "boolean", "description": "Filter for dedicated endpoints only" }, "description": "Filter for dedicated endpoints only" }, { "name": "is_flat_rate", "in": "query", "schema": { "type": "boolean", "description": "Filter for flat rate endpoints only" }, "description": "Filter for flat rate endpoints only" }, { "name": "tag_ids", "in": "query", "schema": { "type": [ "integer", "array" ], "description": "Filter endpoints by tag IDs. Can be a single integer or an array of integers. Optional. Cannot be used together with tag_labels" }, "description": "Filter endpoints by tag IDs. Can be a single integer or an array of integers. Optional. Cannot be used together with tag_labels" }, { "name": "tag_labels", "in": "query", "schema": { "type": [ "string", "array" ], "description": "Filter endpoints by tag labels. Can be a single string or an array of strings. Optional. Cannot be used together with tag_ids" }, "description": "Filter endpoints by tag labels. Can be a single string or an array of strings. Optional. Cannot be used together with tag_ids" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the specific endpoint" }, "name": { "type": "string", "description": "The endpoint subdomain" }, "label": { "type": "string", "description": "A descriptive label for the endpoint" }, "status": { "type": "string", "description": "The current status of the endpoint (active or paused)" }, "chain": { "type": "string", "description": "The blockchain the endpoint is associated with" }, "network": { "type": "string", "description": "The specific network of the blockchain" }, "is_dedicated": { "type": "boolean", "description": "Whether the endpoint is a dedicated endpoint" }, "is_flat_rate": { "type": "boolean", "description": "Whether the endpoint is a flat rate endpoint" }, "is_multichain": { "type": "boolean", "description": "Whether the endpoint is a multichain endpoint" }, "http_url": { "type": "string", "description": "The HTTP URL to access the endpoint" }, "wss_url": { "type": "string", "description": "The WebSocket URL to access the endpoint" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tag_id": { "type": "integer", "description": "The unique identifier for the tag" }, "label": { "type": "string", "description": "The label/name of the tag" } } }, "description": "An array of tags associated with the endpoint" } } }, "description": "An array of data which contains the following fields:" }, "pagination": { "type": "object", "properties": { "total": { "type": "integer", "description": "The total number of endpoints matching the query" }, "limit": { "type": "integer", "description": "The maximum number of endpoints returned per page" }, "offset": { "type": "integer", "description": "The number of endpoints skipped" } }, "description": "Pagination details for the response" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } }, "post": { "operationId": "post_v0_endpoints", "summary": "Creates a new endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-post" }, "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "chain": { "type": "string", "description": "The chain name for which the endpoint is to be created" }, "network": { "type": "string", "description": "The chain network for which the endpoint is to be created" } }, "required": [ "chain", "network" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the created endpoint" }, "label": { "type": "string", "description": "A descriptive label for the endpoint" }, "chain": { "type": "string", "description": "The blockchain the endpoint is associated with" }, "network": { "type": "string", "description": "The specific network of the blockchain" }, "http_url": { "type": "string", "description": "The HTTP URL to access the newly created endpoint" }, "wss_url": { "type": "string", "description": "The WebSocket URL to access the newly created endpoint" }, "security": { "type": "object", "properties": { "options": { "type": "object", "properties": { "tokens": { "type": "boolean", "description": "Indicates whether token-based security is enabled" }, "jwts": { "type": "boolean", "description": "Indicates whether JWT-based security is enabled" }, "domainMasks": { "type": "boolean", "description": "Indicates whether domain mask security is enabled" }, "ips": { "type": "boolean", "description": "Indicates whether IP-based security is enabled" }, "hosts": { "type": "boolean", "description": "Indicates whether host-based security is enabled" }, "referrers": { "type": "boolean", "description": "Indicates whether referrer-based security is enable" }, "validHosts": { "type": "boolean", "description": "Indicates whether only valid hosts are allowed" }, "requestFilters": { "type": "boolean", "description": "Indicates whether request filters are applied" }, "debugAuthErrors": { "type": "boolean", "description": "Indicates whether detailed authentication error debugging is enabled" }, "enforceChainNetwork": { "type": "boolean", "description": "Indicates whether the specified chain and network are enforced for the endpoint" }, "ipCustomHeader": { "type": "boolean", "description": "Indicates whether a custom IP header is applied" }, "hsts": { "type": "boolean", "description": "Indicates whether HTTP Strict Transport Security (HSTS) is enforced" }, "cors": { "type": "boolean", "description": "Indicates whether Cross-Origin Resource Sharing (CORS) is enabled" } }, "description": "A list of security options available for the endpoint " }, "jwts": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the JWT" }, "public_key": { "type": "string", "description": "The public key used in the JWT" }, "kid": { "type": "string", "description": "A unique key identifier for the JWT public key" }, "name": { "type": "string", "description": "The name of the JWT" } } }, "description": "An array of JSON Web Token (JWT) configurations" }, "tokens": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the token" }, "token": { "type": "string", "description": "The actual token value used for authentication" } } }, "description": "An array of token-based security configurations" }, "referrers": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the referrer." }, "referrer": { "type": "string", "description": "The referrer URL allowed to access the endpoint" } } }, "description": "An array of referrer-based security configurations" }, "domainMasks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the domain mask" }, "domain": { "type": "string", "description": "The allowed domain for accessing the endpoint" } } }, "description": "An array of domain-based security configurations" }, "ips": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the IP configuration" }, "ip": { "type": "string", "description": "The allowed IP address for accessing the endpoint" } } }, "description": "An array of IP-based security configurations" } }, "description": "The security object which contains the following fields:" }, "rate_limits": { "type": "object", "properties": { "rate_limit_by_ip": { "type": "boolean", "description": "Specifies if rate limiting is applied per IP" }, "account": { "type": "integer", "description": "The account-level rate limit" }, "rps": { "type": "integer", "description": "Requests per second limit" }, "rpm": { "type": "integer", "description": "Requests per minute limit" }, "rpd": { "type": "integer", "description": "Requests per day limit" } }, "description": "The rate_limits object which contains the following fields:" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "Contains error information, if any" } } } } } } } } }, "/v0/endpoints/bulk/status": { "post": { "operationId": "post_v0_endpoints_bulk_status", "summary": "Pause or unpause multiple endpoints in a single call.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-bulk-status" }, "description": "Pause or unpause multiple endpoints in a single call. Admin-only.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": {}, "description": "An array of endpoint IDs to update" }, "status": { "type": "string", "description": "The status to apply. Accepted values: active, paused" } }, "required": [ "ids", "status" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "total": { "type": "integer", "description": "The total number of endpoints in the request" }, "updated_count": { "type": "integer", "description": "The number of endpoints successfully updated" }, "failed_count": { "type": "integer", "description": "The number of endpoints that failed to update" }, "results": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The endpoint ID" }, "success": { "type": "boolean", "description": "Whether the status update succeeded for this endpoint" } } }, "description": "An array of result objects for each endpoint" } }, "description": "Contains the result of the bulk status update" } } } } } } } } }, "/v0/endpoints/bulk/tags": { "delete": { "operationId": "delete_v0_endpoints_bulk_tags", "summary": "Remove a tag from multiple endpoints in a single call.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-bulk-tags-delete" }, "description": "Remove a tag from multiple endpoints in a single call. Admin-only.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": {}, "description": "An array of endpoint IDs to remove the tag from" }, "tag_id": { "type": "integer", "description": "The ID of the tag to remove from the endpoints" } }, "required": [ "ids", "tag_id" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "total": { "type": "integer", "description": "The total number of endpoints in the request" }, "updated_count": { "type": "integer", "description": "The number of endpoints successfully updated" }, "failed_count": { "type": "integer", "description": "The number of endpoints that failed to update" }, "results": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The endpoint ID" }, "success": { "type": "boolean", "description": "Whether the tag was successfully removed from this endpoint" } } }, "description": "An array of result objects for each endpoint" } }, "description": "Contains the result of the bulk tag removal" } } } } } } } }, "post": { "operationId": "post_v0_endpoints_bulk_tags", "summary": "Add a tag to multiple endpoints in a single call.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-bulk-tags-post" }, "description": "Add a tag to multiple endpoints in a single call. Admin-only.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "ids": { "type": "array", "items": {}, "description": "An array of endpoint IDs to tag" }, "label": { "type": "string", "description": "The tag label to add to the endpoints" } }, "required": [ "ids", "label" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "total": { "type": "integer", "description": "The total number of endpoints in the request" }, "updated_count": { "type": "integer", "description": "The number of endpoints successfully updated" }, "failed_count": { "type": "integer", "description": "The number of endpoints that failed to update" }, "results": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The endpoint ID" }, "success": { "type": "boolean", "description": "Whether the tag was successfully added to this endpoint" } } }, "description": "An array of result objects for each endpoint" }, "tag": { "type": "object", "properties": { "tag_id": { "type": "integer", "description": "The unique identifier of the tag" }, "label": { "type": "string", "description": "The label/name of the tag" } }, "description": "The tag that was added to the endpoints" } }, "description": "Contains the result of the bulk tag operation" } } } } } } } } }, "/v0/endpoints/{id}": { "get": { "operationId": "get_v0_endpoints_by_id", "summary": "Returns info for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the created endpoint" }, "label": { "type": "string", "description": "A descriptive label for the endpoint" }, "chain": { "type": "string", "description": "The blockchain the endpoint is associated with" }, "network": { "type": "string", "description": "The specific network of the blockchain" }, "http_url": { "type": "string", "description": "The HTTP URL to access the newly created endpoint" }, "wss_url": { "type": "string", "description": "The WebSocket URL to access the newly created endpoint" }, "security": { "type": "object", "properties": { "options": { "type": "object", "properties": { "tokens": { "type": "boolean", "description": "Indicates whether token-based security is enabled" }, "jwts": { "type": "boolean", "description": "Indicates whether JWT-based security is enabled" }, "domainMasks": { "type": "boolean", "description": "Indicates whether domain mask security is enabled" }, "ips": { "type": "boolean", "description": "Indicates whether IP-based security is enabled" }, "hosts": { "type": "boolean", "description": "Indicates whether host-based security is enabled" }, "referrers": { "type": "boolean", "description": "Indicates whether referrer-based security is enable" }, "validHosts": { "type": "boolean", "description": "Indicates whether only valid hosts are allowed" }, "requestFilters": { "type": "boolean", "description": "Indicates whether request filters are applied" }, "debugAuthErrors": { "type": "boolean", "description": "Indicates whether detailed authentication error debugging is enabled" }, "enforceChainNetwork": { "type": "boolean", "description": "Indicates whether the specified chain and network are enforced for the endpoint" }, "ipCustomHeader": { "type": "boolean", "description": "Indicates whether a custom IP header is applied" }, "hsts": { "type": "boolean", "description": "Indicates whether HTTP Strict Transport Security (HSTS) is enforced" }, "cors": { "type": "boolean", "description": "Indicates whether Cross-Origin Resource Sharing (CORS) is enabled" } }, "description": "A list of security options available for the endpoint " }, "jwts": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the JWT" }, "public_key": { "type": "string", "description": "The public key used in the JWT" }, "kid": { "type": "string", "description": "A unique key identifier for the JWT public key" }, "name": { "type": "string", "description": "The name of the JWT" } } }, "description": "An array of JSON Web Token (JWT) configurations" }, "tokens": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the token" }, "token": { "type": "string", "description": "The actual token value used for authentication" } } }, "description": "An array of token-based security configurations" }, "referrers": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the referrer." }, "referrer": { "type": "string", "description": "The referrer URL allowed to access the endpoint" } } }, "description": "An array of referrer-based security configurations" }, "domainMasks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the domain mask" }, "domain": { "type": "string", "description": "The allowed domain for accessing the endpoint" } } }, "description": "An array of domain-based security configurations" }, "ips": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "A unique identifier for the IP configuration" }, "ip": { "type": "string", "description": "The allowed IP address for accessing the endpoint" } } }, "description": "An array of IP-based security configurations" } }, "description": "The security object which contains the following fields:" }, "status": { "type": "string", "description": "Current state of the endpoint — either `active` or `paused`" }, "rate_limits": { "type": "object", "properties": { "rate_limit_by_ip": { "type": "boolean", "description": "Specifies if rate limiting is applied per IP" }, "account": { "type": "integer", "description": "The account-level rate limit" }, "rps": { "type": "integer", "description": "Requests per second limit" }, "rpm": { "type": "integer", "description": "Requests per minute limit" }, "rpd": { "type": "integer", "description": "Requests per day limit" } }, "description": "The rate_limits object which contains the following fields:" } }, "description": "The data object which contains the following fields:" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tag_id": { "type": "integer", "description": "The unique identifier for the tag" }, "label": { "type": "string", "description": "The label/name of the tag" } } }, "description": "An array of tags associated with the endpoint" }, "is_multichain": { "type": "boolean", "description": "Whether the endpoint is a multichain endpoint" }, "error": { "type": "string", "description": "Contains error information, if any" } } } } } } } }, "delete": { "operationId": "delete_v0_endpoints_by_id", "summary": "Archives an endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint which you need to archive" }, "required": true, "description": "The unique identifier for the specific endpoint which you need to archive" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "result": { "type": "boolean", "description": "Indicates whether the endpoint is archived or not" } } } } } } } }, "patch": { "operationId": "patch_v0_endpoints_by_id", "summary": "Updates an endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-patch" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "type": "string", "description": "A descriptive label for the endpoint which you need to update to" } }, "required": [ "label" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "boolean", "description": "Indicates whether the updation is done or not" }, "error": { "type": "string", "description": "Contains error information, if any" } } } } } } } } }, "/v0/endpoints/{id}/security": { "get": { "operationId": "get_v0_endpoints_by_id_security", "summary": "Returns full security state (tokens, JWTs, IPs, referrers, domain masks, request filters, options) without fetching the", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-security" }, "description": "Returns full security state (tokens, JWTs, IPs, referrers, domain masks, request filters, options) without fetching the full endpoint.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "options": { "type": "object", "properties": { "tokens": { "type": "boolean", "description": "Whether token-based authentication is enabled" }, "referrers": { "type": "boolean", "description": "Whether referrer-based restrictions are enabled" }, "jwts": { "type": "boolean", "description": "Whether JWT-based authentication is enabled" }, "ips": { "type": "boolean", "description": "Whether IP-based restrictions are enabled" }, "domainMasks": { "type": "boolean", "description": "Whether domain mask restrictions are enabled" }, "hsts": { "type": "boolean", "description": "Whether HSTS is enabled" }, "cors": { "type": "boolean", "description": "Whether CORS is enabled" }, "responseLogging": { "type": "boolean", "description": "Whether response logging is enabled" }, "requestFilters": { "type": "boolean", "description": "Whether request filters are enabled" }, "ipCustomHeader": { "type": "object", "properties": { "value": { "type": "string", "description": "The IP custom header value; null if not set" } }, "description": "IP custom header configuration" } }, "description": "Security feature toggles for the endpoint" }, "tokens": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier (UUID) of the token" }, "token": { "type": "string", "description": "The authentication token value" } } }, "description": "An array of authentication token objects; null if none configured" }, "jwts": { "type": "array", "items": {}, "description": "An array of JWT configuration objects; null if none configured" }, "referrers": { "type": "array", "items": {}, "description": "An array of allowed referrer entries; null if none configured" }, "domain_masks": { "type": "array", "items": {}, "description": "An array of domain mask entries; null if none configured" }, "ips": { "type": "array", "items": {}, "description": "An array of allowed IP entries; null if none configured" }, "request_filters": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier (UUID) of the request filter" }, "method": { "type": "array", "items": {}, "description": "An array of whitelisted method names" }, "params": { "type": "object", "description": "Parameter constraints for the filter" } } }, "description": "An array of request filter objects; null if none configured" } }, "description": "Contains the security state of the endpoint" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/status": { "patch": { "operationId": "patch_v0_endpoints_by_id_status", "summary": "Pauses or unpauses a specific endpoint by updating its status to either 'active' or 'paused'", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-status" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint to be updated" }, "required": true, "description": "The unique identifier of the endpoint to be updated" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string", "description": "The new status to apply to the endpoint. Accepted values are 'active' and 'paused'" } }, "required": [ "status" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "string", "description": "The updated status of the endpoint (either 'active' or 'paused')" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/tags": { "get": { "operationId": "get_v0_endpoints_by_id_tags", "summary": "Returns all tags for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-tags" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier for the endpoint-tag relationship" }, "tag_id": { "type": "integer", "description": "The unique identifier for the tag" }, "account_id": { "type": "integer", "description": "The account identifier associated with the tag" }, "label": { "type": "string", "description": "The label/name of the tag" }, "created_at": { "type": "string", "description": "The timestamp when the tag was created" }, "updated_at": { "type": "string", "description": "The timestamp when the tag was last updated" }, "endpoint_id": { "type": "integer", "description": "The endpoint identifier associated with the tag" } } }, "description": "An array of tags associated with the endpoint" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "Contains error information, if any" } } } } } } } }, "post": { "operationId": "post_v0_endpoints_by_id_tags", "summary": "Creates a new tag for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-tags-post" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "type": "string", "description": "The label/name for the new tag" } }, "required": [ "label" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier for the endpoint-tag relationship" }, "tag_id": { "type": "integer", "description": "The unique identifier for the newly created tag" }, "account_id": { "type": "integer", "description": "The account identifier associated with the tag" }, "label": { "type": "string", "description": "The label/name of the newly created tag" }, "created_at": { "type": "string", "description": "The timestamp when the tag was created" }, "updated_at": { "type": "string", "description": "The timestamp when the tag was last updated" }, "endpoint_id": { "type": "integer", "description": "The endpoint identifier associated with the tag" } } }, "description": "An array containing the newly created tag" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "Contains error information, if any" } } } } } } } } }, "/v0/endpoints/{id}/tags/{tag_id}": { "delete": { "operationId": "delete_v0_endpoints_by_id_tags_by_tag_id", "summary": "Deletes a tag from a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-tags-tag_id-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint" }, "required": true, "description": "The unique identifier of the endpoint" }, { "name": "tag_id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the tag to remove" }, "required": true, "description": "The unique identifier of the tag to remove" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Whether the tag was successfully deleted from the endpoint" } }, "description": "Contains the result of the tag deletion" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/{id}/urls": { "get": { "operationId": "get_v0_endpoints_by_id_urls", "summary": "Returns the URLs for a specific endpoint.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/endpoints/v0-endpoints-id-urls" }, "description": "Returns the URLs for a specific endpoint. For multichain endpoints, the response also includes a `multichain_urls` map with the URLs for every supported network.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier for the specific endpoint" }, "required": true, "description": "The unique identifier for the specific endpoint" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "http_url": { "type": "string", "description": "The HTTP URL to access the endpoint" }, "wss_url": { "type": "string", "description": "The WebSocket URL to access the endpoint" }, "multichain_urls": { "type": "object", "properties": { "{network}": { "type": "object", "properties": { "http_url": { "type": "string", "description": "The HTTP URL to access the endpoint on this network" }, "wss_url": { "type": "string", "description": "The WebSocket URL to access the endpoint on this network" } }, "description": "Per-network URL entry. The key is the network identifier (e.g. `avalanche-mainnet`)." } }, "description": "Only present for multichain endpoints. An object keyed by network identifier (e.g. `avalanche-mainnet`), where each value contains the HTTP and WebSocket URLs for that network." } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "Contains error information, if any" } } } } } } } } }, "/v0/endpoints/{id}/logs": { "get": { "operationId": "get_v0_endpoints_by_id_logs", "summary": "Retrieves logs for a specific endpoint with filtering and pagination options.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/logs/v0-endpoints-id-logs" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint. You can find this ID in the URL when viewing an endpoint in the Quicknode dashboard (e.g., https://dashboard.quicknode.com/endpoints/12345 — here, '12345' is the endpoint ID)" }, "required": true, "description": "The unique identifier of the endpoint. You can find this ID in the URL when viewing an endpoint in the Quicknode dashboard (e.g., https://dashboard.quicknode.com/endpoints/12345 — here, '12345' is the endpoint ID)" }, { "name": "from", "in": "query", "schema": { "type": "string", "description": "The start timestamp encoded in ISO8601 format" }, "required": true, "description": "The start timestamp encoded in ISO8601 format" }, { "name": "to", "in": "query", "schema": { "type": "string", "description": "The end timestamp encoded in ISO8601 format" }, "required": true, "description": "The end timestamp encoded in ISO8601 format" }, { "name": "limit", "in": "query", "schema": { "type": "integer", "description": "Number of logs (1-100, default: 20)" }, "description": "Number of logs (1-100, default: 20)" }, { "name": "include_details", "in": "query", "schema": { "type": "boolean", "description": "Includes request/response details. The default value is set to be false" }, "description": "Includes request/response details. The default value is set to be false" }, { "name": "next_at", "in": "query", "schema": { "type": "string", "description": "Pagination token from previous response" }, "description": "Pagination token from previous response" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "timestamp": { "type": "string", "description": "The timestamp when the log was recorded" }, "method": { "type": "string", "description": "The name of the method invoked" }, "network": { "type": "string", "description": "The name of the network on which the method was called" }, "http_method": { "type": "string", "description": "The HTTP method used for the request" }, "status": { "type": "integer", "description": "The HTTP status code returned by the request" }, "error_code": { "type": "integer", "description": "The application-specific error code returned" }, "request_id": { "type": "string", "description": "The unique identifier for the request" }, "url": { "type": "string", "description": "The request URL" }, "details": { "type": "string", "description": "Additional error details if available (nullable)" } } }, "description": "An array of log entries which contains the following fields:" }, "next_at": { "type": "string", "description": "A cursor string used for pagination to fetch the next set of logs" } } } } } } } } }, "/v0/endpoints/{id}/log_details": { "get": { "operationId": "get_v0_endpoints_by_id_log_details", "summary": "Retrieves detailed request and response information for a specific log entry.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/logs/v0-endpoints-id-logs_details" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "description": "The unique identifier of the endpoint. You can find this ID in the URL when viewing an endpoint in the Quicknode dashboard (e.g., https://dashboard.quicknode.com/endpoints/12345 — here, '12345' is the endpoint ID)" }, "required": true, "description": "The unique identifier of the endpoint. You can find this ID in the URL when viewing an endpoint in the Quicknode dashboard (e.g., https://dashboard.quicknode.com/endpoints/12345 — here, '12345' is the endpoint ID)" }, { "name": "request_id", "in": "query", "schema": { "type": "string", "description": "The UUID of the log entry" }, "required": true, "description": "The UUID of the log entry" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "request": { "type": "string", "description": "A JSON-encoded string representing the request payload that was sent in the original log entry. The logs are truncated after 2KB." }, "response": { "type": "string", "description": "A JSON-encoded string containing the full response returned by the API or aggregator for the logged request. The logs are truncated after 2KB." } }, "description": "Contains detailed information about a specific log entry, including the raw request that was sent and the response that was received." } } } } } } } } }, "/v0/endpoints/tags": { "get": { "operationId": "get_v0_endpoints_tags", "summary": "Returns all account-level tags including those with zero endpoints.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/tags/v0-endpoints-tags" }, "description": "Returns all account-level tags including those with zero endpoints. Gated at Build/Growth+.", "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier for the tag" }, "label": { "type": "string", "description": "The label/name of the tag" }, "usage_count": { "type": "integer", "description": "The number of endpoints associated with this tag" } } }, "description": "An array of tag objects" } }, "description": "Contains the tags data" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/endpoints/tags/{id}": { "delete": { "operationId": "delete_v0_endpoints_tags_by_id", "summary": "Deletes an account tag.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/tags/v0-endpoints-tags-id-delete" }, "description": "Deletes an account tag. The tag must be removed from all endpoints before it can be deleted. Admin-only.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the tag to delete" }, "required": true, "description": "The unique identifier for the tag to delete" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "description": "Contains the result of the deletion" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } }, "patch": { "operationId": "patch_v0_endpoints_tags_by_id", "summary": "Renames an account tag.", "tags": [ "endpoints" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/tags/v0-endpoints-tags-id-patch" }, "description": "Renames an account tag. Because the tag is shared across endpoints, all associated endpoints reflect the new label immediately. Admin-only.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the tag to rename" }, "required": true, "description": "The unique identifier for the tag to rename" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "type": "string", "description": "The new label for the tag" } }, "required": [ "label" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer", "description": "The unique identifier of the tag" }, "label": { "type": "string", "description": "The updated label/name of the tag" }, "usage_count": { "type": "integer", "description": "The number of endpoints currently using this tag" } }, "description": "Contains the updated tag details" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } }, "/v0/teams": { "get": { "operationId": "get_v0_teams", "summary": "Retrieves a list of all teams.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams" }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the team" }, "name": { "type": "string", "description": "The name of the team" }, "members_count": { "type": "integer", "description": "The number of members in the team" }, "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the user" }, "full_name": { "type": "string", "description": "The full name of the user" }, "email": { "type": "string", "description": "The email address of the user" }, "role": { "type": "string", "description": "The role of the user in the team (admin, viewer, or billing)" }, "created_at": { "type": "string", "description": "The timestamp when the user was added to the team" }, "status": { "type": "string", "description": "The status of the user (e.g., Active, Pending)" }, "photo_url": { "type": "string", "description": "The URL of the user's profile photo" } } }, "description": "An array of user objects in the team" } } }, "description": "An array of team objects containing the following fields:" } } } } } } } }, "post": { "operationId": "post_v0_teams", "summary": "Creates a new team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-post" }, "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name for the new team" } }, "required": [ "name" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the created team" }, "name": { "type": "string", "description": "The name of the created team" }, "default_role": { "type": "string", "description": "The default role assigned to new team members (admin, viewer, or billing)" }, "members_count": { "type": "integer", "description": "The number of members in the team" } }, "description": "The created team object containing the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/teams/{id}": { "get": { "operationId": "get_v0_teams_by_id", "summary": "Retrieves details for a specific team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team" }, "required": true, "description": "The unique identifier for the team" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the team" }, "name": { "type": "string", "description": "The name of the team" }, "members_count": { "type": "integer", "description": "The number of members in the team" }, "default_role": { "type": "string", "description": "The default role assigned to new team members (admin, viewer, or billing)" }, "users": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the user" }, "full_name": { "type": "string", "description": "The full name of the user" }, "email": { "type": "string", "description": "The email address of the user" }, "role": { "type": "string", "description": "The role of the user in the team (admin, viewer, or billing)" }, "created_at": { "type": "string", "description": "The timestamp when the user was added to the team" }, "status": { "type": "string", "description": "The status of the user (e.g., Active)" }, "photo_url": { "type": "string", "description": "The URL of the user's profile photo" }, "account_primary_user": { "type": "boolean", "description": "Indicates if the user is the primary account user" } } }, "description": "An array of active user objects in the team" }, "pending_invites": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the pending invite" }, "full_name": { "type": "string", "description": "The full name of the invited user" }, "email": { "type": "string", "description": "The email address of the invited user" }, "created_at": { "type": "string", "description": "The timestamp when the invite was created" }, "status": { "type": "string", "description": "The status of the invite (e.g., Pending)" }, "role": { "type": "string", "description": "The role assigned to the invited user (admin, viewer, or billing)" }, "photo_url": { "type": "string", "description": "The URL of the invited user's profile photo" }, "account_primary_user": { "type": "boolean", "description": "Indicates if the invited user will be the primary account user" } } }, "description": "An array of pending invite objects" } }, "description": "The team object containing the following fields:" } } } } } } } }, "delete": { "operationId": "delete_v0_teams_by_id", "summary": "Deletes an empty team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id-delete" }, "description": "Deletes an empty team. The team must have no members before it can be deleted.", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team to delete" }, "required": true, "description": "The unique identifier for the team to delete" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "message": { "type": "string", "description": "A message confirming the team was deleted successfully" } }, "description": "The response object containing the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/teams/{id}/endpoints": { "get": { "operationId": "get_v0_teams_by_id_endpoints", "summary": "Retrieves a list of endpoints accessible to a team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id-endpoints" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team" }, "required": true, "description": "The unique identifier for the team" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the endpoint" }, "subdomain": { "type": "string", "description": "The subdomain name of the endpoint" }, "chain": { "type": "string", "description": "The blockchain the endpoint is associated with" }, "network": { "type": "string", "description": "The specific network of the blockchain" } } }, "description": "An array of endpoint objects containing the following fields:" } } } } } } } }, "patch": { "operationId": "patch_v0_teams_by_id_endpoints", "summary": "Assigns or unassigns endpoints to a team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id-endpoints-patch" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team" }, "required": true, "description": "The unique identifier for the team" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "endpoint_ids": { "type": "array", "items": {}, "description": "An array of endpoint IDs to assign to the team. Pass an empty array to unassign all endpoints" } }, "required": [ "endpoint_ids" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "success": { "type": "boolean", "description": "Indicates whether the operation was successful" } }, "description": "The response object containing the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/teams/{id}/members": { "post": { "operationId": "post_v0_teams_by_id_members", "summary": "Invites a user to a team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id-members-post" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team" }, "required": true, "description": "The unique identifier for the team" } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "full_name": { "type": "string", "description": "The full name of the user to invite (required only for new users)" }, "email": { "type": "string", "description": "The email address of the user to invite" }, "role": { "type": "string", "description": "The role to assign to the invited user. Valid values: admin, viewer, billing. Required only for new users" } }, "required": [ "email" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "integer", "description": "A unique identifier for the invited user" }, "full_name": { "type": "string", "description": "The full name of the invited user" }, "email": { "type": "string", "description": "The email address of the invited user" }, "role": { "type": "string", "description": "The role assigned to the invited user (admin, viewer, or billing)" }, "status": { "type": "string", "description": "The status of the invitation (e.g., Active, Pending)" } }, "description": "The invited user object containing the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/teams/{id}/members/{user_id}": { "delete": { "operationId": "delete_v0_teams_by_id_members_by_user_id", "summary": "Removes a user from a team.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id-members-user_id-delete" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team" }, "required": true, "description": "The unique identifier for the team" }, { "name": "user_id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the user to remove" }, "required": true, "description": "The unique identifier for the user to remove" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "message": { "type": "string", "description": "A message confirming the user was removed successfully" } }, "description": "The response object containing the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/teams/{id}/members/{user_id}/resend_invite": { "post": { "operationId": "post_v0_teams_by_id_members_by_user_id_resend_invite", "summary": "Resends an invitation email to a pending team member.", "tags": [ "teams" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/team-control/v0-teams-id-members-user_id-resend_invite" }, "parameters": [ { "name": "id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the team" }, "required": true, "description": "The unique identifier for the team" }, { "name": "user_id", "in": "path", "schema": { "type": "integer", "description": "The unique identifier for the user to resend the invitation to" }, "required": true, "description": "The unique identifier for the user to resend the invitation to" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "message": { "type": "string", "description": "A message confirming the invitation was resent successfully" } }, "description": "The response object containing the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/tooling-access": { "get": { "operationId": "get_v0_tooling_access", "summary": "Returns whether Tooling Access is enabled for the account.", "tags": [ "tooling-access" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/tooling-access/v0-tooling-access" }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether Tooling Access is currently enabled for the account" }, "endpoint_id": { "type": "integer", "description": "The unique identifier of the endpoint provisioned for Tooling Access" }, "endpoint_url": { "type": "string", "description": "The URL of the endpoint provisioned for Tooling Access. May be present even when disabled if the account was previously provisioned" }, "enabled_at": { "type": "string", "description": "The timestamp when Tooling Access was enabled" } }, "description": "An object which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } }, "patch": { "operationId": "patch_v0_tooling_access", "summary": "Enable (provision/reactivate) or disable Tooling Access for the account.", "tags": [ "tooling-access" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/tooling-access/v0-tooling-access-patch" }, "description": "Enable (provision/reactivate) or disable Tooling Access for the account. Enabling is idempotent and requires an admin role.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Set to true to enable (provision/reactivate) Tooling Access or false to disable it" } }, "required": [ "enabled" ] } } } }, "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether Tooling Access is enabled after the update" }, "endpoint_url": { "type": "string", "description": "The URL of the endpoint provisioned for Tooling Access" } }, "description": "An object which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/tooling-access/token": { "post": { "operationId": "post_v0_tooling_access_token", "summary": "Mints a short-lived ES256 JWT for authenticating data-plane RPC calls.", "tags": [ "tooling-access" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/tooling-access/v0-tooling-access-token-post" }, "description": "Mints a short-lived ES256 JWT for authenticating data-plane RPC calls. Requires Tooling Access to be enabled first.", "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "endpoint_url": { "type": "string", "description": "The URL of the Tooling Access endpoint the token authenticates against" }, "token": { "type": "string", "description": "The short-lived ES256 JWT used to authenticate RPC calls" }, "expires_at": { "type": "string", "description": "The timestamp when the token expires" } }, "description": "An object which contains the following fields:" }, "error": { "type": "string", "description": "An error message if any issue occurs" } } } } } } } } }, "/v0/usage/rpc": { "get": { "operationId": "get_v0_usage_rpc", "summary": "Retrieves usage total for specified time range.", "tags": [ "usage" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/usage/v0-usage-rpc" }, "parameters": [ { "name": "start_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the start of the time period for which the usage data is to be retrieved" }, "description": "Specifies the start of the time period for which the usage data is to be retrieved" }, { "name": "end_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the end of the time period for which the usage data is to be retrieved" }, "description": "Specifies the end of the time period for which the usage data is to be retrieved" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "credits_used": { "type": "integer", "description": "The number of credits used within the specified time period" }, "credits_remaining": { "type": "integer", "description": "The number of credits remaining in the account" }, "limit": { "type": "integer", "description": "The maximum number of credits available" }, "overages": { "type": "integer", "description": "The number of credits used beyond the limit" }, "start_time": { "type": "integer", "description": "The start timestamp for the usage data in second in second" }, "end_time": { "type": "integer", "description": "The end timestamp for the usage data in second in second" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A string containing an error message, if any issues occur during the request" } } } } } } } } }, "/v0/usage/rpc/by-chain": { "get": { "operationId": "get_v0_usage_rpc_by_chain", "summary": "Retrieves usage data by chain.", "tags": [ "usage" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/usage/v0-usage-rpc-by-chain" }, "parameters": [ { "name": "start_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the start of the time period for which the usage data is to be retrieved" }, "description": "Specifies the start of the time period for which the usage data is to be retrieved" }, { "name": "end_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the end of the time period for which the usage data is to be retrieved" }, "description": "Specifies the end of the time period for which the usage data is to be retrieved" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "chains": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the blockchain" }, "credits_used": { "type": "integer", "description": "The number of credits used by the specified blockchain (RPC credits and data credits combined)" }, "rpc_credits": { "type": "integer", "description": "The portion of credits_used consumed by RPC requests" }, "data_credits": { "type": "integer", "description": "The portion of credits_used consumed by data usage, such as Streams and Yellowstone gRPC bytes transferred" }, "bytes": { "type": "integer", "description": "The total number of data bytes transferred on the specified blockchain (for example, Streams and Yellowstone gRPC data). Contributes to data_credits" } } }, "description": "An array of blockchains and their corresponding credit usage" }, "start_time": { "type": "integer", "description": "The start timestamp for the data in second in second" }, "end_time": { "type": "integer", "description": "The end timestamp for the data in second in second" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/usage/rpc/by-endpoint": { "get": { "operationId": "get_v0_usage_rpc_by_endpoint", "summary": "Retrieves usage data by endpoint.", "tags": [ "usage" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/usage/v0-usage-rpc-by-endpoint" }, "parameters": [ { "name": "start_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the start of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." }, "description": "Specifies the start of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." }, { "name": "end_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the end of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." }, "description": "Specifies the end of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "endpoints": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the endpoint" }, "label": { "type": "string", "description": "A custom label for the endpoint" }, "chain": { "type": "string", "description": "The blockchain associated with the endpoint" }, "status": { "type": "string", "description": "The current state of the RPC endpoint. Possible values include: active, archived, paused or terminated" }, "network": { "type": "string", "description": "The specific network on the blockchain" }, "credits_used": { "type": "integer", "description": "The total number of credits used by the endpoint (RPC credits and data credits combined)" }, "rpc_credits": { "type": "integer", "description": "The portion of credits_used consumed by RPC requests" }, "data_credits": { "type": "integer", "description": "The portion of credits_used consumed by data usage, such as Streams and Yellowstone gRPC bytes transferred" }, "requests": { "type": "integer", "description": "The total number of requests made to the endpoint" }, "bytes": { "type": "integer", "description": "The total number of data bytes transferred by the endpoint (for example, Streams and Yellowstone gRPC data). Contributes to data_credits" }, "methods_breakdown": { "type": "array", "items": { "type": "object", "properties": { "method_name": { "type": "string", "description": "The name of the method called. Streaming methods such as /geyser.geyser/subscribe also appear here with the data they transfer" }, "credits_used": { "type": "integer", "description": "The number of credits used by the method (RPC credits and data credits combined)" }, "bytes": { "type": "integer", "description": "The number of data bytes transferred by the method (for streaming methods such as /geyser.geyser/subscribe)" }, "archive": { "type": "boolean", "description": "Indicates whether the request is using archived data" } } }, "description": "An array of methods_breakdown" } } }, "description": "An array of endpoints which contains the following fields:" }, "start_time": { "type": "integer", "description": "The start timestamp for the data in second in second" }, "end_time": { "type": "integer", "description": "The end timestamp for the data in second in second" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/usage/rpc/by-method": { "get": { "operationId": "get_v0_usage_rpc_by_method", "summary": "Retrieves usage data by method.", "tags": [ "usage" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/usage/v0-usage-rpc-by-method" }, "parameters": [ { "name": "start_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the start of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." }, "description": "Specifies the start of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." }, { "name": "end_time", "in": "query", "schema": { "type": "integer", "description": "Specifies the end of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." }, "description": "Specifies the end of the time period for which the usage data is to be retrieved. For periods longer than a week, times are rounded down to midnight UTC for performance optimization." } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "methods": { "type": "array", "items": { "type": "object", "properties": { "method_name": { "type": "string", "description": "The name of the method called. Streaming methods such as /geyser.geyser/subscribe also appear here with the data they transfer" }, "credits_used": { "type": "integer", "description": "The number of credits used by the method (RPC credits and data credits combined)" }, "bytes": { "type": "integer", "description": "The number of data bytes transferred by the method (for streaming methods such as /geyser.geyser/subscribe)" }, "archive": { "type": "boolean", "description": "Indicates whether the request used archived data" } } }, "description": "An array of method calls and their corresponding credit usage" }, "start_time": { "type": "integer", "description": "The start timestamp for the data in second" }, "end_time": { "type": "integer", "description": "The end timestamp for the data in second" } }, "description": "The data object which contains the following fields:" }, "error": { "type": "string", "description": "A field containing an error message if any issue occurs" } } } } } } } } }, "/v0/usage/rpc/by-tag": { "get": { "operationId": "get_v0_usage_rpc_by_tag", "summary": "Retrieves usage data grouped by tag.", "tags": [ "usage" ], "externalDocs": { "description": "Quicknode docs", "url": "https://www.quicknode.com/docs/admin-api/usage/v0-usage-rpc-by-tag" }, "description": "Retrieves usage data grouped by tag. Includes an untagged bucket for endpoints with no tags.", "parameters": [ { "name": "start_time", "in": "query", "schema": { "type": "integer", "description": "Start time as a unix timestamp" }, "description": "Start time as a unix timestamp" }, { "name": "end_time", "in": "query", "schema": { "type": "integer", "description": "End time as a unix timestamp" }, "description": "End time as a unix timestamp" } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "tags": { "type": "array", "items": { "type": "object", "properties": { "tag_id": { "type": "integer", "description": "The unique identifier of the tag" }, "label": { "type": "string", "description": "The label/name of the tag" }, "credits_used": { "type": "integer", "description": "The total number of credits used by endpoints with this tag (RPC credits and data credits combined)" }, "rpc_credits": { "type": "integer", "description": "The portion of credits_used consumed by RPC requests" }, "data_credits": { "type": "integer", "description": "The portion of credits_used consumed by data usage, such as Streams and Yellowstone gRPC bytes transferred" }, "requests": { "type": "integer", "description": "The total number of requests made by endpoints with this tag" }, "bytes": { "type": "integer", "description": "The total number of data bytes transferred by endpoints with this tag (for example, Streams and Yellowstone gRPC data). Contributes to data_credits" } } }, "description": "An array of usage data objects, one per tag" }, "start_time": { "type": "integer", "description": "The start time of the usage period as a unix timestamp" }, "end_time": { "type": "integer", "description": "The end time of the usage period as a unix timestamp" } }, "description": "Contains usage data grouped by tag" }, "error": { "type": "string", "description": "Contains error details if the request failed; null if successful" } } } } } } } } } }, "servers": [ { "url": "https://api.quicknode.com", "description": "Quicknode Admin API" } ], "components": { "securitySchemes": { "apiKeyAuth": { "type": "apiKey", "in": "header", "name": "x-api-key" } } }, "security": [ { "apiKeyAuth": [] } ] }