"title":"Command for removing an invoice (or just its description)",
"description":[
"The **delinvoice** RPC command removes an invoice with *status* as given in **listinvoices**, or with *desconly* set, removes its description."
],
"request":{
"required":[
"label",
"status"
],
"properties":{
"label":{
"oneOf":[
{
"type":"string"
},
{
"type":"u64"
}
],
"description":[
"Label of the invoice to be deleted."
]
},
"status":{
"type":"string",
"description":[
"Label of the invoice to be deleted. The caller should be particularly aware of the error case caused by the *status* changing just before this command is invoked!"
],
"enum":[
"paid",
"expired",
"unpaid"
]
},
"desconly":{
"type":"boolean",
"description":[
"If set to True, the invoice is not deleted, but has its description removed (this can save space with very large descriptions, as would be used with lightning-invoice(7) *deschashonly*."
]
}
}
},
"response":{
"required":[
"label",
"payment_hash",
"status",
"created_index",
"expires_at"
],
"properties":{
"label":{
"type":"string",
"description":[
"Unique label given at creation time."
]
},
"bolt11":{
"type":"string",
"description":[
"BOLT11 string."
]
},
"bolt12":{
"type":"string",
"description":[
"BOLT12 string."
]
},
"amount_msat":{
"type":"msat",
"description":[
"The amount required to pay this invoice."
]
},
"description":{
"type":"string",
"description":[
"Description used in the invoice."
]
},
"payment_hash":{
"type":"hash",
"description":[
"The hash of the *payment_preimage* which will prove payment."
]
},
"created_index":{
"type":"u64",
"added":"v23.08",
"description":[
"1-based index indicating order this invoice was created in."
]
},
"updated_index":{
"type":"u64",
"added":"v23.08",
"description":[
"1-based index indicating order this invoice was changed (only present if it has changed since creation)."
]
},
"status":{
"type":"string",
"description":[
"State of invoice."
],
"enum":[
"paid",
"expired",
"unpaid"
]
},
"expires_at":{
"type":"u64",
"description":[
"UNIX timestamp when invoice expires (or expired)."
]
}
},
"allOf":[
{
"if":{
"required":[
"bolt12"
]
},
"then":{
"required":[],
"additionalProperties":false,
"properties":{
"label":{},
"bolt12":{},
"status":{},
"expires_at":{},
"msatoshi":{},
"amount_msat":{},
"description":{},
"payment_hash":{},
"pay_index":{},
"created_index":{},
"updated_index":{},
"amount_received_msat":{},
"paid_at":{},
"payment_preimage":{},
"local_offer_id":{
"type":"hex",
"description":[
"Offer for which this invoice was created."
]
},
"invreq_payer_note":{
"type":"string",
"description":[
"The optional *invreq_payer_note* from invoice_request which created this invoice."
]
}
}
},
"else":{
"required":[
"bolt11"
],
"additionalProperties":false,
"properties":{
"label":{},
"bolt11":{},
"status":{},
"expires_at":{},
"msatoshi":{},
"amount_msat":{},
"description":{},
"payment_hash":{},
"pay_index":{},
"created_index":{},
"updated_index":{},
"amount_received_msat":{},
"msatoshi_received":{},
"paid_at":{},
"payment_preimage":{}
}
}
},
{
"if":{
"properties":{
"status":{
"type":"string",
"enum":[
"paid"
]
}
}
},
"then":{
"additionalProperties":false,
"required":[
"pay_index",
"amount_received_msat",
"paid_at",
"payment_preimage"
],
"properties":{
"label":{},
"bolt11":{},
"bolt12":{},
"status":{},
"expires_at":{},
"msatoshi":{},
"amount_msat":{},
"description":{},
"payment_hash":{},
"invreq_payer_note":{},
"local_offer_id":{},
"created_index":{},
"updated_index":{},
"pay_index":{
"type":"u64",
"description":[
"Unique index for this invoice payment."
]
},
"amount_received_msat":{
"type":"msat",
"description":[
"How much was actually received."
]
},
"paid_at":{
"type":"u64",
"description":[
"UNIX timestamp of when payment was received."
]
},
"payment_preimage":{
"type":"secret",
"description":[
"SHA256 of this is the *payment_hash* offered in the invoice."
"- 905: An invoice with that label does not exist.",
"- 906: The invoice *status* does not match the parameter. An error object will be returned as error *data*, containing *current_status* and *expected_status* fields. This is most likely due to the *status* of the invoice changing just before this command is invoked.",
"- 908: The invoice already has no description, and *desconly* was set."