{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": true, "required": [ "label", "description", "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": "hex", "description": "the hash of the *payment_preimage* which will prove payment", "maxLength": 64, "minLength": 64 }, "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" }, "msatoshi": { "deprecated": "true" }, "amount_msat": { "type": "msat", "description": "the amount required to pay this invoice" }, "bolt12": { "type": "string", "description": "the BOLT12 string" } }, "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": {}, "bolt12": {}, "expires_at": {}, "pay_index": { "type": "u64", "description": "Unique incrementing index for this payment" }, "msatoshi_received": { "deprecated": true }, "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": "hex", "description": "proof of payment", "maxLength": 64, "minLength": 64 } } } } ] }