{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "required": [ "invoices" ], "properties": { "invoices": { "type": "array", "items": { "type": "object", "additionalProperties": true, "required": [ "label", "payment_hash", "status", "expires_at" ], "properties": { "label": { "type": "string", "description": "unique label supplied at invoice creation" }, "description": { "type": "string", "description": "description used in the invoice" }, "payment_hash": { "type": "hash", "description": "the hash of the *payment_preimage* which will prove payment" }, "status": { "type": "string", "enum": [ "unpaid", "paid", "expired" ], "description": "Whether it's paid, unpaid or unpayable" }, "expires_at": { "type": "u64", "description": "UNIX timestamp of when it will become / became unpayable" }, "amount_msat": { "type": "msat", "description": "the amount required to pay this invoice" }, "bolt11": { "type": "string", "description": "the BOLT11 string (always present unless *bolt12* is)" }, "bolt12": { "type": "string", "description": "the BOLT12 string (always present unless *bolt11* is)" }, "local_offer_id": { "type": "hash", "description": "the *id* of our offer which created this invoice (**experimental-offers** only)." }, "invreq_payer_note": { "type": "string", "description": "the optional *invreq_payer_note* from invoice_request which created this invoice (**experimental-offers** only)." } }, "allOf": [ { "if": { "properties": { "status": { "type": "string", "enum": [ "paid" ] } } }, "then": { "additionalProperties": false, "required": [ "pay_index", "amount_received_msat", "paid_at", "payment_preimage" ], "properties": { "label": {}, "description": {}, "payment_hash": {}, "status": {}, "msatoshi": {}, "amount_msat": {}, "bolt11": {}, "bolt12": {}, "local_offer_id": {}, "invreq_payer_note": {}, "expires_at": {}, "pay_index": { "type": "u64", "description": "Unique incrementing index for this payment" }, "amount_received_msat": { "type": "msat", "description": "the amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)" }, "paid_at": { "type": "u64", "description": "UNIX timestamp of when it was paid" }, "payment_preimage": { "type": "secret", "description": "proof of payment" } } }, "else": { "additionalProperties": false, "properties": { "label": {}, "description": {}, "payment_hash": {}, "status": {}, "msatoshi": {}, "amount_msat": {}, "bolt11": {}, "bolt12": {}, "local_offer_id": {}, "invreq_payer_note": {}, "expires_at": {} } } } ] } } } }