Nym Technologies Nym Explorer API
The Nym Explorer API from Nym Technologies — 2 operation(s) for nym explorer.
The Nym Explorer API from Nym Technologies — 2 operation(s) for nym explorer.
openapi: 3.1.0
info:
title: Node Status API Status Nym Explorer API
description: ''
contact:
name: Nym Technologies SA
license:
name: Apache-2.0
identifier: Apache-2.0
version: 4.6.2
tags:
- name: Nym Explorer
paths:
/explorer/v3/nym-nodes:
get:
tags:
- Nym Explorer
operationId: nym_nodes
parameters:
- name: size
in: query
required: false
schema:
type: integer
minimum: 0
- name: page
in: query
required: false
schema:
type: integer
minimum: 0
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PagedResult_ExtendedNymNode'
/explorer/v3/nym-nodes/{node_id}/delegations:
get:
tags:
- Nym Explorer
operationId: node_delegations
parameters:
- name: node_id
in: path
required: true
schema:
$ref: '#/components/schemas/u32'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NodeDelegation'
components:
schemas:
HostKeysV1:
type: object
required:
- ed25519
- x25519
- current_x25519_sphinx_key
properties:
current_x25519_sphinx_key:
$ref: '#/components/schemas/SphinxKeyV1'
ed25519:
type: string
pre_announced_x25519_sphinx_key:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/SphinxKeyV1'
x25519:
type: string
deprecated: true
x25519_versioned_noise:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/VersionedNoiseKeyV1'
NodeDelegation:
type: object
required:
- amount
- cumulative_reward_ratio
- block_height
- owner
properties:
amount:
$ref: '#/components/schemas/CoinSchema'
block_height:
type: integer
format: int64
minimum: 0
cumulative_reward_ratio:
type: string
owner:
type: string
proxy:
type:
- string
- 'null'
NodeCostParams:
type: object
description: 'The cost parameters, or the cost function, defined for the particular mixnode that influences
how the rewards should be split between the node operator and its delegators.'
required:
- profit_margin_percent
- interval_operating_cost
properties:
interval_operating_cost:
$ref: '#/components/schemas/CoinSchema'
description: Operating cost of the associated node per the entire interval.
profit_margin_percent:
type: string
description: The profit margin of the associated node, i.e. the desired percent of the reward to be distributed to the operator.
PagedResult_ExtendedNymNode:
type: object
required:
- page
- size
- total
- items
properties:
items:
type: array
items:
type: object
required:
- node_id
- identity_key
- uptime
- total_stake
- original_pledge
- bonded
- node_type
- ip_address
- accepted_tnc
- self_description
- description
properties:
accepted_tnc:
type: boolean
bonded:
type: boolean
bonding_address:
type:
- string
- 'null'
description:
$ref: '#/components/schemas/NodeDescription'
family_data:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/NodeFamilyInformation'
geoip:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/NodeGeoData'
identity_key:
type: string
ip_address:
type: string
node_id:
$ref: '#/components/schemas/u32'
node_type:
$ref: '#/components/schemas/DescribedNodeTypeV1'
original_pledge:
type: integer
minimum: 0
rewarding_details:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/NodeRewarding'
self_description:
$ref: '#/components/schemas/NymNodeDataV2'
total_stake:
type: string
uptime:
type: number
format: double
page:
type: integer
minimum: 0
size:
type: integer
minimum: 0
total:
type: integer
minimum: 0
NymNodeAuxiliaryDetailsV1:
type: object
properties:
accepted_operator_terms_and_conditions:
type: boolean
description: 'Specifies whether this node operator has agreed to the terms and conditions
as defined at <https://nymtech.net/terms-and-conditions/operators/v1.0.0>'
announce_ports:
$ref: '#/components/schemas/AnnouncePortsV1'
location:
type:
- string
- 'null'
description: Optional ISO 3166 alpha-2 two-letter country code of the node's **physical** location
example: PL
NodeDescription:
type: object
required:
- moniker
- website
- security_contact
- details
properties:
details:
type: string
description: details define other optional details.
moniker:
type: string
description: moniker defines a human-readable name for the node.
security_contact:
type: string
description: security contact defines an optional email for security contact.
website:
type: string
description: website defines an optional website link.
OffsetDateTimeJsonSchemaWrapper:
type: string
format: date-time
VersionedNoiseKeyV1:
type: object
required:
- supported_version
- x25519_pubkey
properties:
supported_version:
type: integer
format: int32
minimum: 0
x25519_pubkey:
type: string
HostInformationV1:
type: object
required:
- ip_address
- keys
properties:
hostname:
type:
- string
- 'null'
ip_address:
type: array
items:
type: string
keys:
$ref: '#/components/schemas/HostKeysV1'
DescribedNodeTypeV1:
type: string
enum:
- legacy_mixnode
- legacy_gateway
- nym_node
AuthenticatorDetailsV1:
type: object
required:
- address
properties:
address:
type: string
description: address of the embedded authenticator
NymNodeDataV2:
type: object
required:
- host_information
- build_information
- mixnet_websockets
properties:
authenticator:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/AuthenticatorDetailsV1'
auxiliary_details:
$ref: '#/components/schemas/NymNodeAuxiliaryDetailsV1'
build_information:
$ref: '#/components/schemas/BinaryBuildInformationOwned'
declared_role:
$ref: '#/components/schemas/DeclaredRolesV1'
host_information:
$ref: '#/components/schemas/HostInformationV1'
ip_packet_router:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/IpPacketRouterDetailsV1'
last_polled:
$ref: '#/components/schemas/OffsetDateTimeJsonSchemaWrapper'
lewes_protocol:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/LewesProtocolDetailsV1'
mixnet_websockets:
$ref: '#/components/schemas/WebSocketsV1'
network_requester:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/NetworkRequesterDetailsV1'
wireguard:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/WireguardDetailsV1'
LewesProtocolDetailsDataV1:
type: object
required:
- enabled
- control_port
- data_port
- x25519
- kem_keys
properties:
control_port:
type: integer
format: int32
description: 'LP TCP control address (default: 41264) for establishing LP sessions'
minimum: 0
data_port:
type: integer
format: int32
description: 'LP UDP data address (default: 51264) for Sphinx packets wrapped in LP'
minimum: 0
enabled:
type: boolean
description: 'Helper field that specifies whether the LP listener(s) is enabled on this node.
It is directly controlled by the node''s role (i.e. it is enabled if it supports ''entry'' mode)'
kem_keys:
type: object
description: 'Digests of the KEM keys available to this node alongside hashing algorithms used
for their computation.
note: digests are hex encoded'
additionalProperties:
type: object
additionalProperties:
type: string
propertyNames:
type: string
propertyNames:
type: string
x25519:
type: string
description: LP public key
NetworkRequesterDetailsV1:
type: object
required:
- address
- uses_exit_policy
properties:
address:
type: string
description: address of the embedded network requester
uses_exit_policy:
type: boolean
description: flag indicating whether this network requester uses the exit policy rather than the deprecated allow list
NodeFamilyInformation:
type: object
required:
- id
- name
- description
- family_stake
- members
properties:
description:
type: string
family_stake:
type: integer
minimum: 0
id:
type: integer
format: int32
minimum: 0
members:
type: integer
minimum: 0
name:
type: string
BinaryBuildInformationOwned:
type: object
required:
- binary_name
- build_timestamp
- build_version
- commit_sha
- commit_timestamp
- commit_branch
- rustc_version
- rustc_channel
- cargo_profile
properties:
binary_name:
type: string
description: Provides the name of the binary, i.e. the content of `CARGO_PKG_NAME` environmental variable.
build_timestamp:
type: string
description: Provides the build timestamp, for example `2021-02-23T20:14:46.558472672+00:00`.
build_version:
type: string
description: Provides the build version, for example `0.1.0-9-g46f83e1`.
cargo_profile:
type: string
description: Provides the cargo debug mode that was used for the build.
cargo_triple:
type: string
description: Provides the cargo target triple that was used for the build.
commit_branch:
type: string
description: Provides the name of the git branch that was used for the build, for example `master`.
commit_sha:
type: string
description: Provides the hash of the commit that was used for the build, for example `46f83e112520533338245862d366f6a02cef07d4`.
commit_timestamp:
type: string
description: Provides the timestamp of the commit that was used for the build, for example `2021-02-23T08:08:02-05:00`.
rustc_channel:
type: string
description: Provides the rustc channel that was used for the build, for example `nightly`.
rustc_version:
type: string
description: Provides the rustc version that was used for the build, for example `1.52.0-nightly`.
DeclaredRolesV1:
type: object
required:
- mixnode
- entry
- exit_nr
- exit_ipr
properties:
entry:
type: boolean
exit_ipr:
type: boolean
exit_nr:
type: boolean
mixnode:
type: boolean
NodeRewarding:
type: object
required:
- cost_params
- operator
- delegates
- total_unit_reward
- unit_delegation
- last_rewarded_epoch
- unique_delegations
properties:
cost_params:
$ref: '#/components/schemas/NodeCostParams'
description: Information provided by the operator that influence the cost function.
delegates:
type: string
description: Total delegation and compounded reward earned by all node delegators.
last_rewarded_epoch:
$ref: '#/components/schemas/u32'
description: 'Marks the epoch when this node was last rewarded so that we wouldn''t accidentally attempt
to reward it multiple times in the same epoch.'
operator:
type: string
description: Total pledge and compounded reward earned by the node operator.
total_unit_reward:
type: string
description: Cumulative reward earned by the "unit delegation" since the block 0.
unique_delegations:
type: integer
format: int32
minimum: 0
unit_delegation:
type: string
description: Value of the theoretical "unit delegation" that has delegated to this node at block 0.
AnnouncePortsV1:
type: object
properties:
mix_port:
type:
- integer
- 'null'
format: int32
minimum: 0
verloc_port:
type:
- integer
- 'null'
format: int32
minimum: 0
LewesProtocolDetailsV1:
type: object
required:
- content
- signature
properties:
content:
$ref: '#/components/schemas/LewesProtocolDetailsDataV1'
signature:
type: string
u32:
type: integer
format: int32
minimum: 0
WireguardDetailsV1:
type: object
required:
- port
- public_key
properties:
metadata_port:
type: integer
format: int32
minimum: 0
port:
type: integer
format: int32
minimum: 0
public_key:
type: string
tunnel_port:
type: integer
format: int32
minimum: 0
WebSocketsV1:
type: object
required:
- ws_port
properties:
ws_port:
type: integer
format: int32
minimum: 0
wss_port:
type:
- integer
- 'null'
format: int32
minimum: 0
CoinSchema:
type: object
title: Coin
required:
- denom
- amount
properties:
amount:
type: string
denom:
type: string
NodeGeoData:
type: object
required:
- city
- country
- ip_address
- latitude
- longitude
- org
- postal
- region
- timezone
properties:
city:
type: string
country:
type: string
ip_address:
type: string
latitude:
type: string
longitude:
type: string
org:
type: string
postal:
type: string
region:
type: string
timezone:
type: string
IpPacketRouterDetailsV1:
type: object
required:
- address
properties:
address:
type: string
description: address of the embedded ip packet router
SphinxKeyV1:
type: object
required:
- rotation_id
- public_key
properties:
public_key:
type: string
rotation_id:
type: integer
format: int32
minimum: 0