rgb-cln/doc/schemas/listinvoices.schema.json

133 lines
3.3 KiB
JSON

{
"$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", "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"
},
"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": "hex",
"description": "the *id* of our offer which created this invoice (**experimental-offers** only).",
"maxLength": 64,
"minLength": 64
},
"payer_note": {
"type": "string",
"description": "the optional *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": { },
"payer_note": { },
"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
}
}
},
"else": {
"additionalProperties": false,
"properties": {
"label": { },
"description": { },
"payment_hash": { },
"status": { },
"msatoshi": { },
"amount_msat": { },
"bolt11": { },
"bolt12": { },
"local_offer_id": { },
"payer_note": { },
"expires_at": { }
}
}
}
]
}
}
}
}