core-lightning/doc/schemas/lightning-invoicerequest.json
2024-08-09 23:56:45 -07:00

162 lines
5.4 KiB
JSON

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"additionalProperties": false,
"added": "v22.11",
"rpc": "invoicerequest",
"title": "Command for offering payments",
"warning": "experimental-offers only",
"description": [
"The **invoicerequest** RPC command creates an `invoice_request` to send payments: it automatically enables the processing of an incoming invoice, and payment of it. The reader of the resulting `invoice_request` can use lightning-sendinvoice(7) to collect their payment."
],
"request": {
"required": [
"amount",
"description"
],
"properties": {
"amount": {
"type": "msat",
"description": [
"A positive value in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*."
]
},
"description": {
"type": "string",
"description": [
"A short description of purpose of the payment, e.g. *ATM withdrawl*. This value is encoded into the resulting `invoice_request` and is viewable by anyone you expose it to. It must be UTF-8, and cannot use *\\u* JSON escape codes."
]
},
"issuer": {
"type": "string",
"description": [
"Who is issuing it (i.e. you) if appropriate."
]
},
"label": {
"type": "string",
"description": [
"An internal-use name for the offer, which can be any UTF-8 string."
]
},
"absolute_expiry": {
"type": "u64",
"description": [
"The time the offer is valid until, in seconds since the first day of 1970 UTC. If not set, the `invoice_request` remains valid (though it can be deactivated by the issuer of course). This is encoded in the `invoice_request`."
]
},
"single_use": {
"type": "boolean",
"description": [
"Indicates that the `invoice_request` is only valid once; we may attempt multiple payments, but as soon as one is successful no more invoices are accepted (i.e. only one person can take the money)."
],
"default": "True"
}
}
},
"response": {
"required": [
"invreq_id",
"single_use",
"active",
"bolt12",
"used"
],
"properties": {
"invreq_id": {
"type": "hash",
"description": [
"The SHA256 hash of all invoice_request fields less than 160."
]
},
"active": {
"type": "boolean",
"enum": [
true
],
"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",
"enum": [
false
],
"description": [
"Whether the invoice_request has already been used."
]
},
"label": {
"type": "string",
"description": [
"The label provided when creating the invoice_request."
]
}
}
},
"errors": [
"On failure, an error is returned and no `invoice_request` is created. If the lightning process fails before responding, the caller should use lightning-listinvoicerequests(7) to query whether it was created or not.",
"",
"- -1: Catchall nonspecific error."
],
"author": [
"Rusty Russell <<rusty@rustcorp.com.au>> is mainly responsible."
],
"see_also": [
"lightning-listinvoicerequests(7)",
"lightning-disableinvoicerequest(7)"
],
"resources": [
"Main web site: <https://github.com/ElementsProject/lightning>"
],
"examples": [
{
"request": {
"id": "example:invoicerequest#1",
"method": "invoicerequest",
"params": {
"amount": 1000000,
"description": "Simple test"
}
},
"response": {
"invreq_id": "93f193cd2432d292f8b64af08942989d71c0a0366fb52d57ddb688c8fb066399",
"active": true,
"single_use": true,
"bolt12": "lnr1qqgypua5g7rp293k00s66ayvnv26czst2d5k6urvv5s8getnw3gzqp3zderpzxstt8927ynqg044h0egcd8n5h3n9g0u0v4h8ncc3yg02gps7sjqtqssytfzxcs2xkdy0lml0tzy0jzugmyj8kjn8zfzrgq9fsgurc72x82e7pq947t0ks7a4yejz8w79x4zj25s3pu6zrnw2e0v2ugdescpcqsq307z4p2dlxe92fv7xd43qut0pjkg4y094hupqyhsj8dlhvmmfng6sv",
"used": false
}
},
{
"request": {
"id": "example:invoicerequest#2",
"method": "invoicerequest",
"params": {
"amount": "10000sat",
"description": "Requesting for invoice",
"issuer": "clightning store"
}
},
"response": {
"invreq_id": "a621a0e8e8ea9aa97fd47ab9b140e413be7f4ea45377617e693eb7afe5a3dbf9",
"active": true,
"single_use": true,
"bolt12": "lnr1qqgx5t5hcw5ru9fgkhgxj4thjq4ugzsk2fjhzat9wd6xjmn8ypnx7u3qd9h8vmmfvdj3yyrrd35kw6r5de5kueeqwd6x7un92qsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzr6jqwvfdqzcyypz6g3kyz34nfrl7lm6c3rushzxey3a55ecjgs6qp2vz8q78j336k0sgpvamrunx5t6vdaeu7nmmlh5u6f0dnscasy2alyxq79f5wnc043gxrzyqt640dmuj7c94644j5ae6wfse7tsejwqnmc575ly9t38h4hf",
"used": false
}
}
]
}