Skip to content

Instantly share code, notes, and snippets.

@panagiotisTB
Created August 2, 2018 13:19
Show Gist options
  • Save panagiotisTB/d4a8d525327e0b72c2b72eca4af3b934 to your computer and use it in GitHub Desktop.
Save panagiotisTB/d4a8d525327e0b72c2b72eca4af3b934 to your computer and use it in GitHub Desktop.
####################################################################################
# Copyright © 2018 Lisk Foundation
#
# See the LICENSE file at the top-level directory of this distribution
# for licensing information.
#
# Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation,
# no part of this software, including this file, may be copied, modified,
# propagated, or distributed except according to the terms contained in the
# LICENSE file.
#
# Removal or modification of this copyright notice is prohibited.
####################################################################################
swagger: '2.0'
info:
title: Lisk API Documentation
description: |
# Welcome!
## Access Restrictions
The API endpoints are by default restricted to a whitelist of IPs that can be found in `config.json` in the section [`api.access.whitelist`](https://github.com/LiskHQ/lisk/blob/1.0.0/config.json#L35).
If you want your API to be accessable by the public, you can do this by changing `api.access.public` to `true`.
This will allow anyone to make requests to your Lisk Core node.
However some endpoints stay private, that means only a list of whitelisted IPs can successfully make API calls to that particular endpoint;
This includes all forging related API calls.
By default, only the nodes' local IP is included in the whitelist, you can change the setting in `config.json` in the section [`forging.access.whitelist`](https://github.com/LiskHQ/lisk/blob/1.0.0/config.json#L114).
For more details, see the descriptions at the respective endpoint.
## Requests
Chained filter parameters are logically connected with `AND`.
`HTTP` is the supported URL schema by default.
To enable `HTTPS`, please adjust the the [`ssl`](https://github.com/LiskHQ/lisk/blob/1.0.0/config.json#L124) section in `config.json`.
## Responses
The general response format is JSON (`application/json`).
The responses for each API request have a common basic structure:
```javascript
{
"data": {}, //Contains the requested data
"meta": {}, //Contains additional metadata, e.g. the values of `limit` and `offset`
"links": {} //Will contain links to connected API calls from here, e.g. pagination links
}
```
## Date Formats
Most of the timestamp parameters are in the Lisk Timestamp format, which is similar to the Unix Timestamp format.
The **Lisk Timestamp** is the number of seconds that have elapsed since the Lisk epoch time (2016-05-24T17:00:00.000Z), not counting leap seconds.
The **Lisk Epoch Time** is returned in the [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) format, combined date and time: `YYYY-MM-DDThh:mm:ssZ`.
For details, see the descriptions and examples at the respective endpoint.
## Pagination
One can paginate nicely through the results by providing `limit` and `offset` parameters to the requests.
`limit` and `offset` can be found in the `meta`-object of the response of an API request.
If no limit and offset are provided, they are set to 10 and 0 by default, what will display the first 10 results.
## List of Endpoints
All possible API endpoints for Lisk Core are listed below.
Click on an endpoint to show descriptions, details and examples.
version: '1.0.31'
contact:
email: [email protected]
license:
name: GPL v3.0
url: https://www.gnu.org/licenses/gpl-3.0.en.html
# All paths relative to specified basePath
basePath: /api
# Tags for organizing operations
tags:
- name: Accounts
description: Account related API calls
- name: Blocks
description: Block related API calls
- name: Dapps
description: Dapps related API calls
- name: Delegates
description: Delegates related API calls
- name: Node
description: Node related API calls
- name: Peers
description: Peers related API Calls
- name: Signatures
description: Signatures related API calls
- name: Transactions
description: Transactions related API calls
- name: Voters
description: Votes related API calls
- name: Votes
description: Votes related API calls
schemes: [https, http]
paths:
/accounts:
x-swagger-router-controller: accounts
get:
tags:
- Accounts
summary: Requests account data
operationId: getAccounts
description: Search for matching accounts in the system.
produces:
- application/json
parameters:
- $ref: '#/parameters/address'
- $ref: '#/parameters/publicKey'
- $ref: '#/parameters/secondPublicKey'
- $ref: '#/parameters/username'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/offset'
- name: sort
in: query
description: Fields to sort results by
required: false
type: string
enum:
- balance:asc
- balance:desc
default: balance:asc
responses:
200:
description: List of accounts
schema:
$ref: '#/definitions/AccountsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/accounts/{address}/multisignature_groups:
x-swagger-router-controller: accounts
get:
tags:
- Accounts
summary: Requests multisignature groups data
operationId: getMultisignatureGroups
description: Searches for the specified account in the system and responds with a list of the multisignature groups that this account is member of.
produces:
- application/json
parameters:
- name: address
in: path
description: Lisk address of an account
type: string
format: address
required: true
minLength: 2
maxLength: 22
responses:
200:
description: List of multisignature accounts
schema:
$ref: '#/definitions/MultisignatureGroupsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
404:
description: Multisignature account not found
schema:
$ref: '#/definitions/NotFoundError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/accounts/{address}/multisignature_memberships:
x-swagger-router-controller: accounts
get:
tags:
- Accounts
summary: Requests multisignature membership data
operationId: getMultisignatureMemberships
description: Searches for the specified multisignature group and responds with a list of all members of this particular multisignature group.
produces:
- application/json
parameters:
- name: address
in: path
description: Lisk address of a multisignature account
type: string
format: address
required: true
minLength: 2
maxLength: 22
responses:
200:
description: List of multisignature accounts
schema:
$ref: '#/definitions/MultisignatureGroupsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/dapps:
x-swagger-router-controller: dapps
get:
tags:
- Dapps
summary: Requests dapps data
operationId: getDapps
description: Search for a specified dapp in the system.
produces:
- application/json
parameters:
- name: transactionId
in: query
description: Dapp registration transaction ID
required: false
type: string
format: id
minLength: 1
maxLength: 20
- name: name
in: query
description: Name to query - Fuzzy search
type: string
minLength: 1
maxLength: 32
- name: sort
in: query
description: Fields to sort results by
required: false
type: string
enum:
- name:asc
- name:desc
default: name:asc
- $ref: '#/parameters/limit'
- $ref: '#/parameters/offset'
responses:
200:
description: Search results matching criteria
schema:
$ref: '#/definitions/DappsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/peers:
x-swagger-router-controller: peers
get:
tags:
- Peers
summary: Requests peers data
operationId: getPeers
description: Search for specified peers.
produces:
- application/json
parameters:
- $ref: '#/parameters/ip'
- $ref: '#/parameters/httpPort'
- $ref: '#/parameters/wsPort'
- $ref: '#/parameters/os'
- $ref: '#/parameters/version'
- $ref: '#/parameters/state'
- $ref: '#/parameters/height'
- $ref: '#/parameters/broadhash'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/offset'
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- height:asc
- height:desc
- version:asc
- version:desc
default: height:desc
responses:
200:
description: List of peers
schema:
$ref: '#/definitions/PeersResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/node/constants:
x-swagger-router-controller: node
get:
tags:
- Node
summary: Requests constants data
operationId: getConstants
description: Returns all current constants data on the system, e.g. Lisk epoch time and version.
produces:
- application/json
responses:
200:
description: Node constants response
schema:
$ref: '#/definitions/NodeConstantsResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/node/status:
x-swagger-router-controller: node
get:
tags:
- Node
summary: Requests status data
operationId: getStatus
description: Returns all current status data of the node, e.g. height and broadhash.
produces:
- application/json
responses:
200:
description: Node status response
schema:
$ref: '#/definitions/NodeStatusResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/node/status/forging:
x-swagger-router-controller: node
get:
tags:
- Node
summary: Requests forging status of a delegate
operationId: getForgingStatus
description: |
*Attention! This is a **private endpoint only authorized to whitelisted IPs.**
To edit the whitelist, please edit the `forging.access.whitelist` section in `config.json`*<br>
Responds with the forging status of a delegate on a node.
produces:
- application/json
parameters:
- $ref: '#/parameters/publicKey'
responses:
200:
description: Search results matching criteria
schema:
$ref: '#/definitions/ForgingStatusResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
403:
description: Access denied
schema:
$ref: '#/definitions/AccessDeniedError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
put:
tags:
- Node
summary: Toggles the forging status of a delegate
operationId: updateForgingStatus
description: |
*Attention! This is a **private endpoint only authorized to whitelisted IPs.**
To edit the whitelist, please edit the `forging.access.whitelist` section in `config.json`*<br>
Upon passing the correct password and publicKey, forging will be enabled or disabled for the delegate of this particular node.
The password can be generated locally by encrypting your passphrase, either by using Lisk Commander or with Lisk Elements.
produces:
- application/json
consumes:
- application/json
parameters:
- in: body
name: data
description: Password for decrypting passphrase of delegate with corresponding public key
required: true
schema:
type: object
required:
- password
- publicKey
- forging
properties:
forging:
type: boolean
example: true
description: Forging status of the delegate
password:
type: string
example: "happy tree friends"
minLength: 5
description: Password for decrypting passphrase of delegate.
publicKey:
type: string
example: "968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b"
format: publicKey
description: Public key of the delegate.
responses:
200:
description: Delegate forging toggled on or off
schema:
$ref: '#/definitions/ForgingStatusResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
403:
description: Access denied
schema:
$ref: '#/definitions/AccessDeniedError'
404:
description: Provided public key not found
schema:
$ref: '#/definitions/NotFoundError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/node/transactions/{state}:
x-swagger-router-controller: node
get:
tags:
- Node
summary: Requests unprocessed transactions data
operationId: getPooledTransactions
description: |
By specifying the state of the transactions, you get a list of unprocessed transactions matching this state.
Search for specific transactions by providing the appropriate parameters.
If you post a batch of transactions, they will appear in the unprocessed list after a small delay, depending on server load.
produces:
- application/json
parameters:
- in: path
name: state
description: State of transactions to query
required: true
type: string
enum:
- unprocessed
- unconfirmed
- unsigned
default: unprocessed
- $ref: '#/parameters/transactionId'
- $ref: '#/parameters/recipientId'
- $ref: '#/parameters/recipientPublicKey'
- $ref: '#/parameters/senderId'
- $ref: '#/parameters/senderPublicKey'
- $ref: '#/parameters/transactionType'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/offset'
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- amount:asc
- amount:desc
- fee:asc
- fee:desc
- type:asc
- type:desc
- timestamp:asc
- timestamp:desc
default: amount:desc
responses:
200:
description: Transactions list
schema:
$ref: '#/definitions/TransactionsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/delegates:
x-swagger-router-controller: delegates
get:
tags:
- Delegates
summary: Requests delegates data
operationId: getDelegates
x-lisk-cache-enabled: true
description: Search for a specified delegate in the system.
produces:
- application/json
parameters:
- $ref: '#/parameters/address'
- $ref: '#/parameters/publicKey'
- $ref: '#/parameters/secondPublicKey'
- $ref: '#/parameters/username'
- $ref: '#/parameters/offset'
- name: limit
in: query
description: Limit applied to results
type: integer
format: int32
minimum: 1
maximum: 101
default: 10
- name: search
in: query
description: Fuzzy delegate username to query
type: string
minLength: 1
maxLength: 20
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- username:asc
- username:desc
- rank:asc
- rank:desc
- productivity:asc
- productivity:desc
- missedBlocks:asc
- missedBlocks:desc
- producedBlocks:asc
- producedBlocks:desc
default: rank:asc
responses:
200:
description: Search results matching criteria
schema:
$ref: '#/definitions/DelegatesResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/delegates/forgers:
x-swagger-router-controller: delegates
get:
tags:
- Delegates
summary: Requests next forgers data
operationId: getForgers
description: |
Returns a list of the next forgers in this delegate round.
produces:
- application/json
parameters:
- $ref: '#/parameters/offset'
- name: limit
in: query
description: Limit applied to results
type: integer
format: int32
minimum: 1
maximum: 101
default: 10
responses:
200:
description: Search results matching criteria
schema:
$ref: '#/definitions/ForgersResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/delegates/{address}/forging_statistics:
x-swagger-router-controller: delegates
get:
tags:
- Delegates
summary: Requests forging stats by delegate
operationId: getForgingStatistics
x-lisk-cache-enabled: true
description: |
By passing an existing delegate address and the desired unix timestamps, you can get its forging statistics within the specified timespan.
If no timestamps are provided, it will use the timestamps from Lisk epoch to current date.
produces:
- application/json
parameters:
- in: path
name: address
description: Lisk address of a delegate
required: true
type: string
format: address
- $ref: '#/parameters/fromTimestamp'
- $ref: '#/parameters/toTimestamp'
responses:
200:
description: Results matching specified delegate address
schema:
$ref: '#/definitions/ForgingStatsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/blocks:
x-swagger-router-controller: blocks
get:
tags:
- Blocks
summary: Requests blocks data
operationId: getBlocks
x-lisk-cache-enabled: true
description: |
Search for a specified block in the system.
produces:
- application/json
parameters:
- $ref: '#/parameters/blockId'
- $ref: '#/parameters/height'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/offset'
- in: query
name: generatorPublicKey
description: Public key of the forger of the block
type: string
format: publicKey
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- height:asc
- height:desc
- totalAmount:asc
- totalAmount:desc
- totalFee:asc
- totalFee:desc
- timestamp:asc
- timestamp:desc
default: height:desc
responses:
200:
description: Search results matching criteria
schema:
$ref: '#/definitions/BlocksResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/voters:
x-swagger-router-controller: voters
get:
tags:
- Voters
summary: Requests voters data for a delegate
operationId: getVoters
description: |
*Attention: At least **one of the filter parameters must be provided.***
Returns all votes received by a delegate.
produces:
- application/json
parameters:
- $ref: '#/parameters/username'
- $ref: '#/parameters/address'
- $ref: '#/parameters/publicKey'
- $ref: '#/parameters/secondPublicKey'
- $ref: '#/parameters/offset'
- $ref: '#/parameters/limit'
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- username:asc
- username:desc
- balance:asc
- balance:desc
default: username:asc
responses:
200:
description: Voters list
schema:
$ref: '#/definitions/VotersResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
404:
description: Requested resource not found based on provided filters
schema:
$ref: '#/definitions/NotFoundError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/votes:
x-swagger-router-controller: voters
get:
tags:
- Votes
summary: Requests votes data for an account
operationId: getVotes
description: |
*Attention: At least **one of the filter parameters must be provided.***
Returns all votes placed by an account.
produces:
- application/json
parameters:
- $ref: '#/parameters/username'
- $ref: '#/parameters/address'
- $ref: '#/parameters/publicKey'
- $ref: '#/parameters/secondPublicKey'
- $ref: '#/parameters/offset'
- name: limit
in: query
description: Limit applied to results
type: integer
format: int32
minimum: 1
maximum: 101
default: 10
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- username:asc
- username:desc
- balance:asc
- balance:desc
default: username:asc
responses:
200:
description: Votes list
schema:
$ref: '#/definitions/VotesResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
404:
description: Requested resource not found based on provided filters
schema:
$ref: '#/definitions/NotFoundError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/signatures:
x-swagger-router-controller: signatures
post:
tags:
- Signatures
summary: Submits a signature object to sign multisignature transactions
operationId: postSignature
description: |
Submits signature to sign a multisignature transaction.
Signature objects can be generated locally either by using Lisk Commander or with Lisk Elements.
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: signature
description: Signature object to submit to the network
required: true
schema:
$ref: '#/definitions/Signature'
responses:
200:
description: Signature is accepted by the node for processing
schema:
$ref: '#/definitions/SignatureResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
409:
description: Some error related to processing of request
schema:
$ref: '#/definitions/ProcessingError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
/transactions:
x-swagger-router-controller: transactions
get:
tags:
- Transactions
summary: Requests transactions data
operationId: getTransactions
x-lisk-cache-enabled: true
description: |
Search for a specified transaction in the system.
produces:
- application/json
parameters:
- $ref: '#/parameters/transactionId'
- $ref: '#/parameters/recipientId'
- $ref: '#/parameters/recipientPublicKey'
- $ref: '#/parameters/senderId'
- $ref: '#/parameters/senderPublicKey'
- $ref: '#/parameters/senderIdOrRecipientId'
- $ref: '#/parameters/transactionType'
- $ref: '#/parameters/height'
- $ref: '#/parameters/minAmount'
- $ref: '#/parameters/maxAmount'
- $ref: '#/parameters/fromTimestamp'
- $ref: '#/parameters/toTimestamp'
- $ref: '#/parameters/blockId'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/offset'
- in: query
name: sort
description: Fields to sort results by
required: false
type: string
enum:
- amount:asc
- amount:desc
- fee:asc
- fee:desc
- type:asc
- type:desc
- timestamp:asc
- timestamp:desc
default: amount:asc
responses:
200:
description: Transactions list
schema:
$ref: '#/definitions/TransactionsResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
500:
description: Unexpected error
schema:
$ref: '#/definitions/UnexpectedError'
post:
tags:
- Transactions
summary: Submits signed transaction for processing
operationId: postTransaction
description: |
Submits signed transaction object for processing by the transaction pool.
Transaction objects can be generated locally either by using Lisk Commander or with Lisk Elements.
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: transaction
description: Transaction object to submit to the network
required: true
schema:
$ref: '#/definitions/TransactionRequest'
responses:
200:
description: Transaction accepted by the node for processing
schema:
$ref: '#/definitions/GeneralStatusResponse'
400:
description: Malformed query or parameters
schema:
$ref: '#/definitions/ParamErrorResponse'
409:
description: Some error related to processing of request
schema:
$ref: '#/definitions/ProcessingError'
429:
description: Too many requests, exceeded rate limit
schema:
$ref: '#/definitions/RequestLimitError'
/spec:
x-swagger-pipe: swagger_raw_pipe
parameters:
ip:
name: ip
in: query
description: IP of the node or delegate
type: string
format: ip
httpPort:
name: httpPort
in: query
description: Http port of the node or delegate
type: integer
format: int32
minimum: 1
maximum: 65535
wsPort:
name: wsPort
in: query
description: Web socket port for the node or delegate
type: integer
format: int32
minimum: 1
maximum: 65535
os:
name: os
in: query
description: OS of the node
type: string
version:
name: version
in: query
description: Lisk version of the node
type: string
format: version
state:
name: state
in: query
description: Current state of the network
type: integer
format: int32
minimum: 0
maximum: 2
height:
name: height
in: query
description: Current height of the network
type: integer
format: int32
minimum: 1
broadhash:
name: broadhash
in: query
description: Broadhash of the network
type: string
format: hex
limit:
in: query
name: limit
description: Limit applied to results
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
offset:
name: offset
in: query
description: Offset value for results
type: integer
format: int32
minimum: 0
default: 0
address:
name: address
in: query
description: Address of an account
required: false
type: string
format: address
minLength: 2
maxLength: 22
publicKey:
name: publicKey
in: query
description: Public key to query
type: string
format: publicKey
secondPublicKey:
name: secondPublicKey
in: query
description: Second public key to query
type: string
format: publicKey
username:
name: username
in: query
description: Delegate username to query
type: string
format: username
minLength: 1
maxLength: 20
blockId:
name: blockId
in: query
description: Block id to query
type: string
format: id
minLength: 1
maxLength: 20
transactionId:
name: id
in: query
description: Transaction id to query
type: string
format: id
minLength: 1
maxLength: 20
recipientId:
name: recipientId
in: query
description: Recipient lisk address
type: string
format: address
minLength: 1
maxLength: 22
recipientPublicKey:
name: recipientPublicKey
in: query
description: Recipient public key
type: string
format: publicKey
minLength: 1
senderId:
name: senderId
in: query
description: Sender lisk address
type: string
format: address
minLength: 1
maxLength: 22
senderPublicKey:
name: senderPublicKey
in: query
description: Sender public key
type: string
format: publicKey
minLength: 1
senderIdOrRecipientId:
name: senderIdOrRecipientId
in: query
description: Lisk address
type: string
format: address
minLength: 1
maxLength: 22
transactionType:
name: type
in: query
description: Transaction type (0-7)
type: integer
minimum: 0
maximum: 7
minAmount:
name: minAmount
in: query
description: Minimum transaction amount in Beddows
type: integer
minimum: 0
maxAmount:
name: maxAmount
in: query
description: Maximum transaction amount in Beddows
type: integer
minimum: 0
fromTimestamp:
name: fromTimestamp
in: query
description: Starting unix timestamp
type: integer
minimum: 0
toTimestamp:
name: toTimestamp
in: query
description: Ending unix timestamp
type: integer
minimum: 1
definitions:
Meta:
type: object
required:
- limit
- offset
properties:
limit:
$ref: '#/definitions/Limit'
offset:
$ref: '#/definitions/Offset'
Limit:
description: Limit applied to results
type: integer
format: int32
minimum: 1
maximum: 100
default: 10
Offset:
description: Offset value for results
type: integer
format: int32
minimum: 0
default: 0
TransactionRequest:
type: object
required:
- id
- type
- amount
- fee
- senderPublicKey
- recipientId
- timestamp
- asset
- signature
properties:
id:
type: string
format: id
example: "222675625422353767"
minLength: 1
maxLength: 20
description: |
Unique identifier of the transaction.
Derived from the transaction signature.
amount:
type: string
example: '150000000'
description: |
Amount of Lisk to be transferred in this transaction.
fee:
type: string
example: '1000000'
description: |
Transaction fee associated with this transaction.
type:
type: integer
minimum: 0
maximum: 7
description: |
Describes the Transaction type.
timestamp:
type: integer
example: 28227090
description: |
Time when the transaction was created.
Unix Timestamp.
senderId:
type: string
format: address
example: 12668885769632475474L
description: |
Lisk Address of the Senders' account.
senderPublicKey:
type: string
format: publicKey
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
description: |
The public key of the Senders' account.
senderSecondPublicKey:
type: string
format: publicKey
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
description: |
The second public key of the Senders' account, if it exists.
recipientId:
type: string
format: address
example: 12668885769632475474L
description: |
Lisk Address of the Recipients' account.
signature:
type: string
format: signature
example: 2821d93a742c4edf5fd960efad41a4def7bf0fd0f7c09869aed524f6f52bf9c97a617095e2c712bd28b4279078a29509b339ac55187854006591aa759784c205
description: |
Derived from a SHA-256 hash of the transaction object,
that is signed by the private key of the account who created the transaction.
signSignature:
type: string
format: signature
example: 2821d93a742c4edf5fd960efad41a4def7bf0fd0f7c09869aed524f6f52bf9c97a617095e2c712bd28b4279078a29509b339ac55187854006591aa759784c205
description: Contains the second signature, if the transaction is sent from an account with second passphrase activated.
signatures:
type: array
description: If the transaction is a multisignature transaction, all signatures of the members of the corresponding multisignature group will be listed here.
items:
type: string
format: signature
example: 72c9b2aa734ec1b97549718ddf0d4737fd38a7f0fd105ea28486f2d989e9b3e399238d81a93aa45c27309d91ce604a5db9d25c9c90a138821f2011bc6636c60a
asset:
type: object
description: |
Displays additional transaction data.
Can include e.g. vote data or delegate username.
NodeStatusResponse:
type: object
required:
- data
- links
- meta
properties:
data:
$ref: '#/definitions/NodeStatus'
meta:
type: object
links:
type: object
NodeConstantsResponse:
type: object
required:
- data
- links
- meta
properties:
data:
$ref: '#/definitions/NodeConstants'
meta:
type: object
links:
type: object
PeersResponse:
description: Peers response
type: object
required:
- data
- meta
- links
properties:
data:
type: array
items:
$ref: '#/definitions/Peer'
meta:
type: object
required:
- offset
- limit
- count
properties:
offset:
$ref: '#/definitions/Offset'
limit:
$ref: '#/definitions/Limit'
count:
description: Number of peers in the response
type: integer
example: 100
links:
type: object
AccountsResponse:
type: object
required:
- data
- meta
- links
properties:
data:
description: List of accounts
type: array
items:
$ref: '#/definitions/AccountExtended'
meta:
$ref: '#/definitions/Meta'
links:
type: object
MultisignatureGroupsResponse:
type: object
required:
- data
- meta
- links
properties:
data:
description: List of multisignature groups
type: array
items:
$ref: '#/definitions/MultisignatureGroup'
meta:
type: object
links:
type: object
DappsResponse:
description: Dapps endpoint response
type: object
required:
- data
- meta
- links
properties:
data:
type: array
items:
$ref: '#/definitions/Dapp'
meta:
$ref: '#/definitions/Meta'
links:
type: object
DelegatesResponse:
type: object
required:
- data
- meta
- links
properties:
data:
description: List of delegates
type: array
items:
$ref: '#/definitions/DelegateWithAccount'
meta:
type: object
required:
- limit
- offset
properties:
offset:
$ref: '#/definitions/Offset'
limit:
type: integer
format: int32
minimum: 1
maximum: 101
default: 10
links:
type: object
ForgersResponse:
type: object
required:
- data
- meta
- links
properties:
data:
description: List of forgers
type: array
items:
$ref: '#/definitions/Forger'
meta:
type: object
required:
- offset
- limit
- currentSlot
- lastBlockSlot
- lastBlock
properties:
offset:
$ref: '#/definitions/Offset'
limit:
type: integer
format: int32
minimum: 1
maximum: 101
default: 10
currentSlot:
description: Currently active slot
type: integer
example: 10
lastBlockSlot:
description: Slot of the last processed block
type: integer
example: 10
lastBlock:
description: ID of the last processed block
type: integer
example: 10
links:
type: object
ForgingStatusResponse:
type: object
required:
- data
- meta
- links
properties:
data:
type: array
items:
$ref: '#/definitions/ForgingStatus'
meta:
type: object
links:
type: object
ForgingStatsResponse:
type: object
required:
- data
- meta
- links
properties:
data:
$ref: '#/definitions/ForgingStats'
meta:
type: object
required:
- fromTimestamp
- toTimestamp
properties:
fromTimestamp:
description: Starting unix timestamp
type: integer
example: 0
toTimestamp:
description: Ending unix timestamp
type: integer
example: 1525861914
links:
type: object
BlocksResponse:
description: Blocks response
type: object
required:
- data
- meta
- links
properties:
data:
type: array
items:
$ref: '#/definitions/Block'
meta:
$ref: '#/definitions/Meta'
links:
type: object
SignatureResponse:
description: Signature response
type: object
required:
- data
- meta
- links
properties:
data:
type: object
required:
- message
properties:
message:
type: string
minLength: 1
meta:
type: object
required:
- status
properties:
status:
description: Acceptance status for the signature
type: boolean
example: true
links:
type: object
TransactionsResponse:
description: Transactions response
type: object
required:
- data
- meta
- links
properties:
data:
type: array
items:
$ref: '#/definitions/Transaction'
meta:
type: object
required:
- offset
- limit
- count
properties:
offset:
$ref: '#/definitions/Offset'
limit:
$ref: '#/definitions/Limit'
count:
description: Number of transactions in the response
type: integer
example: 100
links:
type: object
GeneralStatusResponse:
type: object
required:
- data
- links
- meta
properties:
data:
type: object
required:
- message
properties:
message:
type: string
minLength: 1
meta:
type: object
required:
- status
properties:
status:
description: Acceptance status for transactions
type: boolean
example: true
links:
type: object
Transaction:
type: object
required:
- id
- type
- amount
- fee
- senderPublicKey
- recipientId
- timestamp
- asset
- signature
properties:
id:
type: string
format: id
example: "222675625422353767"
minLength: 1
maxLength: 20
description: |
Unique identifier of the transaction.
Derived from the transaction signature.
amount:
type: string
example: '150000000'
description: |
Amount of Lisk to be transferred in this transaction.
fee:
type: string
example: '1000000'
description: |
Transaction fee associated with this transaction.
type:
type: integer
minimum: 0
maximum: 7
description: |
Describes the Transaction type.
height:
type: integer
minimum: 1
description: |
The height of the network, at the moment where this transaction was included in the blockchain.
blockId:
type: string
format: id
minLength: 1
maxLength: 20
example: "6258354802676165798"
description: |
The Id of the block, this transaction is included in.
timestamp:
type: integer
example: 28227090
description: |
Time when the transaction was created.
Unix Timestamp.
senderId:
type: string
format: address
example: 12668885769632475474L
description: |
Lisk Address of the Senders' account.
senderPublicKey:
type: string
format: publicKey
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
description: |
The public key of the Senders' account.
senderSecondPublicKey:
type: string
format: publicKey
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
description: |
The second public key of the Senders' account, if it exists.
recipientId:
type: string
format: address
example: 12668885769632475474L
description: |
Lisk Address of the Recipients' account.
recipientPublicKey:
type: string
format: publicKey
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
description: |
The public key of the Recipients' account.
signature:
type: string
format: signature
example: 2821d93a742c4edf5fd960efad41a4def7bf0fd0f7c09869aed524f6f52bf9c97a617095e2c712bd28b4279078a29509b339ac55187854006591aa759784c205
description: |
Derived from a SHA-256 hash of the transaction object,
that is signed by the private key of the account who created the transaction.
signSignature:
type: string
format: signature
example: 2821d93a742c4edf5fd960efad41a4def7bf0fd0f7c09869aed524f6f52bf9c97a617095e2c712bd28b4279078a29509b339ac55187854006591aa759784c205
description: Contains the second signature, if the transaction is sent from an account with second passphrase activated.
signatures:
type: array
items:
type: string
format: signature
example: 72c9b2aa734ec1b97549718ddf0d4737fd38a7f0fd105ea28486f2d989e9b3e399238d81a93aa45c27309d91ce604a5db9d25c9c90a138821f2011bc6636c60a
description: If the transaction is a multisignature transaction, all signatures of the members of the corresponding multisignature group will be listed here.
confirmations:
type: integer
minimum: 0
description: |
Number of times that this transaction has been confirmed by the network.
By forging a new block on a chain, all former blocks and their contained transactions in the chain get confirmed by the forging delegate.
asset:
type: object
receivedAt:
type: string
format: 'date-time'
description: The timestamp of the moment, where a node discovered a transaction for the first time.
relays:
type: integer
description: Number of times, a single transaction object has been broadcasted to another peer.
ready:
type: boolean
example: false
description: |
Only present in transactions sent from a multisignature account, or transactions type 4 (multisignature registration).
False, if the minimum amount of signatures to sign this transaction has not been reached yet.
True, if the minimum amount of signatures has been reached.
Signature:
type: object
required:
- transactionId
- publicKey
- signature
properties:
transactionId:
type: string
format: id
example: "222675625422353767"
minLength: 1
maxLength: 20
description: Unique identifier of the multisignature transaction to sign.
publicKey:
type: string
format: publicKey
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
description: Public key of the account that intends to sign the multisignature transaction.
signature:
type: string
format: signature
example: 2821d93a742c4edf5fd960efad41a4def7bf0fd0f7c09869aed524f6f52bf9c97a617095e2c712bd28b4279078a29509b339ac55187854006591aa759784c205
description: |
Signature to sign the transaction.
The signature can be generated locally, either by using Lisk Commander or with Lisk Elements.
Block:
type: object
required:
- id
- height
- timestamp
- generatorPublicKey
- numberOfTransactions
- totalAmount
- totalFee
- reward
- totalForged
properties:
id:
type: string
format: id
minLength: 1
maxLength: 20
example: "6258354802676165798"
description: |
Unique identifier of the block.
Derived from the block signature.
version:
type: integer
example: 0
minimum: 0
description: Versioning for future upgrades of the lisk protocol.
height:
type: integer
example: 123
minimum: 1
description: |
Height of the network, when the block got forged.
The height of the networks represents the number of blocks,
that have been forged on the network since Genesis Block.
timestamp:
type: integer
example: 28227090
description: Unix Timestamp
generatorAddress:
type: string
format: address
example: 12668885769632475474L
description: Lisk Address of the delegate who forged the block.
generatorPublicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: Public key of th edelagte who forged the block.
payloadLength:
type: integer
example: 117
minimum: 0
description: Bytesize of the payload hash.
payloadHash:
type: string
format: hex
example: 4e4d91be041e09a2e54bb7dd38f1f2a02ee7432ec9f169ba63cd1f193a733dd2
description: |
Hash of the payload of the block.
The payload of a block is comprised of the transactions the block contains.
For each type of transaction exists a different maximum size for the payload.
blockSignature:
type: string
format: signature
example: a3733254aad600fa787d6223002278c3400be5e8ed4763ae27f9a15b80e20c22ac9259dc926f4f4cabdf0e4f8cec49308fa8296d71c288f56b9d1e11dfe81e07
description: |
Derived from a SHA-256 hash of the block header,
that is signed by the private key of the delegate who forged the block.
confirmations:
type: integer
example: 200
description: |
Number of times that this Block has been confirmed by the network.
By forging a new block on a chain, all former blocks in the chain get confirmed by the forging delegate.
previousBlockId:
type: string
format: id
example: "15918760246746894806"
description: The id of the previous block of the chain.
numberOfTransactions:
type: integer
example: 15
description: The number of transactions processed in the block.
totalAmount:
type: string
example: "150000000"
description: The total amount of Lisk transferred.
totalFee:
type: string
example: "15000000"
description: The total amount of fees associated with the block.
reward:
type: string
example: "50000000"
description: The Lisk reward for the delegate.
totalForged:
type: string
example: "65000000"
description: |
Total amount of LSK that have been forged in this Block.
Consists of fees and the reward.
ReducedBlock:
type: object
required:
- id
- height
- timestamp
- generatorPublicKey
properties:
id:
type: string
format: id
minLength: 1
maxLength: 20
example: "6258354802676165798"
version:
type: integer
example: 0
minimum: 0
height:
type: integer
example: 123
minimum: 1
timestamp:
description: Unix Timestamp
type: integer
example: 28227090
generatorAddress:
type: string
format: address
example: 12668885769632475474L
generatorPublicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
payloadLength:
type: integer
example: 117
minimum: 0
payloadHash:
type: string
format: hex
example: 4e4d91be041e09a2e54bb7dd38f1f2a02ee7432ec9f169ba63cd1f193a733dd2
blockSignature:
type: string
format: signature
example: a3733254aad600fa787d6223002278c3400be5e8ed4763ae27f9a15b80e20c22ac9259dc926f4f4cabdf0e4f8cec49308fa8296d71c288f56b9d1e11dfe81e07
confirmations:
type: integer
example: 200
previousBlockId:
type: string
format: id
example: "15918760246746894806"
CommonBlock:
x-private: true
type: object
required:
- id
- height
- previousBlock
properties:
id:
type: string
format: id
minLength: 1
maxLength: 20
example: "6258354802676165798"
height:
type: integer
example: 123
minimum: 1
previousBlock:
type: string
format: id
example: "15918760246746894806"
ForgingStatus:
type: object
required:
- forging
- publicKey
properties:
forging:
type: boolean
example: true
description: True if the delegate enabled forging.
publicKey:
type: string
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
format: publicKey
description: Public key of the queried delegate.
VotersResponse:
description: Voters endpoint response
type: object
required:
- data
- meta
- links
properties:
data:
$ref: '#/definitions/DelegateWithVoters'
meta:
$ref: '#/definitions/Meta'
links:
type: object
VotesResponse:
description: Votes endpoint response
type: object
required:
- data
- meta
- links
properties:
data:
$ref: '#/definitions/DelegateWithVotes'
meta:
type: object
required:
- offset
- limit
properties:
offset:
$ref: '#/definitions/Offset'
limit:
type: integer
format: int32
minimum: 1
maximum: 101
default: 10
links:
type: object
Forger:
type: object
required:
- username
- publicKey
- address
- nextSlot
properties:
username:
type: string
format: username
example: isabella
description: |
The delegates' username.
A delegate chooses the username by registering a delegate on the Lisk network.
It is unique and cannot be changed later.
publicKey:
type: string
example: 2ca9a7143fc721fdc540fef893b27e8d648d2288efa61e56264edf01a2c23079
format: publicKey
description: |
The public key is derived from the private key of the owner of the account.
It can be used to validate that the private key belongs to the owner, but not provide access to the owners private key.
address:
type: string
format: address
example: 6251001604903637008L
description: |
The Lisk Address is the human readable representation of the accounts owners' public key.
It consists of 21 numbers followed by a big 'L' at the end.
nextSlot:
type: number
example: 4368793
description: |
Returns the slot number in which the forger will be able to forge the next block.
Each slot has a timespan of 10 seconds.
The first slot began directly after the Lisk Epoch Time.
ForgingStats:
type: object
required:
- fees
- rewards
- forged
- count
properties:
fees:
type: string
example: "15000000"
description: Amount of fees, the delegate earned during the timespan.
rewards:
type: string
example: "50000000"
description: Amount of rewards, the delegate earned during the timespan.
forged:
type: string
example: "65000000"
description: Amount of Lisk, that have been transferred inside the forged blocks of a delegate, during the timespan.
count:
type: string
example: "100"
description: Amount of blocks, that the delegate has forged during the timespan.
Dapp:
type: object
required:
- transactionId
- name
- type
properties:
transactionId:
type: string
format: id
example: '15359945250124697273'
minLength: 1
maxLength: 20
description: |
Unique Identifier of the Register Dapp Transaction.
Derived from the transaction signature.
icon:
type: string
example: http://www.blocksafefoundation.com/header.jpg
description: |
Dapp icon.
A link to the icon can be provided in the Register Dapp Transaction object.
category:
type: number
example: 8
description: The category of the Dapp.
type:
type: number
example: 8
description: The type of the Dapp.
link:
type: string
example: https://github.com/blocksafe/SDK-notice/archive/master.zip
tags:
type: string
example: Smartgun
description: Tags of the Dapp.
description:
type: string
example: Smart Gun Network
description: Description of the Dapp.
name:
type: string
example: Blocksafe
description: Name of the Dapp.
Peer:
type: object
required:
- wsPort
- state
properties:
ip:
type: string
example: 127.0.0.1
format: ip
description: IPv4 address of the peer node.
httpPort:
type: integer
example: 8000
format: int32
minimum: 1
maximum: 65535
description: The port the peer node uses for HTTP requests, e.g. API calls.
wsPort:
type: integer
example: 8001
format: int32
minimum: 1
maximum: 65535
description: The port the peer node uses for Websocket Connections, e.g. P2P broadcasts.
os:
type: string
example: debian
description: The Operating System, that the peer node runs on.
version:
type: string
example: v0.8.0
format: version
description: The version of Lisk Core that the peer node runs on.
state:
type: integer
example: 2
format: int32
minimum: 0
maximum: 2
description: |
The state of the Peer.
Available values: Connected, Disconnected, Banned
height:
type: integer
example: 123
description: |
Network height on the peer node.
Represents the current number of blocks in the chain on the peer node.
broadhash:
type: string
example: 258974416d58533227c6a3da1b6333f0541b06c65b41e45cf31926847a3db1ea
format: hex
description: |
Broadhash on the peer node.
Broadhash is established as an aggregated rolling hash of the past five blocks present in the database.
nonce:
type: string
example: sYHEDBKcScaAAAYg
minLength: 1
description: |
Unique Identifier for the peer.
Random string.
PeersList:
x-private: true
type: object
required:
- peers
properties:
peers:
type: array
items:
$ref: '#/definitions/Peer'
Fees:
type: object
required:
- send
- vote
- secondSignature
- delegate
- multisignature
- dappRegistration
- dappWithdrawal
- dappDeposit
properties:
send:
type: string
example: '10000000'
vote:
type: string
example: '100000000'
secondSignature:
type: string
example: '500000000'
delegate:
type: string
example: '2500000000'
multisignature:
type: string
example: '500000000'
dappRegistration:
type: string
example: '2500000000'
dappWithdrawal:
type: string
example: '10000000'
dappDeposit:
type: string
example: '10000000'
NodeConstants:
type: object
required:
- epoch
- milestone
- nethash
- reward
- nonce
- supply
- build
- commit
- version
- fees
properties:
epoch:
type: string
format: date-time
example: '2016-05-24T17:00:00.000Z'
description: Timestamp of first block on the network.
milestone:
type: string
example: '500000000'
description: |
The Reward, each forger will get for forging a block at the current slot.
After a certain amount of slots, the reward will be reduced.
build:
type: string
example: 'v09:54:35 12/04/2017'
description: |
The build number.
Consists of `v` + the date and time of the build of the node.
commit:
type: string
example: 7199d4b67c3575d5f99d1c29436a02977eeb01a7
minLength: 40
maxLength: 40
description: The last commit that was added to the codebase.
version:
type: string
format: version
example: v0.8.0
description: The Lisk Core version, that the node is running on.
nethash:
type: string
example: ed14889723f24ecc54871d058d98ce91ff2f973192075c0155ba2b7b70ad2511
description: |
Describes the network.
The nethash describes e.g. the Mainnet or the Testnet, that the node is connecting to.
supply:
type: string
example: '10575384500000000'
description: Total supply of LSK in the network.
reward:
type: string
example: '500000000'
description: |
The reward a delegate will get for forging a block.
Depends on the slot height.
nonce:
type: string
example: cJmXK66xxz644d67
minLength: 16
maxLength: 16
description: |
Unique identifier of the node.
Random string.
fees:
$ref: '#/definitions/Fees'
NodeStatus:
type: object
required:
- broadhash
- consensus
- height
- loaded
- networkHeight
- syncing
- transactions
properties:
broadhash:
type: string
example: 258974416d58533227c6a3da1b6333f0541b06c65b41e45cf31926847a3db1ea
minLength: 64
maxLength: 64
description: |
Broadhash is established as an aggregated rolling hash of the past five blocks present in the database.
Broadhash consensus serves a vital function for the Lisk network in order to prevent forks.
It ensures that a majority of available peers agree that it is acceptable to forge.
consensus:
type: integer
example: 95
minimum: 0
maximum: 100
description: Percentage of the connected peers, that have the same broadhash as the querying node.
height:
type: integer
example: 123
minimum: 1
description: |
Current block height of the node.
Represents the current number of blocks in the chain on the node.
loaded:
type: boolean
example: true
description: True if the blockchain loaded.
networkHeight:
type: integer
example: 123
description: |
Current block height of the network.
Represents the current number of blocks in the chain on the network.
syncing:
type: boolean
example: false
description: True if the node syncing with other peers.
transactions:
type: object
required:
- unconfirmed
- unsigned
- unprocessed
- confirmed
- total
description: Transactions known to the node.
properties:
unconfirmed:
type: integer
example: 5
description: Number of unconfirmed Transactions known to the node.
unsigned:
type: integer
example: 2
description: Number of unsigned Transactions known to the node.
unprocessed:
type: integer
example: 3
description: Number of unprocessed Transactions known to the node.
confirmed:
type: integer
example: 5
description: Number of confirmed Transactions known to the node.
total:
type: integer
example: 15
description: Number of total Transactions known to the node.
ProcessingError:
type: object
required:
- message
properties:
message:
description: Error message containing details of the error
type: string
minLength: 1
NotFoundError:
type: object
required:
- message
properties:
message:
description: Error message containing details of the error
type: string
minLength: 1
AccessDeniedError:
type: object
required:
- message
properties:
message:
description: Error message containing details of the error
type: string
minLength: 1
UnexpectedError:
type: object
required:
- message
properties:
message:
description: Error message containing details of the error
type: string
minLength: 1
RequestLimitError:
type: object
properties:
error:
type: string
example: Request limit exceeded. Please try again later
ParamErrorResponse:
type: object
description: Response generated in case of parameters validation
required:
- message
- errors
properties:
message:
type: string
description: Message stating some valdiation error occurred
example: Validation errors
errors:
type: array
description: Array of individual parameter errors
items:
$ref: '#/definitions/ParamError'
ParamError:
type: object
description: Collection of errors on a particular parameter
required:
- code
- name
- message
properties:
code:
type: string
description: Valid error code explaining error
example: INVALID_REQUEST_PARAMETER
name:
type: string
description: Parameter name for which error triggered
example: offset
in:
type: string
description: Where the param was specified, e.g. path, query, form-data
example: query
message:
type: string
description: Detailed message explaining the error
example: Invalid parameter (offset) value failed JSON schema validation
errors:
type: array
description: Array of individual validation error for a particular param
items:
$ref: '#/definitions/ParamErrorMessage'
ParamErrorMessage:
type: object
description: Singular error detail for a parameter
required:
- message
properties:
code:
type: string
description: Valid error code explaining error
example: MINIMUM
message:
type: string
description: Detailed message explaining error
example: Value -1 is less than minimum 0
description:
type: string
description: Param description specified in schema
path:
type: array
description: The array/object paths which identify the param associated with the error
items:
type: string
example: publicKey
Account:
type: object
required:
- address
- publicKey
properties:
address:
type: string
format: address
example: 12668885769632475474L
description: |
The Lisk Address is the human readable representation of the accounts owners' public key.
It consists of multiple numbers followed by a big 'L' at the end.
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: |
The public key is derived from the private key of the owner of the account.
It can be used to validate that the private key belongs to the owner, but not provide access to the owners private key.
secondPublicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: The second public key is derived from the second private key of an account, if the owner activated a second passphrase for her/his account.
AccountExtended:
type: object
required:
- address
- publicKey
- balance
- unconfirmedBalance
properties:
address:
type: string
format: address
example: 12668885769632475474L
description: |
The Lisk Address is the human readable representation of the accounts owners' public key.
It consists of 21 numbers followed by a big 'L' at the end.
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: |
The public key is derived from the private key of the owner of the account.
It can be used to validate that the private key belongs to the owner, but does not provide access to the owners private key.
balance:
type: string
example: 1081560729258
description: The current balance of the account in Beddows.
unconfirmedBalance:
type: string
example: 0
description: |
The current unconfirmed balance of the account in Beddows.
Includes unconfirmed transactions.
secondPublicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: The second public key is derived from the second private key of an account, if the owner activated a second passphrase for her/his account.
delegate:
$ref: '#/definitions/Delegate'
MultisignatureGroup:
type: object
required:
- address
- publicKey
- balance
- unconfirmedBalance
- min
- lifetime
- members
properties:
address:
type: string
format: address
example: 12668885769632475474L
description: |
The Lisk Address is the human readable representation of the accounts owners' public key.
It consists of 21 numbers followed by a big 'L' at the end.
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: |
The public key is derived from the private key of the owner of the account.
It can be used to validate that the private key belongs to the owner, but not provide access to the owners private key.
balance:
type: string
example: 1081560729258
description: The current balance of the account in Beddows.
unconfirmedBalance:
type: string
example: 0
description: |
The current unconfirmed balance of the account in Beddows.
Includes unconfirmed transactions.
secondPublicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: The second public key is derived from the second private key of an account, if the owner activated a second passphrase for her/his account.
min:
type: integer
example: 3
description: Minimum amount of signatures a transaction needs to be signed successfully by this multisignature account.
lifetime:
type: integer
example: 72
description: |
The maximum amount of hours, that a transaction will wait for the minimum amount of signatures to be reached.
If not enough members of a multisignature group sign the transaction in the defined lifespan, the transaction will be invalid.
members:
type: array
items:
$ref: '#/definitions/Account'
Delegate:
type: object
required:
- username
- vote
properties:
username:
type: string
example: isabella
format: username
description: |
The delegates' username.
A delegate chooses the username by registering a delegate on the Lisk network.
It is unique and cannot be changed later.
vote:
type: string
example: 1081560729258
description: |
The voters weight of the delegate.
Represents the total amount of Lisk (in Beddows) that the delegates' voters own.
The voters weight decides which rank the delegate gets in relation to the other delegates and their voters weights.
rewards:
type: string
example: 510000000
description: Total sum of block rewards that the delegate has forged.
producedBlocks:
type: integer
example: 20131
description: Total number of blocks the delegate has forged.
missedBlocks:
type: integer
example: 427
description: Total number of blocks the delegate has missed.
approval:
type: number
example: 14.22
description: Percentage of the voters weight, that the delegate owns in relation to the total supply of Lisk.
productivity:
type: number
example: 96.41
description: |
Productivity rate.
Percentage of successfully forged blocks (not missed) by the delegate.
rank:
type: integer
example: 70
description: |
Rank of the delegate.
The rank is defined by the voters weight/ approval of a delegates, in relation to all other delegates.
DelegateWithAccount:
type: object
required:
- username
- vote
- account
properties:
username:
type: string
example: isabella
format: username
description: |
The delegates' username.
A delegate chooses the username by registering a delegate on the Lisk network.
It is unique and cannot be changed later.
vote:
type: string
example: 1081560729258
description: |
The voters weight of the delegate.
Represents the total amount of Lisk (in Beddows) that the delegates' voters own.
The voters weight decides which rank the delegate gets in relation to the other delegates and their voters weights.
rewards:
type: string
example: 510000000
description: Total sum of block rewards that the delegate has forged.
producedBlocks:
type: integer
example: 20131
description: Total number of blocks the delegate has forged.
missedBlocks:
type: integer
example: 427
description: Total number of blocks the delegate has missed.
approval:
type: number
example: 14.22
description: Percentage of the voters weight, that the delegate owns in relation to the total supply of Lisk.
productivity:
type: number
example: 96.41
description: |
Productivity rate.
Percentage of successfully forged blocks (not missed) by the delegate.
rank:
type: integer
example: 70
description: |
Rank of the delegate.
The rank is defined by the voters weight/ approval of a delegates, in relation to all other delegates.
account:
$ref: '#/definitions/Account'
DelegateWithVoters:
type: object
required:
- username
- address
- votes
- balance
- voters
properties:
username:
type: string
example: isabella
format: username
description: |
The delegates' username.
A delegate chooses the username by registering a delegate on the Lisk network.
It is unique and cannot be changed later.
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: The public key of the delegate.
votes:
type: integer
example: 108877
description: |
The voters weight of the delegate.
Represents the total amount of Lisk (in Beddows) that the delegates' voters own.
The voters weight decides which rank the delegate gets in relation to the other delegates and their voters weights.
address:
type: string
format: address
example: 12668885769632475474L
description: The Lisk Address of a delegate.
balance:
type: string
example: 1081560729258
description: |
Account balance.
Amount of Lisk the delegate account owns.
voters:
type: array
description: List of accounts that voted for the queried delegate.
items:
$ref: '#/definitions/Voter'
Voter:
type: object
required:
- address
- publicKey
- balance
properties:
address:
type: string
format: address
example: 12668885769632475474L
description: The Lisk Address of the account that voted for the queried delegate.
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: Public key of the account that voted for the queried delegate.
balance:
type: string
example: 1081560729258
description: Balance of the account that voted for the queried delegate.
DelegateWithVotes:
type: object
required:
- username
- address
- votesUsed
- votesAvailable
- balance
- votes
properties:
address:
type: string
format: address
example: 12668885769632475474L
description: The Lisk Address of the queried account.
balance:
type: string
example: 1081560729258
description: The balance of the queried account.
username:
type: string
example: isabella
format: username
description: Username of the account, if the queried account is a delegate
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: Public key of the queried account.
votesUsed:
type: integer
example: 2
description: Number of votes that are already placed by the queried account.
votesAvailable:
type: integer
example: 40
description: |
Number of votes that are available for the queried account.
Derives from 101(max possible votes) - votesUsed(alreadu used votes)
votes:
type: array
description: List of placed votes by the queried account.
items:
$ref: '#/definitions/Vote'
Vote:
type: object
required:
- address
- publicKey
- balance
- username
properties:
address:
type: string
format: address
example: 12668885769632475474L
description: Lisk Address of the delegate the queried account voted for.
publicKey:
type: string
format: publicKey
example: 968ba2fa993ea9dc27ed740da0daf49eddd740dbd7cb1cb4fc5db3a20baf341b
description: Public key of the delegate the queried account voted for.
balance:
type: string
example: 1081560729258
description: Balance of the delegate the queried account voted for.
username:
type: string
format: username
example: liskhq
description: Username of the delegate the queried account voted for.
WSPeerHeaders:
x-private: true
type: object
required:
- httpPort
- wsPort
- version
- nethash
- nonce
properties:
httpPort:
type: integer
example: 8000
format: int32
minimum: 1
maximum: 65535
wsPort:
type: integer
example: 8001
format: int32
minimum: 1
maximum: 65535
os:
type: string
example: debian
version:
type: string
example: v0.8.0
format: version
height:
type: integer
example: 123
nethash:
type: string
maxLength: 64
broadhash:
type: string
example: 258974416d58533227c6a3da1b6333f0541b06c65b41e45cf31926847a3db1ea
format: hex
nonce:
type: string
example: sYHEDBKcScaAAAYg
minLength: 16
maxLength: 16
WSPeerUpdateRequest:
x-private: true
type: object
required:
- data
- socketId
properties:
data:
type: object
required:
- nonce
properties:
nethash:
type: string
maxLength: 64
broadhash:
type: string
format: hex
height:
type: integer
minimum: 1
nonce:
type: string
minLength: 16
maxLength: 16
socketId:
type: string
WSSignaturesList:
x-private: true
type: object
required:
- nonce
- signatures
properties:
nonce:
type: string
example: sYHEDBKcScaAAAYg
minLength: 16
maxLength: 16
signatures:
type: array
items:
type: object
minItems: 1
maxItems: 25
WSBlocksList:
x-private: true
type: array
items:
type: object
WSBlocksCommonRequest:
x-private: true
type: object
required:
- ids
properties:
ids:
type: string
format: csv
WSTransactionsRequest:
x-private: true
type: object
required:
- nonce
- transactions
properties:
nonce:
type: string
example: sYHEDBKcScaAAAYg
minLength: 16
maxLength: 16
transactions:
type: array
items:
type: object
minItems: 1
maxItems: 25
WSAccessObject:
x-private: true
type: object
required:
- peer
- authKey
- updateType
properties:
peer:
$ref: '#/definitions/Peer'
authKey:
type: string
updateType:
type: integer
minimum: 0
maximum: 1
WSTransactionsResponse:
x-private: true
type: object
required:
- transactions
properties:
transactions:
type: array
uniqueItems: true
maxItems: 100
items:
type: object
WSSignaturesResponse:
x-private: true
required:
- signatures
properties:
signatures:
type: array
uniqueItems: true
maxItems: 100
items:
type: object
WSBlocksBroadcast:
x-private: true
type: object
required:
- block
- nonce
properties:
nonce:
type: string
example: sYHEDBKcScaAAAYg
minLength: 16
maxLength: 16
block:
$ref: '#/definitions/ReducedBlock'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment