Files
nym/formatted-openapi.json
T
dynco-nym 33f2e2ca7d WIP
2024-12-16 13:24:34 +01:00

5779 lines
145 KiB
JSON

{
"openapi": "3.0.3",
"info": {
"title": "Nym API",
"description": "",
"contact": {
"name": "Nym Technologies SA"
},
"license": {
"name": "GPL-3.0"
},
"version": "1.1.47"
},
"paths": {
"/v1/api-status/build-information": {
"get": {
"tags": [
"API Status"
],
"operationId": "build_information",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BinaryBuildInformationOwned"
}
}
}
}
}
}
},
"/v1/api-status/health": {
"get": {
"tags": [
"API Status"
],
"operationId": "health",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiHealthResponse"
}
}
}
}
}
}
},
"/v1/api-status/signer-information": {
"get": {
"tags": [
"API Status"
],
"operationId": "signer_information",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SignerInformationResponse"
}
}
}
}
}
}
},
"/v1/circulating-supply": {
"get": {
"tags": [
"circulating-supply"
],
"operationId": "get_full_circulating_supply",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CirculatingSupplyResponse"
}
}
}
}
}
}
},
"/v1/circulating-supply/circulating-supply-value": {
"get": {
"tags": [
"circulating-supply"
],
"operationId": "get_circulating_supply",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
}
}
}
}
}
},
"/v1/circulating-supply/total-supply-value": {
"get": {
"tags": [
"circulating-supply"
],
"operationId": "get_total_supply",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
}
}
}
}
}
},
"/v1/ecash/aggregated-coin-indices-signatures": {
"get": {
"tags": [
"Ecash Global Data"
],
"operationId": "coin_indices_signatures",
"parameters": [
{
"name": "epoch_id",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AggregatedCoinIndicesSignatureResponse"
}
}
}
}
}
}
},
"/v1/ecash/aggregated-expiration-date-signatures": {
"get": {
"tags": [
"Ecash Global Data"
],
"operationId": "expiration_date_signatures",
"parameters": [
{
"name": "expiration_date",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AggregatedExpirationDateSignatureResponse"
}
}
}
}
}
}
},
"/v1/ecash/batch-redeem-ecash-tickets": {
"post": {
"tags": [
"Ecash"
],
"operationId": "batch_redeem_tickets",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchRedeemTicketsBody"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EcashBatchTicketRedemptionResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/ecash/blind-sign": {
"post": {
"tags": [
"Ecash"
],
"operationId": "post_blind_sign",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlindSignRequestBody"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BlindedSignatureResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/ecash/double-spending-filter-v1": {
"get": {
"tags": [
"Ecash"
],
"operationId": "double_spending_filter_v1",
"responses": {
"500": {
"description": "bloomfilters got disabled",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/ecash/issued-ticketbooks-challenge": {
"post": {
"tags": [
"Ecash"
],
"operationId": "issued_ticketbooks_challenge",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuedTicketbooksChallengeRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuedTicketbooksChallengeResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/ecash/issued-ticketbooks-for/{expiration_date}": {
"get": {
"tags": [
"Ecash"
],
"operationId": "issued_ticketbooks_for",
"parameters": [
{
"name": "expiration_date",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "date"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuedTicketbooksForResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/ecash/master-verification-key": {
"get": {
"tags": [
"Ecash Global Data"
],
"operationId": "master_verification_key",
"parameters": [
{
"name": "epoch_id",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationKeyResponse"
}
}
}
}
}
}
},
"/v1/ecash/partial-coin-indices-signatures": {
"get": {
"tags": [
"Ecash"
],
"operationId": "partial_coin_indices_signatures",
"parameters": [
{
"name": "epoch_id",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PartialExpirationDateSignatureResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/ecash/partial-expiration-date-signatures": {
"get": {
"tags": [
"Ecash"
],
"operationId": "partial_expiration_date_signatures",
"parameters": [
{
"name": "expiration_date",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PartialExpirationDateSignatureResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/ecash/verify-ecash-ticket": {
"post": {
"tags": [
"Ecash"
],
"operationId": "verify_ticket",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerifyEcashTicketBody"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EcashTicketVerificationResponse"
}
}
}
},
"400": {
"description": "this nym-api is not an ecash signer in the current epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/epoch/current": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_current_epoch",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/Interval"
}
],
"nullable": true
}
}
}
}
}
}
},
"/v1/epoch/reward_params": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_interval_reward_params",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/RewardingParams"
}
],
"nullable": true
}
}
}
}
}
}
},
"/v1/gateways": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_gateways",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GatewayBond"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/gateways/blacklisted": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_blacklisted_gateways",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"nullable": true
}
}
}
}
},
"deprecated": true
}
},
"/v1/gateways/described": {
"get": {
"tags": [
"Legacy gateways"
],
"operationId": "get_gateways_described",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DescribedGateway"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_mixnodes",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayer"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/active": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_active_set",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayer"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/active/detailed": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_active_set_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/blacklisted": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_blacklisted_mixnodes",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NodeId"
},
"uniqueItems": true,
"nullable": true
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/described": {
"get": {
"tags": [
"Legacy Mixnodes"
],
"operationId": "get_mixnodes_described",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DescribedMixNode"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/detailed": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_mixnodes_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/rewarded": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_rewarded_set",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayer"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/mixnodes/rewarded/detailed": {
"get": {
"tags": [
"contract-cache"
],
"operationId": "get_rewarded_set_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
}
},
"deprecated": true
}
},
"/v1/network/details": {
"get": {
"tags": [
"network"
],
"operationId": "network_details",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NetworkDetails"
}
}
}
}
}
}
},
"/v1/network/nym-contracts": {
"get": {
"tags": [
"network"
],
"operationId": "nym_contracts",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ContractInformationContractVersion"
}
}
}
}
}
}
}
},
"/v1/network/nym-contracts-detailed": {
"get": {
"tags": [
"network"
],
"operationId": "nym_contracts_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ContractInformationBuildInformation"
}
}
}
}
}
}
}
},
"/v1/nym-nodes/annotation/{node_id}": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_node_annotation",
"parameters": [
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AnnotationResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/bonded": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_bonded_nodes",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/described": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_described_nodes",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/historical-performance/{node_id}": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_historical_performance",
"parameters": [
{
"name": "date",
"in": "query",
"required": true,
"schema": {
"type": "string",
"format": "date"
}
},
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodeDatePerformanceResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/noise": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "nodes_noise",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/performance-history/{node_id}": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_node_performance_history",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PerformanceHistoryResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/performance/{node_id}": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_current_node_performance",
"parameters": [
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodePerformanceResponse"
}
}
}
}
}
}
},
"/v1/nym-nodes/refresh-described": {
"post": {
"tags": [
"Nym Nodes"
],
"operationId": "refresh_described",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NodeRefreshBody"
}
}
},
"required": true
},
"responses": {}
}
},
"/v1/nym-nodes/uptime-history/{node_id}": {
"get": {
"tags": [
"Nym Nodes"
],
"operationId": "get_node_uptime_history",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "node_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PerformanceHistoryResponse"
}
}
}
}
}
}
},
"/v1/status/gateway/{identity}/avg_uptime": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "get_gateway_avg_uptime",
"parameters": [
{
"name": "identity",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayUptimeResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/gateway/{identity}/core-status-count": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "gateway_core_status_count",
"parameters": [
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true
}
},
{
"name": "identity",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayCoreStatusResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/gateway/{identity}/history": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "gateway_uptime_history",
"parameters": [
{
"name": "identity",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayUptimeHistoryResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/gateway/{identity}/report": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "gateway_report",
"parameters": [
{
"name": "identity",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayStatusReportResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/gateways/detailed": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "get_gateways_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayBondAnnotated"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/gateways/detailed-unfiltered": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "get_gateways_detailed_unfiltered",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayBondAnnotated"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/gateways/unstable/{identity}/test-results": {
"get": {
"tags": [
"UNSTABLE - DO **NOT** USE"
],
"operationId": "gateway_test_results",
"parameters": [
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "identity",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayTestResultResponse"
}
}
}
}
}
}
},
"/v1/status/mixnode/{mix_id}/avg_uptime": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "get_mixnode_avg_uptime",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UptimeResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/compute-reward-estimation": {
"post": {
"tags": [
"network-monitor-status"
],
"operationId": "compute_mixnode_reward_estimation",
"parameters": [
{
"name": "performance",
"in": "path",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/Performance"
}
],
"nullable": true
}
},
{
"name": "active_in_rewarded_set",
"in": "path",
"required": true,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "pledge_amount",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
}
},
{
"name": "total_delegation",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
}
},
{
"name": "interval_operating_cost",
"in": "path",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/Coin"
}
],
"nullable": true
}
},
{
"name": "profit_margin_percent",
"in": "path",
"required": true,
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/Percent"
}
],
"nullable": true
}
},
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ComputeRewardEstParam"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RewardEstimationResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/core-status-count": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "mixnode_core_status_count",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
},
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int64",
"nullable": true
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixnodeCoreStatusResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/history": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "mixnode_uptime_history",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixnodeUptimeHistoryResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/inclusion-probability": {
"get": {
"tags": [
"status"
],
"operationId": "get_mixnode_inclusion_probability",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InclusionProbabilityResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/report": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "mixnode_report",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixnodeStatusReportResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/reward-estimation": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "get_mixnode_reward_estimation",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RewardEstimationResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/stake-saturation": {
"get": {
"tags": [
"status"
],
"operationId": "get_mixnode_stake_saturation",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StakeSaturationResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnode/{mix_id}/status": {
"get": {
"tags": [
"status"
],
"operationId": "get_mixnode_status",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixnodeStatusResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnodes/active/detailed": {
"get": {
"tags": [
"status"
],
"operationId": "get_active_set_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnodes/detailed": {
"get": {
"tags": [
"status"
],
"operationId": "get_mixnodes_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnodes/detailed-unfiltered": {
"get": {
"tags": [
"network-monitor-status"
],
"operationId": "get_mixnodes_detailed_unfiltered",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnodes/inclusion-probability": {
"get": {
"tags": [
"status"
],
"operationId": "get_mixnode_inclusion_probabilities",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AllInclusionProbabilitiesResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnodes/rewarded/detailed": {
"get": {
"tags": [
"status"
],
"operationId": "get_rewarded_set_detailed",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixNodeBondAnnotated"
}
}
}
}
},
"deprecated": true
}
},
"/v1/status/mixnodes/unstable/{mix_id}/test-results": {
"get": {
"tags": [
"UNSTABLE - DO **NOT** USE"
],
"operationId": "mixnode_test_results",
"parameters": [
{
"name": "mix_id",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/NodeId"
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MixnodeTestResultResponse"
}
}
}
}
}
}
},
"/v1/status/submit-gateway-monitoring-results": {
"post": {
"tags": [
"status"
],
"operationId": "submit_gateway_monitoring_results",
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorMessage"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
},
"400": {
"description": "TBD",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "TBD",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "TBD",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/status/submit-node-monitoring-results": {
"post": {
"tags": [
"status"
],
"operationId": "submit_node_monitoring_results",
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorMessage"
}
}
},
"required": true
},
"responses": {
"200": {
"description": ""
},
"400": {
"description": "TBD",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "TBD",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "TBD",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/full-fat": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"operationId": "nodes_detailed",
"parameters": [
{
"name": "role",
"in": "query",
"required": false,
"schema": {
"allOf": [
{
"type": "string",
"enum": [
"active-mixnode",
"entry-gateway",
"exit-gateway"
]
}
],
"nullable": true
}
},
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"501": {
"description": ""
}
}
}
},
"/v1/unstable/nym-nodes/gateways/skimmed": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Deprecated query that gets ALL gateways",
"operationId": "deprecated_gateways_basic",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CachedNodesResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/unstable/nym-nodes/mixnodes/skimmed": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Deprecated query that gets ACTIVE-ONLY mixnodes",
"operationId": "deprecated_mixnodes_basic",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CachedNodesResponse"
}
}
}
}
},
"deprecated": true
}
},
"/v1/unstable/nym-nodes/semi-skimmed": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"operationId": "nodes_expanded",
"parameters": [
{
"name": "role",
"in": "query",
"required": false,
"schema": {
"allOf": [
{
"type": "string",
"enum": [
"active-mixnode",
"entry-gateway",
"exit-gateway"
]
}
],
"nullable": true
}
},
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"501": {
"description": ""
}
}
}
},
"/v1/unstable/nym-nodes/skimmed": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Return all Nym Nodes and optionally legacy mixnodes/gateways (if `no-legacy` flag is not used)",
"description": "that are currently bonded.",
"operationId": "nodes_basic_all",
"parameters": [
{
"name": "role",
"in": "query",
"required": false,
"schema": {
"allOf": [
{
"type": "string",
"enum": [
"active-mixnode",
"entry-gateway",
"exit-gateway"
]
}
],
"nullable": true
}
},
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/active": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Return Nym Nodes and optionally legacy mixnodes/gateways (if `no-legacy` flag is not used)",
"description": "that are currently bonded and are in the **active set**",
"operationId": "nodes_basic_active",
"parameters": [
{
"name": "semver_compatibility",
"in": "path",
"required": true,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "path",
"required": true,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/entry-gateways/active": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)",
"description": "that are currently bonded and are in the active set with the entry role.",
"operationId": "entry_gateways_basic_active",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/entry-gateways/all": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)",
"description": "that are currently bonded and support entry gateway role.",
"operationId": "entry_gateways_basic_all",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/exit-gateways/active": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)",
"description": "that are currently bonded and are in the active set with the exit role.",
"operationId": "exit_gateways_basic_active",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/exit-gateways/all": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Returns Nym Nodes and optionally legacy gateways (if `no-legacy` flag is not used)",
"description": "that are currently bonded and support exit gateway role.",
"operationId": "exit_gateways_basic_all",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/mixnodes/active": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Returns Nym Nodes and optionally legacy mixnodes (if `no-legacy` flag is not used)",
"description": "that are currently bonded and are in the active set with one of the mixing roles.",
"operationId": "mixnodes_basic_active",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
},
"/v1/unstable/nym-nodes/skimmed/mixnodes/all": {
"get": {
"tags": [
"Unstable Nym Nodes"
],
"summary": "Returns Nym Nodes and optionally legacy mixnodes (if `no-legacy` flag is not used)",
"description": "that are currently bonded and support mixing role.",
"operationId": "mixnodes_basic_all",
"parameters": [
{
"name": "semver_compatibility",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
},
{
"name": "no_legacy",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"nullable": true
}
},
{
"name": "page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
},
{
"name": "per_page",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PaginatedCachedNodesResponseSchema"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AggregatedCoinIndicesSignatureResponse": {
"type": "object",
"required": [
"epoch_id",
"signatures"
],
"properties": {
"epoch_id": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"signatures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AnnotatedCoinIndexSignature"
}
}
}
},
"AggregatedExpirationDateSignatureResponse": {
"type": "object",
"required": [
"epoch_id",
"expiration_date",
"signatures"
],
"properties": {
"epoch_id": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"expiration_date": {
"type": "string",
"example": "1970-01-01"
},
"signatures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AnnotatedExpirationDateSignature"
}
}
}
},
"AllInclusionProbabilitiesResponse": {
"type": "object",
"required": [
"inclusion_probabilities",
"samples",
"elapsed",
"delta_max",
"delta_l2",
"as_at"
],
"properties": {
"as_at": {
"type": "integer",
"format": "int64"
},
"delta_l2": {
"type": "number",
"format": "double"
},
"delta_max": {
"type": "number",
"format": "double"
},
"elapsed": {
"type": "string"
},
"inclusion_probabilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InclusionProbability"
}
},
"samples": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"deprecated": true
},
"AnnotatedCoinIndexSignature": {
"type": "object",
"required": [
"signature",
"index"
],
"properties": {
"index": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"signature": {
"$ref": "#/components/schemas/Signature"
}
}
},
"AnnotatedExpirationDateSignature": {
"type": "object",
"required": [
"signature",
"expiration_timestamp",
"spending_timestamp"
],
"properties": {
"expiration_timestamp": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"signature": {
"$ref": "#/components/schemas/Signature"
},
"spending_timestamp": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"AnnotationResponse": {
"type": "object",
"required": [
"node_id"
],
"properties": {
"annotation": {
"allOf": [
{
"$ref": "#/components/schemas/NodeAnnotation"
}
],
"nullable": true
},
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"ApiHealthResponse": {
"type": "object",
"required": [
"status",
"uptime"
],
"properties": {
"status": {
"$ref": "#/components/schemas/ApiStatus"
},
"uptime": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"ApiStatus": {
"type": "string",
"enum": [
"up"
]
},
"AuthenticatorDetails": {
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "address of the embedded authenticator"
}
}
},
"AuxiliaryDetails": {
"type": "object",
"description": "Auxiliary details of the associated Nym Node.",
"properties": {
"accepted_operator_terms_and_conditions": {
"type": "boolean",
"description": "Specifies whether this node operator has agreed to the terms and conditions\nas defined at <https://nymtech.net/terms-and-conditions/operators/v1.0.0>"
},
"announce_ports": {
"$ref": "#/components/schemas/AnnouncePorts"
},
"location": {
"type": "string",
"description": "Optional ISO 3166 alpha-2 two-letter country code of the node's **physical** location",
"example": "PL",
"nullable": true
}
}
},
"BasicEntryInformation": {
"type": "object",
"required": [
"ws_port"
],
"properties": {
"hostname": {
"type": "string",
"nullable": true
},
"ws_port": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"wss_port": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
},
"BatchRedeemTicketsBody": {
"type": "object",
"required": [
"digest",
"included_serial_numbers",
"proposal_id",
"gateway_cosmos_addr"
],
"properties": {
"digest": {
"type": "string",
"format": "binary"
},
"gateway_cosmos_addr": {
"type": "string"
},
"included_serial_numbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SerialNumberWrapper"
}
},
"proposal_id": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"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`."
}
}
},
"BlindSignRequestBody": {
"type": "object",
"required": [
"inner_sign_request",
"deposit_id",
"signature",
"ecash_pubkey",
"expiration_date",
"ticketbook_type"
],
"properties": {
"deposit_id": {
"type": "integer",
"format": "int32",
"description": "the id of the associated deposit",
"minimum": 0
},
"ecash_pubkey": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
},
"expiration_date": {
"type": "string",
"example": "1970-01-01"
},
"inner_sign_request": {
"$ref": "#/components/schemas/WithdrawalRequest"
},
"signature": {
"type": "string",
"description": "Signature on the inner sign request and the tx hash"
},
"ticketbook_type": {
"type": "string"
}
}
},
"BlindedSignature": {
"type": "object",
"required": [
"h",
"c"
],
"properties": {
"c": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
},
"h": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
}
}
},
"BlindedSignatureResponse": {
"type": "object",
"required": [
"blinded_signature"
],
"properties": {
"blinded_signature": {
"$ref": "#/components/schemas/BlindedSignature"
}
}
},
"ChainDetails": {
"type": "object",
"required": [
"bech32_account_prefix",
"mix_denom",
"stake_denom"
],
"properties": {
"bech32_account_prefix": {
"type": "string"
},
"mix_denom": {
"$ref": "#/components/schemas/DenomDetailsOwned"
},
"stake_denom": {
"$ref": "#/components/schemas/DenomDetailsOwned"
}
}
},
"CirculatingSupplyResponse": {
"type": "object",
"required": [
"total_supply",
"mixmining_reserve",
"vesting_tokens",
"circulating_supply"
],
"properties": {
"circulating_supply": {
"$ref": "#/components/schemas/CoinSchema"
},
"mixmining_reserve": {
"$ref": "#/components/schemas/CoinSchema"
},
"total_supply": {
"$ref": "#/components/schemas/CoinSchema"
},
"vesting_tokens": {
"$ref": "#/components/schemas/CoinSchema"
}
}
},
"CoinSchema": {
"type": "object",
"title": "Coin",
"required": [
"denom",
"amount"
],
"properties": {
"amount": {
"type": "string"
},
"denom": {
"type": "string"
}
}
},
"CommitedDeposit": {
"type": "object",
"required": [
"depositId",
"merkleIndex"
],
"properties": {
"depositId": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"merkleIndex": {
"type": "integer",
"minimum": 0
}
}
},
"ComputeRewardEstParam": {
"type": "object",
"required": [
"performance",
"interval_operating_cost",
"profit_margin_percent"
],
"properties": {
"active_in_rewarded_set": {
"type": "boolean",
"nullable": true
},
"interval_operating_cost": {
"$ref": "#/components/schemas/CoinSchema"
},
"performance": {
"type": "string"
},
"pledge_amount": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
},
"profit_margin_percent": {
"type": "string"
},
"total_delegation": {
"type": "integer",
"format": "int64",
"nullable": true,
"minimum": 0
}
}
},
"ConfigScore": {
"type": "object",
"required": [
"score",
"self_described_api_available",
"accepted_terms_and_conditions",
"runs_nym_node_binary"
],
"properties": {
"accepted_terms_and_conditions": {
"type": "boolean"
},
"runs_nym_node_binary": {
"type": "boolean"
},
"score": {
"type": "number",
"format": "double",
"description": "Total score after taking all the criteria into consideration"
},
"self_described_api_available": {
"type": "boolean"
},
"versions_behind": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
},
"ContractBuildInformation": {
"type": "object",
"required": [
"build_timestamp",
"build_version",
"commit_sha",
"commit_timestamp",
"commit_branch",
"rustc_version"
],
"properties": {
"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_debug": {
"type": "string",
"description": "Provides the cargo debug mode that was used for the build."
},
"cargo_opt_level": {
"type": "string",
"description": "Provides the opt value set by cargo during 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`."
},
"contract_name": {
"type": "string",
"description": "Provides the name of the binary, i.e. the content of `CARGO_PKG_NAME` environmental variable."
},
"rustc_version": {
"type": "string",
"description": "Provides the rustc version that was used for the build, for example `1.52.0-nightly`."
}
},
"additionalProperties": false
},
"ContractInformationBuildInformation": {
"type": "object",
"properties": {
"address": {
"type": "string",
"nullable": true
},
"details": {
"allOf": [
{
"$ref": "#/components/schemas/ContractBuildInformation"
}
],
"nullable": true
}
}
},
"ContractInformationContractVersion": {
"type": "object",
"properties": {
"address": {
"type": "string",
"nullable": true
},
"details": {
"allOf": [
{
"$ref": "#/components/schemas/ContractVersionSchemaResponse"
}
],
"nullable": true
}
}
},
"ContractVersionSchemaResponse": {
"type": "object",
"title": "ContractVersion",
"required": [
"contract",
"version"
],
"properties": {
"contract": {
"type": "string",
"description": "contract is the crate name of the implementing contract, eg. `crate:cw20-base`\nwe will use other prefixes for other languages, and their standard global namespacing"
},
"version": {
"type": "string",
"description": "version is any string that this implementation knows. It may be simple counter \"1\", \"2\".\nor semantic version on release tags \"v0.7.0\", or some custom feature flag list.\nthe only code that needs to understand the version parsing is code that knows how to\nmigrate from the given contract (and is tied to it's implementation somehow)"
}
}
},
"DateQuery": {
"type": "object",
"required": [
"date"
],
"properties": {
"date": {
"type": "string",
"example": "1970-01-01"
}
}
},
"DeclaredRoles": {
"type": "object",
"required": [
"mixnode",
"entry",
"exit_nr",
"exit_ipr"
],
"properties": {
"entry": {
"type": "boolean"
},
"exit_ipr": {
"type": "boolean"
},
"exit_nr": {
"type": "boolean"
},
"mixnode": {
"type": "boolean"
}
}
},
"DenomDetailsOwned": {
"type": "object",
"required": [
"base",
"display",
"display_exponent"
],
"properties": {
"base": {
"type": "string"
},
"display": {
"type": "string"
},
"display_exponent": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"DescribedNodeType": {
"type": "string",
"enum": [
"legacy_mixnode",
"legacy_gateway",
"nym_node"
]
},
"DetailedNodePerformance": {
"type": "object",
"required": [
"performance_score",
"routing_score",
"config_score"
],
"properties": {
"config_score": {
"$ref": "#/components/schemas/ConfigScore"
},
"performance_score": {
"type": "number",
"format": "double",
"description": "routing_score * config_score"
},
"routing_score": {
"$ref": "#/components/schemas/RoutingScore"
}
}
},
"DisplayRole": {
"type": "string",
"enum": [
"entryGateway",
"layer1",
"layer2",
"layer3",
"exitGateway",
"standby"
]
},
"EcashBatchTicketRedemptionResponse": {
"type": "object",
"required": [
"proposal_accepted"
],
"properties": {
"proposal_accepted": {
"type": "boolean"
}
}
},
"EcashTicketVerificationRejection": {
"oneOf": [
{
"type": "object",
"required": [
"InvalidSpentDate"
],
"properties": {
"InvalidSpentDate": {
"type": "object",
"required": [
"today",
"yesterday",
"received"
],
"properties": {
"received": {
"type": "string",
"example": "1970-01-01"
},
"today": {
"type": "string",
"example": "1970-01-01"
},
"yesterday": {
"type": "string",
"example": "1970-01-01"
}
}
}
}
},
{
"type": "string",
"enum": [
"ReplayedTicket"
]
},
{
"type": "string",
"enum": [
"DoubleSpend"
]
},
{
"type": "string",
"enum": [
"InvalidTicket"
]
},
{
"type": "string",
"enum": [
"MultipleTickets"
]
}
]
},
"EcashTicketVerificationResponse": {
"type": "object",
"required": [
"verified"
],
"properties": {
"verified": {
"$ref": "#/components/schemas/EcashTicketVerificationResult"
}
}
},
"EcashTicketVerificationResult": {
"oneOf": [
{
"type": "object",
"required": [
"Ok"
],
"properties": {
"Ok": {
"default": null,
"nullable": true
}
}
},
{
"type": "string",
"enum": [
"EcashTicketVerificationRejection"
]
}
],
"description": "Used exclusively as part of OpenAPI docs"
},
"ErrorResponse": {
"type": "object",
"title": "ErrorResponse",
"required": [
"message",
"status"
],
"properties": {
"message": {
"$ref": "#/components/schemas/RequestError"
},
"status": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"ExpirationDatePathParam": {
"type": "object",
"required": [
"expiration_date"
],
"properties": {
"expiration_date": {
"type": "string",
"example": "1970-01-01"
}
}
},
"FullFatNode": {
"type": "object",
"required": [
"expanded"
],
"properties": {
"expanded": {
"$ref": "#/components/schemas/SemiSkimmedNode"
},
"self_described": {
"allOf": [
{
"$ref": "#/components/schemas/NymNodeData"
}
],
"nullable": true
}
}
},
"G1ProjectiveSchema": {
"type": "object",
"title": "G1Projective",
"required": [
"x",
"y",
"z"
],
"properties": {
"x": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"y": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"z": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
}
},
"GatewayBondAnnotated": {
"type": "object",
"required": [
"gateway_bond",
"performance",
"node_performance",
"blacklisted"
],
"properties": {
"blacklisted": {
"type": "boolean"
},
"gateway_bond": {
"$ref": "#/components/schemas/LegacyGatewayBondWithId"
},
"ip_addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IpAddr"
}
},
"node_performance": {
"$ref": "#/components/schemas/NodePerformance"
},
"performance": {
"$ref": "#/components/schemas/Performance"
},
"self_described": {
"allOf": [
{
"$ref": "#/components/schemas/GatewayDescription"
}
],
"nullable": true
}
}
},
"GatewayCoreStatusResponse": {
"type": "object",
"required": [
"identity",
"count"
],
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"identity": {
"type": "string"
}
}
},
"GatewayStatusReportResponse": {
"type": "object",
"required": [
"identity",
"owner",
"most_recent",
"last_hour",
"last_day"
],
"properties": {
"identity": {
"type": "string"
},
"last_day": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"last_hour": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"most_recent": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"owner": {
"type": "string"
}
}
},
"GatewayUptimeHistoryResponse": {
"type": "object",
"required": [
"identity",
"owner",
"history"
],
"properties": {
"history": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OldHistoricalUptimeResponse"
}
},
"identity": {
"type": "string"
},
"owner": {
"type": "string"
}
}
},
"GatewayUptimeResponse": {
"type": "object",
"required": [
"identity",
"avg_uptime",
"node_performance"
],
"properties": {
"avg_uptime": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"identity": {
"type": "string"
},
"node_performance": {
"$ref": "#/components/schemas/NodePerformance"
}
}
},
"HistoricalPerformanceResponse": {
"type": "object",
"required": [
"date",
"performance"
],
"properties": {
"date": {
"type": "string",
"example": "1970-01-01"
},
"performance": {
"type": "number",
"format": "double"
}
}
},
"HistoricalUptimeResponse": {
"type": "object",
"required": [
"date",
"uptime"
],
"properties": {
"date": {
"type": "string",
"example": "1970-01-01"
},
"uptime": {
"$ref": "#/components/schemas/Uptime"
}
}
},
"HostInformation": {
"type": "object",
"required": [
"ip_address",
"keys"
],
"properties": {
"hostname": {
"type": "string",
"nullable": true
},
"ip_address": {
"type": "array",
"items": {
"type": "string"
}
},
"keys": {
"$ref": "#/components/schemas/HostKeys"
}
}
},
"HostKeys": {
"type": "object",
"required": [
"ed25519",
"x25519"
],
"properties": {
"ed25519": {
"type": "string"
},
"x25519": {
"type": "string"
},
"x25519_noise": {
"type": "string"
}
}
},
"InclusionProbability": {
"type": "object",
"required": [
"mix_id",
"in_active",
"in_reserve"
],
"properties": {
"in_active": {
"type": "number",
"format": "double"
},
"in_reserve": {
"type": "number",
"format": "double"
},
"mix_id": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"deprecated": true
},
"InclusionProbabilityResponse": {
"type": "object",
"required": [
"in_active",
"in_reserve"
],
"properties": {
"in_active": {
"$ref": "#/components/schemas/SelectionChance"
},
"in_reserve": {
"$ref": "#/components/schemas/SelectionChance"
}
},
"deprecated": true
},
"Interval": {
"type": "object",
"description": "Specification of a rewarding interval.",
"required": [
"id",
"epochs_in_interval",
"current_epoch_start",
"current_epoch_id",
"epoch_length",
"total_elapsed_epochs"
],
"properties": {
"current_epoch_id": {
"type": "integer",
"format": "int32",
"description": "Monotonously increasing id of the current epoch in this interval.",
"minimum": 0
},
"current_epoch_start": {
"type": "string",
"format": "date-time",
"description": "The timestamp indicating the start of the current rewarding epoch."
},
"epoch_length": {
"type": "string",
"description": "The duration of all epochs in this interval."
},
"epochs_in_interval": {
"type": "integer",
"format": "int32",
"description": "Number of epochs in this interval.",
"minimum": 0
},
"id": {
"type": "integer",
"format": "int32",
"description": "Monotonously increasing id of this interval.",
"minimum": 0
},
"total_elapsed_epochs": {
"type": "integer",
"format": "int32",
"description": "The total amount of elapsed epochs since the first epoch of the first interval.",
"minimum": 0
}
}
},
"IntervalRewardParams": {
"type": "object",
"description": "Parameters required by the mix-mining reward distribution that do not change during an interval.",
"required": [
"reward_pool",
"staking_supply",
"staking_supply_scale_factor",
"epoch_reward_budget",
"stake_saturation_point",
"sybil_resistance",
"active_set_work_factor",
"interval_pool_emission"
],
"properties": {
"active_set_work_factor": {
"type": "string",
"description": "Current active set work factor.\nIt is not really expected to be changing very often.\nAs a matter of fact, unless there's a very specific reason, it should remain constant."
},
"epoch_reward_budget": {
"type": "string",
"description": "Current value of the computed reward budget per epoch, per node.\nIt is expected to be constant throughout the interval."
},
"interval_pool_emission": {
"type": "string",
"description": "Current maximum interval pool emission.\nAssuming all nodes in the rewarded set are fully saturated and have 100% performance,\nthis % of the reward pool would get distributed in rewards to all operators and its delegators.\nIt is not really expected to be changing very often.\nAs a matter of fact, unless there's a very specific reason, it should remain constant."
},
"reward_pool": {
"type": "string",
"description": "Current value of the rewarding pool.\nIt is expected to be constant throughout the interval."
},
"stake_saturation_point": {
"type": "string",
"description": "Current value of the stake saturation point.\nIt is expected to be constant throughout the interval."
},
"staking_supply": {
"type": "string",
"description": "Current value of the staking supply.\nIt is expected to be constant throughout the interval."
},
"staking_supply_scale_factor": {
"type": "string",
"description": "Defines the percentage of stake needed to reach saturation for all of the nodes in the rewarded set.\nAlso known as `beta`."
},
"sybil_resistance": {
"type": "string",
"description": "Current value of the sybil resistance percent (`alpha`).\nIt is not really expected to be changing very often.\nAs a matter of fact, unless there's a very specific reason, it should remain constant."
}
},
"additionalProperties": false
},
"IpPacketRouterDetails": {
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "address of the embedded ip packet router"
}
}
},
"IssuedTicketbook": {
"type": "object",
"required": [
"depositId",
"epochId",
"blindedPartialCredential",
"joinedEncodedPrivateAttributesCommitments",
"expirationDate",
"ticketbookType"
],
"properties": {
"blindedPartialCredential": {
"type": "string",
"format": "binary"
},
"depositId": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"epochId": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"expirationDate": {
"type": "string"
},
"joinedEncodedPrivateAttributesCommitments": {
"type": "string",
"format": "binary"
},
"ticketbookType": {
"type": "string"
}
}
},
"IssuedTicketbooksChallengeRequest": {
"type": "object",
"required": [
"expirationDate",
"deposits"
],
"properties": {
"deposits": {
"type": "array",
"items": {
"type": "integer",
"format": "int32",
"minimum": 0
}
},
"expirationDate": {
"type": "string",
"example": "1970-01-01"
}
}
},
"IssuedTicketbooksChallengeResponse": {
"type": "object",
"required": [
"body",
"signature"
],
"properties": {
"body": {
"$ref": "#/components/schemas/IssuedTicketbooksChallengeResponseBody"
},
"signature": {
"type": "string"
}
}
},
"IssuedTicketbooksChallengeResponseBody": {
"type": "object",
"required": [
"expirationDate",
"partialTicketbooks",
"merkleProof"
],
"properties": {
"expirationDate": {
"type": "string",
"example": "1970-01-01"
},
"merkleProof": {
"$ref": "#/components/schemas/IssuedTicketbooksFullMerkleProof"
},
"partialTicketbooks": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/IssuedTicketbook"
}
}
}
},
"IssuedTicketbooksForResponse": {
"type": "object",
"required": [
"body",
"signature"
],
"properties": {
"body": {
"$ref": "#/components/schemas/IssuedTicketbooksForResponseBody"
},
"signature": {
"type": "string",
"description": "Signature on the body"
}
}
},
"IssuedTicketbooksForResponseBody": {
"type": "object",
"required": [
"expirationDate",
"deposits"
],
"properties": {
"deposits": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommitedDeposit"
}
},
"expirationDate": {
"type": "string",
"example": "1970-01-01"
},
"merkleRoot": {
"type": "string",
"format": "binary",
"nullable": true
}
}
},
"IssuedTicketbooksFullMerkleProof": {
"type": "object",
"required": [
"inner_proof",
"included_leaves",
"total_leaves",
"root"
],
"properties": {
"included_leaves": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MerkleLeaf"
}
},
"inner_proof": {
"type": "string"
},
"root": {
"type": "string",
"format": "binary"
},
"total_leaves": {
"type": "integer",
"minimum": 0
}
}
},
"LegacyDescribedGateway": {
"type": "object",
"required": [
"bond"
],
"properties": {
"bond": {
"$ref": "#/components/schemas/GatewayBond"
},
"self_described": {
"allOf": [
{
"$ref": "#/components/schemas/NymNodeData"
}
],
"nullable": true
}
}
},
"LegacyDescribedMixNode": {
"type": "object",
"required": [
"bond"
],
"properties": {
"bond": {
"$ref": "#/components/schemas/LegacyMixNodeBondWithLayer"
},
"self_described": {
"allOf": [
{
"$ref": "#/components/schemas/NymNodeData"
}
],
"nullable": true
}
}
},
"LegacyGatewayBondWithId": {
"allOf": [
{
"$ref": "#/components/schemas/GatewayBond"
},
{
"type": "object",
"required": [
"node_id"
],
"properties": {
"node_id": {
"$ref": "#/components/schemas/NodeId"
}
}
}
]
},
"LegacyMixNodeBondWithLayer": {
"allOf": [
{
"$ref": "#/components/schemas/MixNodeBond"
},
{
"type": "object",
"required": [
"layer"
],
"properties": {
"layer": {
"$ref": "#/components/schemas/LegacyMixLayer"
}
}
}
]
},
"LegacyMixNodeDetailsWithLayerSchema": {
"type": "object",
"title": "LegacyMixNodeDetailsWithLayer",
"required": [
"bond_information",
"rewarding_details",
"pending_changes"
],
"properties": {
"bond_information": {
"type": "string",
"description": "Basic bond information of this mixnode, such as owner address, original pledge, etc.",
"example": "unimplemented schema"
},
"pending_changes": {
"type": "string",
"description": "Adjustments to the mixnode that are ought to happen during future epoch transitions.",
"example": "unimplemented schema"
},
"rewarding_details": {
"type": "string",
"description": "Details used for computation of rewarding related data.",
"example": "unimplemented schema"
}
}
},
"MasterVerificationKeyResponse": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"$ref": "#/components/schemas/VerificationKeyAuth"
}
}
},
"MerkleLeaf": {
"type": "object",
"required": [
"hash",
"index"
],
"properties": {
"hash": {
"type": "string",
"format": "binary"
},
"index": {
"type": "integer",
"minimum": 0
}
}
},
"MixNodeBondAnnotated": {
"type": "object",
"required": [
"mixnode_details",
"stake_saturation",
"uncapped_stake_saturation",
"performance",
"node_performance",
"estimated_operator_apy",
"estimated_delegators_apy",
"blacklisted"
],
"properties": {
"blacklisted": {
"type": "boolean"
},
"estimated_delegators_apy": {
"$ref": "#/components/schemas/Decimal"
},
"estimated_operator_apy": {
"$ref": "#/components/schemas/Decimal"
},
"ip_addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IpAddr"
}
},
"mixnode_details": {
"$ref": "#/components/schemas/LegacyMixNodeDetailsWithLayerSchema"
},
"node_performance": {
"$ref": "#/components/schemas/NodePerformance"
},
"performance": {
"type": "string"
},
"stake_saturation": {
"type": "string"
},
"uncapped_stake_saturation": {
"type": "string"
}
}
},
"MixnodeCoreStatusResponse": {
"type": "object",
"required": [
"mix_id",
"count"
],
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"mix_id": {
"$ref": "#/components/schemas/NodeId"
}
}
},
"MixnodeStatusReport": {
"type": "object",
"required": [
"mix_id",
"identity",
"most_recent",
"last_hour",
"last_day"
],
"properties": {
"identity": {
"type": "string"
},
"last_day": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"last_hour": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"mix_id": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"most_recent": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"MixnodeStatusReportResponse": {
"type": "object",
"required": [
"mix_id",
"identity",
"owner",
"most_recent",
"last_hour",
"last_day"
],
"properties": {
"identity": {
"$ref": "#/components/schemas/IdentityKey"
},
"last_day": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"last_hour": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"mix_id": {
"$ref": "#/components/schemas/NodeId"
},
"most_recent": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"owner": {
"type": "string"
}
}
},
"MixnodeStatusResponse": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"$ref": "#/components/schemas/MixnodeStatus"
}
}
},
"MixnodeUptimeHistoryResponse": {
"type": "object",
"required": [
"mix_id",
"identity",
"owner",
"history"
],
"properties": {
"history": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OldHistoricalUptimeResponse"
}
},
"identity": {
"type": "string"
},
"mix_id": {
"$ref": "#/components/schemas/NodeId"
},
"owner": {
"type": "string"
}
}
},
"NetworkDetails": {
"type": "object",
"required": [
"connected_nyxd",
"network"
],
"properties": {
"connected_nyxd": {
"type": "string"
},
"network": {
"$ref": "#/components/schemas/NymNetworkDetails"
}
}
},
"NetworkRequesterDetails": {
"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"
}
}
},
"NodeAnnotation": {
"type": "object",
"required": [
"last_24h_performance",
"detailed_performance"
],
"properties": {
"current_role": {
"allOf": [
{
"$ref": "#/components/schemas/DisplayRole"
}
],
"nullable": true
},
"detailed_performance": {
"$ref": "#/components/schemas/DetailedNodePerformance"
},
"last_24h_performance": {
"type": "string"
}
}
},
"NodeDatePerformanceResponse": {
"type": "object",
"required": [
"node_id",
"date"
],
"properties": {
"date": {
"type": "string",
"example": "1970-01-01"
},
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"performance": {
"type": "number",
"format": "double",
"nullable": true
}
}
},
"NodeId": {
"type": "object",
"title": "NodeId",
"required": [
"node_id"
],
"properties": {
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"NodePerformance": {
"type": "object",
"required": [
"most_recent",
"last_hour",
"last_24h"
],
"properties": {
"last_24h": {
"type": "string"
},
"last_hour": {
"type": "string"
},
"most_recent": {
"type": "string"
}
}
},
"NodePerformanceResponse": {
"type": "object",
"required": [
"node_id"
],
"properties": {
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"performance": {
"type": "number",
"format": "double",
"nullable": true
}
}
},
"NodeRefreshBody": {
"type": "object",
"required": [
"node_identity",
"request_timestamp",
"signature"
],
"properties": {
"node_identity": {
"type": "string"
},
"request_timestamp": {
"type": "integer",
"format": "int64"
},
"signature": {
"type": "string"
}
}
},
"NodeRole": {
"oneOf": [
{
"type": "object",
"required": [
"Mixnode"
],
"properties": {
"Mixnode": {
"type": "object",
"required": [
"layer"
],
"properties": {
"layer": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
}
},
{
"type": "string",
"enum": [
"EntryGateway"
]
},
{
"type": "string",
"enum": [
"ExitGateway"
]
},
{
"type": "string",
"enum": [
"Standby"
]
},
{
"type": "string",
"enum": [
"Inactive"
]
}
]
},
"NodeRoleQueryParam": {
"type": "string",
"enum": [
"active-mixnode",
"entry-gateway",
"exit-gateway"
]
},
"NoiseDetails": {
"type": "object",
"required": [
"x25119_pubkey",
"mixnet_port",
"ip_addresses"
],
"properties": {
"ip_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"mixnet_port": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"x25119_pubkey": {
"type": "string"
}
}
},
"NymContracts": {
"type": "object",
"properties": {
"coconut_dkg_contract_address": {
"type": "string",
"nullable": true
},
"ecash_contract_address": {
"type": "string",
"nullable": true
},
"group_contract_address": {
"type": "string",
"nullable": true
},
"mixnet_contract_address": {
"type": "string",
"nullable": true
},
"multisig_contract_address": {
"type": "string",
"nullable": true
},
"vesting_contract_address": {
"type": "string",
"nullable": true
}
}
},
"NymNetworkDetails": {
"type": "object",
"required": [
"network_name",
"chain_details",
"endpoints",
"contracts"
],
"properties": {
"chain_details": {
"$ref": "#/components/schemas/ChainDetails"
},
"contracts": {
"$ref": "#/components/schemas/NymContracts"
},
"endpoints": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidatorDetails"
}
},
"explorer_api": {
"type": "string",
"nullable": true
},
"network_name": {
"type": "string"
},
"nym_vpn_api_url": {
"type": "string",
"nullable": true
}
}
},
"NymNodeData": {
"type": "object",
"required": [
"host_information",
"build_information",
"mixnet_websockets"
],
"properties": {
"authenticator": {
"allOf": [
{
"$ref": "#/components/schemas/AuthenticatorDetails"
}
],
"nullable": true
},
"auxiliary_details": {
"$ref": "#/components/schemas/AuxiliaryDetails"
},
"build_information": {
"$ref": "#/components/schemas/BinaryBuildInformationOwned"
},
"declared_role": {
"$ref": "#/components/schemas/DeclaredRoles"
},
"host_information": {
"$ref": "#/components/schemas/HostInformation"
},
"ip_packet_router": {
"allOf": [
{
"$ref": "#/components/schemas/IpPacketRouterDetails"
}
],
"nullable": true
},
"last_polled": {
"$ref": "#/components/schemas/OffsetDateTimeJsonSchemaWrapper"
},
"mixnet_websockets": {
"$ref": "#/components/schemas/WebSockets"
},
"network_requester": {
"allOf": [
{
"$ref": "#/components/schemas/NetworkRequesterDetails"
}
],
"nullable": true
},
"wireguard": {
"allOf": [
{
"$ref": "#/components/schemas/WireguardDetails"
}
],
"nullable": true
}
}
},
"NymNodeDescription": {
"type": "object",
"required": [
"node_id",
"contract_node_type",
"description"
],
"properties": {
"contract_node_type": {
"$ref": "#/components/schemas/DescribedNodeType"
},
"description": {
"$ref": "#/components/schemas/NymNodeData"
},
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"OffsetDateTimeJsonSchemaWrapper": {
"type": "string",
"format": "date-time"
},
"OldHistoricalUptimeResponse": {
"type": "object",
"required": [
"date",
"uptime"
],
"properties": {
"date": {
"type": "string"
},
"uptime": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"PaginatedCachedNodesResponseSchema": {
"type": "object",
"title": "PaginatedCachedNodesResponse",
"required": [
"refreshed_at",
"nodes"
],
"properties": {
"nodes": {
"$ref": "#/components/schemas/SkimmedNode"
},
"refreshed_at": {
"$ref": "#/components/schemas/OffsetDateTimeJsonSchemaWrapper"
}
}
},
"Pagination": {
"type": "object",
"required": [
"total",
"page",
"size"
],
"properties": {
"page": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"size": {
"type": "integer",
"minimum": 0
},
"total": {
"type": "integer",
"minimum": 0
}
}
},
"PaginationRequest": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
},
"per_page": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
},
"PartialCoinIndicesSignatureResponse": {
"type": "object",
"required": [
"epoch_id",
"signatures"
],
"properties": {
"epoch_id": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"signatures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AnnotatedCoinIndexSignature"
}
}
}
},
"PartialExpirationDateSignatureResponse": {
"type": "object",
"required": [
"epoch_id",
"expiration_date",
"signatures"
],
"properties": {
"epoch_id": {
"type": "integer",
"format": "int64",
"minimum": 0
},
"expiration_date": {
"type": "string",
"example": "1970-01-01"
},
"signatures": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AnnotatedExpirationDateSignature"
}
}
}
},
"PartialTestResult": {
"type": "object",
"required": [
"monitor_run_id",
"timestamp",
"test_routes"
],
"properties": {
"monitor_run_id": {
"type": "integer",
"format": "int64"
},
"overall_reliability_for_all_routes_in_monitor_run": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
},
"test_routes": {
"$ref": "#/components/schemas/TestRoute"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
}
},
"PerformanceHistoryResponse": {
"type": "object",
"required": [
"node_id",
"history"
],
"properties": {
"history": {
"$ref": "#/components/schemas/PaginatedResponse"
},
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"RequestError": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
}
}
},
"RewardEstimationResponse": {
"type": "object",
"required": [
"estimation",
"reward_params",
"epoch",
"as_at"
],
"properties": {
"as_at": {
"type": "integer",
"format": "int64"
},
"epoch": {
"$ref": "#/components/schemas/Interval"
},
"estimation": {
"$ref": "#/components/schemas/RewardEstimate"
},
"reward_params": {
"$ref": "#/components/schemas/RewardingParams"
}
}
},
"RewardedSetParams": {
"type": "object",
"required": [
"entry_gateways",
"exit_gateways",
"mixnodes",
"standby"
],
"properties": {
"entry_gateways": {
"type": "integer",
"format": "int32",
"description": "The expected number of nodes assigned entry gateway role (i.e. [`Role::EntryGateway`])",
"minimum": 0
},
"exit_gateways": {
"type": "integer",
"format": "int32",
"description": "The expected number of nodes assigned exit gateway role (i.e. [`Role::ExitGateway`])",
"minimum": 0
},
"mixnodes": {
"type": "integer",
"format": "int32",
"description": "The expected number of nodes assigned the 'mixnode' role, i.e. total of [`Role::Layer1`], [`Role::Layer2`] and [`Role::Layer3`].",
"minimum": 0
},
"standby": {
"type": "integer",
"format": "int32",
"description": "Number of nodes in the 'standby' set. (i.e. [`Role::Standby`])",
"minimum": 0
}
},
"additionalProperties": false
},
"RewardingParams": {
"type": "object",
"description": "Parameters used for reward calculation.",
"required": [
"interval",
"rewarded_set"
],
"properties": {
"interval": {
"$ref": "#/components/schemas/IntervalRewardParams"
},
"rewarded_set": {
"$ref": "#/components/schemas/RewardedSetParams"
}
},
"additionalProperties": false
},
"RoutingScore": {
"type": "object",
"required": [
"score"
],
"properties": {
"score": {
"type": "number",
"format": "double",
"description": "Total score after taking all the criteria into consideration"
}
}
},
"SelectionChance": {
"type": "string",
"enum": [
"High",
"Good",
"Low"
],
"deprecated": true
},
"SemiSkimmedNode": {
"type": "object",
"required": [
"basic",
"x25519_noise_pubkey"
],
"properties": {
"basic": {
"$ref": "#/components/schemas/SkimmedNode"
},
"x25519_noise_pubkey": {
"type": "string"
}
}
},
"SerialNumberWrapper": {
"type": "string",
"format": "binary"
},
"Signature": {
"type": "object",
"required": [
"h",
"s"
],
"properties": {
"h": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
},
"s": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
}
}
},
"SignerInformationResponse": {
"type": "object",
"required": [
"cosmos_address",
"identity",
"announce_address"
],
"properties": {
"announce_address": {
"type": "string"
},
"cosmos_address": {
"type": "string"
},
"identity": {
"type": "string"
},
"verification_key": {
"type": "string",
"nullable": true
}
}
},
"SkimmedNode": {
"type": "object",
"required": [
"node_id",
"ed25519_identity_pubkey",
"ip_addresses",
"mix_port",
"x25519_sphinx_pubkey",
"role",
"performance"
],
"properties": {
"ed25519_identity_pubkey": {
"$ref": "#/components/schemas/ed25519.PublicKey"
},
"entry": {
"allOf": [
{
"$ref": "#/components/schemas/BasicEntryInformation"
}
],
"nullable": true
},
"ip_addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"mix_port": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"performance": {
"type": "string",
"description": "Average node performance in last 24h period"
},
"role": {
"$ref": "#/components/schemas/NodeRole"
},
"supported_roles": {
"$ref": "#/components/schemas/DeclaredRoles"
},
"x25519_sphinx_pubkey": {
"$ref": "#/components/schemas/x25519.PublicKey"
}
}
},
"SpentCredentialsResponse": {
"type": "object",
"required": [
"bitmap"
],
"properties": {
"bitmap": {
"type": "string"
}
}
},
"StakeSaturationResponse": {
"type": "object",
"required": [
"saturation",
"uncapped_saturation",
"as_at"
],
"properties": {
"as_at": {
"type": "integer",
"format": "int64"
},
"saturation": {
"type": "string"
},
"uncapped_saturation": {
"type": "string"
}
}
},
"UptimeHistoryResponse": {
"type": "object",
"required": [
"node_id",
"history"
],
"properties": {
"history": {
"$ref": "#/components/schemas/PaginatedResponse"
},
"node_id": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
},
"UptimeResponse": {
"type": "object",
"required": [
"mix_id",
"avg_uptime",
"node_performance"
],
"properties": {
"avg_uptime": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"mix_id": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"node_performance": {
"$ref": "#/components/schemas/NodePerformance"
}
}
},
"ValidatorDetails": {
"type": "object",
"required": [
"nyxd_url"
],
"properties": {
"api_url": {
"type": "string",
"nullable": true
},
"nyxd_url": {
"type": "string"
},
"websocket_url": {
"type": "string",
"nullable": true
}
}
},
"VerificationKeyAuth": {
"type": "object",
"required": [
"alpha",
"beta_g1",
"beta_g2"
],
"properties": {
"alpha": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
},
"beta_g1": {
"type": "array",
"items": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
}
},
"beta_g2": {
"type": "array",
"items": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
}
}
}
},
"VerificationKeyResponse": {
"type": "object",
"required": [
"key"
],
"properties": {
"key": {
"$ref": "#/components/schemas/VerificationKeyAuth"
}
}
},
"VerifyEcashCredentialBody": {
"type": "object",
"required": [
"credential",
"gateway_cosmos_addr",
"proposal_id"
],
"properties": {
"credential": {
"$ref": "#/components/schemas/CredentialSpendingData"
},
"gateway_cosmos_addr": {
"type": "string",
"description": "Cosmos address of the sender of the credential"
},
"proposal_id": {
"type": "integer",
"format": "int64",
"description": "Multisig proposal for releasing funds for the provided bandwidth credential",
"minimum": 0
}
}
},
"VerifyEcashTicketBody": {
"type": "object",
"required": [
"credential",
"gateway_cosmos_addr"
],
"properties": {
"credential": {
"type": "string",
"description": "The cryptographic material required for spending the underlying credential."
},
"gateway_cosmos_addr": {
"type": "string",
"description": "Cosmos address of the sender of the credential"
}
}
},
"WebSockets": {
"type": "object",
"required": [
"ws_port"
],
"properties": {
"ws_port": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"wss_port": {
"type": "integer",
"format": "int32",
"nullable": true,
"minimum": 0
}
}
},
"WireguardDetails": {
"type": "object",
"required": [
"port",
"public_key"
],
"properties": {
"port": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"public_key": {
"type": "string"
}
}
},
"WithdrawalReqProof": {
"type": "object",
"required": [
"challenge",
"response_opening",
"response_openings",
"response_attributes"
],
"properties": {
"challenge": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"response_attributes": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"response_opening": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
},
"response_openings": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "integer",
"format": "int64",
"minimum": 0
}
}
}
}
},
"WithdrawalRequest": {
"type": "object",
"description": "Represents a withdrawal request generate by the client who wants to obtain a zk-nym credential.\n\nThis struct encapsulates the necessary components for a withdrawal request, including the joined commitment hash, the joined commitment,\nindividual Pedersen commitments for private attributes, and a zero-knowledge proof for the withdrawal request.\n\n# Fields\n\n* `joined_commitment_hash` - The joined commitment hash represented as a G1Projective element.\n* `joined_commitment` - The joined commitment represented as a G1Projective element.\n* `private_attributes_commitments` - A vector of individual Pedersen commitments for private attributes represented as G1Projective elements.\n* `zk_proof` - The zero-knowledge proof for the withdrawal request.\n\n# Derives\n\nThe struct derives `Debug` and `PartialEq` to provide debug output and basic comparison functionality.\n",
"required": [
"joined_commitment_hash",
"joined_commitment",
"private_attributes_commitments",
"zk_proof"
],
"properties": {
"joined_commitment": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
},
"joined_commitment_hash": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
},
"private_attributes_commitments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/G1ProjectiveSchema"
}
},
"zk_proof": {
"$ref": "#/components/schemas/WithdrawalReqProof"
}
}
}
},
"responses": {
"AxumErrorResponse": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message",
"status"
],
"properties": {
"message": {
"$ref": "#/components/schemas/RequestError"
},
"status": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
}
}
},
"CirculatingSupplyResponse": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"total_supply",
"mixmining_reserve",
"vesting_tokens",
"circulating_supply"
],
"properties": {
"circulating_supply": {
"$ref": "#/components/schemas/CoinSchema"
},
"mixmining_reserve": {
"$ref": "#/components/schemas/CoinSchema"
},
"total_supply": {
"$ref": "#/components/schemas/CoinSchema"
},
"vesting_tokens": {
"$ref": "#/components/schemas/CoinSchema"
}
}
}
}
}
},
"RequestError": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
}
},
"tags": []
}