{
  "IJwtService": {
    "components": {
      "schemas": {
        "CreateJwsCompactArgs": {
          "$ref": "#/components/schemas/CreateJwsArgs"
        },
        "CreateJwsArgs": {
          "type": "object",
          "properties": {
            "mode": {
              "$ref": "#/components/schemas/JwsIdentifierMode"
            },
            "issuer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "certificate": {}
                  },
                  "required": [
                    "certificate",
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "did": {
                      "type": "string"
                    },
                    "keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IKey"
                      }
                    },
                    "verificationMethodSection": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    },
                    "controllerKeyId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "identifier",
                    "issuer",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "keys",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "identifier": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "identifier": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "keyType": {
                      "$ref": "#/components/schemas/TKeyType"
                    },
                    "offlineWhenNoDIDRegistered": {
                      "type": "boolean"
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "controllerKey": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "identifier": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            0
                          ]
                        },
                        "kid": {
                          "type": "string"
                        },
                        "alg": {
                          "type": "number",
                          "enum": [
                            -7,
                            -47,
                            -35,
                            -36,
                            -8,
                            4,
                            5,
                            6,
                            7,
                            -37,
                            -38,
                            -39
                          ]
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "number",
                            "enum": [
                              1,
                              2,
                              3,
                              4,
                              5,
                              6,
                              7,
                              8,
                              9,
                              10
                            ]
                          }
                        },
                        "baseIV": {
                          "type": "string"
                        },
                        "crv": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            -1
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "x5chain": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "kty"
                      ],
                      "additionalProperties": {},
                      "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                }
              ]
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "type": "string"
            },
            "protectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "payload": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwsPayload"
                },
                {
                  "type": "object",
                  "properties": {
                    "BYTES_PER_ELEMENT": {
                      "type": "number"
                    },
                    "buffer": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "byteLength": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "byteLength"
                          ]
                        },
                        {}
                      ]
                    },
                    "byteLength": {
                      "type": "number"
                    },
                    "byteOffset": {
                      "type": "number"
                    },
                    "length": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "BYTES_PER_ELEMENT",
                    "buffer",
                    "byteLength",
                    "byteOffset",
                    "length"
                  ],
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "issuer",
            "protectedHeader",
            "payload"
          ]
        },
        "JwsIdentifierMode": {
          "type": "string",
          "enum": [
            "x5c",
            "kid",
            "jwk",
            "did",
            "auto"
          ]
        },
        "IIdentifier": {
          "type": "object",
          "properties": {
            "did": {
              "type": "string",
              "description": "Decentralized identifier"
            },
            "alias": {
              "type": "string",
              "description": "Optional. Identifier alias. Can be used to reference an object in an external system"
            },
            "provider": {
              "type": "string",
              "description": "Identifier provider name"
            },
            "controllerKeyId": {
              "type": "string",
              "description": "Controller key id"
            },
            "keys": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IKey"
              },
              "description": "Array of managed keys"
            },
            "services": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IService"
              },
              "description": "Array of services"
            }
          },
          "required": [
            "did",
            "provider",
            "keys",
            "services"
          ],
          "description": "Identifier interface"
        },
        "IKey": {
          "type": "object",
          "properties": {
            "kid": {
              "type": "string",
              "description": "Key ID"
            },
            "kms": {
              "type": "string",
              "description": "Key Management System"
            },
            "type": {
              "$ref": "#/components/schemas/TKeyType",
              "description": "Key type"
            },
            "publicKeyHex": {
              "type": "string",
              "description": "Public key"
            },
            "privateKeyHex": {
              "type": "string",
              "description": "Optional. Private key"
            },
            "meta": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KeyMetadata"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Optional. Key metadata. This should be used to determine which algorithms are supported."
            }
          },
          "required": [
            "kid",
            "kms",
            "type",
            "publicKeyHex"
          ],
          "description": "Cryptographic key"
        },
        "TKeyType": {
          "type": "string",
          "enum": [
            "Ed25519",
            "Secp256k1",
            "Secp256r1",
            "X25519",
            "Bls12381G1",
            "Bls12381G2",
            "RSA"
          ],
          "description": "Cryptographic key type."
        },
        "KeyMetadata": {
          "type": "object",
          "properties": {
            "algorithms": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "description": "This encapsulates data about a key.\n\nImplementations of  {@link  @veramo/key-manager#AbstractKeyManagementSystem | AbstractKeyManagementSystem }  should populate this object, for each key, with the algorithms that can be performed using it.\n\nThis can also be used to add various tags to the keys under management."
        },
        "IService": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "ID"
            },
            "type": {
              "type": "string",
              "description": "Service type"
            },
            "serviceEndpoint": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/IServiceEndpoint"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IServiceEndpoint"
                  }
                }
              ],
              "description": "Endpoint URL"
            },
            "description": {
              "type": "string",
              "description": "Optional. Description"
            }
          },
          "required": [
            "id",
            "type",
            "serviceEndpoint"
          ],
          "description": "Identifier service"
        },
        "IServiceEndpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            }
          ],
          "description": "Represents a service endpoint URL or a map of URLs"
        },
        "DIDDocumentSection": {
          "type": "string",
          "enum": [
            "verificationMethod",
            "publicKey",
            "service",
            "authentication",
            "assertionMethod",
            "keyAgreement",
            "capabilityInvocation",
            "capabilityDelegation"
          ],
          "description": "Refers to a section of a DID document. Either the list of verification methods or services or one of the verification relationships.\n\nSee  {@link https://www.w3.org/TR/did-core/#verification-relationships | verification relationships }"
        },
        "JwsHeader": {
          "type": "object",
          "properties": {
            "typ": {
              "type": "string"
            },
            "alg": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "jwk": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string",
                  "enum": [
                    "EC",
                    "RSA",
                    "oct",
                    "OKP"
                  ]
                },
                "crv": {
                  "type": "string",
                  "enum": [
                    "P-256",
                    "P-384",
                    "P-521",
                    "X25519",
                    "X448",
                    "EdDSA",
                    "Ed25519",
                    "Ed448",
                    "secp256k1"
                  ]
                },
                "alg": {
                  "type": "string",
                  "enum": [
                    "RS256",
                    "RS384",
                    "RS512",
                    "ES256",
                    "ES256K",
                    "ES384",
                    "ES512",
                    "EdDSA",
                    "HS256",
                    "HS384",
                    "HS512",
                    "PS256",
                    "PS384",
                    "PS512",
                    "none"
                  ]
                },
                "x": {
                  "type": "string"
                },
                "y": {
                  "type": "string"
                },
                "e": {
                  "type": "string"
                },
                "n": {
                  "type": "string"
                },
                "d": {
                  "type": "string"
                },
                "dp": {
                  "type": "string"
                },
                "dq": {
                  "type": "string"
                },
                "ext": {
                  "type": "boolean"
                },
                "k": {
                  "type": "string"
                },
                "key_ops": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "sign",
                      "verify",
                      "encrypt",
                      "decrypt",
                      "wrapKey",
                      "unwrapKey",
                      "deriveKey",
                      "deriveBits"
                    ]
                  }
                },
                "kid": {
                  "type": "string"
                },
                "oth": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "d": {
                        "type": "string"
                      },
                      "r": {
                        "type": "string"
                      },
                      "t": {
                        "type": "string"
                      }
                    }
                  }
                },
                "p": {
                  "type": "string"
                },
                "q": {
                  "type": "string"
                },
                "qi": {
                  "type": "string"
                },
                "use": {
                  "type": "string"
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                },
                "x5t": {
                  "type": "string",
                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                },
                "x5t#S256": {
                  "type": "string",
                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                },
                "x5u": {
                  "type": "string",
                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                },
                "iv": {
                  "type": "string"
                }
              },
              "additionalProperties": {},
              "required": [
                "kty"
              ]
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": {}
        },
        "JwsPayload": {
          "type": "object",
          "additionalProperties": {},
          "properties": {
            "iss": {
              "type": "string"
            },
            "sub": {
              "type": "string"
            },
            "aud": {
              "anyOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "string"
                }
              ]
            },
            "exp": {
              "type": "number"
            },
            "nbf": {
              "type": "number"
            },
            "iat": {
              "type": "number"
            },
            "jti": {
              "type": "string"
            }
          }
        },
        "JwtCompactResult": {
          "type": "object",
          "properties": {
            "jwt": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwsCompact"
                },
                {
                  "$ref": "#/components/schemas/JweCompact"
                }
              ]
            }
          },
          "required": [
            "jwt"
          ]
        },
        "JwsCompact": {
          "type": "string"
        },
        "JweCompact": {
          "type": "string"
        },
        "CreateJwsFlattenedArgs": {
          "$ref": "#/components/schemas/CreateJwsJsonArgs"
        },
        "CreateJwsJsonArgs": {
          "type": "object",
          "properties": {
            "unprotectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "existingSignatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignature"
              }
            },
            "mode": {
              "$ref": "#/components/schemas/JwsIdentifierMode"
            },
            "issuer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "certificate": {}
                  },
                  "required": [
                    "certificate",
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "did": {
                      "type": "string"
                    },
                    "keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IKey"
                      }
                    },
                    "verificationMethodSection": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    },
                    "controllerKeyId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "identifier",
                    "issuer",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "keys",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "identifier": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "identifier": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "keyType": {
                      "$ref": "#/components/schemas/TKeyType"
                    },
                    "offlineWhenNoDIDRegistered": {
                      "type": "boolean"
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "controllerKey": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "identifier": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            0
                          ]
                        },
                        "kid": {
                          "type": "string"
                        },
                        "alg": {
                          "type": "number",
                          "enum": [
                            -7,
                            -47,
                            -35,
                            -36,
                            -8,
                            4,
                            5,
                            6,
                            7,
                            -37,
                            -38,
                            -39
                          ]
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "number",
                            "enum": [
                              1,
                              2,
                              3,
                              4,
                              5,
                              6,
                              7,
                              8,
                              9,
                              10
                            ]
                          }
                        },
                        "baseIV": {
                          "type": "string"
                        },
                        "crv": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            -1
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "x5chain": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "kty"
                      ],
                      "additionalProperties": {},
                      "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "noIssPayloadUpdate": {
                      "type": "boolean"
                    },
                    "noIdentifierInHeader": {
                      "type": "boolean"
                    },
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                }
              ]
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "type": "string"
            },
            "protectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "payload": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwsPayload"
                },
                {
                  "type": "object",
                  "properties": {
                    "BYTES_PER_ELEMENT": {
                      "type": "number"
                    },
                    "buffer": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "byteLength": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "byteLength"
                          ]
                        },
                        {}
                      ]
                    },
                    "byteLength": {
                      "type": "number"
                    },
                    "byteOffset": {
                      "type": "number"
                    },
                    "length": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "BYTES_PER_ELEMENT",
                    "buffer",
                    "byteLength",
                    "byteOffset",
                    "length"
                  ],
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "issuer",
            "payload",
            "protectedHeader"
          ]
        },
        "JwsJsonSignature": {
          "type": "object",
          "properties": {
            "protected": {
              "type": "string"
            },
            "header": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "signature": {
              "type": "string"
            }
          },
          "required": [
            "protected",
            "signature"
          ]
        },
        "JwsJsonFlattened": {
          "type": "object",
          "properties": {
            "payload": {
              "type": "string"
            },
            "protected": {
              "type": "string"
            },
            "header": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "signature": {
              "type": "string"
            }
          },
          "required": [
            "payload",
            "protected",
            "signature"
          ]
        },
        "JwsJsonGeneral": {
          "type": "object",
          "properties": {
            "payload": {
              "type": "string"
            },
            "signatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignature"
              }
            }
          },
          "required": [
            "payload",
            "signatures"
          ]
        },
        "DecryptJweCompactJwtArgs": {
          "type": "object",
          "properties": {
            "jwe": {
              "$ref": "#/components/schemas/JweCompact"
            },
            "idOpts": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "certificate": {}
                  },
                  "required": [
                    "certificate",
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "did": {
                      "type": "string"
                    },
                    "keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IKey"
                      }
                    },
                    "verificationMethodSection": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    },
                    "controllerKeyId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "identifier",
                    "issuer",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "keys",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "identifier": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "identifier": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "keyType": {
                      "$ref": "#/components/schemas/TKeyType"
                    },
                    "offlineWhenNoDIDRegistered": {
                      "type": "boolean"
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "controllerKey": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "identifier": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "identifier": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            0
                          ]
                        },
                        "kid": {
                          "type": "string"
                        },
                        "alg": {
                          "type": "number",
                          "enum": [
                            -7,
                            -47,
                            -35,
                            -36,
                            -8,
                            4,
                            5,
                            6,
                            7,
                            -37,
                            -38,
                            -39
                          ]
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "number",
                            "enum": [
                              1,
                              2,
                              3,
                              4,
                              5,
                              6,
                              7,
                              8,
                              9,
                              10
                            ]
                          }
                        },
                        "baseIV": {
                          "type": "string"
                        },
                        "crv": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            -1
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "x5chain": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "kty"
                      ],
                      "additionalProperties": {},
                      "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "lazyDisabled": {
                      "type": "boolean"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "identifier": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "identifier"
                  ]
                }
              ]
            }
          },
          "required": [
            "jwe",
            "idOpts"
          ]
        },
        "EncryptJweCompactJwtArgs": {
          "type": "object",
          "properties": {
            "payload": {
              "$ref": "#/components/schemas/JwsPayload"
            },
            "protectedHeader": {
              "$ref": "#/components/schemas/JweProtectedHeader"
            },
            "aad": {
              "type": "object",
              "properties": {
                "BYTES_PER_ELEMENT": {
                  "type": "number"
                },
                "buffer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "byteLength": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "byteLength"
                      ]
                    },
                    {}
                  ]
                },
                "byteLength": {
                  "type": "number"
                },
                "byteOffset": {
                  "type": "number"
                },
                "length": {
                  "type": "number"
                }
              },
              "required": [
                "BYTES_PER_ELEMENT",
                "buffer",
                "byteLength",
                "byteOffset",
                "length"
              ],
              "additionalProperties": {
                "type": "number"
              }
            },
            "recipientKey": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "did": {
                      "type": "string"
                    },
                    "didDocument": {
                      "$ref": "#/components/schemas/DIDDocument"
                    },
                    "didJwks": {
                      "type": "object",
                      "properties": {
                        "verificationMethod": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "authentication": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "assertionMethod": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "keyAgreement": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "capabilityInvocation": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "capabilityDelegation": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        }
                      },
                      "required": [
                        "verificationMethod",
                        "authentication",
                        "assertionMethod",
                        "keyAgreement",
                        "capabilityInvocation",
                        "capabilityDelegation"
                      ]
                    },
                    "didResolutionResult": {
                      "type": "object",
                      "properties": {
                        "@context": {
                          "anyOf": [
                            {
                              "type": "string",
                              "const": "https://w3id.org/did-resolution/v1"
                            },
                            {
                              "type": "string"
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "didResolutionMetadata": {
                          "$ref": "#/components/schemas/DIDResolutionMetadata"
                        },
                        "didDocumentMetadata": {
                          "$ref": "#/components/schemas/DIDDocumentMetadata"
                        }
                      },
                      "required": [
                        "didResolutionMetadata",
                        "didDocumentMetadata"
                      ]
                    },
                    "didParsed": {
                      "type": "object",
                      "properties": {
                        "did": {
                          "type": "string"
                        },
                        "didUrl": {
                          "type": "string"
                        },
                        "method": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string"
                        },
                        "fragment": {
                          "type": "string"
                        },
                        "query": {
                          "type": "string"
                        },
                        "params": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "did",
                        "didUrl",
                        "method",
                        "id"
                      ]
                    }
                  },
                  "required": [
                    "did",
                    "didParsed",
                    "didResolutionResult",
                    "jwks",
                    "method"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "issuerJWK": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "verificationResult": {
                      "type": "object",
                      "properties": {
                        "error": {
                          "type": "boolean"
                        },
                        "critical": {
                          "type": "boolean"
                        },
                        "message": {
                          "type": "string"
                        },
                        "detailMessage": {
                          "type": "string"
                        },
                        "verificationTime": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "certificateChain": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "certificate": {},
                              "notBefore": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "notAfter": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "publicKeyJWK": {},
                              "issuer": {
                                "type": "object",
                                "properties": {
                                  "dn": {
                                    "type": "object",
                                    "properties": {
                                      "DN": {
                                        "type": "string"
                                      },
                                      "attributes": {
                                        "type": "object",
                                        "additionalProperties": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "DN",
                                      "attributes"
                                    ]
                                  }
                                },
                                "required": [
                                  "dn"
                                ]
                              },
                              "subject": {
                                "type": "object",
                                "properties": {
                                  "dn": {
                                    "type": "object",
                                    "properties": {
                                      "DN": {
                                        "type": "string"
                                      },
                                      "attributes": {
                                        "type": "object",
                                        "additionalProperties": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "DN",
                                      "attributes"
                                    ]
                                  },
                                  "subjectAlternativeNames": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "value": {
                                          "type": "string"
                                        },
                                        "type": {
                                          "type": "number",
                                          "enum": [
                                            1,
                                            2,
                                            6,
                                            7
                                          ],
                                          "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                        }
                                      },
                                      "required": [
                                        "value",
                                        "type"
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "dn",
                                  "subjectAlternativeNames"
                                ]
                              }
                            },
                            "required": [
                              "notBefore",
                              "notAfter",
                              "issuer",
                              "subject"
                            ]
                          }
                        },
                        "trustAnchor": {
                          "type": "object",
                          "properties": {
                            "certificate": {},
                            "notBefore": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "notAfter": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "publicKeyJWK": {},
                            "issuer": {
                              "type": "object",
                              "properties": {
                                "dn": {
                                  "type": "object",
                                  "properties": {
                                    "DN": {
                                      "type": "string"
                                    },
                                    "attributes": {
                                      "type": "object",
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "required": [
                                    "DN",
                                    "attributes"
                                  ]
                                }
                              },
                              "required": [
                                "dn"
                              ]
                            },
                            "subject": {
                              "type": "object",
                              "properties": {
                                "dn": {
                                  "type": "object",
                                  "properties": {
                                    "DN": {
                                      "type": "string"
                                    },
                                    "attributes": {
                                      "type": "object",
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "required": [
                                    "DN",
                                    "attributes"
                                  ]
                                },
                                "subjectAlternativeNames": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "number",
                                        "enum": [
                                          1,
                                          2,
                                          6,
                                          7
                                        ],
                                        "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                      }
                                    },
                                    "required": [
                                      "value",
                                      "type"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "dn",
                                "subjectAlternativeNames"
                              ]
                            }
                          },
                          "required": [
                            "notBefore",
                            "notAfter",
                            "issuer",
                            "subject"
                          ]
                        },
                        "client": {
                          "type": "object",
                          "properties": {
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string",
                              "enum": [
                                "x509_san_dns",
                                "x509_san_uri"
                              ]
                            }
                          },
                          "required": [
                            "clientId",
                            "clientIdScheme"
                          ]
                        }
                      },
                      "required": [
                        "error",
                        "critical",
                        "message",
                        "verificationTime"
                      ]
                    },
                    "certificates": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": [
                    "certificates",
                    "issuerJWK",
                    "jwks",
                    "method",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "x5c": {
                      "type": "object",
                      "properties": {
                        "method": {
                          "type": "string",
                          "const": "x5c"
                        },
                        "jwks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "jwk": {
                                "type": "object",
                                "properties": {
                                  "kty": {
                                    "type": "string",
                                    "enum": [
                                      "EC",
                                      "RSA",
                                      "oct",
                                      "OKP"
                                    ]
                                  },
                                  "crv": {
                                    "type": "string",
                                    "enum": [
                                      "P-256",
                                      "P-384",
                                      "P-521",
                                      "X25519",
                                      "X448",
                                      "EdDSA",
                                      "Ed25519",
                                      "Ed448",
                                      "secp256k1"
                                    ]
                                  },
                                  "alg": {
                                    "type": "string",
                                    "enum": [
                                      "RS256",
                                      "RS384",
                                      "RS512",
                                      "ES256",
                                      "ES256K",
                                      "ES384",
                                      "ES512",
                                      "EdDSA",
                                      "HS256",
                                      "HS384",
                                      "HS512",
                                      "PS256",
                                      "PS384",
                                      "PS512",
                                      "none"
                                    ]
                                  },
                                  "x": {
                                    "type": "string"
                                  },
                                  "y": {
                                    "type": "string"
                                  },
                                  "e": {
                                    "type": "string"
                                  },
                                  "n": {
                                    "type": "string"
                                  },
                                  "d": {
                                    "type": "string"
                                  },
                                  "dp": {
                                    "type": "string"
                                  },
                                  "dq": {
                                    "type": "string"
                                  },
                                  "ext": {
                                    "type": "boolean"
                                  },
                                  "k": {
                                    "type": "string"
                                  },
                                  "key_ops": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "enum": [
                                        "sign",
                                        "verify",
                                        "encrypt",
                                        "decrypt",
                                        "wrapKey",
                                        "unwrapKey",
                                        "deriveKey",
                                        "deriveBits"
                                      ]
                                    }
                                  },
                                  "kid": {
                                    "type": "string"
                                  },
                                  "oth": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "d": {
                                          "type": "string"
                                        },
                                        "r": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  },
                                  "p": {
                                    "type": "string"
                                  },
                                  "q": {
                                    "type": "string"
                                  },
                                  "qi": {
                                    "type": "string"
                                  },
                                  "use": {
                                    "type": "string"
                                  },
                                  "x5c": {
                                    "type": "array",
                                    "items": {
                                      "type": "string"
                                    },
                                    "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                  },
                                  "x5t": {
                                    "type": "string",
                                    "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                  },
                                  "x5t#S256": {
                                    "type": "string",
                                    "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                  },
                                  "x5u": {
                                    "type": "string",
                                    "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                  },
                                  "iv": {
                                    "type": "string"
                                  }
                                },
                                "additionalProperties": {},
                                "required": [
                                  "kty"
                                ]
                              },
                              "jwkThumbprint": {
                                "type": "string"
                              },
                              "kid": {
                                "type": "string"
                              },
                              "publicKeyHex": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "jwk",
                              "jwkThumbprint",
                              "publicKeyHex"
                            ]
                          }
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "issuerJWK": {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        "verificationResult": {
                          "type": "object",
                          "properties": {
                            "error": {
                              "type": "boolean"
                            },
                            "critical": {
                              "type": "boolean"
                            },
                            "message": {
                              "type": "string"
                            },
                            "detailMessage": {
                              "type": "string"
                            },
                            "verificationTime": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "certificateChain": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "certificate": {},
                                  "notBefore": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "notAfter": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "publicKeyJWK": {},
                                  "issuer": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "dn"
                                    ]
                                  },
                                  "subject": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      },
                                      "subjectAlternativeNames": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "value": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "number",
                                              "enum": [
                                                1,
                                                2,
                                                6,
                                                7
                                              ],
                                              "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                            }
                                          },
                                          "required": [
                                            "value",
                                            "type"
                                          ]
                                        }
                                      }
                                    },
                                    "required": [
                                      "dn",
                                      "subjectAlternativeNames"
                                    ]
                                  }
                                },
                                "required": [
                                  "notBefore",
                                  "notAfter",
                                  "issuer",
                                  "subject"
                                ]
                              }
                            },
                            "trustAnchor": {
                              "type": "object",
                              "properties": {
                                "certificate": {},
                                "notBefore": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "notAfter": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "publicKeyJWK": {},
                                "issuer": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "dn"
                                  ]
                                },
                                "subject": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    },
                                    "subjectAlternativeNames": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "value": {
                                            "type": "string"
                                          },
                                          "type": {
                                            "type": "number",
                                            "enum": [
                                              1,
                                              2,
                                              6,
                                              7
                                            ],
                                            "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                          }
                                        },
                                        "required": [
                                          "value",
                                          "type"
                                        ]
                                      }
                                    }
                                  },
                                  "required": [
                                    "dn",
                                    "subjectAlternativeNames"
                                  ]
                                }
                              },
                              "required": [
                                "notBefore",
                                "notAfter",
                                "issuer",
                                "subject"
                              ]
                            },
                            "client": {
                              "type": "object",
                              "properties": {
                                "clientId": {
                                  "type": "string"
                                },
                                "clientIdScheme": {
                                  "type": "string",
                                  "enum": [
                                    "x509_san_dns",
                                    "x509_san_uri"
                                  ]
                                }
                              },
                              "required": [
                                "clientId",
                                "clientIdScheme"
                              ]
                            }
                          },
                          "required": [
                            "error",
                            "critical",
                            "message",
                            "verificationTime"
                          ]
                        },
                        "certificates": {
                          "type": "array",
                          "items": {}
                        }
                      },
                      "required": [
                        "certificates",
                        "issuerJWK",
                        "jwks",
                        "method",
                        "x5c"
                      ]
                    }
                  },
                  "required": [
                    "jwk",
                    "jwks",
                    "method"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "entity_id"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "trustedAnchors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "errorList": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "jwtPayload": {
                      "type": "object",
                      "additionalProperties": {},
                      "properties": {
                        "iss": {
                          "type": "string"
                        },
                        "sub": {
                          "type": "string"
                        },
                        "aud": {
                          "anyOf": [
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "exp": {
                          "type": "number"
                        },
                        "nbf": {
                          "type": "number"
                        },
                        "iat": {
                          "type": "number"
                        },
                        "jti": {
                          "type": "string"
                        }
                      }
                    },
                    "trustEstablished": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "jwks",
                    "method",
                    "trustEstablished",
                    "trustedAnchors"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "kid": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "coseKey": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            0
                          ]
                        },
                        "kid": {
                          "type": "string"
                        },
                        "alg": {
                          "type": "number",
                          "enum": [
                            -7,
                            -47,
                            -35,
                            -36,
                            -8,
                            4,
                            5,
                            6,
                            7,
                            -37,
                            -38,
                            -39
                          ]
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "number",
                            "enum": [
                              1,
                              2,
                              3,
                              4,
                              5,
                              6,
                              7,
                              8,
                              9,
                              10
                            ]
                          }
                        },
                        "baseIV": {
                          "type": "string"
                        },
                        "crv": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            -1
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "x5chain": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "kty"
                      ],
                      "additionalProperties": {},
                      "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                    },
                    "x5c": {
                      "type": "object",
                      "properties": {
                        "method": {
                          "type": "string",
                          "const": "x5c"
                        },
                        "jwks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "jwk": {
                                "type": "object",
                                "properties": {
                                  "kty": {
                                    "type": "string",
                                    "enum": [
                                      "EC",
                                      "RSA",
                                      "oct",
                                      "OKP"
                                    ]
                                  },
                                  "crv": {
                                    "type": "string",
                                    "enum": [
                                      "P-256",
                                      "P-384",
                                      "P-521",
                                      "X25519",
                                      "X448",
                                      "EdDSA",
                                      "Ed25519",
                                      "Ed448",
                                      "secp256k1"
                                    ]
                                  },
                                  "alg": {
                                    "type": "string",
                                    "enum": [
                                      "RS256",
                                      "RS384",
                                      "RS512",
                                      "ES256",
                                      "ES256K",
                                      "ES384",
                                      "ES512",
                                      "EdDSA",
                                      "HS256",
                                      "HS384",
                                      "HS512",
                                      "PS256",
                                      "PS384",
                                      "PS512",
                                      "none"
                                    ]
                                  },
                                  "x": {
                                    "type": "string"
                                  },
                                  "y": {
                                    "type": "string"
                                  },
                                  "e": {
                                    "type": "string"
                                  },
                                  "n": {
                                    "type": "string"
                                  },
                                  "d": {
                                    "type": "string"
                                  },
                                  "dp": {
                                    "type": "string"
                                  },
                                  "dq": {
                                    "type": "string"
                                  },
                                  "ext": {
                                    "type": "boolean"
                                  },
                                  "k": {
                                    "type": "string"
                                  },
                                  "key_ops": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "enum": [
                                        "sign",
                                        "verify",
                                        "encrypt",
                                        "decrypt",
                                        "wrapKey",
                                        "unwrapKey",
                                        "deriveKey",
                                        "deriveBits"
                                      ]
                                    }
                                  },
                                  "kid": {
                                    "type": "string"
                                  },
                                  "oth": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "d": {
                                          "type": "string"
                                        },
                                        "r": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  },
                                  "p": {
                                    "type": "string"
                                  },
                                  "q": {
                                    "type": "string"
                                  },
                                  "qi": {
                                    "type": "string"
                                  },
                                  "use": {
                                    "type": "string"
                                  },
                                  "x5c": {
                                    "type": "array",
                                    "items": {
                                      "type": "string"
                                    },
                                    "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                  },
                                  "x5t": {
                                    "type": "string",
                                    "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                  },
                                  "x5t#S256": {
                                    "type": "string",
                                    "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                  },
                                  "x5u": {
                                    "type": "string",
                                    "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                  },
                                  "iv": {
                                    "type": "string"
                                  }
                                },
                                "additionalProperties": {},
                                "required": [
                                  "kty"
                                ]
                              },
                              "jwkThumbprint": {
                                "type": "string"
                              },
                              "kid": {
                                "type": "string"
                              },
                              "publicKeyHex": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "jwk",
                              "jwkThumbprint",
                              "publicKeyHex"
                            ]
                          }
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "issuerJWK": {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        "verificationResult": {
                          "type": "object",
                          "properties": {
                            "error": {
                              "type": "boolean"
                            },
                            "critical": {
                              "type": "boolean"
                            },
                            "message": {
                              "type": "string"
                            },
                            "detailMessage": {
                              "type": "string"
                            },
                            "verificationTime": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "certificateChain": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "certificate": {},
                                  "notBefore": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "notAfter": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "publicKeyJWK": {},
                                  "issuer": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "dn"
                                    ]
                                  },
                                  "subject": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      },
                                      "subjectAlternativeNames": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "value": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "number",
                                              "enum": [
                                                1,
                                                2,
                                                6,
                                                7
                                              ],
                                              "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                            }
                                          },
                                          "required": [
                                            "value",
                                            "type"
                                          ]
                                        }
                                      }
                                    },
                                    "required": [
                                      "dn",
                                      "subjectAlternativeNames"
                                    ]
                                  }
                                },
                                "required": [
                                  "notBefore",
                                  "notAfter",
                                  "issuer",
                                  "subject"
                                ]
                              }
                            },
                            "trustAnchor": {
                              "type": "object",
                              "properties": {
                                "certificate": {},
                                "notBefore": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "notAfter": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "publicKeyJWK": {},
                                "issuer": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "dn"
                                  ]
                                },
                                "subject": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    },
                                    "subjectAlternativeNames": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "value": {
                                            "type": "string"
                                          },
                                          "type": {
                                            "type": "number",
                                            "enum": [
                                              1,
                                              2,
                                              6,
                                              7
                                            ],
                                            "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                          }
                                        },
                                        "required": [
                                          "value",
                                          "type"
                                        ]
                                      }
                                    }
                                  },
                                  "required": [
                                    "dn",
                                    "subjectAlternativeNames"
                                  ]
                                }
                              },
                              "required": [
                                "notBefore",
                                "notAfter",
                                "issuer",
                                "subject"
                              ]
                            },
                            "client": {
                              "type": "object",
                              "properties": {
                                "clientId": {
                                  "type": "string"
                                },
                                "clientIdScheme": {
                                  "type": "string",
                                  "enum": [
                                    "x509_san_dns",
                                    "x509_san_uri"
                                  ]
                                }
                              },
                              "required": [
                                "clientId",
                                "clientIdScheme"
                              ]
                            }
                          },
                          "required": [
                            "error",
                            "critical",
                            "message",
                            "verificationTime"
                          ]
                        },
                        "certificates": {
                          "type": "array",
                          "items": {}
                        }
                      },
                      "required": [
                        "certificates",
                        "issuerJWK",
                        "jwks",
                        "method",
                        "x5c"
                      ]
                    }
                  },
                  "required": [
                    "coseKey",
                    "jwks",
                    "method"
                  ]
                }
              ]
            },
            "alg": {
              "$ref": "#/components/schemas/JweAlg"
            },
            "enc": {
              "$ref": "#/components/schemas/JweEnc"
            },
            "apu": {
              "type": "string"
            },
            "apv": {
              "type": "string"
            },
            "expirationTime": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                },
                {
                  "type": "string",
                  "format": "date-time"
                }
              ]
            },
            "issuer": {
              "type": "string"
            },
            "audience": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "payload",
            "recipientKey"
          ]
        },
        "JweProtectedHeader": {
          "type": "object",
          "properties": {
            "alg": {
              "type": "string"
            },
            "enc": {
              "type": "string"
            },
            "jku": {
              "type": "string"
            },
            "jwk": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string",
                  "enum": [
                    "EC",
                    "RSA",
                    "oct",
                    "OKP"
                  ]
                },
                "crv": {
                  "type": "string",
                  "enum": [
                    "P-256",
                    "P-384",
                    "P-521",
                    "X25519",
                    "X448",
                    "EdDSA",
                    "Ed25519",
                    "Ed448",
                    "secp256k1"
                  ]
                },
                "alg": {
                  "type": "string",
                  "enum": [
                    "RS256",
                    "RS384",
                    "RS512",
                    "ES256",
                    "ES256K",
                    "ES384",
                    "ES512",
                    "EdDSA",
                    "HS256",
                    "HS384",
                    "HS512",
                    "PS256",
                    "PS384",
                    "PS512",
                    "none"
                  ]
                },
                "x": {
                  "type": "string"
                },
                "y": {
                  "type": "string"
                },
                "e": {
                  "type": "string"
                },
                "n": {
                  "type": "string"
                }
              },
              "required": [
                "kty"
              ],
              "description": "Conversion functions to Cose available for TS in our"
            },
            "epk": {
              "$ref": "#/components/schemas/EphemeralPublicKey"
            },
            "x5u": {
              "type": "string"
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x5t": {
              "type": "string"
            },
            "cty": {
              "type": "string"
            },
            "crit": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "typ": {},
            "kid": {},
            "zip": {
              "type": "string"
            }
          }
        },
        "EphemeralPublicKey": {
          "type": "object",
          "properties": {
            "kty": {
              "type": "string",
              "enum": [
                "EC",
                "RSA",
                "oct",
                "OKP"
              ]
            },
            "crv": {
              "type": "string",
              "enum": [
                "P-256",
                "P-384",
                "P-521",
                "X25519",
                "X448",
                "EdDSA",
                "Ed25519",
                "Ed448",
                "secp256k1"
              ]
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            },
            "e": {
              "type": "string"
            },
            "n": {
              "type": "string"
            }
          },
          "required": [
            "kty"
          ],
          "description": "The JWK representation of an ephemeral public key. See https://www.rfc-editor.org/rfc/rfc7518.html#section-6"
        },
        "DIDDocument": {
          "type": "object",
          "properties": {
            "authentication": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "assertionMethod": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "keyAgreement": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "capabilityInvocation": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "capabilityDelegation": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/VerificationMethod"
                  }
                ]
              }
            },
            "@context": {
              "anyOf": [
                {
                  "type": "string",
                  "const": "https://www.w3.org/ns/did/v1"
                },
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "id": {
              "type": "string"
            },
            "alsoKnownAs": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "controller": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "verificationMethod": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "service": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Service"
              }
            },
            "publicKey": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              },
              "deprecated": true
            }
          },
          "required": [
            "id"
          ],
          "description": "Represents a DID document."
        },
        "VerificationMethod": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "controller": {
              "type": "string"
            },
            "publicKeyBase58": {
              "type": "string"
            },
            "publicKeyBase64": {
              "type": "string"
            },
            "publicKeyJwk": {
              "$ref": "#/components/schemas/JsonWebKey"
            },
            "publicKeyHex": {
              "type": "string"
            },
            "publicKeyMultibase": {
              "type": "string"
            },
            "blockchainAccountId": {
              "type": "string"
            },
            "ethereumAddress": {
              "type": "string"
            },
            "conditionOr": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "conditionAnd": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "threshold": {
              "type": "number"
            },
            "conditionThreshold": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/VerificationMethod"
              }
            },
            "conditionWeightedThreshold": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConditionWeightedThreshold"
              }
            },
            "conditionDelegated": {
              "type": "string"
            },
            "relationshipParent": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "relationshipChild": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "relationshipSibling": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "id",
            "type",
            "controller"
          ],
          "description": "Represents the properties of a Verification Method listed in a DID document.\n\nThis data type includes public key representations that are no longer present in the spec but are still used by several DID methods / resolvers and kept for backward compatibility."
        },
        "JsonWebKey": {
          "type": "object",
          "properties": {
            "alg": {
              "type": "string"
            },
            "crv": {
              "type": "string"
            },
            "e": {
              "type": "string"
            },
            "ext": {
              "type": "boolean"
            },
            "key_ops": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "kid": {
              "type": "string"
            },
            "kty": {
              "type": "string"
            },
            "n": {
              "type": "string"
            },
            "use": {
              "type": "string"
            },
            "x": {
              "type": "string"
            },
            "y": {
              "type": "string"
            }
          },
          "required": [
            "kty"
          ],
          "description": "Encapsulates a JSON web key type that includes only the public properties that can be used in DID documents.\n\nThe private properties are intentionally omitted to discourage the use (and accidental disclosure) of private keys in DID documents."
        },
        "ConditionWeightedThreshold": {
          "type": "object",
          "properties": {
            "condition": {
              "$ref": "#/components/schemas/VerificationMethod"
            },
            "weight": {
              "type": "number"
            }
          },
          "required": [
            "condition",
            "weight"
          ]
        },
        "Service": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "type": {
              "type": "string"
            },
            "serviceEndpoint": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ServiceEndpoint"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceEndpoint"
                  }
                }
              ]
            }
          },
          "required": [
            "id",
            "type",
            "serviceEndpoint"
          ],
          "description": "Represents a Service entry in a  {@link https://www.w3.org/TR/did-core/#did-document-properties | DID document } ."
        },
        "ServiceEndpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "object"
            }
          ],
          "description": "Represents an endpoint of a Service entry in a DID document."
        },
        "DIDResolutionMetadata": {
          "type": "object",
          "properties": {
            "contentType": {
              "type": "string"
            },
            "error": {
              "type": "string"
            }
          },
          "description": "Encapsulates the resolution metadata resulting from a  {@link  Resolvable.resolve }  operation."
        },
        "DIDDocumentMetadata": {
          "type": "object",
          "properties": {
            "created": {
              "type": "string"
            },
            "updated": {
              "type": "string"
            },
            "deactivated": {
              "type": "boolean"
            },
            "versionId": {
              "type": "string"
            },
            "nextUpdate": {
              "type": "string"
            },
            "nextVersionId": {
              "type": "string"
            },
            "equivalentId": {
              "type": "string"
            },
            "canonicalId": {
              "type": "string"
            }
          },
          "description": "Represents metadata about the DID document resulting from a  {@link  Resolvable.resolve }  operation."
        },
        "JweAlg": {
          "type": "string",
          "enum": [
            "RSA1_5",
            "RSA-OAEP",
            "RSA-OAEP-256",
            "A128KW",
            "A192KW",
            "A256KW",
            "dir",
            "ECDH-ES",
            "ECDH-ES+A128KW",
            "ECDH-ES+A192KW",
            "ECDH-ES+A256KW",
            "A128GCMKW",
            "A192GCMKW",
            "A256GCMKW",
            "PBES2-HS256+A128KW",
            "PBES2-HS384+A192KW",
            "PBES2-HS512+A256KW"
          ]
        },
        "JweEnc": {
          "type": "string",
          "enum": [
            "A128CBC-HS256",
            "A192CBC-HS384",
            "A256CBC-HS512",
            "A128GCM",
            "A192GCM",
            "A256GCM"
          ]
        },
        "PreparedJwsObject": {
          "type": "object",
          "properties": {
            "jws": {
              "$ref": "#/components/schemas/PreparedJws"
            },
            "b64": {
              "type": "object",
              "properties": {
                "payload": {
                  "type": "string"
                },
                "protectedHeader": {
                  "type": "string"
                }
              },
              "required": [
                "payload",
                "protectedHeader"
              ]
            },
            "identifier": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "certificate": {}
                  },
                  "required": [
                    "certificate",
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    },
                    "did": {
                      "type": "string"
                    },
                    "keys": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IKey"
                      }
                    },
                    "verificationMethodSection": {
                      "$ref": "#/components/schemas/DIDDocumentSection"
                    },
                    "controllerKeyId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "did",
                    "identifier",
                    "issuer",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "keys",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "kid"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kid",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "jwkThumbprint": {
                      "type": "string"
                    },
                    "kmsKeyRef": {
                      "type": "string"
                    },
                    "method": {
                      "type": "string",
                      "const": "oid4vci-issuer"
                    },
                    "opts": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "jwk"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "string",
                                  "enum": [
                                    "EC",
                                    "RSA",
                                    "oct",
                                    "OKP"
                                  ]
                                },
                                "crv": {
                                  "type": "string",
                                  "enum": [
                                    "P-256",
                                    "P-384",
                                    "P-521",
                                    "X25519",
                                    "X448",
                                    "EdDSA",
                                    "Ed25519",
                                    "Ed448",
                                    "secp256k1"
                                  ]
                                },
                                "alg": {
                                  "type": "string",
                                  "enum": [
                                    "RS256",
                                    "RS384",
                                    "RS512",
                                    "ES256",
                                    "ES256K",
                                    "ES384",
                                    "ES512",
                                    "EdDSA",
                                    "HS256",
                                    "HS384",
                                    "HS512",
                                    "PS256",
                                    "PS384",
                                    "PS512",
                                    "none"
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "e": {
                                  "type": "string"
                                },
                                "n": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "dp": {
                                  "type": "string"
                                },
                                "dq": {
                                  "type": "string"
                                },
                                "ext": {
                                  "type": "boolean"
                                },
                                "k": {
                                  "type": "string"
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "enum": [
                                      "sign",
                                      "verify",
                                      "encrypt",
                                      "decrypt",
                                      "wrapKey",
                                      "unwrapKey",
                                      "deriveKey",
                                      "deriveBits"
                                    ]
                                  }
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "oth": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "d": {
                                        "type": "string"
                                      },
                                      "r": {
                                        "type": "string"
                                      },
                                      "t": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "p": {
                                  "type": "string"
                                },
                                "q": {
                                  "type": "string"
                                },
                                "qi": {
                                  "type": "string"
                                },
                                "use": {
                                  "type": "string"
                                },
                                "x5c": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                },
                                "x5t": {
                                  "type": "string",
                                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                },
                                "x5t#S256": {
                                  "type": "string",
                                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                },
                                "x5u": {
                                  "type": "string",
                                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                },
                                "iv": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": {},
                              "required": [
                                "kty"
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "x5c"
                            },
                            "identifier": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "did"
                            },
                            "identifier": {
                              "anyOf": [
                                {
                                  "$ref": "#/components/schemas/IIdentifier"
                                },
                                {
                                  "type": "string"
                                }
                              ]
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            },
                            "keyType": {
                              "$ref": "#/components/schemas/TKeyType"
                            },
                            "offlineWhenNoDIDRegistered": {
                              "type": "boolean"
                            },
                            "noVerificationMethodFallback": {
                              "type": "boolean"
                            },
                            "controllerKey": {
                              "type": "boolean"
                            },
                            "vmRelationship": {
                              "$ref": "#/components/schemas/DIDDocumentSection"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "kid"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "key"
                            },
                            "identifier": {
                              "$ref": "#/components/schemas/IKey"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "cose_key"
                            },
                            "identifier": {
                              "type": "object",
                              "properties": {
                                "kty": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    0
                                  ]
                                },
                                "kid": {
                                  "type": "string"
                                },
                                "alg": {
                                  "type": "number",
                                  "enum": [
                                    -7,
                                    -47,
                                    -35,
                                    -36,
                                    -8,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -37,
                                    -38,
                                    -39
                                  ]
                                },
                                "key_ops": {
                                  "type": "array",
                                  "items": {
                                    "type": "number",
                                    "enum": [
                                      1,
                                      2,
                                      3,
                                      4,
                                      5,
                                      6,
                                      7,
                                      8,
                                      9,
                                      10
                                    ]
                                  }
                                },
                                "baseIV": {
                                  "type": "string"
                                },
                                "crv": {
                                  "type": "number",
                                  "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    -1
                                  ]
                                },
                                "x": {
                                  "type": "string"
                                },
                                "y": {
                                  "type": "string"
                                },
                                "d": {
                                  "type": "string"
                                },
                                "x5chain": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "kty"
                              ],
                              "additionalProperties": {},
                              "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "const": "oid4vci-issuer"
                            },
                            "identifier": {
                              "type": "string"
                            },
                            "kmsKeyRef": {
                              "type": "string"
                            },
                            "issuer": {
                              "type": "string"
                            },
                            "kid": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "identifier"
                          ]
                        }
                      ]
                    },
                    "key": {
                      "$ref": "#/components/schemas/IKey"
                    },
                    "kid": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "type": "string"
                    },
                    "identifier": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/IIdentifier"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        {
                          "$ref": "#/components/schemas/IKey"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                0
                              ]
                            },
                            "kid": {
                              "type": "string"
                            },
                            "alg": {
                              "type": "number",
                              "enum": [
                                -7,
                                -47,
                                -35,
                                -36,
                                -8,
                                4,
                                5,
                                6,
                                7,
                                -37,
                                -38,
                                -39
                              ]
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "number",
                                "enum": [
                                  1,
                                  2,
                                  3,
                                  4,
                                  5,
                                  6,
                                  7,
                                  8,
                                  9,
                                  10
                                ]
                              }
                            },
                            "baseIV": {
                              "type": "string"
                            },
                            "crv": {
                              "type": "number",
                              "enum": [
                                1,
                                2,
                                3,
                                4,
                                5,
                                6,
                                7,
                                -1
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "x5chain": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "kty"
                          ],
                          "additionalProperties": {},
                          "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                        }
                      ],
                      "description": "Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types"
                    }
                  },
                  "required": [
                    "identifier",
                    "jwk",
                    "jwkThumbprint",
                    "key",
                    "kmsKeyRef",
                    "method",
                    "opts"
                  ]
                }
              ]
            }
          },
          "required": [
            "jws",
            "b64",
            "identifier"
          ]
        },
        "PreparedJws": {
          "type": "object",
          "properties": {
            "protectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "payload": {
              "type": "object",
              "properties": {
                "BYTES_PER_ELEMENT": {
                  "type": "number"
                },
                "buffer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "byteLength": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "byteLength"
                      ]
                    },
                    {}
                  ]
                },
                "byteLength": {
                  "type": "number"
                },
                "byteOffset": {
                  "type": "number"
                },
                "length": {
                  "type": "number"
                }
              },
              "required": [
                "BYTES_PER_ELEMENT",
                "buffer",
                "byteLength",
                "byteOffset",
                "length"
              ],
              "additionalProperties": {
                "type": "number"
              }
            },
            "unprotectedHeader": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "existingSignatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignature"
              }
            }
          },
          "required": [
            "protectedHeader",
            "payload"
          ]
        },
        "VerifyJwsArgs": {
          "type": "object",
          "properties": {
            "jws": {
              "$ref": "#/components/schemas/Jws"
            },
            "jwk": {
              "type": "object",
              "properties": {
                "kty": {
                  "type": "string",
                  "enum": [
                    "EC",
                    "RSA",
                    "oct",
                    "OKP"
                  ]
                },
                "crv": {
                  "type": "string",
                  "enum": [
                    "P-256",
                    "P-384",
                    "P-521",
                    "X25519",
                    "X448",
                    "EdDSA",
                    "Ed25519",
                    "Ed448",
                    "secp256k1"
                  ]
                },
                "alg": {
                  "type": "string",
                  "enum": [
                    "RS256",
                    "RS384",
                    "RS512",
                    "ES256",
                    "ES256K",
                    "ES384",
                    "ES512",
                    "EdDSA",
                    "HS256",
                    "HS384",
                    "HS512",
                    "PS256",
                    "PS384",
                    "PS512",
                    "none"
                  ]
                },
                "x": {
                  "type": "string"
                },
                "y": {
                  "type": "string"
                },
                "e": {
                  "type": "string"
                },
                "n": {
                  "type": "string"
                },
                "d": {
                  "type": "string"
                },
                "dp": {
                  "type": "string"
                },
                "dq": {
                  "type": "string"
                },
                "ext": {
                  "type": "boolean"
                },
                "k": {
                  "type": "string"
                },
                "key_ops": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "sign",
                      "verify",
                      "encrypt",
                      "decrypt",
                      "wrapKey",
                      "unwrapKey",
                      "deriveKey",
                      "deriveBits"
                    ]
                  }
                },
                "kid": {
                  "type": "string"
                },
                "oth": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "d": {
                        "type": "string"
                      },
                      "r": {
                        "type": "string"
                      },
                      "t": {
                        "type": "string"
                      }
                    }
                  }
                },
                "p": {
                  "type": "string"
                },
                "q": {
                  "type": "string"
                },
                "qi": {
                  "type": "string"
                },
                "use": {
                  "type": "string"
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                },
                "x5t": {
                  "type": "string",
                  "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                },
                "x5t#S256": {
                  "type": "string",
                  "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                },
                "x5u": {
                  "type": "string",
                  "description": "JWK \"x5u\" (X.509 URL) Parameter."
                },
                "iv": {
                  "type": "string"
                }
              },
              "additionalProperties": {},
              "required": [
                "kty"
              ]
            },
            "opts": {
              "type": "object",
              "properties": {
                "x5c": {
                  "type": "object",
                  "properties": {
                    "allowNoTrustAnchorsFound": {
                      "type": "boolean"
                    },
                    "trustRootWhenNoAnchors": {
                      "type": "boolean"
                    },
                    "allowSingleNoCAChainElement": {
                      "type": "boolean"
                    },
                    "blindlyTrustedAnchors": {
                      "allOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    },
                    "disallowReversedChain": {
                      "type": "boolean"
                    },
                    "client": {
                      "type": "object",
                      "properties": {
                        "clientId": {
                          "type": "string"
                        },
                        "clientIdScheme": {
                          "type": "string",
                          "enum": [
                            "x509_san_dns",
                            "x509_san_uri"
                          ]
                        }
                      },
                      "required": [
                        "clientId",
                        "clientIdScheme"
                      ]
                    },
                    "method": {
                      "type": "object",
                      "properties": {}
                    },
                    "verify": {
                      "type": "boolean"
                    },
                    "verificationTime": {
                      "type": "string"
                    },
                    "trustAnchors": {
                      "allOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    }
                  }
                },
                "did": {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "object",
                      "properties": {}
                    },
                    "noVerificationMethodFallback": {
                      "type": "boolean"
                    },
                    "vmRelationship": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    },
                    "localResolution": {
                      "type": "boolean"
                    },
                    "uniresolverResolution": {
                      "type": "boolean"
                    },
                    "resolverResolution": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "required": [
            "jws"
          ]
        },
        "Jws": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/JwsCompact"
            },
            {
              "$ref": "#/components/schemas/JwsJsonFlattened"
            },
            {
              "$ref": "#/components/schemas/JwsJsonGeneral"
            }
          ]
        },
        "IJwsValidationResult": {
          "type": "object",
          "properties": {
            "jws": {
              "$ref": "#/components/schemas/JwsJsonGeneralWithIdentifiers"
            },
            "name": {
              "type": "string",
              "description": "The name of the validation or its subsystem. Mainly used for information purposes. Not assumed to be unique"
            },
            "error": {
              "type": "boolean",
              "description": "Whether the validation was successful or not"
            },
            "critical": {
              "type": "boolean",
              "description": "Whether an error can be ignored or not (up to processing logic)"
            },
            "message": {
              "type": "string",
              "description": "Any status/info message about the validation"
            },
            "verificationTime": {
              "type": "string",
              "format": "date-time",
              "description": "The date and time of the validation"
            }
          },
          "required": [
            "critical",
            "error",
            "jws",
            "message",
            "name",
            "verificationTime"
          ]
        },
        "JwsJsonGeneralWithIdentifiers": {
          "type": "object",
          "properties": {
            "payload": {
              "type": "string"
            },
            "signatures": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JwsJsonSignatureWithIdentifier"
              }
            }
          },
          "required": [
            "payload",
            "signatures"
          ]
        },
        "JwsJsonSignatureWithIdentifier": {
          "type": "object",
          "properties": {
            "protected": {
              "type": "string"
            },
            "header": {
              "$ref": "#/components/schemas/JwsHeader"
            },
            "signature": {
              "type": "string"
            },
            "identifier": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "did"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "did": {
                      "type": "string"
                    },
                    "didDocument": {
                      "$ref": "#/components/schemas/DIDDocument"
                    },
                    "didJwks": {
                      "type": "object",
                      "properties": {
                        "verificationMethod": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "authentication": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "assertionMethod": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "keyAgreement": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "capabilityInvocation": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        },
                        "capabilityDelegation": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          }
                        }
                      },
                      "required": [
                        "verificationMethod",
                        "authentication",
                        "assertionMethod",
                        "keyAgreement",
                        "capabilityInvocation",
                        "capabilityDelegation"
                      ]
                    },
                    "didResolutionResult": {
                      "type": "object",
                      "properties": {
                        "@context": {
                          "anyOf": [
                            {
                              "type": "string",
                              "const": "https://w3id.org/did-resolution/v1"
                            },
                            {
                              "type": "string"
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            }
                          ]
                        },
                        "didResolutionMetadata": {
                          "$ref": "#/components/schemas/DIDResolutionMetadata"
                        },
                        "didDocumentMetadata": {
                          "$ref": "#/components/schemas/DIDDocumentMetadata"
                        }
                      },
                      "required": [
                        "didResolutionMetadata",
                        "didDocumentMetadata"
                      ]
                    },
                    "didParsed": {
                      "type": "object",
                      "properties": {
                        "did": {
                          "type": "string"
                        },
                        "didUrl": {
                          "type": "string"
                        },
                        "method": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string"
                        },
                        "fragment": {
                          "type": "string"
                        },
                        "query": {
                          "type": "string"
                        },
                        "params": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "did",
                        "didUrl",
                        "method",
                        "id"
                      ]
                    }
                  },
                  "required": [
                    "did",
                    "didParsed",
                    "didResolutionResult",
                    "jwks",
                    "method"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "x5c"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "x5c": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "issuerJWK": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "verificationResult": {
                      "type": "object",
                      "properties": {
                        "error": {
                          "type": "boolean"
                        },
                        "critical": {
                          "type": "boolean"
                        },
                        "message": {
                          "type": "string"
                        },
                        "detailMessage": {
                          "type": "string"
                        },
                        "verificationTime": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "certificateChain": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "certificate": {},
                              "notBefore": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "notAfter": {
                                "type": "string",
                                "format": "date-time"
                              },
                              "publicKeyJWK": {},
                              "issuer": {
                                "type": "object",
                                "properties": {
                                  "dn": {
                                    "type": "object",
                                    "properties": {
                                      "DN": {
                                        "type": "string"
                                      },
                                      "attributes": {
                                        "type": "object",
                                        "additionalProperties": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "DN",
                                      "attributes"
                                    ]
                                  }
                                },
                                "required": [
                                  "dn"
                                ]
                              },
                              "subject": {
                                "type": "object",
                                "properties": {
                                  "dn": {
                                    "type": "object",
                                    "properties": {
                                      "DN": {
                                        "type": "string"
                                      },
                                      "attributes": {
                                        "type": "object",
                                        "additionalProperties": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "DN",
                                      "attributes"
                                    ]
                                  },
                                  "subjectAlternativeNames": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "value": {
                                          "type": "string"
                                        },
                                        "type": {
                                          "type": "number",
                                          "enum": [
                                            1,
                                            2,
                                            6,
                                            7
                                          ],
                                          "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                        }
                                      },
                                      "required": [
                                        "value",
                                        "type"
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "dn",
                                  "subjectAlternativeNames"
                                ]
                              }
                            },
                            "required": [
                              "notBefore",
                              "notAfter",
                              "issuer",
                              "subject"
                            ]
                          }
                        },
                        "trustAnchor": {
                          "type": "object",
                          "properties": {
                            "certificate": {},
                            "notBefore": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "notAfter": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "publicKeyJWK": {},
                            "issuer": {
                              "type": "object",
                              "properties": {
                                "dn": {
                                  "type": "object",
                                  "properties": {
                                    "DN": {
                                      "type": "string"
                                    },
                                    "attributes": {
                                      "type": "object",
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "required": [
                                    "DN",
                                    "attributes"
                                  ]
                                }
                              },
                              "required": [
                                "dn"
                              ]
                            },
                            "subject": {
                              "type": "object",
                              "properties": {
                                "dn": {
                                  "type": "object",
                                  "properties": {
                                    "DN": {
                                      "type": "string"
                                    },
                                    "attributes": {
                                      "type": "object",
                                      "additionalProperties": {
                                        "type": "string"
                                      }
                                    }
                                  },
                                  "required": [
                                    "DN",
                                    "attributes"
                                  ]
                                },
                                "subjectAlternativeNames": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "value": {
                                        "type": "string"
                                      },
                                      "type": {
                                        "type": "number",
                                        "enum": [
                                          1,
                                          2,
                                          6,
                                          7
                                        ],
                                        "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                      }
                                    },
                                    "required": [
                                      "value",
                                      "type"
                                    ]
                                  }
                                }
                              },
                              "required": [
                                "dn",
                                "subjectAlternativeNames"
                              ]
                            }
                          },
                          "required": [
                            "notBefore",
                            "notAfter",
                            "issuer",
                            "subject"
                          ]
                        },
                        "client": {
                          "type": "object",
                          "properties": {
                            "clientId": {
                              "type": "string"
                            },
                            "clientIdScheme": {
                              "type": "string",
                              "enum": [
                                "x509_san_dns",
                                "x509_san_uri"
                              ]
                            }
                          },
                          "required": [
                            "clientId",
                            "clientIdScheme"
                          ]
                        }
                      },
                      "required": [
                        "error",
                        "critical",
                        "message",
                        "verificationTime"
                      ]
                    },
                    "certificates": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "required": [
                    "certificates",
                    "issuerJWK",
                    "jwks",
                    "method",
                    "x5c"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "jwk"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "jwk": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "string",
                          "enum": [
                            "EC",
                            "RSA",
                            "oct",
                            "OKP"
                          ]
                        },
                        "crv": {
                          "type": "string",
                          "enum": [
                            "P-256",
                            "P-384",
                            "P-521",
                            "X25519",
                            "X448",
                            "EdDSA",
                            "Ed25519",
                            "Ed448",
                            "secp256k1"
                          ]
                        },
                        "alg": {
                          "type": "string",
                          "enum": [
                            "RS256",
                            "RS384",
                            "RS512",
                            "ES256",
                            "ES256K",
                            "ES384",
                            "ES512",
                            "EdDSA",
                            "HS256",
                            "HS384",
                            "HS512",
                            "PS256",
                            "PS384",
                            "PS512",
                            "none"
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "e": {
                          "type": "string"
                        },
                        "n": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "dp": {
                          "type": "string"
                        },
                        "dq": {
                          "type": "string"
                        },
                        "ext": {
                          "type": "boolean"
                        },
                        "k": {
                          "type": "string"
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "sign",
                              "verify",
                              "encrypt",
                              "decrypt",
                              "wrapKey",
                              "unwrapKey",
                              "deriveKey",
                              "deriveBits"
                            ]
                          }
                        },
                        "kid": {
                          "type": "string"
                        },
                        "oth": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "d": {
                                "type": "string"
                              },
                              "r": {
                                "type": "string"
                              },
                              "t": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "p": {
                          "type": "string"
                        },
                        "q": {
                          "type": "string"
                        },
                        "qi": {
                          "type": "string"
                        },
                        "use": {
                          "type": "string"
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                        },
                        "x5t": {
                          "type": "string",
                          "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                        },
                        "x5t#S256": {
                          "type": "string",
                          "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                        },
                        "x5u": {
                          "type": "string",
                          "description": "JWK \"x5u\" (X.509 URL) Parameter."
                        },
                        "iv": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": {},
                      "required": [
                        "kty"
                      ]
                    },
                    "x5c": {
                      "type": "object",
                      "properties": {
                        "method": {
                          "type": "string",
                          "const": "x5c"
                        },
                        "jwks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "jwk": {
                                "type": "object",
                                "properties": {
                                  "kty": {
                                    "type": "string",
                                    "enum": [
                                      "EC",
                                      "RSA",
                                      "oct",
                                      "OKP"
                                    ]
                                  },
                                  "crv": {
                                    "type": "string",
                                    "enum": [
                                      "P-256",
                                      "P-384",
                                      "P-521",
                                      "X25519",
                                      "X448",
                                      "EdDSA",
                                      "Ed25519",
                                      "Ed448",
                                      "secp256k1"
                                    ]
                                  },
                                  "alg": {
                                    "type": "string",
                                    "enum": [
                                      "RS256",
                                      "RS384",
                                      "RS512",
                                      "ES256",
                                      "ES256K",
                                      "ES384",
                                      "ES512",
                                      "EdDSA",
                                      "HS256",
                                      "HS384",
                                      "HS512",
                                      "PS256",
                                      "PS384",
                                      "PS512",
                                      "none"
                                    ]
                                  },
                                  "x": {
                                    "type": "string"
                                  },
                                  "y": {
                                    "type": "string"
                                  },
                                  "e": {
                                    "type": "string"
                                  },
                                  "n": {
                                    "type": "string"
                                  },
                                  "d": {
                                    "type": "string"
                                  },
                                  "dp": {
                                    "type": "string"
                                  },
                                  "dq": {
                                    "type": "string"
                                  },
                                  "ext": {
                                    "type": "boolean"
                                  },
                                  "k": {
                                    "type": "string"
                                  },
                                  "key_ops": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "enum": [
                                        "sign",
                                        "verify",
                                        "encrypt",
                                        "decrypt",
                                        "wrapKey",
                                        "unwrapKey",
                                        "deriveKey",
                                        "deriveBits"
                                      ]
                                    }
                                  },
                                  "kid": {
                                    "type": "string"
                                  },
                                  "oth": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "d": {
                                          "type": "string"
                                        },
                                        "r": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  },
                                  "p": {
                                    "type": "string"
                                  },
                                  "q": {
                                    "type": "string"
                                  },
                                  "qi": {
                                    "type": "string"
                                  },
                                  "use": {
                                    "type": "string"
                                  },
                                  "x5c": {
                                    "type": "array",
                                    "items": {
                                      "type": "string"
                                    },
                                    "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                  },
                                  "x5t": {
                                    "type": "string",
                                    "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                  },
                                  "x5t#S256": {
                                    "type": "string",
                                    "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                  },
                                  "x5u": {
                                    "type": "string",
                                    "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                  },
                                  "iv": {
                                    "type": "string"
                                  }
                                },
                                "additionalProperties": {},
                                "required": [
                                  "kty"
                                ]
                              },
                              "jwkThumbprint": {
                                "type": "string"
                              },
                              "kid": {
                                "type": "string"
                              },
                              "publicKeyHex": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "jwk",
                              "jwkThumbprint",
                              "publicKeyHex"
                            ]
                          }
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "issuerJWK": {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        "verificationResult": {
                          "type": "object",
                          "properties": {
                            "error": {
                              "type": "boolean"
                            },
                            "critical": {
                              "type": "boolean"
                            },
                            "message": {
                              "type": "string"
                            },
                            "detailMessage": {
                              "type": "string"
                            },
                            "verificationTime": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "certificateChain": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "certificate": {},
                                  "notBefore": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "notAfter": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "publicKeyJWK": {},
                                  "issuer": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "dn"
                                    ]
                                  },
                                  "subject": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      },
                                      "subjectAlternativeNames": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "value": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "number",
                                              "enum": [
                                                1,
                                                2,
                                                6,
                                                7
                                              ],
                                              "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                            }
                                          },
                                          "required": [
                                            "value",
                                            "type"
                                          ]
                                        }
                                      }
                                    },
                                    "required": [
                                      "dn",
                                      "subjectAlternativeNames"
                                    ]
                                  }
                                },
                                "required": [
                                  "notBefore",
                                  "notAfter",
                                  "issuer",
                                  "subject"
                                ]
                              }
                            },
                            "trustAnchor": {
                              "type": "object",
                              "properties": {
                                "certificate": {},
                                "notBefore": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "notAfter": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "publicKeyJWK": {},
                                "issuer": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "dn"
                                  ]
                                },
                                "subject": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    },
                                    "subjectAlternativeNames": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "value": {
                                            "type": "string"
                                          },
                                          "type": {
                                            "type": "number",
                                            "enum": [
                                              1,
                                              2,
                                              6,
                                              7
                                            ],
                                            "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                          }
                                        },
                                        "required": [
                                          "value",
                                          "type"
                                        ]
                                      }
                                    }
                                  },
                                  "required": [
                                    "dn",
                                    "subjectAlternativeNames"
                                  ]
                                }
                              },
                              "required": [
                                "notBefore",
                                "notAfter",
                                "issuer",
                                "subject"
                              ]
                            },
                            "client": {
                              "type": "object",
                              "properties": {
                                "clientId": {
                                  "type": "string"
                                },
                                "clientIdScheme": {
                                  "type": "string",
                                  "enum": [
                                    "x509_san_dns",
                                    "x509_san_uri"
                                  ]
                                }
                              },
                              "required": [
                                "clientId",
                                "clientIdScheme"
                              ]
                            }
                          },
                          "required": [
                            "error",
                            "critical",
                            "message",
                            "verificationTime"
                          ]
                        },
                        "certificates": {
                          "type": "array",
                          "items": {}
                        }
                      },
                      "required": [
                        "certificates",
                        "issuerJWK",
                        "jwks",
                        "method",
                        "x5c"
                      ]
                    }
                  },
                  "required": [
                    "jwk",
                    "jwks",
                    "method"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "entity_id"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "trustedAnchors": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "errorList": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      }
                    },
                    "jwtPayload": {
                      "type": "object",
                      "additionalProperties": {},
                      "properties": {
                        "iss": {
                          "type": "string"
                        },
                        "sub": {
                          "type": "string"
                        },
                        "aud": {
                          "anyOf": [
                            {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "exp": {
                          "type": "number"
                        },
                        "nbf": {
                          "type": "number"
                        },
                        "iat": {
                          "type": "number"
                        },
                        "jti": {
                          "type": "string"
                        }
                      }
                    },
                    "trustEstablished": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "jwks",
                    "method",
                    "trustEstablished",
                    "trustedAnchors"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "method": {
                      "type": "string",
                      "const": "cose_key"
                    },
                    "jwks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "jwk": {
                            "type": "object",
                            "properties": {
                              "kty": {
                                "type": "string",
                                "enum": [
                                  "EC",
                                  "RSA",
                                  "oct",
                                  "OKP"
                                ]
                              },
                              "crv": {
                                "type": "string",
                                "enum": [
                                  "P-256",
                                  "P-384",
                                  "P-521",
                                  "X25519",
                                  "X448",
                                  "EdDSA",
                                  "Ed25519",
                                  "Ed448",
                                  "secp256k1"
                                ]
                              },
                              "alg": {
                                "type": "string",
                                "enum": [
                                  "RS256",
                                  "RS384",
                                  "RS512",
                                  "ES256",
                                  "ES256K",
                                  "ES384",
                                  "ES512",
                                  "EdDSA",
                                  "HS256",
                                  "HS384",
                                  "HS512",
                                  "PS256",
                                  "PS384",
                                  "PS512",
                                  "none"
                                ]
                              },
                              "x": {
                                "type": "string"
                              },
                              "y": {
                                "type": "string"
                              },
                              "e": {
                                "type": "string"
                              },
                              "n": {
                                "type": "string"
                              },
                              "d": {
                                "type": "string"
                              },
                              "dp": {
                                "type": "string"
                              },
                              "dq": {
                                "type": "string"
                              },
                              "ext": {
                                "type": "boolean"
                              },
                              "k": {
                                "type": "string"
                              },
                              "key_ops": {
                                "type": "array",
                                "items": {
                                  "type": "string",
                                  "enum": [
                                    "sign",
                                    "verify",
                                    "encrypt",
                                    "decrypt",
                                    "wrapKey",
                                    "unwrapKey",
                                    "deriveKey",
                                    "deriveBits"
                                  ]
                                }
                              },
                              "kid": {
                                "type": "string"
                              },
                              "oth": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "d": {
                                      "type": "string"
                                    },
                                    "r": {
                                      "type": "string"
                                    },
                                    "t": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "p": {
                                "type": "string"
                              },
                              "q": {
                                "type": "string"
                              },
                              "qi": {
                                "type": "string"
                              },
                              "use": {
                                "type": "string"
                              },
                              "x5c": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                              },
                              "x5t": {
                                "type": "string",
                                "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                              },
                              "x5t#S256": {
                                "type": "string",
                                "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                              },
                              "x5u": {
                                "type": "string",
                                "description": "JWK \"x5u\" (X.509 URL) Parameter."
                              },
                              "iv": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": {},
                            "required": [
                              "kty"
                            ]
                          },
                          "jwkThumbprint": {
                            "type": "string"
                          },
                          "kid": {
                            "type": "string"
                          },
                          "publicKeyHex": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "jwk",
                          "jwkThumbprint",
                          "publicKeyHex"
                        ]
                      }
                    },
                    "coseKey": {
                      "type": "object",
                      "properties": {
                        "kty": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            0
                          ]
                        },
                        "kid": {
                          "type": "string"
                        },
                        "alg": {
                          "type": "number",
                          "enum": [
                            -7,
                            -47,
                            -35,
                            -36,
                            -8,
                            4,
                            5,
                            6,
                            7,
                            -37,
                            -38,
                            -39
                          ]
                        },
                        "key_ops": {
                          "type": "array",
                          "items": {
                            "type": "number",
                            "enum": [
                              1,
                              2,
                              3,
                              4,
                              5,
                              6,
                              7,
                              8,
                              9,
                              10
                            ]
                          }
                        },
                        "baseIV": {
                          "type": "string"
                        },
                        "crv": {
                          "type": "number",
                          "enum": [
                            1,
                            2,
                            3,
                            4,
                            5,
                            6,
                            7,
                            -1
                          ]
                        },
                        "x": {
                          "type": "string"
                        },
                        "y": {
                          "type": "string"
                        },
                        "d": {
                          "type": "string"
                        },
                        "x5chain": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "kty"
                      ],
                      "additionalProperties": {},
                      "description": "See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\n\nConversion functions are available in above library. Conversion functions are also available for TS in our"
                    },
                    "x5c": {
                      "type": "object",
                      "properties": {
                        "method": {
                          "type": "string",
                          "const": "x5c"
                        },
                        "jwks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "jwk": {
                                "type": "object",
                                "properties": {
                                  "kty": {
                                    "type": "string",
                                    "enum": [
                                      "EC",
                                      "RSA",
                                      "oct",
                                      "OKP"
                                    ]
                                  },
                                  "crv": {
                                    "type": "string",
                                    "enum": [
                                      "P-256",
                                      "P-384",
                                      "P-521",
                                      "X25519",
                                      "X448",
                                      "EdDSA",
                                      "Ed25519",
                                      "Ed448",
                                      "secp256k1"
                                    ]
                                  },
                                  "alg": {
                                    "type": "string",
                                    "enum": [
                                      "RS256",
                                      "RS384",
                                      "RS512",
                                      "ES256",
                                      "ES256K",
                                      "ES384",
                                      "ES512",
                                      "EdDSA",
                                      "HS256",
                                      "HS384",
                                      "HS512",
                                      "PS256",
                                      "PS384",
                                      "PS512",
                                      "none"
                                    ]
                                  },
                                  "x": {
                                    "type": "string"
                                  },
                                  "y": {
                                    "type": "string"
                                  },
                                  "e": {
                                    "type": "string"
                                  },
                                  "n": {
                                    "type": "string"
                                  },
                                  "d": {
                                    "type": "string"
                                  },
                                  "dp": {
                                    "type": "string"
                                  },
                                  "dq": {
                                    "type": "string"
                                  },
                                  "ext": {
                                    "type": "boolean"
                                  },
                                  "k": {
                                    "type": "string"
                                  },
                                  "key_ops": {
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "enum": [
                                        "sign",
                                        "verify",
                                        "encrypt",
                                        "decrypt",
                                        "wrapKey",
                                        "unwrapKey",
                                        "deriveKey",
                                        "deriveBits"
                                      ]
                                    }
                                  },
                                  "kid": {
                                    "type": "string"
                                  },
                                  "oth": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "d": {
                                          "type": "string"
                                        },
                                        "r": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "type": "string"
                                        }
                                      }
                                    }
                                  },
                                  "p": {
                                    "type": "string"
                                  },
                                  "q": {
                                    "type": "string"
                                  },
                                  "qi": {
                                    "type": "string"
                                  },
                                  "use": {
                                    "type": "string"
                                  },
                                  "x5c": {
                                    "type": "array",
                                    "items": {
                                      "type": "string"
                                    },
                                    "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                                  },
                                  "x5t": {
                                    "type": "string",
                                    "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                                  },
                                  "x5t#S256": {
                                    "type": "string",
                                    "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                                  },
                                  "x5u": {
                                    "type": "string",
                                    "description": "JWK \"x5u\" (X.509 URL) Parameter."
                                  },
                                  "iv": {
                                    "type": "string"
                                  }
                                },
                                "additionalProperties": {},
                                "required": [
                                  "kty"
                                ]
                              },
                              "jwkThumbprint": {
                                "type": "string"
                              },
                              "kid": {
                                "type": "string"
                              },
                              "publicKeyHex": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "jwk",
                              "jwkThumbprint",
                              "publicKeyHex"
                            ]
                          }
                        },
                        "x5c": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "issuerJWK": {
                          "type": "object",
                          "properties": {
                            "kty": {
                              "type": "string",
                              "enum": [
                                "EC",
                                "RSA",
                                "oct",
                                "OKP"
                              ]
                            },
                            "crv": {
                              "type": "string",
                              "enum": [
                                "P-256",
                                "P-384",
                                "P-521",
                                "X25519",
                                "X448",
                                "EdDSA",
                                "Ed25519",
                                "Ed448",
                                "secp256k1"
                              ]
                            },
                            "alg": {
                              "type": "string",
                              "enum": [
                                "RS256",
                                "RS384",
                                "RS512",
                                "ES256",
                                "ES256K",
                                "ES384",
                                "ES512",
                                "EdDSA",
                                "HS256",
                                "HS384",
                                "HS512",
                                "PS256",
                                "PS384",
                                "PS512",
                                "none"
                              ]
                            },
                            "x": {
                              "type": "string"
                            },
                            "y": {
                              "type": "string"
                            },
                            "e": {
                              "type": "string"
                            },
                            "n": {
                              "type": "string"
                            },
                            "d": {
                              "type": "string"
                            },
                            "dp": {
                              "type": "string"
                            },
                            "dq": {
                              "type": "string"
                            },
                            "ext": {
                              "type": "boolean"
                            },
                            "k": {
                              "type": "string"
                            },
                            "key_ops": {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "enum": [
                                  "sign",
                                  "verify",
                                  "encrypt",
                                  "decrypt",
                                  "wrapKey",
                                  "unwrapKey",
                                  "deriveKey",
                                  "deriveBits"
                                ]
                              }
                            },
                            "kid": {
                              "type": "string"
                            },
                            "oth": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "d": {
                                    "type": "string"
                                  },
                                  "r": {
                                    "type": "string"
                                  },
                                  "t": {
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "p": {
                              "type": "string"
                            },
                            "q": {
                              "type": "string"
                            },
                            "qi": {
                              "type": "string"
                            },
                            "use": {
                              "type": "string"
                            },
                            "x5c": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "JWK \"x5c\" (X.509 Certificate Chain) Parameter."
                            },
                            "x5t": {
                              "type": "string",
                              "description": "JWK \"x5t\" (X.509 Certificate SHA-1 Thumbprint) Parameter."
                            },
                            "x5t#S256": {
                              "type": "string",
                              "description": "\"x5t#S256\" (X.509 Certificate SHA-256 Thumbprint) Parameter."
                            },
                            "x5u": {
                              "type": "string",
                              "description": "JWK \"x5u\" (X.509 URL) Parameter."
                            },
                            "iv": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": {},
                          "required": [
                            "kty"
                          ]
                        },
                        "verificationResult": {
                          "type": "object",
                          "properties": {
                            "error": {
                              "type": "boolean"
                            },
                            "critical": {
                              "type": "boolean"
                            },
                            "message": {
                              "type": "string"
                            },
                            "detailMessage": {
                              "type": "string"
                            },
                            "verificationTime": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "certificateChain": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "certificate": {},
                                  "notBefore": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "notAfter": {
                                    "type": "string",
                                    "format": "date-time"
                                  },
                                  "publicKeyJWK": {},
                                  "issuer": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "dn"
                                    ]
                                  },
                                  "subject": {
                                    "type": "object",
                                    "properties": {
                                      "dn": {
                                        "type": "object",
                                        "properties": {
                                          "DN": {
                                            "type": "string"
                                          },
                                          "attributes": {
                                            "type": "object",
                                            "additionalProperties": {
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "required": [
                                          "DN",
                                          "attributes"
                                        ]
                                      },
                                      "subjectAlternativeNames": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "value": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "number",
                                              "enum": [
                                                1,
                                                2,
                                                6,
                                                7
                                              ],
                                              "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                            }
                                          },
                                          "required": [
                                            "value",
                                            "type"
                                          ]
                                        }
                                      }
                                    },
                                    "required": [
                                      "dn",
                                      "subjectAlternativeNames"
                                    ]
                                  }
                                },
                                "required": [
                                  "notBefore",
                                  "notAfter",
                                  "issuer",
                                  "subject"
                                ]
                              }
                            },
                            "trustAnchor": {
                              "type": "object",
                              "properties": {
                                "certificate": {},
                                "notBefore": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "notAfter": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "publicKeyJWK": {},
                                "issuer": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    }
                                  },
                                  "required": [
                                    "dn"
                                  ]
                                },
                                "subject": {
                                  "type": "object",
                                  "properties": {
                                    "dn": {
                                      "type": "object",
                                      "properties": {
                                        "DN": {
                                          "type": "string"
                                        },
                                        "attributes": {
                                          "type": "object",
                                          "additionalProperties": {
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "required": [
                                        "DN",
                                        "attributes"
                                      ]
                                    },
                                    "subjectAlternativeNames": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "value": {
                                            "type": "string"
                                          },
                                          "type": {
                                            "type": "number",
                                            "enum": [
                                              1,
                                              2,
                                              6,
                                              7
                                            ],
                                            "description": "otherName                       [0]     OtherName,        rfc822Name                      [1]     IA5String,        dNSName                         [2]     IA5String,        x400Address                     [3]     ORAddress,        directoryName                   [4]     Name,        ediPartyName                    [5]     EDIPartyName,        uniformResourceIdentifier       [6]     IA5String,        iPAddress                       [7]     OCTET STRING,        registeredID                    [8]     OBJECT IDENTIFIER }"
                                          }
                                        },
                                        "required": [
                                          "value",
                                          "type"
                                        ]
                                      }
                                    }
                                  },
                                  "required": [
                                    "dn",
                                    "subjectAlternativeNames"
                                  ]
                                }
                              },
                              "required": [
                                "notBefore",
                                "notAfter",
                                "issuer",
                                "subject"
                              ]
                            },
                            "client": {
                              "type": "object",
                              "properties": {
                                "clientId": {
                                  "type": "string"
                                },
                                "clientIdScheme": {
                                  "type": "string",
                                  "enum": [
                                    "x509_san_dns",
                                    "x509_san_uri"
                                  ]
                                }
                              },
                              "required": [
                                "clientId",
                                "clientIdScheme"
                              ]
                            }
                          },
                          "required": [
                            "error",
                            "critical",
                            "message",
                            "verificationTime"
                          ]
                        },
                        "certificates": {
                          "type": "array",
                          "items": {}
                        }
                      },
                      "required": [
                        "certificates",
                        "issuerJWK",
                        "jwks",
                        "method",
                        "x5c"
                      ]
                    }
                  },
                  "required": [
                    "coseKey",
                    "jwks",
                    "method"
                  ]
                }
              ]
            }
          },
          "required": [
            "identifier",
            "protected",
            "signature"
          ]
        }
      },
      "methods": {
        "jwtCreateJwsCompactSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsCompactArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwtCompactResult"
          }
        },
        "jwtCreateJwsJsonFlattenedSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsFlattenedArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwsJsonFlattened"
          }
        },
        "jwtCreateJwsJsonGeneralSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsJsonArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwsJsonGeneral"
          }
        },
        "jwtDecryptJweCompactJwt": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/DecryptJweCompactJwtArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwtCompactResult"
          }
        },
        "jwtEncryptJweCompactJwt": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/EncryptJweCompactJwtArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/JwtCompactResult"
          }
        },
        "jwtPrepareJws": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/CreateJwsJsonArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/PreparedJwsObject"
          }
        },
        "jwtVerifyJwsSignature": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/VerifyJwsArgs"
          },
          "returnType": {
            "$ref": "#/components/schemas/IJwsValidationResult"
          }
        }
      }
    }
  }
}