{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/gnosis-pay/main/json-schema/gnosis-pay-pci-public-key-response-schema.json",
  "title": "PciPublicKeyResponse",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/gnosis-pay-openapi.json#/components/schemas/PciPublicKeyResponse",
  "type": "object",
  "required": [
    "publicKey",
    "encryptionKeys"
  ],
  "properties": {
    "publicKey": {
      "type": "string",
      "description": "Base64-encoded DER (SPKI) of the RSA-OAEP SHA-256 public key. This is the\nsame key as the matching `encryptionKeys` entry. Clients wrap the session\nkey with that entry and send its id as `keyId`."
    },
    "encryptionKeys": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PciEncryptionKey"
      },
      "description": "RSA public keys a client may wrap a session key with. The client sends the\nchosen entry's id back as `keyId`."
    }
  },
  "$defs": {
    "PciEncryptionKey": {
      "type": "object",
      "required": [
        "id",
        "algorithm",
        "publicKey"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Stable id the client sends back as `keyId` when it wraps with this key."
        },
        "algorithm": {
          "type": "string",
          "description": "OAEP algorithm this key expects. Clients match this when choosing a key."
        },
        "publicKey": {
          "type": "string",
          "description": "Base64-encoded DER (SPKI) RSA public key."
        }
      }
    }
  }
}