core-lightning/doc/schemas/lightning-disableinvoicerequest.json
Rusty Russell b327bd30c3 doc: fix all JSON schemas to enforce no additional properties.
Without this, we have hardly any enforcement.  This is why the schema
mistake fixed in the previous patches weren't spotted immediately.

The hard work was done by:

```
$ for f in lightning-*.json; do grep -v '^  "additionalProperties": false,' $f | bagto $f; done
$ for f in lightning-*.json; do sed 's/"properties": {/"additionalProperties": false, "properties": {/' $f | bagto $f; done
$ make fmt-schemas
```

Then checking where 'additionalProperties: true' had been turned to
false (we deliberately use it in some places where there are if
statements in the schema, or occasionally where there can be arbitrary
fields).

[Including doc/rpc-schema-draft.json update by Shahana]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-10-30 15:39:12 +10:30

110 lines
3.2 KiB
JSON

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"added": "v22.11",
"rpc": "disableinvoicerequest",
"title": "Command for removing an invoice request",
"warning": "experimental-offers only",
"description": [
"The **disableinvoicerequest** RPC command disables an invoice_request, so that no further invoices will be accepted (and thus, no further payments made)..",
"",
"We currently don't support deletion of invoice_requests, so they are not forgotten entirely (there may be payments which refer to this invoice_request)."
],
"request": {
"required": [
"invreq_id"
],
"additionalProperties": false,
"properties": {
"invreq_id": {
"type": "string",
"description": [
"A specific invoice can be disabled by providing the `invreq_id`, which is presented by lightning-invoicerequest(7)."
]
}
}
},
"response": {
"required": [
"invreq_id",
"single_use",
"active",
"bolt12",
"used"
],
"additionalProperties": false,
"properties": {
"invreq_id": {
"type": "hash",
"description": [
"The SHA256 hash of all invoice_request fields less than 160."
]
},
"active": {
"type": "boolean",
"enum": [
false
],
"description": [
"Whether the invoice_request is currently active."
]
},
"single_use": {
"type": "boolean",
"description": [
"Whether the invoice_request will become inactive after we pay an invoice for it."
]
},
"bolt12": {
"type": "string",
"description": [
"The bolt12 string starting with lnr."
]
},
"used": {
"type": "boolean",
"description": [
"Whether the invoice_request has already been used."
]
},
"label": {
"type": "string",
"description": [
"The label provided when creating the invoice_request."
]
}
},
"pre_return_value_notes": [
"Note: the returned object is the same format as **listinvoicerequests**."
]
},
"author": [
"Rusty Russell <<rusty@rustcorp.com.au>> is mainly responsible."
],
"see_also": [
"lightning-invoicerequest(7)",
"lightning-listinvoicerequests(7)"
],
"resources": [
"Main web site: <https://github.com/ElementsProject/lightning>"
],
"examples": [
{
"request": {
"id": "example:disableinvoicerequest#1",
"method": "disableinvoicerequest",
"params": {
"invreq_id": "a621a0e8e8ea9aa97fd47ab9b140e413be7f4ea45377617e693eb7afe5a3dbf9"
}
},
"response": {
"invreq_id": "a621a0e8e8ea9aa97fd47ab9b140e413be7f4ea45377617e693eb7afe5a3dbf9",
"active": false,
"single_use": true,
"bolt12": "lnr1qqgx5t5hcw5ru9fgkhgxj4thjq4ugzsk2fjhzat9wd6xjmn8ypnx7u3qd9h8vmmfvdj3yyrrd35kw6r5de5kueeqwd6x7un92qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6jqwvfdqzcyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgpvamrunx5t6vdaeu7nmmlh5u6f0dnscasy2alyxq79f5wnc043gxrzyqt640dmuj7c94644j5ae6wfse7tsejwqnmc575ly9t38h4hf",
"used": false
}
}
]
}