{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure/json-schema/microsoft-azure-transaction-receipt-schema.json",
  "title": "TransactionReceipt",
  "description": "A receipt certifying the transaction at the specified id.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-app-api-openapi.yml#/components/schemas/TransactionReceipt",
  "required": [
    "state",
    "transactionId"
  ],
  "properties": {
    "applicationClaims": {
      "$ref": "#/$defs/ApplicationClaims"
    },
    "receipt": {
      "$ref": "#/$defs/ReceiptContents"
    },
    "state": {
      "$ref": "#/$defs/LedgerQueryState"
    },
    "transactionId": {
      "$ref": "#/$defs/TransactionId"
    }
  },
  "type": "object",
  "$defs": {
    "ApplicationClaim": {
      "description": "A claim of a ledger application.",
      "required": [
        "kind"
      ],
      "properties": {
        "digest": {
          "$ref": "#/$defs/ClaimDigest"
        },
        "kind": {
          "$ref": "#/$defs/ApplicationClaimKind"
        },
        "ledgerEntry": {
          "$ref": "#/$defs/LedgerEntryClaim"
        }
      },
      "type": "object"
    },
    "ApplicationClaimKind": {
      "type": "string",
      "description": "Represents the kind of an application claim.",
      "enum": [
        "LedgerEntry",
        "ClaimDigest"
      ],
      "x-ms-enum": {
        "name": "ApplicationClaimKind",
        "modelAsString": true
      }
    },
    "ApplicationClaimProtocol": {
      "type": "string",
      "description": "Represents the protocol to be used to compute the digest of a claim from the given claim data.",
      "enum": [
        "LedgerEntryV1"
      ],
      "x-ms-enum": {
        "name": "ApplicationClaimProtocol",
        "modelAsString": true
      }
    },
    "ApplicationClaims": {
      "description": "List of application claims.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/ApplicationClaim"
      }
    },
    "ClaimDigest": {
      "description": "An application claim in digested form.",
      "required": [
        "protocol"
      ],
      "properties": {
        "value": {
          "type": "string",
          "description": "The digest of the application claim, in hexadecimal form."
        },
        "protocol": {
          "$ref": "#/$defs/ApplicationClaimProtocol"
        }
      },
      "type": "object"
    },
    "LedgerEntryClaim": {
      "description": "An application claim derived from ledger entry data.",
      "required": [
        "protocol"
      ],
      "properties": {
        "collectionId": {
          "description": "Identifier of a collection.",
          "type": "string"
        },
        "contents": {
          "description": "Contents of a ledger entry.",
          "type": "string"
        },
        "secretKey": {
          "type": "string",
          "description": "Base64-encoded secret key."
        },
        "protocol": {
          "$ref": "#/$defs/ApplicationClaimProtocol"
        }
      },
      "type": "object"
    },
    "LedgerQueryState": {
      "description": "State of a ledger query.",
      "type": "string",
      "enum": [
        "Loading",
        "Ready"
      ],
      "x-ms-enum": {
        "name": "ConfidentialLedgerQueryState",
        "modelAsString": true
      }
    },
    "Pem": {
      "type": "string"
    },
    "PemArray": {
      "items": {
        "$ref": "#/$defs/Pem"
      },
      "type": "array"
    },
    "ReceiptContents": {
      "properties": {
        "cert": {
          "type": "string"
        },
        "leaf": {
          "type": "string"
        },
        "leafComponents": {
          "$ref": "#/$defs/ReceiptLeafComponents"
        },
        "nodeId": {
          "type": "string"
        },
        "proof": {
          "$ref": "#/$defs/ReceiptElementArray"
        },
        "root": {
          "type": "string"
        },
        "serviceEndorsements": {
          "$ref": "#/$defs/PemArray"
        },
        "signature": {
          "type": "string"
        }
      },
      "required": [
        "signature",
        "proof",
        "nodeId"
      ],
      "type": "object"
    },
    "ReceiptElement": {
      "properties": {
        "left": {
          "type": "string"
        },
        "right": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "ReceiptElementArray": {
      "items": {
        "$ref": "#/$defs/ReceiptElement"
      },
      "type": "array"
    },
    "ReceiptLeafComponents": {
      "properties": {
        "claimsDigest": {
          "type": "string"
        },
        "commitEvidence": {
          "type": "string"
        },
        "writeSetDigest": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "TransactionId": {
      "description": "A unique identifier for the state of the ledger. If returned as part of a LedgerEntry, it indicates the state from which the entry was read.",
      "type": "string"
    }
  }
}