{ "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 " }, "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": [] }