{
  "IIdentifierResolution": {
    "components": {
      "schemas": {
        "ExternalIdentifierOpts": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "jwk"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ExternalIdentifierType"
                },
                "x5c": {
                  "$ref": "#/components/schemas/ExternalIdentifierX5cOpts"
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "x5c"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ExternalIdentifierType"
                },
                "verify": {
                  "type": "boolean"
                },
                "verificationTime": {
                  "type": "string",
                  "format": "date-time"
                },
                "trustAnchors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "allowNoTrustAnchorsFound": {
                  "type": "boolean"
                },
                "trustRootWhenNoAnchors": {
                  "type": "boolean"
                },
                "allowSingleNoCAChainElement": {
                  "type": "boolean"
                },
                "blindlyTrustedAnchors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "disallowReversedChain": {
                  "type": "boolean"
                },
                "client": {
                  "type": "object",
                  "properties": {
                    "clientId": {
                      "type": "string"
                    },
                    "clientIdScheme": {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    }
                  },
                  "required": [
                    "clientId",
                    "clientIdScheme"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "did"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ExternalIdentifierType"
                },
                "noVerificationMethodFallback": {
                  "type": "boolean"
                },
                "vmRelationship": {
                  "$ref": "#/components/schemas/DIDDocumentSection"
                },
                "localResolution": {
                  "type": "boolean"
                },
                "uniresolverResolution": {
                  "type": "boolean"
                },
                "resolverResolution": {
                  "type": "boolean"
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "kid"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ExternalIdentifierType"
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "cose_key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ExternalIdentifierType"
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "entity_id"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ExternalIdentifierType"
                },
                "trustAnchors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "identifier"
              ]
            }
          ]
        },
        "ExternalIdentifierType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "$ref": "#/components/schemas/JWK"
            }
          ],
          "description": "Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper runtime types"
        },
        "JWK": {
          "type": "object",
          "properties": {
            "kty": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JwkKeyType"
                },
                {
                  "$ref": "#/components/schemas/JwkKeyTypeString"
                }
              ]
            },
            "crv": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseCurve"
                },
                {
                  "$ref": "#/components/schemas/JoseCurveString"
                }
              ]
            },
            "alg": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/JoseSignatureAlgorithm"
                },
                {
                  "$ref": "#/components/schemas/JoseSignatureAlgorithmString"
                }
              ]
            },
            "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": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/JoseKeyOperation"
                  },
                  {
                    "$ref": "#/components/schemas/JoseKeyOperationString"
                  }
                ]
              }
            },
            "kid": {
              "type": "string"
            },
            "oth": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "d": {
                    "type": "string"
                  },
                  "r": {
                    "type": "string"
                  },
                  "t": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "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"
            }
          },
          "required": [
            "kty"
          ]
        },
        "JwkKeyType": {
          "type": "string",
          "enum": [
            "EC",
            "RSA",
            "oct",
            "OKP"
          ]
        },
        "JwkKeyTypeString": {
          "type": "string",
          "enum": [
            "EC",
            "RSA",
            "oct",
            "OKP"
          ]
        },
        "JoseCurve": {
          "type": "string",
          "enum": [
            "P-256",
            "P-384",
            "P-521",
            "X25519",
            "X448",
            "EdDSA",
            "Ed25519",
            "Ed448",
            "secp256k1"
          ]
        },
        "JoseCurveString": {
          "type": "string",
          "enum": [
            "P-256",
            "P-384",
            "P-521",
            "X25519",
            "X448",
            "EdDSA",
            "Ed25519",
            "Ed448",
            "secp256k1"
          ]
        },
        "JoseSignatureAlgorithm": {
          "type": "string",
          "enum": [
            "RS256",
            "RS384",
            "RS512",
            "ES256",
            "ES256K",
            "ES384",
            "ES512",
            "EdDSA",
            "HS256",
            "HS384",
            "HS512",
            "PS256",
            "PS384",
            "PS512",
            "none"
          ]
        },
        "JoseSignatureAlgorithmString": {
          "type": "string",
          "enum": [
            "RS256",
            "RS384",
            "RS512",
            "ES256",
            "ES256K",
            "ES384",
            "ES512",
            "EdDSA",
            "HS256",
            "HS384",
            "HS512",
            "PS256",
            "PS384",
            "PS512",
            "none"
          ]
        },
        "JoseKeyOperation": {
          "type": "string",
          "enum": [
            "sign",
            "verify",
            "encrypt",
            "decrypt",
            "wrapKey",
            "unwrapKey",
            "deriveKey",
            "deriveBits"
          ]
        },
        "JoseKeyOperationString": {
          "type": "string",
          "enum": [
            "sign",
            "verify",
            "encrypt",
            "decrypt",
            "wrapKey",
            "unwrapKey",
            "deriveKey",
            "deriveBits"
          ]
        },
        "ExternalIdentifierX5cOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "x5c"
            },
            "identifier": {
              "$ref": "#/components/schemas/ExternalIdentifierType"
            },
            "verify": {
              "type": "boolean"
            },
            "verificationTime": {
              "type": "string",
              "format": "date-time"
            },
            "trustAnchors": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowNoTrustAnchorsFound": {
              "type": "boolean"
            },
            "trustRootWhenNoAnchors": {
              "type": "boolean"
            },
            "allowSingleNoCAChainElement": {
              "type": "boolean"
            },
            "blindlyTrustedAnchors": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "disallowReversedChain": {
              "type": "boolean"
            },
            "client": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "$ref": "#/components/schemas/ClientIdScheme"
                }
              },
              "required": [
                "clientId",
                "clientIdScheme"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ClientIdScheme": {
          "type": "string",
          "enum": [
            "x509_san_dns",
            "x509_san_uri"
          ]
        },
        "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 }"
        },
        "ExternalIdentifierResult": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "did": {
                  "type": "string"
                },
                "didDocument": {
                  "$ref": "#/components/schemas/DIDDocument"
                },
                "didJwks": {
                  "$ref": "#/components/schemas/DidDocumentJwks"
                },
                "didResolutionResult": {
                  "$ref": "#/components/schemas/Omit<DIDResolutionResult,\"didDocument\">"
                },
                "didParsed": {
                  "$ref": "#/components/schemas/IParsedDID"
                }
              },
              "required": [
                "did",
                "didParsed",
                "didResolutionResult",
                "jwks",
                "method"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "issuerJWK": {
                  "$ref": "#/components/schemas/JWK"
                },
                "verificationResult": {
                  "$ref": "#/components/schemas/X509ValidationResult"
                },
                "certificates": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "certificates",
                "issuerJWK",
                "jwks",
                "method",
                "x5c"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "x5c": {
                  "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
                }
              },
              "required": [
                "jwk",
                "jwks",
                "method"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "trustedAnchors": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrustedAnchor"
                  }
                },
                "errorList": {
                  "$ref": "#/components/schemas/Record<TrustedAnchor,ErrorMessage>"
                },
                "jwtPayload": {
                  "$ref": "#/components/schemas/JwtPayload"
                },
                "trustEstablished": {
                  "type": "boolean"
                }
              },
              "required": [
                "jwks",
                "method",
                "trustEstablished",
                "trustedAnchors"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "$ref": "#/components/schemas/ExternalIdentifierMethod"
                },
                "jwks": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExternalJwkInfo"
                  }
                },
                "coseKey": {
                  "$ref": "#/components/schemas/ICoseKeyJson"
                },
                "x5c": {
                  "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
                }
              },
              "required": [
                "coseKey",
                "jwks",
                "method"
              ]
            }
          ]
        },
        "ExternalIdentifierMethod": {
          "type": "string",
          "enum": [
            "did",
            "jwk",
            "x5c",
            "kid",
            "cose_key",
            "oidc-discovery",
            "jwks-url",
            "oid4vci-issuer",
            "entity_id"
          ]
        },
        "ExternalJwkInfo": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "publicKeyHex": {
              "type": "string"
            }
          },
          "required": [
            "jwk",
            "jwkThumbprint",
            "publicKeyHex"
          ],
          "additionalProperties": false
        },
        "DIDDocument": {
          "type": "object",
          "additionalProperties": false,
          "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"
          ],
          "additionalProperties": false,
          "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"
          ],
          "additionalProperties": false
        },
        "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"
            },
            {
              "$ref": "#/components/schemas/Record<string,any>"
            }
          ],
          "description": "Represents an endpoint of a Service entry in a DID document."
        },
        "Record<string,any>": {
          "type": "object"
        },
        "DidDocumentJwks": {
          "$ref": "#/components/schemas/Record<Exclude<DIDDocumentSection,(\"publicKey\"|\"service\")>,def-interface-.ts-36208-36933-.ts-0-64696[]>"
        },
        "Record<Exclude<DIDDocumentSection,(\"publicKey\"|\"service\")>,def-interface-.ts-36208-36933-.ts-0-64696[]>": {
          "type": "object",
          "properties": {
            "verificationMethod": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "authentication": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "assertionMethod": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "keyAgreement": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "capabilityInvocation": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            },
            "capabilityDelegation": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JWK"
              }
            }
          },
          "required": [
            "verificationMethod",
            "authentication",
            "assertionMethod",
            "keyAgreement",
            "capabilityInvocation",
            "capabilityDelegation"
          ],
          "additionalProperties": false
        },
        "Omit<DIDResolutionResult,\"didDocument\">": {
          "$ref": "#/components/schemas/Pick<DIDResolutionResult,Exclude<(\"@context\"|\"didResolutionMetadata\"|\"didDocument\"|\"didDocumentMetadata\"),\"didDocument\">>"
        },
        "Pick<DIDResolutionResult,Exclude<(\"@context\"|\"didResolutionMetadata\"|\"didDocument\"|\"didDocumentMetadata\"),\"didDocument\">>": {
          "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"
          ],
          "additionalProperties": false
        },
        "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."
        },
        "IParsedDID": {
          "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"
          ],
          "additionalProperties": false
        },
        "X509ValidationResult": {
          "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": {
                "$ref": "#/components/schemas/CertificateInfo"
              }
            },
            "trustAnchor": {
              "$ref": "#/components/schemas/CertificateInfo"
            },
            "client": {
              "type": "object",
              "properties": {
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "$ref": "#/components/schemas/ClientIdScheme"
                }
              },
              "required": [
                "clientId",
                "clientIdScheme"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "error",
            "critical",
            "message",
            "verificationTime"
          ],
          "additionalProperties": false
        },
        "CertificateInfo": {
          "type": "object",
          "properties": {
            "certificate": {},
            "notBefore": {
              "type": "string",
              "format": "date-time"
            },
            "notAfter": {
              "type": "string",
              "format": "date-time"
            },
            "publicKeyJWK": {},
            "issuer": {
              "type": "object",
              "properties": {
                "dn": {
                  "$ref": "#/components/schemas/DNInfo"
                }
              },
              "required": [
                "dn"
              ],
              "additionalProperties": false
            },
            "subject": {
              "type": "object",
              "properties": {
                "dn": {
                  "$ref": "#/components/schemas/DNInfo"
                },
                "subjectAlternativeNames": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SubjectAlternativeName"
                  }
                }
              },
              "required": [
                "dn",
                "subjectAlternativeNames"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "notBefore",
            "notAfter",
            "issuer",
            "subject"
          ],
          "additionalProperties": false
        },
        "DNInfo": {
          "type": "object",
          "properties": {
            "DN": {
              "type": "string"
            },
            "attributes": {
              "$ref": "#/components/schemas/Record<string,string>"
            }
          },
          "required": [
            "DN",
            "attributes"
          ],
          "additionalProperties": false
        },
        "Record<string,string>": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "SubjectAlternativeName": {
          "type": "object",
          "properties": {
            "value": {
              "type": "string"
            },
            "type": {
              "$ref": "#/components/schemas/SubjectAlternativeGeneralName"
            }
          },
          "required": [
            "value",
            "type"
          ],
          "additionalProperties": false
        },
        "SubjectAlternativeGeneralName": {
          "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 }"
        },
        "ExternalIdentifierX5cResult": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "x5c"
            },
            "jwks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExternalJwkInfo"
              }
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "issuerJWK": {
              "$ref": "#/components/schemas/JWK"
            },
            "verificationResult": {
              "$ref": "#/components/schemas/X509ValidationResult"
            },
            "certificates": {
              "type": "array",
              "items": {}
            }
          },
          "required": [
            "certificates",
            "issuerJWK",
            "jwks",
            "method",
            "x5c"
          ],
          "additionalProperties": false
        },
        "TrustedAnchor": {
          "type": "string"
        },
        "Record<TrustedAnchor,ErrorMessage>": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/components/schemas/ErrorMessage"
          }
        },
        "ErrorMessage": {
          "type": "string"
        },
        "JwtPayload": {
          "type": "object",
          "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"
            }
          },
          "additionalProperties": {}
        },
        "ICoseKeyJson": {
          "type": "object",
          "properties": {
            "kty": {
              "$ref": "#/components/schemas/ICoseKeyType"
            },
            "kid": {
              "type": "string"
            },
            "alg": {
              "$ref": "#/components/schemas/ICoseSignatureAlgorithm"
            },
            "key_ops": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ICoseKeyOperation"
              }
            },
            "baseIV": {
              "type": "string"
            },
            "crv": {
              "$ref": "#/components/schemas/ICoseCurve"
            },
            "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"
        },
        "ICoseKeyType": {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            0
          ]
        },
        "ICoseSignatureAlgorithm": {
          "type": "number",
          "enum": [
            -7,
            -47,
            -35,
            -36,
            -8,
            4,
            5,
            6,
            7,
            -37,
            -38,
            -39
          ]
        },
        "ICoseKeyOperation": {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10
          ]
        },
        "ICoseCurve": {
          "type": "number",
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            -1
          ]
        },
        "ExternalIdentifierCoseKeyOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "cose_key"
            },
            "identifier": {
              "$ref": "#/components/schemas/ExternalIdentifierType"
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ExternalIdentifierCoseKeyResult": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "cose_key"
            },
            "jwks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExternalJwkInfo"
              }
            },
            "coseKey": {
              "$ref": "#/components/schemas/ICoseKeyJson"
            },
            "x5c": {
              "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
            }
          },
          "required": [
            "coseKey",
            "jwks",
            "method"
          ],
          "additionalProperties": false
        },
        "ExternalIdentifierDidOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "did"
            },
            "identifier": {
              "$ref": "#/components/schemas/ExternalIdentifierType"
            },
            "noVerificationMethodFallback": {
              "type": "boolean"
            },
            "vmRelationship": {
              "$ref": "#/components/schemas/DIDDocumentSection"
            },
            "localResolution": {
              "type": "boolean"
            },
            "uniresolverResolution": {
              "type": "boolean"
            },
            "resolverResolution": {
              "type": "boolean"
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ExternalIdentifierDidResult": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "did"
            },
            "jwks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExternalJwkInfo"
              }
            },
            "did": {
              "type": "string"
            },
            "didDocument": {
              "$ref": "#/components/schemas/DIDDocument"
            },
            "didJwks": {
              "$ref": "#/components/schemas/DidDocumentJwks"
            },
            "didResolutionResult": {
              "$ref": "#/components/schemas/Omit<DIDResolutionResult,\"didDocument\">"
            },
            "didParsed": {
              "$ref": "#/components/schemas/IParsedDID"
            }
          },
          "required": [
            "did",
            "didParsed",
            "didResolutionResult",
            "jwks",
            "method"
          ],
          "additionalProperties": false
        },
        "ExternalIdentifierJwkOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "jwk"
            },
            "identifier": {
              "$ref": "#/components/schemas/ExternalIdentifierType"
            },
            "x5c": {
              "$ref": "#/components/schemas/ExternalIdentifierX5cOpts"
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ExternalIdentifierJwkResult": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "jwk"
            },
            "jwks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExternalJwkInfo"
              }
            },
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "x5c": {
              "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
            }
          },
          "required": [
            "jwk",
            "jwks",
            "method"
          ],
          "additionalProperties": false
        },
        "ExternalIdentifierOIDFEntityIdOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "entity_id"
            },
            "identifier": {
              "$ref": "#/components/schemas/ExternalIdentifierType"
            },
            "trustAnchors": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ExternalIdentifierOIDFEntityIdResult": {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "const": "entity_id"
            },
            "jwks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExternalJwkInfo"
              }
            },
            "trustedAnchors": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TrustedAnchor"
              }
            },
            "errorList": {
              "$ref": "#/components/schemas/Record<TrustedAnchor,ErrorMessage>"
            },
            "jwtPayload": {
              "$ref": "#/components/schemas/JwtPayload"
            },
            "trustEstablished": {
              "type": "boolean"
            }
          },
          "required": [
            "jwks",
            "method",
            "trustEstablished",
            "trustedAnchors"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierOptsOrResult": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "certificate": {}
              },
              "required": [
                "certificate",
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts",
                "x5c"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "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",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kid",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "jwk"
                },
                "identifier": {
                  "$ref": "#/components/schemas/JWK"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "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",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "lazyDisabled": {
                  "type": "boolean"
                },
                "method": {
                  "type": "string",
                  "const": "cose_key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ICoseKeyJson"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            }
          ]
        },
        "ManagedIdentifierMethod": {
          "type": "string",
          "enum": [
            "did",
            "jwk",
            "x5c",
            "kid",
            "key",
            "cose_key",
            "oid4vci-issuer"
          ]
        },
        "ManagedIdentifierOpts": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "jwk"
                },
                "identifier": {
                  "$ref": "#/components/schemas/JWK"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "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": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "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",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "kid"
                },
                "identifier": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "cose_key"
                },
                "identifier": {
                  "$ref": "#/components/schemas/ICoseKeyJson"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "method": {
                  "type": "string",
                  "const": "oid4vci-issuer"
                },
                "identifier": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "kid": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "identifier"
              ]
            }
          ]
        },
        "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"
          ],
          "additionalProperties": false,
          "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"
          ],
          "additionalProperties": false,
          "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"
          ],
          "additionalProperties": false,
          "description": "Identifier service"
        },
        "IServiceEndpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/components/schemas/Record<string,any>"
            }
          ],
          "description": "Represents a service endpoint URL or a map of URLs"
        },
        "ManagedIdentifierType": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/IIdentifier"
            },
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "$ref": "#/components/schemas/JWK"
            },
            {
              "$ref": "#/components/schemas/IKey"
            },
            {
              "$ref": "#/components/schemas/ICoseKeyJson"
            }
          ],
          "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"
        },
        "ManagedIdentifierResult": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "x5c": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "certificate": {}
              },
              "required": [
                "certificate",
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts",
                "x5c"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                },
                "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",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kid",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "jwk": {
                  "$ref": "#/components/schemas/JWK"
                },
                "jwkThumbprint": {
                  "type": "string"
                },
                "kmsKeyRef": {
                  "type": "string"
                },
                "method": {
                  "$ref": "#/components/schemas/ManagedIdentifierMethod"
                },
                "opts": {
                  "$ref": "#/components/schemas/ManagedIdentifierOpts"
                },
                "key": {
                  "$ref": "#/components/schemas/IKey"
                },
                "kid": {
                  "type": "string"
                },
                "issuer": {
                  "type": "string"
                },
                "clientId": {
                  "type": "string"
                },
                "clientIdScheme": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClientIdScheme"
                    },
                    {
                      "type": "string",
                      "const": "did"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "identifier": {
                  "$ref": "#/components/schemas/ManagedIdentifierType"
                }
              },
              "required": [
                "identifier",
                "jwk",
                "jwkThumbprint",
                "key",
                "kmsKeyRef",
                "method",
                "opts"
              ]
            }
          ]
        },
        "ManagedIdentifierCoseKeyOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "cose_key"
            },
            "identifier": {
              "$ref": "#/components/schemas/ICoseKeyJson"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierCoseKeyResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "cose_key"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "$ref": "#/components/schemas/ICoseKeyJson"
            }
          },
          "required": [
            "identifier",
            "jwk",
            "jwkThumbprint",
            "key",
            "kmsKeyRef",
            "method",
            "opts"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierDidOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "did"
            },
            "identifier": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/IIdentifier"
                },
                {
                  "type": "string"
                }
              ]
            },
            "keyType": {
              "$ref": "#/components/schemas/TKeyType"
            },
            "offlineWhenNoDIDRegistered": {
              "type": "boolean"
            },
            "noVerificationMethodFallback": {
              "type": "boolean"
            },
            "controllerKey": {
              "type": "boolean"
            },
            "vmRelationship": {
              "$ref": "#/components/schemas/DIDDocumentSection"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierDidResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "did"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "$ref": "#/components/schemas/IIdentifier"
            },
            "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"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierJwkOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "jwk"
            },
            "identifier": {
              "$ref": "#/components/schemas/JWK"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierJwkResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "jwk"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "$ref": "#/components/schemas/JWK"
            }
          },
          "required": [
            "identifier",
            "jwk",
            "jwkThumbprint",
            "key",
            "kmsKeyRef",
            "method",
            "opts"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierKeyOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "key"
            },
            "identifier": {
              "$ref": "#/components/schemas/IKey"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierKeyResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "key"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "$ref": "#/components/schemas/IKey"
            }
          },
          "required": [
            "identifier",
            "jwk",
            "jwkThumbprint",
            "key",
            "kmsKeyRef",
            "method",
            "opts"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierKidOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "kid"
            },
            "identifier": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierKidResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "kid"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "type": "string"
            }
          },
          "required": [
            "identifier",
            "jwk",
            "jwkThumbprint",
            "key",
            "kid",
            "kmsKeyRef",
            "method",
            "opts"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierOID4VCIssuerOpts": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "method": {
              "type": "string",
              "const": "oid4vci-issuer"
            },
            "identifier": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "kid": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierOID4VCIssuerResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "oid4vci-issuer"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "type": "string"
            }
          },
          "required": [
            "identifier",
            "jwk",
            "jwkThumbprint",
            "key",
            "kmsKeyRef",
            "method",
            "opts"
          ],
          "additionalProperties": false
        },
        "ManagedIdentifierX5cOpts": {
          "type": "object",
          "additionalProperties": false,
          "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": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            }
          },
          "required": [
            "identifier"
          ]
        },
        "ManagedIdentifierX5cResult": {
          "type": "object",
          "properties": {
            "jwk": {
              "$ref": "#/components/schemas/JWK"
            },
            "jwkThumbprint": {
              "type": "string"
            },
            "kmsKeyRef": {
              "type": "string"
            },
            "method": {
              "type": "string",
              "const": "x5c"
            },
            "opts": {
              "$ref": "#/components/schemas/ManagedIdentifierOpts"
            },
            "key": {
              "$ref": "#/components/schemas/IKey"
            },
            "kid": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "clientId": {
              "type": "string"
            },
            "clientIdScheme": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ClientIdScheme"
                },
                {
                  "type": "string",
                  "const": "did"
                },
                {
                  "type": "string"
                }
              ]
            },
            "identifier": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "x5c": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "certificate": {}
          },
          "required": [
            "certificate",
            "identifier",
            "jwk",
            "jwkThumbprint",
            "key",
            "kmsKeyRef",
            "method",
            "opts",
            "x5c"
          ],
          "additionalProperties": false
        }
      },
      "methods": {
        "identifierExternalResolve": {
          "description": "Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps",
          "arguments": {
            "$ref": "#/components/schemas/ExternalIdentifierOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ExternalIdentifierResult"
          }
        },
        "identifierExternalResolveByCoseKey": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ExternalIdentifierCoseKeyOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ExternalIdentifierCoseKeyResult"
          }
        },
        "identifierExternalResolveByDid": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ExternalIdentifierDidOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ExternalIdentifierDidResult"
          }
        },
        "identifierExternalResolveByJwk": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ExternalIdentifierJwkOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ExternalIdentifierJwkResult"
          }
        },
        "identifierExternalResolveByOIDFEntityId": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ExternalIdentifierOIDFEntityIdOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ExternalIdentifierOIDFEntityIdResult"
          }
        },
        "identifierExternalResolveByX5c": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ExternalIdentifierX5cOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ExternalIdentifierX5cResult"
          }
        },
        "identifierManagedGet": {
          "description": "Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierOptsOrResult"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierResult"
          }
        },
        "identifierManagedGetByCoseKey": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierCoseKeyOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierCoseKeyResult"
          }
        },
        "identifierManagedGetByDid": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierDidOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierDidResult"
          }
        },
        "identifierManagedGetByJwk": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierJwkOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierJwkResult"
          }
        },
        "identifierManagedGetByKey": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierKeyOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierKeyResult"
          }
        },
        "identifierManagedGetByKid": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierKidOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierKidResult"
          }
        },
        "identifierManagedGetByOID4VCIssuer": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierOID4VCIssuerOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierOID4VCIssuerResult"
          }
        },
        "identifierManagedGetByX5c": {
          "description": "",
          "arguments": {
            "$ref": "#/components/schemas/ManagedIdentifierX5cOpts"
          },
          "returnType": {
            "$ref": "#/components/schemas/ManagedIdentifierX5cResult"
          }
        }
      }
    }
  }
}