1007 lines
28 KiB
YAML
1007 lines
28 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Swagger Zebra API - OpenAPI 3.0
|
|
version: 0.0.1
|
|
description: |-
|
|
This is the Zebra API. It is a JSON-RPC 2.0 API that allows you to interact with the Zebra node.
|
|
|
|
Useful links:
|
|
- [The Zebra repository](https://github.com/ZcashFoundation/zebra)
|
|
- [The latests API spec](https://github.com/ZcashFoundation/zebra/blob/main/openapi.yaml)
|
|
servers:
|
|
- url: http://localhost:18232
|
|
paths:
|
|
/sendrawtransaction:
|
|
post:
|
|
tags:
|
|
- transaction
|
|
description: |-
|
|
Sends the raw bytes of a signed transaction to the local node''s mempool, if the transaction is valid."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `raw_transaction_hex` - The hex-encoded raw transaction bytes.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '["signedhex"]'
|
|
method:
|
|
type: string
|
|
default: sendrawtransaction
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
/getinfo:
|
|
post:
|
|
tags:
|
|
- control
|
|
description: Returns software information from the RPC server, as a [`GetInfo`] JSON struct."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: getinfo
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{"build":"some build version","subversion":"some subversion"}'
|
|
/getblockhash:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: |-
|
|
Returns the hash of the block of a given height iff the index argument correspond"]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `index` - The block index.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[1]'
|
|
method:
|
|
type: string
|
|
default: getblockhash
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '"0000000000000000000000000000000000000000000000000000000000000000"'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
/getmininginfo:
|
|
post:
|
|
tags:
|
|
- mining
|
|
description: Returns mining-related information."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: getmininginfo
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/validateaddress:
|
|
post:
|
|
tags:
|
|
- util
|
|
description: |-
|
|
Checks if a zcash address is valid."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `address` - The zcash address to validate.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: validateaddress
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getblocksubsidy:
|
|
post:
|
|
tags:
|
|
- mining
|
|
description: |-
|
|
Returns the block subsidy reward of the block at `height`, taking into account the mining slow start."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `height` - Can be any valid current or future height.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[1]'
|
|
method:
|
|
type: string
|
|
default: getblocksubsidy
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
/submitblock:
|
|
post:
|
|
tags:
|
|
- mining
|
|
description: |-
|
|
Submits block to the node to be validated and committed."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `jsonparametersobject` - - currently ignored
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: submitblock
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/z_listunifiedreceivers:
|
|
post:
|
|
tags:
|
|
- wallet
|
|
description: |-
|
|
Returns the list of individual payment addresses given a unified address."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `address` - The zcash unified address to get the list from.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: z_listunifiedreceivers
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getblockcount:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: Returns the height of the most recent block in the best valid block chain (equivalently,"]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: getblockcount
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getaddressutxos:
|
|
post:
|
|
tags:
|
|
- address
|
|
description: |-
|
|
Returns all unspent outputs for a list of addresses."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `addresses` - The addresses to get outputs from.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
method:
|
|
type: string
|
|
default: getaddressutxos
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[{"addresses": ["tmYXBYJj1K7vhejSec5osXK2QsGa5MTisUQ"]}]'
|
|
responses:
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getaddresstxids:
|
|
post:
|
|
tags:
|
|
- address
|
|
description: |-
|
|
Returns the transaction ids made by the provided transparent addresses."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `request` - A struct with the following named fields:
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: getaddresstxids
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[{"addresses": ["tmYXBYJj1K7vhejSec5osXK2QsGa5MTisUQ"], "start": 1000, "end": 2000}]'
|
|
responses:
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/z_getsubtreesbyindex:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: |-
|
|
Returns information about a range of Sapling or Orchard subtrees."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `pool` - The pool from which subtrees should be returned. Either \"sapling\" or \"orchard\".
|
|
- `start_index` - The index of the first 2^16-leaf subtree to return.
|
|
- `limit` - The maximum number of subtree values to return.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: z_getsubtreesbyindex
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getpeerinfo:
|
|
post:
|
|
tags:
|
|
- network
|
|
description: Returns data about each connected network node."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: getpeerinfo
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getbestblockhash:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: Returns the hash of the current best blockchain tip block, as a [`GetBlockHash`] JSON string."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
method:
|
|
type: string
|
|
default: getbestblockhash
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '"0000000000000000000000000000000000000000000000000000000000000000"'
|
|
/getblocktemplate:
|
|
post:
|
|
tags:
|
|
- mining
|
|
description: |-
|
|
Returns a block template for mining new Zcash blocks."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `jsonrequestobject` - A JSON object containing arguments.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: getblocktemplate
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getdifficulty:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: Returns the proof-of-work difficulty as a multiple of the minimum difficulty."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: getdifficulty
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getrawmempool:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: Returns all transaction ids in the memory pool, as a JSON array."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
method:
|
|
type: string
|
|
default: getrawmempool
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getaddressbalance:
|
|
post:
|
|
tags:
|
|
- address
|
|
description: |-
|
|
Returns the total balance of a provided `addresses` in an [`AddressBalance`] instance."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `address_strings` - A JSON map with a single entry
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
method:
|
|
type: string
|
|
default: getaddressbalance
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[{"addresses": ["tmYXBYJj1K7vhejSec5osXK2QsGa5MTisUQ"]}]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
/getnetworksolps:
|
|
post:
|
|
tags:
|
|
- mining
|
|
description: Returns the estimated network solutions per second based on the last `num_blocks` before"]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
method:
|
|
type: string
|
|
default: getnetworksolps
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/z_gettreestate:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: |-
|
|
Returns information about the given block''s Sapling & Orchard tree state."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `hash | height` - The block hash or height.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '["00000000febc373a1da2bd9f887b105ad79ddc26ac26c2b28652d64e5207c5b5"]'
|
|
method:
|
|
type: string
|
|
default: z_gettreestate
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{"hash":"0000000000000000000000000000000000000000000000000000000000000000","height":0,"time":0}'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
/getrawtransaction:
|
|
post:
|
|
tags:
|
|
- transaction
|
|
description: |-
|
|
Returns the raw transaction data, as a [`GetRawTransaction`] JSON string or structure."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `txid` - The transaction ID of the transaction to be returned.
|
|
- `verbose` - If 0, return a string of hex-encoded data, otherwise return a JSON object.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: getrawtransaction
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '["mytxid", 1]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
/z_validateaddress:
|
|
post:
|
|
tags:
|
|
- util
|
|
description: |-
|
|
Checks if a zcash address is valid."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `address` - The zcash address to validate.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
method:
|
|
type: string
|
|
default: z_validateaddress
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getblock:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: |-
|
|
Returns the requested block by hash or height, as a [`GetBlock`] JSON string."]
|
|
|
|
**Request body `params` arguments:**
|
|
|
|
- `hash_or_height` - The hash or height for the block to be returned.
|
|
- `verbosity` - 0 for hex encoded data, 1 for a json object, and 2 for json object with transaction data.
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: getblock
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '["1", 1]'
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
responses:
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
default: Invalid parameters
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{"hash":"0000000000000000000000000000000000000000000000000000000000000000","confirmations":0,"tx":[],"trees":{}}'
|
|
/getnetworkhashps:
|
|
post:
|
|
tags:
|
|
- mining
|
|
description: Returns the estimated network solutions per second based on the last `num_blocks` before"]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
method:
|
|
type: string
|
|
default: getnetworkhashps
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{}'
|
|
/getblockchaininfo:
|
|
post:
|
|
tags:
|
|
- blockchain
|
|
description: Returns blockchain state information, as a [`GetBlockChainInfo`] JSON struct."]
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
default: getblockchaininfo
|
|
id:
|
|
type: number
|
|
default: '123'
|
|
params:
|
|
type: array
|
|
items: {}
|
|
default: '[]'
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
result:
|
|
type: object
|
|
default: '{"chain":"main","blocks":1,"bestblockhash":"0000000000000000000000000000000000000000000000000000000000000000","estimatedheight":1,"upgrades":{},"consensus":{"chaintip":"00000000","nextblock":"00000000"}}' |