{
  "$schema": "../rpc-schema-draft.json",
  "type": "object",
  "rpc": "check",
  "title": "Command for verifying parameters",
  "description": [
    "The **check** RPC command verifies another command without actually making any changes.",
    "",
    "This is guaranteed to be safe, and will do all checks up to the point where something in the system would need to be altered (such as checking that channels are in the right state, peers connected, etc).",
    "",
    "It does not guarantee successful execution of the command in all cases. For example, a call to lightning-getroute(7) may still fail to find a route even if checking the parameters succeeds."
  ],
  "request": {
    "required": [
      "command_to_check"
    ],
    "additionalProperties": true,
    "properties": {
      "command_to_check": {
        "type": "string",
        "description": [
          "Name of the relevant command."
        ]
      }
    }
  },
  "response": {
    "additionalProperties": false,
    "properties": {
      "command_to_check": {
        "type": "string",
        "description": [
          "The *command_to_check* argument."
        ]
      }
    },
    "required": [
      "command_to_check"
    ]
  },
  "author": [
    "Mark Beckwith [wythe@intrig.com](mailto:wythe@intrig.com) and Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) are mainly responsible."
  ],
  "resources": [
    "Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)"
  ],
  "examples": [
    {
      "request": {
        "id": "example:check#1",
        "method": "check",
        "params": {
          "command_to_check": "sendpay",
          "route": [
            {
              "amount_msat": 1011,
              "id": "nodeid030303030303030303030303030303030303030303030303030303030303",
              "delay": 20,
              "channel": "123x1x1"
            },
            {
              "amount_msat": 1000,
              "id": "nodeid040404040404040404040404040404040404040404040404040404040404",
              "delay": 10,
              "channel": "130x1x1"
            }
          ],
          "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000"
        }
      },
      "response": {
        "command_to_check": "sendpay"
      }
    },
    {
      "request": {
        "id": "example:check#2",
        "method": "check",
        "params": {
          "command_to_check": "dev",
          "subcommand": "slowcmd",
          "msec": 1000
        }
      },
      "response": {
        "command_to_check": "dev"
      }
    },
    {
      "request": {
        "id": "example:check#3",
        "method": "check",
        "params": {
          "command_to_check": "recover",
          "hsmsecret": "6c696768746e696e672d31000000000000000000000000000000000000000000"
        }
      },
      "response": {
        "command_to_check": "recover"
      }
    }
  ]
}
