"title":"Ask the HSM to preapprove an invoice (low-level)",
"description":[
"The **preapproveinvoice** RPC command submits the *bolt11* invoice to the HSM to check that it is approved for payment.",
"",
"Generally the **preapproveinvoice** request does not need to be made explicitly, it is automatically generated as part of a **pay** request.",
"",
"By default, the HSM will approve all **preapproveinvoice** requests.",
"",
"If a remote signer is being used it might decline an **preapproveinvoice** request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.",
"",
"If a remote signer declines a **preapproveinvoice** request a subsequent attempt to pay the invoice anyway will fail; the signer will refuse to sign the commitment."
],
"request":{
"required":[
"bolt11"
],
"properties":{
"bolt11":{
"type":"string",
"description":[
"Bolt11 invoice to submit to the HSM to check."
],
"added":"v23.02"
}
}
},
"response":{
"properties":{}
},
"author":[
"Ken Sedgwick <<ken@bonsai.com>> is mainly responsible."
],
"see_also":[
"lightning-pay(7)"
],
"resources":[
"Main web site: <https://github.com/ElementsProject/lightning>"