btcpayserver/BTCPayServer/wwwroot/swagger/v1/swagger.template.serverinfo.json
2023-05-26 23:49:32 +09:00

180 lines
6.8 KiB
JSON

{
"paths": {
"/api/v1/server/info": {
"get": {
"tags": [
"ServerInfo"
],
"summary": "Get server info",
"description": "Information about the server, chains and sync states",
"operationId": "ServerInfo_GetServerInfo",
"responses": {
"200": {
"description": "Server information",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApplicationServerInfoData"
}
}
}
},
"401": {
"description": "Missing authorization",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"default": {
"description": "Unexpected error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
},
"security": [
{
"API_Key": [],
"Basic": []
}
]
}
},
"/api/v1/server/roles": {
"get": {
"tags": [
"ServerInfo"
],
"summary": "Get store's roles",
"description": "View information about the store's roles at the server's scope",
"operationId": "Server_GetStoreRoles",
"responses": {
"200": {
"description": "The user roles available at the server's scope",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RoleData"
}
}
}
},
"403": {
"description": "If you are authenticated but forbidden to get the store's roles"
},
"404": {
"description": "Store not found"
}
},
"security": [
{
"API_Key": [
"btcpay.server.canmodifyserversettings"
],
"Basic": []
}
]
}
}
},
"components": {
"schemas": {
"ApplicationServerInfoData": {
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "BTCPay Server version"
},
"onion": {
"type": "string",
"description": "The Tor hostname"
},
"supportedPaymentMethods": {
"type": "array",
"description": "The payment methods this server supports",
"items": {
"type": "string"
}
},
"fullySynched": {
"type": "boolean",
"description": "True if the instance is fully synchronized, according to NBXplorer"
},
"syncStatus": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ApplicationServerInfoSyncStatusData"
}
}
}
},
"ApplicationServerInfoNodeStatusData": {
"type": "object",
"nullable": true,
"description": "Detailed sync status of the internal full node",
"properties": {
"headers": {
"type": "integer",
"description": "The height of the chain of header of the internal full node"
},
"blocks": {
"type": "integer",
"description": "The height of the latest validated block of the internal full node"
},
"verificationProgress": {
"type": "number",
"format": "double",
"minimum": 0.0,
"maximum": 1.0,
"description": "The current synchronization progress"
}
}
},
"ApplicationServerInfoSyncStatusData": {
"type": "object",
"description": "Detailed sync status",
"properties": {
"cryptoCode": {
"type": "string",
"description": "The CryptoCode of the crypto currency (eg. BTC)",
"example": "BTC"
},
"nodeInformation": {
"$ref": "#/components/schemas/ApplicationServerInfoNodeStatusData"
},
"chainHeight": {
"type": "integer",
"description": "The height of the chain of header of the internal indexer"
},
"syncHeight": {
"type": "number",
"format": "integer",
"nullable": true,
"description": "The height of the latest indexed block of the internal indexer"
},
"available": {
"type": "boolean",
"description": "True if the full node and the indexer are fully synchronized",
"nullable": false
}
}
}
}
},
"tags": [
{
"name": "ServerInfo",
"description": "Server Info operations"
}
]
}