{
  "$schema": "../rpc-schema-draft.json",
  "type": "object",
  "rpc": "ping",
  "title": "Command to check if a node is up.",
  "description": [
    "The **ping** command checks if the node with *id* is ready to talk. It currently only works for peers we have a channel with."
  ],
  "request": {
    "required": [
      "id"
    ],
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "pubkey",
        "description": [
          "The pubkey of the node to ping."
        ]
      },
      "len": {
        "type": "u16",
        "description": [
          "The length of the ping."
        ],
        "default": "128"
      },
      "pongbytes": {
        "type": "u16",
        "description": [
          "The length of the reply. A value of 65532 to 65535 means `don't reply`."
        ],
        "default": "128"
      }
    }
  },
  "response": {
    "required": [
      "totlen"
    ],
    "additionalProperties": false,
    "properties": {
      "totlen": {
        "type": "u16",
        "description": [
          "The answer length of the reply message (including header: 0 means no reply expected)."
        ]
      }
    }
  },
  "errors": [
    "On failure, one of the following error codes may be returned:",
    "",
    "- -32602: Error in given parameters or we're already waiting for a ping response from peer."
  ],
  "author": [
    "Vincenzo Palazzo [vincenzo.palazzo@protonmail.com](mailto:vincenzo.palazzo@protonmail.com) wrote the initial version of this man page,",
    "but many others did the hard work of actually implementing this rpc command."
  ],
  "see_also": [
    "lightning-connect(7)"
  ],
  "resources": [
    "Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)"
  ],
  "examples": [
    {
      "request": {
        "id": "example:ping#1",
        "method": "ping",
        "params": {
          "id": "nodeid010101010101010101010101010101010101010101010101010101010101",
          "len": 128,
          "pongbytes": 128
        }
      },
      "response": {
        "totlen": 132
      }
    },
    {
      "request": {
        "id": "example:ping#2",
        "method": "ping",
        "params": {
          "id": "nodeid030303030303030303030303030303030303030303030303030303030303",
          "len": 1000,
          "pongbytes": 65535
        }
      },
      "response": {
        "totlen": 0
      }
    }
  ]
}
