{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "additionalProperties": true,
  "required": [
    "id",
    "payment_hash",
    "status",
    "created_at",
    "amount_sent_msat"
  ],
  "properties": {
    "id": {
      "type": "u64",
      "description": "unique ID for this payment attempt"
    },
    "groupid": {
      "type": "u64",
      "description": "Grouping key to disambiguate multiple attempts to pay an invoice or the same payment_hash"
    },
    "payment_hash": {
      "type": "hash",
      "description": "the hash of the *payment_preimage* which will prove payment"
    },
    "status": {
      "type": "string",
      "enum": [
        "complete"
      ],
      "description": "status of the payment"
    },
    "amount_msat": {
      "type": "msat",
      "description": "The amount delivered to destination (if known)"
    },
    "destination": {
      "type": "pubkey",
      "description": "the final destination of the payment if known"
    },
    "created_at": {
      "type": "u64",
      "description": "the UNIX timestamp showing when this payment was initiated"
    },
    "completed_at": {
      "type": "number",
      "description": "the UNIX timestamp showing when this payment was completed"
    },
    "amount_sent_msat": {
      "type": "msat",
      "description": "The amount sent"
    },
    "label": {
      "type": "string",
      "description": "the label, if given to sendpay"
    },
    "partid": {
      "type": "u64",
      "description": "the *partid*, if given to sendpay"
    },
    "bolt11": {
      "type": "string",
      "description": "the bolt11 string (if pay supplied one)"
    },
    "bolt12": {
      "type": "string",
      "description": "the bolt12 string (if supplied for pay: **experimental-offers** only)."
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "complete"
            ]
          }
        }
      },
      "then": {
        "additionalProperties": false,
        "required": [
          "payment_preimage"
        ],
        "properties": {
          "id": {},
          "groupid": {},
          "payment_hash": {},
          "status": {},
          "msatoshi": {},
          "amount_msat": {},
          "destination": {},
          "created_at": {},
          "completed_at": {},
          "msatoshi_sent": {},
          "amount_sent_msat": {},
          "label": {},
          "partid": {},
          "bolt11": {},
          "bolt12": {},
          "payment_preimage": {
            "type": "secret",
            "description": "the proof of payment: SHA256 of this **payment_hash**"
          }
        }
      }
    }
  ]
}
