Stacks Node RPC API
JSON-RPC interface to a Stacks node: submit transactions, call read-only contracts, query mempool/state.
JSON-RPC interface to a Stacks node: submit transactions, call read-only contracts, query mempool/state.
openapi: 3.1.0
servers:
- url: http://localhost:20443
description: Local Stacks Node
info:
title: Stacks 3.0+ RPC API
version: "1.0.0"
description: |
This is the documentation for the `stacks-node` RPC interface.
license:
name: CC-0
url: https://creativecommons.org/publicdomain/zero/1.0/
tags:
- name: Transactions
description: Operations related to broadcasting and retrieving transactions.
- name: Smart Contracts
description: Endpoints for interacting with Clarity smart contracts.
- name: Accounts
description: Endpoints for retrieving account information.
- name: Fees
description: Endpoints for fee estimation.
- name: Info
description: General informational endpoints about the node.
- name: Mining
description: Endpoints related to Stacks block production and mining.
- name: Blocks
description: Operations for retrieving block and microblock data.
- name: Signers
description: Endpoints for retrieving signer information.
- name: Atlas
description: Operations related to the Atlas global namespace.
- name: Microblocks
description: Operations for retrieving and submitting microblocks.
- name: StackerDB
description: Endpoints for interacting with StackerDB instances.
components:
securitySchemes:
rpcAuth:
type: apiKey
in: header
name: authorization
description: |
Plain-text secret value that must exactly equal the node's
configured password, which is set as `connection_options.auth_token`
in the node's configuration file.
responses:
Unauthorized:
description: Unauthorized. Invalid or missing authentication token.
content:
text/plain:
schema:
type: string
example: "Unauthorized"
BadRequest:
description: Bad request
content:
text/plain:
schema:
type: string
example: "Bad request"
NotFound:
description: Not found
content:
text/plain:
schema:
type: string
example: "Not found"
InternalServerError:
description: Internal Server Error
content:
text/plain:
schema:
type: string
example: "Internal Server Error"
MethodNotAllowed:
description: Method Not Allowed
content:
text/plain:
schema:
type: string
example: "Method Not Allowed. Allowed: GET"
Timeout:
description: Timeout
content:
text/plain:
schema:
type: string
example: "Timeout"
schemas:
NodeInfo:
$ref: ./components/schemas/node-info.schema.yaml
PoxInfo:
$ref: ./components/schemas/pox-info.schema.yaml
Sortitions:
$ref: ./components/schemas/sortitions.schema.yaml
GetHealth:
$ref: ./components/schemas/get-health.schema.yaml
AccountData:
$ref: ./components/schemas/account-data.schema.yaml
# Transaction Schemas
TransactionSubmissionError:
$ref: ./components/schemas/transaction-submission-error.schema.yaml
FeeTransactionRequest:
$ref: ./components/schemas/fee-transaction-request.schema.yaml
FeeTransactionResponse:
$ref: ./components/schemas/fee-transaction-response.schema.yaml
FeeTransactionError:
$ref: ./components/schemas/fee-transaction-error.schema.yaml
# Contract & Clarity Schemas
ContractInterface:
$ref: ./components/schemas/contract-interface.schema.yaml
ContractSource:
$ref: ./components/schemas/contract-source.schema.yaml
ReadOnlyFunctionArgs:
$ref: ./components/schemas/read-only-function-args.schema.yaml
ReadOnlyFunctionResult:
$ref: ./components/schemas/read-only-function-result.schema.yaml
ClarityName:
$ref: ./components/schemas/clarity-name.schema.yaml
ClarityMetadata:
$ref: ./components/schemas/clarity-metadata.schema.yaml
ConstantValue:
$ref: ./components/schemas/constant-value.schema.yaml
IsTraitImplemented:
$ref: ./components/schemas/is-trait-implemented.schema.yaml
# Other Schemas
SignerBlocksSigned:
$ref: ./components/schemas/signer-blocks-signed.schema.yaml
UnconfirmedTransaction:
$ref: ./components/schemas/unconfirmed-transaction.schema.yaml
BlockUploadResponse:
$ref: ./components/schemas/block-upload-response.schema.yaml
AttachmentInventory:
$ref: ./components/schemas/attachment-inventory.schema.yaml
AttachmentData:
$ref: ./components/schemas/attachment-data.schema.yaml
StackerDbMetadata:
$ref: ./components/schemas/stackerdb-metadata.schema.yaml
StackerDbReplicas:
$ref: ./components/schemas/stackerdb-replicas.schema.yaml
StackerDbChunkData:
$ref: ./components/schemas/stackerdb-chunk-data.schema.yaml
StackerDbChunkAckData:
$ref: ./components/schemas/stackerdb-chunk-ack-data.schema.yaml
ClarityData:
$ref: ./components/schemas/clarity-data.schema.yaml
BlockHeaders:
$ref: ./components/schemas/block-headers.schema.yaml
BlockProposalResponse:
$ref: ./components/schemas/block-proposal.schema.yaml
NetworkPeers:
$ref: ./components/schemas/network-peers.schema.yaml
TransactionInfo:
$ref: ./components/schemas/get-transaction.schema.yaml
TenureForkInfo:
$ref: ./components/schemas/tenure-fork-info.schema.yaml
TenureInfo:
$ref: ./components/schemas/tenure-info.schema.yaml
TenureTip:
$ref: ./components/schemas/tenure-tip.schema.yaml
TenureTipMetadata:
$ref: ./components/schemas/tenure-tip-metadata.schema.yaml
GetStackerSet:
$ref: ./components/schemas/get-stacker-set.schema.yaml
TenureBlocks:
$ref: ./components/schemas/tenure-blocks.schema.yaml
BlockReplay:
$ref: ./components/schemas/block-replay.schema.yaml
paths:
/v2/transactions:
post:
summary: Broadcast raw transaction
tags:
- Transactions
security: []
description: |
Broadcast raw transactions on the network. You can use the [@stacks/transactions](https://github.com/blockstack/stacks.js)
project to generate a raw transaction payload.
The node performs static validation checks on transactions before accepting them into the mempool, including:
- Transaction format validation
- Signature verification
- Nonce checking
- Fee validation
- Size limits
operationId: broadcastTransaction
requestBody:
required: true
content:
application/octet-stream:
schema:
type: string
format: binary
minLength: 1
example: binary format of 00000000010400bed38c2aadffa348931bcb542880ff79d607afec000000000000000000000000000000c800012b0b1fff6cccd0974966dcd665835838f0985be508e1322e09fb3d751eca132c492bda720f9ef1768d14fdabed6127560ba52d5e3ac470dcb60b784e97dc88c9030200000000000516df0ba3e79792be7be5e50a370289accfc8c9e032000000000000303974657374206d656d6f00000000000000000000000000000000000000000000000000
application/json:
schema:
type: object
required: ["tx"]
properties:
tx:
type: string
pattern: "^[0-9a-f]+$"
description: Hex-encoded transaction
attachment:
type: string
pattern: "^[0-9a-f]+$"
description: Optional hex-encoded attachment for contract-call transactions
example:
tx: "00000000010400bed38c2aadffa348931bcb542880ff79d607afec000000000000000000000000000000c800012b0b1fff6cccd0974966dcd665835838f0985be508e1322e09fb3d751eca132c492bda720f9ef1768d14fdabed6127560ba52d5e3ac470dcb60b784e97dc88c9030200000000000516df0ba3e79792be7be5e50a370289accfc8c9e032000000000000303974657374206d656d6f00000000000000000000000000000000000000000000000000"
attachment: "68656c6c6f20776f726c64"
responses:
"200":
description: Transaction ID of successful post of a raw tx to the node's mempool.
content:
application/json:
schema:
type: string
pattern: "^[0-9a-f]{64}$"
example: "e161978626f216b2141b156ade10501207ae535fa365a13ef5d7a7c9310a09f2"
"400":
description: Bad request
content:
application/json:
schema:
$ref: "#/components/schemas/TransactionSubmissionError"
examples:
transaction-submission-error:
$ref: "./components/examples/transaction-submission-error.example.json"
text/plain:
schema:
type: string
example: "Failed to decode transaction"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/contracts/interface/{deployer_address}/{contract_name}:
get:
summary: Get contract interface
description: Get contract interface using a `deployer_address` and `contract name`
tags:
- Smart Contracts
security: []
operationId: getContractInterface
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- $ref: ./components/parameters/tip.yaml
responses:
"200":
description: Contract interface
content:
application/json:
schema:
$ref: "#/components/schemas/ContractInterface"
examples:
contract-interface:
$ref: "./components/examples/contract-interface.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/map_entry/{deployer_address}/{contract_name}/{map_name}:
post:
summary: Get specific data-map inside a contract
tags:
- Smart Contracts
security: []
operationId: getContractDataMapEntry
description: |
Attempt to fetch data from a contract data map. The contract is
identified with [Stacks Address] and [Contract Name] in the URL path.
The map is identified with [Map Name].
The key to lookup in the map is supplied via the POST body. This should
be supplied as the hex string serialization of the key (which should be
a Clarity value). Note, this is a JSON string.
The response is a JSON object with the following properties:
- `data`: The hex serialization of the map response. Note that map
responses are Clarity option types, for non-existent values, this is
a serialized none, and for all other responses, it is a serialized
(some ...) object.
- `proof`: The hex serialization of the Merkle proof for the data.
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- name: map_name
in: path
required: true
schema:
$ref: "#/components/schemas/ClarityName"
- $ref: ./components/parameters/proof.yaml
- $ref: ./components/parameters/tip.yaml
x-codegen-request-body-name: key
requestBody:
description: Hex string serialization of the lookup key (which should be a Clarity value)
required: true
content:
application/json:
schema:
type: string
minLength: 2
pattern: "^(0x)?([0-9a-fA-F]{2})+$"
description: Hex-encoded Clarity value (e.g. "0x0100000000000000000000000000000001")
example: "0x0100000000000000000000000000000001"
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ClarityData"
examples:
clarity-data:
$ref: "./components/examples/clarity-data.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/contracts/source/{deployer_address}/{contract_name}:
get:
summary: Get contract source
tags:
- Smart Contracts
security: []
operationId: getContractSource
description: |
Returns the Clarity source code of a given contract, along with the
block height it was published in, and the MARF proof for the data.
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- $ref: ./components/parameters/proof.yaml
- $ref: ./components/parameters/tip.yaml
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ContractSource"
examples:
contract-source:
$ref: "./components/examples/contract-source.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/contracts/call-read/{deployer_address}/{contract_name}/{function_name}:
post:
summary: Call read-only function
description: |
Call a read-only public function on a given contract.
The contract is identified with [Stacks Address] and [Contract Name] in the URL path.
The function is identified with [Function Name].
The arguments to the function are supplied via the POST body.
This should be a JSON object with two main properties:
- `sender` which should be a Stacks address or contract principal
- `arguments` which should be an array of hex-encoded Clarity values.
tags:
- Smart Contracts
security: []
operationId: callReadOnlyFunction
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- name: function_name
in: path
required: true
schema:
$ref: "#/components/schemas/ClarityName"
- $ref: ./components/parameters/tip.yaml
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ReadOnlyFunctionArgs"
responses:
"200":
description: Function executed successfully
content:
application/json:
schema:
$ref: "#/components/schemas/ReadOnlyFunctionResult"
examples:
success:
$ref: "./components/examples/read-only-function-success.example.json"
failure:
$ref: "./components/examples/read-only-function-failure.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
/v3/contracts/fast-call-read/{deployer_address}/{contract_name}/{function_name}:
post:
summary: Call read-only function in fast mode (no cost and memory tracking)
description: |
Call a read-only public function on a given smart contract without cost tracking.
The contract is identified with [Stacks Address] and [Contract Name] in the URL path.
The function is identified with [Function Name].
The arguments to the function are supplied via the POST body.
This should be a JSON object with two main properties:
- `sender` which should be a Stacks address or contract principal
- `arguments` which should be an array of hex-encoded Clarity values.
**This API endpoint requires a basic Authorization header.**
tags:
- Smart Contracts
security:
- rpcAuth: []
operationId: fastCallReadOnlyFunction
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- name: function_name
in: path
required: true
schema:
$ref: "#/components/schemas/ClarityName"
- $ref: ./components/parameters/tip.yaml
requestBody:
description: map of arguments and the simulated tx-sender where sender is either a Contract identifier or a normal Stacks address, and arguments is an array of hex serialized Clarity values.
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ReadOnlyFunctionArgs"
examples:
fast-call-request:
summary: Fast call read-only function request
value:
sender: "SP31DA6FTSJX2WGTZ69SFY11BH51NZMB0ZW97B5P0.get-info"
arguments:
- "0x0011..."
- "0x00231..."
responses:
"200":
description: Function executed successfully
content:
application/json:
schema:
$ref: "#/components/schemas/ReadOnlyFunctionResult"
examples:
success:
$ref: "./components/examples/read-only-function-success.example.json"
failure:
$ref: "./components/examples/read-only-function-failure.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"408":
$ref: "#/components/responses/Timeout"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/accounts/{principal}:
get:
summary: Get account info
tags:
- Accounts
security: []
operationId: getAccountInfo
description: |
Get the account data for the provided principal
Where balance is the hex encoding of a unsigned 128-bit integer (big-endian), nonce is a unsigned 64-bit integer, and the proofs are provided as hex strings.
For non-existent accounts, this does not 404, rather it returns an object with balance and nonce of 0.
parameters:
- $ref: ./components/parameters/principal.yaml
- $ref: ./components/parameters/proof.yaml
- $ref: ./components/parameters/tip.yaml
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/AccountData"
examples:
account-data:
$ref: "./components/examples/account-data.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/fees/transaction:
post:
summary: Get approximate fees for the given transaction
tags:
- Fees
security: []
description: |
Get an estimated fee for the supplied transaction. This
estimates the execution cost of the transaction, the current
fee rate of the network, and returns estimates for fee
amounts.
* `transaction_payload` is a hex-encoded serialization of
the TransactionPayload for the transaction.
* `estimated_len` is an optional argument that provides the
endpoint with an estimation of the final length (in bytes)
of the transaction, including any post-conditions and
signatures
If the node cannot provide an estimate for the transaction
(e.g., if the node has never seen a contract-call for the
given contract and function) or if estimation is not
configured on this node, a 400 response is returned.
The 400 response will be a JSON error containing a `reason`
field which can be one of the following:
* `DatabaseError` - this Stacks node has had an internal
database error while trying to estimate the costs of the
supplied transaction.
* `NoEstimateAvailable` - this Stacks node has not seen this
kind of contract-call before, and it cannot provide an
estimate yet.
* `CostEstimationDisabled` - this Stacks node does not perform
fee or cost estimation, and it cannot respond on this
endpoint.
The 200 response contains the following data:
* `estimated_cost` - the estimated multi-dimensional cost of
executing the Clarity VM on the provided transaction.
* `estimated_cost_scalar` - a unitless integer that the Stacks
node uses to compare how much of the block limit is consumed
by different transactions. This value incorporates the
estimated length of the transaction and the estimated
execution cost of the transaction. The range of this integer
may vary between different Stacks nodes. In order to compute
an estimate of total fee amount for the transaction, this
value is multiplied by the same Stacks node"s estimated fee
rate.
* `cost_scalar_change_by_byte` - a float value that indicates how
much the `estimated_cost_scalar` value would increase for every
additional byte in the final transaction.
* `estimations` - an array of estimated fee rates and total fees to
pay in microSTX for the transaction. This array provides a range of
estimates (default: 3) that may be used. Each element of the array
contains the following fields:
* `fee_rate` - the estimated value for the current fee
rates in the network
* `fee` - the estimated value for the total fee in
microSTX that the given transaction should pay. These
values are the result of computing:
`fee_rate` x `estimated_cost_scalar`.
If the estimated fees are less than the minimum relay
fee `(1 ustx x estimated_len)`, then that minimum relay
fee will be returned here instead.
Note: If the final transaction"s byte size is larger than
supplied to `estimated_len`, then applications should increase
this fee amount by:
`fee_rate` x `cost_scalar_change_by_byte` x (`final_size` - `estimated_size`)
operationId: getFeeTransaction
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/FeeTransactionRequest"
examples:
fee-transaction-request:
summary: Fee estimation request
value:
estimated_len: 350
transaction_payload: "021af942874ce525e87f21bbe8c121b12fac831d02f4086765742d696e666f0b7570646174652d696e666f00000000"
responses:
"200":
description: Estimated fees for the transaction
content:
application/json:
schema:
$ref: "#/components/schemas/FeeTransactionResponse"
examples:
fee-transaction-response:
$ref: "./components/examples/fee-transaction-response.example.json"
"400":
description: Fee estimation error
content:
application/json:
schema:
$ref: "#/components/schemas/FeeTransactionError"
text/plain:
schema:
type: string
example: "Failed to decode: Failed to parse JSON body"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/fees/transfer:
get:
summary: Get estimated fee
tags:
- Fees
security: []
operationId: getFeeTransfer
description: |
Get an estimated fee rate for STX transfer transactions. This is a fee
rate per byte, returned as a JSON integer (microSTX per byte).
responses:
"200":
description: Fee rate in microSTX per byte
content:
application/json:
schema:
type: integer
minimum: 1
description: Fee rate in microSTX per byte
example: 3
"500":
$ref: "#/components/responses/InternalServerError"
/v2/info:
get:
summary: Get Core API info
description: Get Core API information
tags:
- Info
security: []
operationId: getNodeInfo
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/NodeInfo"
examples:
node-info:
$ref: "./components/examples/node-info.example.json"
"500":
$ref: "#/components/responses/InternalServerError"
/v2/pox:
get:
summary: Get PoX details
description: Get Proof of Transfer (PoX) information. Can be used for Stacking.
tags:
- Info
security: []
operationId: getPoxInfo
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/PoxInfo"
examples:
pox-info:
$ref: "./components/examples/pox-info.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
parameters:
- $ref: ./components/parameters/tip.yaml
/v2/traits/{deployer_address}/{contract_name}/{trait_deployer_address}/{trait_contract_name}/{trait_name}:
get:
summary: Get trait implementation details
description: |
Determine whether or not a specified trait is implemented (either
explicitly or implicitly) within a given contract.
tags:
- Smart Contracts
security: []
operationId: checkTraitImplementation
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- name: trait_deployer_address
in: path
required: true
description: |
Stacks address of the trait-defining contract.
schema:
$ref: './components/schemas/standard-principal.schema.yaml'
- name: trait_contract_name
in: path
required: true
description: Contract name of the trait-defining contract.
schema:
type: string
pattern: "^[a-zA-Z]([a-zA-Z0-9]|[-_]){0,127}$"
minLength: 1
maxLength: 128
example: "some-trait"
- name: trait_name
in: path
required: true
schema:
$ref: "#/components/schemas/ClarityName"
example: "some-trait"
- $ref: ./components/parameters/tip.yaml
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/IsTraitImplemented"
examples:
is-trait-implemented:
$ref: "./components/examples/is-trait-implemented.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
/v2/clarity/marf/{marf_key_hash}:
get:
summary: Get the MARF value for a given key
tags:
- Smart Contracts
security: []
operationId: getClarityMarfValue
description: |
Attempt to fetch the value of a MARF key. The key is a 64-character
hex string representing the MARF node hash.
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ClarityData"
examples:
clarity-data:
$ref: "./components/examples/clarity-data.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
parameters:
- name: marf_key_hash
in: path
required: true
description: The 64-character hex-encoded hash of the MARF key.
schema:
type: string
pattern: "^[0-9a-f]{64}$"
minLength: 64
maxLength: 64
- $ref: ./components/parameters/proof.yaml
- $ref: ./components/parameters/tip.yaml
/v2/clarity/metadata/{deployer_address}/{contract_name}/{clarity_metadata_key}:
get:
summary: Get the contract metadata for the metadata key
tags:
- Smart Contracts
security: []
operationId: getClarityMetadata
description: |
Attempt to fetch the metadata of a contract. The contract is identified
with [Contract Address] and [Contract Name] in the URL path. The metadata
key is identified with [Clarity Metadata Key].
In the response, `data` is formatted as JSON.
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ClarityMetadata"
examples:
clarity-metadata:
$ref: "./components/examples/clarity-metadata.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- name: clarity_metadata_key
in: path
required: true
description: |
Metadata key. Must be either:
- "analysis" for contract analysis data
- "vm-metadata::N::TYPE" where N is the epoch (1-2 digits) and TYPE is one of:
contract, contract-size, contract-src, contract-data-size, or a valid Clarity name
schema:
type: string
pattern: "^(analysis)|(vm-metadata::\\d{1,2}::(contract|contract-size|contract-src|contract-data-size|[a-zA-Z]([a-zA-Z0-9]|[-_!?+<>=/*])*))$"
example: analysis
- $ref: ./components/parameters/tip.yaml
/v2/constant_val/{deployer_address}/{contract_name}/{constant_name}:
get:
summary: Get the value of a constant inside a contract
tags:
- Smart Contracts
security: []
operationId: getConstantValue
description: |
Attempt to fetch the value of a constant inside a contract. The contract
is identified with [Stacks Address] and [Contract Name] in the URL path.
The constant is identified with [Constant Name].
In the response, `data` is the hex serialization of the constant value.
responses:
"200":
description: Success
content:
application/json:
schema:
$ref: "#/components/schemas/ConstantValue"
examples:
constant-value:
$ref: "./components/examples/constant-value.example.json"
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"500":
$ref: "#/components/responses/InternalServerError"
parameters:
- $ref: ./components/parameters/deployer-address.yaml
- $ref: ./components/parameters/contract-name.yaml
- name: constant_name
in: path
required: true
schema:
$ref: "#/components/schemas/
# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hiro/refs/heads/main/openapi/hiro-stacks-node-rpc-api-openapi.yaml