{
  "swagger": "2.0",
  "info": {
    "title": "stateservice.proto",
    "version": "version not set"
  },
  "tags": [
    {
      "name": "State"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/v1/state": {
      "get": {
        "summary": "GetState returns the current wallet state without streaming further\nchanges.",
        "operationId": "State_GetState",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/lnrpcGetStateResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "tags": [
          "State"
        ]
      }
    },
    "/v1/state/subscribe": {
      "get": {
        "summary": "SubscribeState subscribes to the state of the wallet. The current wallet\nstate will always be delivered immediately.",
        "operationId": "State_SubscribeState",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/lnrpcSubscribeStateResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of lnrpcSubscribeStateResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "tags": [
          "State"
        ]
      }
    }
  },
  "definitions": {
    "lnrpcGetStateResponse": {
      "type": "object",
      "properties": {
        "state": {
          "$ref": "#/definitions/lnrpcWalletState"
        }
      }
    },
    "lnrpcSubscribeStateResponse": {
      "type": "object",
      "properties": {
        "state": {
          "$ref": "#/definitions/lnrpcWalletState"
        }
      }
    },
    "lnrpcWalletState": {
      "type": "string",
      "enum": [
        "NON_EXISTING",
        "LOCKED",
        "UNLOCKED",
        "RPC_ACTIVE",
        "SERVER_ACTIVE",
        "WAITING_TO_START"
      ],
      "default": "NON_EXISTING",
      "description": " - NON_EXISTING: NON_EXISTING means that the wallet has not yet been initialized.\n - LOCKED: LOCKED means that the wallet is locked and requires a password to unlock.\n - UNLOCKED: UNLOCKED means that the wallet was unlocked successfully, but RPC server\nisn't ready.\n - RPC_ACTIVE: RPC_ACTIVE means that the lnd server is active but not fully ready for\ncalls.\n - SERVER_ACTIVE: SERVER_ACTIVE means that the lnd server is ready to accept calls.\n - WAITING_TO_START: WAITING_TO_START means that node is waiting to become the leader in a\ncluster and is not started yet."
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "type_url": {
          "type": "string"
        },
        "value": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "rpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    }
  }
}
