{
    "$defs": {
        "AddressAssertionClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "address": {
                    "items": {
                        "$ref": "#/$defs/PostalAddressClass"
                    },
                    "type": "array"
                }
            },
            "title": "AddressAssertionClass",
            "type": "object"
        },
        "AddressCredentialClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/AddressAssertionClass"
                },
                "type": {
                    "items": {
                        "$ref": "#/$defs/VerifiableCredentialType"
                    },
                    "type": "array"
                }
            },
            "title": "AddressCredentialClass",
            "type": "object"
        },
        "AddressCredentialJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps an\n[address credential](../AddressCredentialClass)\nfor identity proofing and verification in GOV.UK One Login.\n\nJSON schema: [AddressCredentialJWT.json](../json-schemas/AddressCredentialJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/AddressCredentialClass"
                }
            },
            "required": [
                "vc"
            ],
            "title": "AddressCredentialJWTClass",
            "type": "object"
        },
        "AuthorizationRequestClass": {
            "additionalProperties": false,
            "description": "An [Authorization Request compliant with OAuth 2.0 section 4.1.1](https://www.rfc-editor.org/rfc/rfc6749.html#section-4.1.1).\n\nJSON schema: [AuthorizationRequest.json](../json-schemas/AuthorizationRequest.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "client_id": {
                    "description": "The client id.  This value is the client id the Relying Party service was provided with for identification upon registration.  Internal system requests will use an internal client id.",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "nonce": {
                    "description": "The nonce.  A random value provided from the ID token to verify the integrity of the ID token.",
                    "type": "string"
                },
                "redirect_uri": {
                    "description": "The redirect uri.  This value must exactly match one of the redirect uris registered by the Relying Party service and must be URL-encoded.",
                    "format": "uri",
                    "type": "string"
                },
                "response_type": {
                    "description": "The response type.  This value currently needs to be set to the value `code`.",
                    "type": "string"
                },
                "scope": {
                    "description": "The scope.  A space-separated list of scopes which must include the `openid` value. Other options are `email`, `phone` and `offline_access` (returns a refresh token).  Other custom scopes are available for internal requests.",
                    "type": "string"
                },
                "state": {
                    "description": "The state.  This value is used to validate the response sent to the redirect URI.  This value will be returned to the client in the authentication response.",
                    "type": "string"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "required": [
                "response_type",
                "scope",
                "client_id",
                "state",
                "redirect_uri",
                "nonce"
            ],
            "title": "AuthorizationRequestClass",
            "type": "object"
        },
        "BankAccountDetailsClass": {
            "additionalProperties": false,
            "description": "The details of a Bank Account as presented by a user for checking for identity verification purposes. <p>JSON schema&#58; [di_vocab:BankAccount](../json-schemas/BankAccount.json)</p> <p>Examples</p> <ul> <li> [Bank Account](../examples/BankAccountDetailsClass/BankAccount.json) </li> </ul>",
            "properties": {
                "accountNumber": {
                    "description": "The account number for a bank account.  This is a string holding a 8-digit numerical code where leading 0 values are maintained.",
                    "pattern": "[0-9]{8}",
                    "type": "string"
                },
                "sortCode": {
                    "description": "The sort code for a bank account.  This is a string holding a 6-digit numerical code where leading 0 values are maintained.",
                    "pattern": "[0-9]{6}",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "title": "BankAccountDetailsClass",
            "type": "object"
        },
        "BirthDateClass": {
            "additionalProperties": false,
            "description": "BirthDate object that represents a user's claimed date of birth. <p>JSON schema&#58; [di_vocab:BirthDate](../json-schemas/BirthDate.json)</p>",
            "properties": {
                "description": {
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                },
                "value": {
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "value"
            ],
            "title": "BirthDateClass",
            "type": "object"
        },
        "CheckDetailsClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "activityFrom": {
                    "description": "The date of the earliest activity found for the user.",
                    "format": "date",
                    "type": "string"
                },
                "biometricVerificationProcessLevel": {
                    "description": "For a biometric verification process, the level corresponding to the verification score as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#verification)",
                    "maximum": 3,
                    "minimum": 2,
                    "type": "integer"
                },
                "checkMethod": {
                    "$ref": "#/$defs/CheckMethodType",
                    "description": "An identifier from the OpenID Check Methods list"
                },
                "dataCheck": {
                    "$ref": "#/$defs/DataCheckType",
                    "description": "Specifies the kind of data check performed allows for the distinction between a record check, cancelled check and a lost or stolen check"
                },
                "fraudCheck": {
                    "$ref": "#/$defs/FraudCheckType",
                    "description": "Specifies the kind of fraud check performed as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#identity-fraud)"
                },
                "identityCheckLevel": {
                    "description": "A measure of the level of identity confidence held by the issuer or previously performed in respect of the data being checked.",
                    "maximum": 3,
                    "minimum": 0,
                    "type": "integer"
                },
                "identityCheckPolicy": {
                    "$ref": "#/$defs/IdentityCheckPolicyType",
                    "description": "Details of the type of policy that was checked as part of the identity check."
                },
                "kbvQuality": {
                    "description": "The quality of a knowledge-based verification (KBV) question.",
                    "maximum": 3,
                    "minimum": 0,
                    "type": "integer"
                },
                "kbvResponseMode": {
                    "$ref": "#/$defs/KBVResponseModeType",
                    "description": "Describes the way a KBV question was presented to the user."
                },
                "photoVerificationProcessLevel": {
                    "description": "For a photo-based verification process, the level corresponding to the verification score as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#verification)",
                    "maximum": 3,
                    "minimum": 2,
                    "type": "integer"
                },
                "txn": {
                    "description": "A unique transaction identifier for this check, or part of a check, if any.",
                    "type": "string"
                }
            },
            "title": "CheckDetailsClass",
            "type": "object"
        },
        "CheckMethodType": {
            "description": "",
            "enum": [
                "vpip",
                "vpiruv",
                "vri",
                "vdig",
                "vcrypt",
                "data",
                "auth",
                "token",
                "kbv",
                "pvp",
                "pvr",
                "bvp",
                "bvr"
            ],
            "title": "CheckMethodType",
            "type": "string"
        },
        "ContraIndicatorClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "code": {
                    "description": "A system level code to indentify a contra-indicator.",
                    "type": "string"
                },
                "document": {
                    "description": "The single string representation of a document that a contra-indicator was raised against.",
                    "type": "string"
                },
                "incompleteMitigation": {
                    "description": "A partial or uncompleted mitigation that has taken place against a particular contra-indicator.",
                    "items": {
                        "$ref": "#/$defs/MitigationClass"
                    },
                    "type": "array"
                },
                "issuanceDate": {
                    "description": "The date a contra-indicator was generated.",
                    "format": "date-time",
                    "type": "string"
                },
                "issuers": {
                    "description": "An array of cri issuers.",
                    "items": {
                        "format": "uri",
                        "type": "string"
                    },
                    "type": "array"
                },
                "mitigation": {
                    "description": "A completed mitigation that has taken place against a particular contra-indicator.",
                    "items": {
                        "$ref": "#/$defs/MitigationClass"
                    },
                    "type": "array"
                },
                "txn": {
                    "description": "A unique transaction identifier for this check, or part of a check, if any.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "title": "ContraIndicatorClass",
            "type": "object"
        },
        "CoreIdentityJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps a\n[verifiable identity credential](../VerifiableIdentityCredentialClass)\nfor presentation to GOV.UK One Login relying parties.\n\nJSON schema: [CoreIdentityJWT.json](../json-schemas/CoreIdentityJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/VerifiableIdentityCredentialClass"
                },
                "vot": {
                    "$ref": "#/$defs/IdentityVectorOfTrust",
                    "description": "The `vot` identifies the Vector Of Trust."
                },
                "vtm": {
                    "description": "The `vtm` identifies the Vector Trust Mark.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "required": [
                "vc"
            ],
            "title": "CoreIdentityJWTClass",
            "type": "object"
        },
        "CredentialSubjectClass": {
            "additionalProperties": false,
            "description": "Verifiable credential subjects use multiple inheritance; this base class is intentionally blank.",
            "title": "CredentialSubjectClass",
            "type": "object"
        },
        "DataCheckType": {
            "description": "",
            "enum": [
                "record_check",
                "cancelled_check",
                "lost_stolen_check"
            ],
            "title": "DataCheckType",
            "type": "string"
        },
        "DocumentDetailsClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "expiryDate": {
                    "description": "The date the document expires.",
                    "format": "date",
                    "type": "string"
                },
                "issueDate": {
                    "description": "The date the document was issued by the issuing authority.",
                    "format": "date",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "title": "DocumentDetailsClass",
            "type": "object"
        },
        "DrivingPermitDetailsClass": {
            "additionalProperties": false,
            "description": "The details of a driving license/permit as presented by Optical Character Recognition of the physical document or manually input by a user. <p>JSON schema&#58; [di_vocab:DrivingPermit](../json-schemas/DrivingPermit.json)</p> <p>DVLA Examples</p> <ul> <li> [DVLA Issued Driving License Scanned](../examples/DrivingPermitDetailsClass/DVLALicenseOCR.json) </li> <li> [DVLA Issued Driving License Manual Input](../examples/DrivingPermitDetailsClass/DVLALicenseKeyed.json) </li> </ul> <p>DVA Examples</p> <ul> <li> [DVA Issued Driving License Scanned](../examples/DrivingPermitDetailsClass/DVALicenseOCR.json) </li> <li> [DVA Issued Driving License Manual Input](../examples/DrivingPermitDetailsClass/DVALicenseKeyed.json) </li> </ul>",
            "properties": {
                "expiryDate": {
                    "description": "The date the document expires.",
                    "format": "date",
                    "type": "string"
                },
                "fullAddress": {
                    "description": "Unparsed address string as retrieved from optical character recognition read of a document.",
                    "type": "string"
                },
                "issueDate": {
                    "description": "The date the document was issued by the issuing authority.",
                    "format": "date",
                    "type": "string"
                },
                "issueNumber": {
                    "description": "An identifier that changes with each issue of the document - unique only within documents issued under the same `personalNumber`.",
                    "type": "string"
                },
                "issuedBy": {
                    "description": "An identifier for the issuing authority, for example, DVLA.",
                    "type": "string"
                },
                "issuingCountry": {
                    "description": "Issuing country for documents represented as an [ISO 3166 two character country code](https://www.iso.org/iso-3166-country-codes.html#2012_iso3166-2). Not used for passports see `icaoIssuerCode`.",
                    "type": "string"
                },
                "personalNumber": {
                    "description": "An identifier that is common across documents issued to the same individual, such as driver number.",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "expiryDate"
            ],
            "title": "DrivingPermitDetailsClass",
            "type": "object"
        },
        "EvidenceRequestedClass": {
            "additionalProperties": false,
            "description": "The levels of evidence_requested which are minimum GPG45 criteria that are requested.",
            "properties": {
                "activityHistoryScore": {
                    "description": "The activity history score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#activity-history)",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "integer"
                },
                "identityFraudScore": {
                    "description": "The identity fraud score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#identity-fraud)",
                    "maximum": 3,
                    "minimum": 0,
                    "type": "integer"
                },
                "scoringPolicy": {
                    "description": "The scoring policy that is applicable for the evidence requested scores.  The current supported scoring policy is `gpg45`.",
                    "type": "string"
                },
                "strengthScore": {
                    "description": "The strength score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#strength)",
                    "maximum": 4,
                    "minimum": 1,
                    "type": "integer"
                },
                "validityScore": {
                    "description": "The validity score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#validity)",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "integer"
                },
                "verificationScore": {
                    "description": "The verification score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#verification)",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "integer"
                }
            },
            "title": "EvidenceRequestedClass",
            "type": "object"
        },
        "FamilyNameClass": {
            "additionalProperties": false,
            "description": "Name part object that represents a Family Name. There currently will be a single [NamePart](../NamePartClass) object with a [NamePartType](../../enums/NamePartType) of `FamilyName` within the representation of a [Name](../NameClass) for a specific period of validity. This property will contain the user specified family name or the family name that was read from official documentation and may contain space characters. <br/><br/>**NOTE** Considering names in a global context across multiple cultures, consumers of this format should understand that multiple `FamilyName` name parts may be used in future.",
            "properties": {
                "type": {
                    "$ref": "#/$defs/NamePartType",
                    "description": "The type of name represented by the [NamePart](../NamePartClass)."
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            },
            "required": [
                "value",
                "type"
            ],
            "title": "FamilyNameClass",
            "type": "object"
        },
        "FraudCheckType": {
            "description": "",
            "enum": [
                "applicable_authoritative_source",
                "available_authoritative_source",
                "identity_theft_check",
                "impersonation_risk_check",
                "mortality_check",
                "synthetic_identity_check"
            ],
            "title": "FraudCheckType",
            "type": "string"
        },
        "GivenNameClass": {
            "additionalProperties": false,
            "description": "Name part object that represents a Given Name. There may be multiple [NamePart](../NamePartClass) objects with a [NamePartType](../../enums/NamePartType) of `GivenName` within the representation of a [Name](../NameClass) for a specific period of validity. These will appear in the order in which the user specified or the order in which they were read from official documentation.",
            "properties": {
                "type": {
                    "$ref": "#/$defs/NamePartType",
                    "description": "The type of name represented by the [NamePart](../NamePartClass)."
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            },
            "required": [
                "value",
                "type"
            ],
            "title": "GivenNameClass",
            "type": "object"
        },
        "ISODateClass": {
            "additionalProperties": false,
            "description": "Contains a complete or partial ISO date, with no time part and in which the day and month parts are optional.",
            "properties": {
                "description": {
                    "type": "string"
                },
                "value": {
                    "description": "The date in the form CCYY[-MM[-DD]]",
                    "pattern": "^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$",
                    "type": "string"
                }
            },
            "title": "ISODateClass",
            "type": "object"
        },
        "IdCardDetailsClass": {
            "additionalProperties": false,
            "description": "The details of a National Identification Card as presented by a user for identity verification. <p>JSON schema&#58; [di_vocab:IdCard](../json-schemas/IdCard.json)</p> <p>Examples</p> <ul> <li> [ID Card](../examples/IdCardDetailsClass/idCard.json) </li> </ul>",
            "properties": {
                "documentNumber": {
                    "description": "An identifier generated for the specific document when it was issued, for example the passport number.",
                    "type": "string"
                },
                "expiryDate": {
                    "description": "The date the document expires.",
                    "format": "date",
                    "type": "string"
                },
                "icaoIssuerCode": {
                    "description": "An identifier for the issuing State or Organisation of a passport as defined by the [International Civil Aviation Organization (ICAO) Standard for Machine Readable Travel Documents](https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf). Usually three characters.",
                    "type": "string"
                },
                "issueDate": {
                    "description": "The date the document was issued by the issuing authority.",
                    "format": "date",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "documentNumber",
                "icaoIssuerCode"
            ],
            "title": "IdCardDetailsClass",
            "type": "object"
        },
        "IdentityAssertionCredentialClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/PersonWithIdentityClass"
                },
                "type": {
                    "items": {
                        "$ref": "#/$defs/VerifiableCredentialType"
                    },
                    "type": "array"
                }
            },
            "title": "IdentityAssertionCredentialClass",
            "type": "object"
        },
        "IdentityAssertionCredentialJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps an\n[identity assertion credential](../IdentityAssertionCredentialClass)\nfor identity proofing and verification in GOV.UK One Login.\n\nJSON schema: [IdentityAssertionCredentialJWT.json](../json-schemas/IdentityAssertionCredentialJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/IdentityAssertionCredentialClass"
                }
            },
            "required": [
                "vc"
            ],
            "title": "IdentityAssertionCredentialJWTClass",
            "type": "object"
        },
        "IdentityAuthorisationRequestClass": {
            "additionalProperties": false,
            "description": "An Identity Authorization Request that provides shared claims and other user/session data.\n\nJSON schema: [IdentityAuthorisationRequest.json](../json-schemas/IdentityAuthorisationRequest.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "claims": {
                    "description": "The claims.  This value will detail what additional claims, if any, are required from the /userinfo endpoint after a successful authentication request.  This value should be URL-encoded JSON.",
                    "type": "string"
                },
                "client_id": {
                    "description": "The client id.  This value is the client id the Relying Party service was provided with for identification upon registration.  Internal system requests will use an internal client id.",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "govuk_signin_journey_id": {
                    "description": "The journey id value as assigned by the GOV.UK account sign in process.",
                    "type": "string"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "nonce": {
                    "description": "The nonce.  A random value provided from the ID token to verify the integrity of the ID token.",
                    "type": "string"
                },
                "redirect_uri": {
                    "description": "The redirect uri.  This value must exactly match one of the redirect uris registered by the Relying Party service and must be URL-encoded.",
                    "format": "uri",
                    "type": "string"
                },
                "response_type": {
                    "description": "The response type.  This value currently needs to be set to the value `code`.",
                    "type": "string"
                },
                "scope": {
                    "description": "The scope.  A space-separated list of scopes which must include the `openid` value. Other options are `email`, `phone` and `offline_access` (returns a refresh token).  Other custom scopes are available for internal requests.",
                    "type": "string"
                },
                "state": {
                    "description": "The state.  This value is used to validate the response sent to the redirect URI.  This value will be returned to the client in the authentication response.",
                    "type": "string"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vtr": {
                    "description": "The Vector of Trust request. If not specified the default value `Cl.Cm` is used. Further information can be found in [Vectors of Trust RFC](https://datatracker.ietf.org/doc/rfc8485/)",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "response_type",
                "scope",
                "client_id",
                "state",
                "redirect_uri",
                "nonce"
            ],
            "title": "IdentityAuthorisationRequestClass",
            "type": "object"
        },
        "IdentityCheckClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "activityHistoryScore": {
                    "description": "The activity history score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#activity-history)",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "integer"
                },
                "checkDetails": {
                    "items": {
                        "$ref": "#/$defs/CheckDetailsClass"
                    },
                    "type": "array"
                },
                "ci": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "failedCheckDetails": {
                    "items": {
                        "$ref": "#/$defs/CheckDetailsClass"
                    },
                    "type": "array"
                },
                "identityFraudScore": {
                    "description": "The identity fraud score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#identity-fraud)",
                    "maximum": 3,
                    "minimum": 0,
                    "type": "integer"
                },
                "strengthScore": {
                    "description": "The strength score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#strength)",
                    "maximum": 4,
                    "minimum": 1,
                    "type": "integer"
                },
                "txn": {
                    "description": "A unique transaction identifier for this check, or part of a check, if any.",
                    "type": "string"
                },
                "type": {
                    "$ref": "#/$defs/IdentityCheckType",
                    "description": "Identity check type values allowed"
                },
                "validityScore": {
                    "description": "The validity score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#validity)",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "integer"
                },
                "verificationScore": {
                    "description": "The verification score based on the check that has taken place as defined in the [Good Practice Guide 45 documentation](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual/how-to-prove-and-verify-someones-identity#verification)",
                    "maximum": 4,
                    "minimum": 0,
                    "type": "integer"
                }
            },
            "title": "IdentityCheckClass",
            "type": "object"
        },
        "IdentityCheckCredentialClass": {
            "additionalProperties": false,
            "description": "A [VC](https://www.w3.org/TR/vc-data-model/) representing an identity check that contributes to identity confidence per UK government standards such as [Good Practice Guide (GPG) 45](https://www.gov.uk/government/publications/identity-proofing-and-verification-of-an-individual).\n\nIn GOV.UK One Login this VC is always [issued in JWT format](../IdentityCheckCredentialJWTClass).\n\nJSON schema: [IdentityCheckCredential.json](../json-schemas/IdentityCheckCredential.json)",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/IdentityCheckSubjectClass"
                },
                "evidence": {
                    "items": {
                        "$ref": "#/$defs/IdentityCheckClass"
                    },
                    "type": "array"
                },
                "type": {
                    "items": {
                        "$ref": "#/$defs/VerifiableCredentialType"
                    },
                    "type": "array"
                }
            },
            "required": [
                "evidence"
            ],
            "title": "IdentityCheckCredentialClass",
            "type": "object"
        },
        "IdentityCheckCredentialJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps an\n[identity check credential](../IdentityCheckCredentialClass)\nfor identity proofing and verification in GOV.UK One Login.\n\nJSON schema: [IdentityCheckCredentialJWT.json](../json-schemas/IdentityCheckCredentialJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "pattern": "(?!\\s*$).+",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/IdentityCheckCredentialClass"
                }
            },
            "required": [
                "vc",
                "iss",
                "sub",
                "nbf"
            ],
            "title": "IdentityCheckCredentialJWTClass",
            "type": "object"
        },
        "IdentityCheckPolicyType": {
            "description": "",
            "enum": [
                "none",
                "published",
                "money_laundering_regulations",
                "physical_or_biometric_official"
            ],
            "title": "IdentityCheckPolicyType",
            "type": "string"
        },
        "IdentityCheckSubjectClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "address": {
                    "items": {
                        "$ref": "#/$defs/PostalAddressClass"
                    },
                    "type": "array"
                },
                "bankAccount": {
                    "items": {
                        "$ref": "#/$defs/BankAccountDetailsClass"
                    },
                    "type": "array"
                },
                "birthDate": {
                    "items": {
                        "$ref": "#/$defs/BirthDateClass"
                    },
                    "type": "array"
                },
                "drivingPermit": {
                    "items": {
                        "$ref": "#/$defs/DrivingPermitDetailsClass"
                    },
                    "type": "array"
                },
                "idCard": {
                    "items": {
                        "$ref": "#/$defs/IdCardDetailsClass"
                    },
                    "type": "array"
                },
                "name": {
                    "items": {
                        "$ref": "#/$defs/NameClass"
                    },
                    "type": "array"
                },
                "passport": {
                    "items": {
                        "$ref": "#/$defs/PassportDetailsClass"
                    },
                    "type": "array"
                },
                "residencePermit": {
                    "items": {
                        "$ref": "#/$defs/ResidencePermitDetailsClass"
                    },
                    "type": "array"
                },
                "socialSecurityRecord": {
                    "items": {
                        "$ref": "#/$defs/SocialSecurityRecordDetailsClass"
                    },
                    "type": "array"
                }
            },
            "title": "IdentityCheckSubjectClass",
            "type": "object"
        },
        "IdentityCheckType": {
            "description": "",
            "enum": [
                "IDENTITY_CHECK",
                "IdentityCheck"
            ],
            "title": "IdentityCheckType",
            "type": "string"
        },
        "IdentityVectorOfTrust": {
            "description": "",
            "enum": [
                "P1",
                "P2",
                "P3",
                "P4",
                "PCL200",
                "PCL250"
            ],
            "title": "IdentityVectorOfTrust",
            "type": "string"
        },
        "InheritedIdentityJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps a\n[verifiable identity credential](../VerifiableIdentityCredentialClass)\nfor migrating an identity from HMRC to GOV.UK One Login.\n\nJSON schema: [InheritedIdentityJWT.json](../json-schemas/InheritedIdentityJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/IdentityCheckCredentialClass"
                },
                "vot": {
                    "$ref": "#/$defs/IdentityVectorOfTrust",
                    "description": "The `vot` identifies the Vector Of Trust."
                },
                "vtm": {
                    "description": "The `vtm` identifies the Vector Trust Mark.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "required": [
                "vc"
            ],
            "title": "InheritedIdentityJWTClass",
            "type": "object"
        },
        "InterventionClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "interventionCode": {
                    "type": "string"
                },
                "interventionReason": {
                    "type": "string"
                }
            },
            "title": "InterventionClass",
            "type": "object"
        },
        "IssuerAuthorizationRequestClass": {
            "additionalProperties": false,
            "description": "An Authorization Request that provides shared claims and other user/session data to GOV.UK One Login credential issuers.\n\nJSON schema: [IssuerAuthorizationRequest.json](../json-schemas/IssuerAuthorizationRequest.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "client_id": {
                    "description": "The client id.  This value is the client id the Relying Party service was provided with for identification upon registration.  Internal system requests will use an internal client id.",
                    "type": "string"
                },
                "evidence_requested": {
                    "$ref": "#/$defs/EvidenceRequestedClass"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "govuk_signin_journey_id": {
                    "description": "The journey id value as assigned by the GOV.UK account sign in process.",
                    "type": "string"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "nonce": {
                    "description": "The nonce.  A random value provided from the ID token to verify the integrity of the ID token.",
                    "type": "string"
                },
                "redirect_uri": {
                    "description": "The redirect uri.  This value must exactly match one of the redirect uris registered by the Relying Party service and must be URL-encoded.",
                    "format": "uri",
                    "type": "string"
                },
                "response_type": {
                    "description": "The response type.  This value currently needs to be set to the value `code`.",
                    "type": "string"
                },
                "scope": {
                    "description": "The scope.  A space-separated list of scopes which must include the `openid` value. Other options are `email`, `phone` and `offline_access` (returns a refresh token).  Other custom scopes are available for internal requests.",
                    "type": "string"
                },
                "shared_claims": {
                    "$ref": "#/$defs/IdentityCheckSubjectClass",
                    "description": "The shared claims.  This value will detail what shared information the calling service wants to and is permitted to share."
                },
                "state": {
                    "description": "The state.  This value is used to validate the response sent to the redirect URI.  This value will be returned to the client in the authentication response.",
                    "type": "string"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "required": [
                "response_type",
                "scope",
                "client_id",
                "state",
                "redirect_uri",
                "nonce"
            ],
            "title": "IssuerAuthorizationRequestClass",
            "type": "object"
        },
        "JWTClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "title": "JWTClass",
            "type": "object"
        },
        "KBVResponseModeType": {
            "description": "",
            "enum": [
                "free_text",
                "multiple_choice"
            ],
            "title": "KBVResponseModeType",
            "type": "string"
        },
        "MitigatingCredentialClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "id": {
                    "description": "The identifier of a verifiable credential.",
                    "format": "uri",
                    "type": "string"
                },
                "issuer": {
                    "description": "The issuer of a verifiable credential.",
                    "format": "uri",
                    "type": "string"
                },
                "txn": {
                    "description": "A unique transaction identifier for this check, or part of a check, if any.",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date-time",
                    "type": "string"
                }
            },
            "title": "MitigatingCredentialClass",
            "type": "object"
        },
        "MitigationClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "code": {
                    "description": "A system level code to indentify a contra-indicator.",
                    "type": "string"
                },
                "mitigatingCredential": {
                    "description": "Details of the credential that was generated as part of the mitigation journey for a particular contra-indicator.",
                    "items": {
                        "$ref": "#/$defs/MitigatingCredentialClass"
                    },
                    "type": "array"
                }
            },
            "title": "MitigationClass",
            "type": "object"
        },
        "NameClass": {
            "additionalProperties": false,
            "description": "Name object that represents a user's claimed identity. This will have a list of [`nameParts`](../NamePartClass). Usually this will contain one or more [`GivenName`](../GivenNameClass) name parts and one (or occasionally more) [`FamilyName`](../FamilyNameClass) name part(s) for a specific period of validity. <p>JSON schema&#58; [di_vocab:Name](../json-schemas/Name.json)</p> <p>Examples</p> <ul> <li> [One Given Name and One Family Name - No Validity Specified](../examples/NameClass/OneGivenOneFamily.json) </li> <li> [Multiple Given Names and One Family Name - No Validity Specified](../examples/NameClass/MultipleGivenOneFamily.json) </li> <li> [One Given Name and Multiple Name Words in One Family Name - No Validity Specified](../examples/NameClass/OneGivenMultipleFamilyWordsOneName.json) </li> <li> [One Given Name and Multiple Family Names - No Validity Specified](../examples/NameClass/OneGivenMultipleFamily.json) </li> <li> [Multiple Given Names and Multiple Family Names - No Validity Specified](../examples/NameClass/MultipleGivenMultipleFamily.json) </li> <li> [Multiple Given Names and Two Family Names - Validity Specified for each Family Name](../examples/NameClass/MultipleGivenTwoFamilyWithValidity.json) </li> <li> [Multiple Given Names and Multiple Family Names - Validity Specified for each Family Name](../examples/NameClass/MultipleGivenMultipleFamilyWithValidity.json) </li> </ul>",
            "properties": {
                "description": {
                    "type": "string"
                },
                "nameParts": {
                    "description": "The list of name parts that make up a [Name](../NameClass) object.",
                    "items": {
                        "$ref": "#/$defs/NamePartClass"
                    },
                    "type": "array"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "nameParts"
            ],
            "title": "NameClass",
            "type": "object"
        },
        "NamePartClass": {
            "additionalProperties": false,
            "description": "Abstract class to define a name part value and name part type for an optional validity period.",
            "properties": {
                "type": {
                    "$ref": "#/$defs/NamePartType",
                    "description": "The type of name represented by the [NamePart](../NamePartClass)."
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            },
            "required": [
                "value",
                "type"
            ],
            "title": "NamePartClass",
            "type": "object"
        },
        "NamePartType": {
            "description": "Reference data enumeration applied to the `type` property for a specific [NamePart](../../classes/NamePartClass)",
            "enum": [
                "GivenName",
                "FamilyName"
            ],
            "title": "NamePartType",
            "type": "string"
        },
        "OpenIDConnectAuthenticationRequestClass": {
            "additionalProperties": false,
            "description": "An [Authentication Request compliant with OpenID Connect 2.0 section 3.1.2.1](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest) with any extensions supported by GOV.UK One Login.\n\nJSON schema: [OpenIDConnectAuthenticationRequest.json](../json-schemas/OpenIDConnectAuthenticationRequest.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "claims": {
                    "description": "The claims.  This value will detail what additional claims, if any, are required from the /userinfo endpoint after a successful authentication request.  This value should be URL-encoded JSON.",
                    "type": "string"
                },
                "client_id": {
                    "description": "The client id.  This value is the client id the Relying Party service was provided with for identification upon registration.  Internal system requests will use an internal client id.",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "nonce": {
                    "description": "The nonce.  A random value provided from the ID token to verify the integrity of the ID token.",
                    "type": "string"
                },
                "prompt": {
                    "description": "Use the value `login` to force a user to authenticate again even if they have an existing session.  If this is not set a user will authenticate silently if they have an existing session.",
                    "type": "string"
                },
                "redirect_uri": {
                    "description": "The redirect uri.  This value must exactly match one of the redirect uris registered by the Relying Party service and must be URL-encoded.",
                    "format": "uri",
                    "type": "string"
                },
                "response_type": {
                    "description": "The response type.  This value currently needs to be set to the value `code`.",
                    "type": "string"
                },
                "scope": {
                    "description": "The scope.  A space-separated list of scopes which must include the `openid` value. Other options are `email`, `phone` and `offline_access` (returns a refresh token).  Other custom scopes are available for internal requests.",
                    "type": "string"
                },
                "state": {
                    "description": "The state.  This value is used to validate the response sent to the redirect URI.  This value will be returned to the client in the authentication response.",
                    "type": "string"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vtr": {
                    "description": "The Vector of Trust request. If not specified the default value `Cl.Cm` is used. Further information can be found in [Vectors of Trust RFC](https://datatracker.ietf.org/doc/rfc8485/)",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "scope",
                "response_type",
                "client_id",
                "state",
                "redirect_uri",
                "nonce"
            ],
            "title": "OpenIDConnectAuthenticationRequestClass",
            "type": "object"
        },
        "PassportDetailsClass": {
            "additionalProperties": false,
            "description": "The details of a passport as presented by the biometric chip data using near-field communication (NFC), reading the Machine Readable Zone (MRZ) or manually input by a user. <p>JSON schema&#58; [di_vocab:PassportDetails](../json-schemas/PassportDetails.json)</p> <p>Examples</p> <ul> <li> [UK Passport](../examples/PassportDetailsClass/UKPassport.json) </li> <li> [Non-UK Passport](../examples/PassportDetailsClass/NonUKPassport.json) </li> <li> [German Passport - ICAO Issuer Code \"D\"](../examples/PassportDetailsClass/GermanPassport.json) </li> </ul>",
            "properties": {
                "documentNumber": {
                    "description": "An identifier generated for the specific document when it was issued, for example the passport number.",
                    "type": "string"
                },
                "expiryDate": {
                    "description": "The date the document expires.",
                    "format": "date",
                    "type": "string"
                },
                "icaoIssuerCode": {
                    "description": "An identifier for the issuing State or Organisation of a passport as defined by the [International Civil Aviation Organization (ICAO) Standard for Machine Readable Travel Documents](https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf). Usually three characters.",
                    "type": "string"
                },
                "issueDate": {
                    "description": "The date the document was issued by the issuing authority.",
                    "format": "date",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "documentNumber",
                "icaoIssuerCode",
                "expiryDate"
            ],
            "title": "PassportDetailsClass",
            "type": "object"
        },
        "PersonClass": {
            "additionalProperties": false,
            "description": "",
            "title": "PersonClass",
            "type": "object"
        },
        "PersonExtendedMatchingClass": {
            "additionalProperties": false,
            "description": "An extended version of the PersonIdentity class for situations like Life Events where additional data may be required for matching, but where the full range of documents is not required",
            "properties": {
                "address": {
                    "items": {
                        "$ref": "#/$defs/PostalAddressClass"
                    },
                    "type": "array"
                },
                "birthDate": {
                    "items": {
                        "$ref": "#/$defs/BirthDateClass"
                    },
                    "type": "array"
                },
                "name": {
                    "items": {
                        "$ref": "#/$defs/NameClass"
                    },
                    "type": "array"
                },
                "sex": {
                    "description": "A person's legal sex. Only used for matching in certain life events. Multivalued only for consistency with other personal attributes.",
                    "items": {
                        "$ref": "#/$defs/SexClass"
                    },
                    "type": "array"
                }
            },
            "title": "PersonExtendedMatchingClass",
            "type": "object"
        },
        "PersonWithDocumentsClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "bankAccount": {
                    "items": {
                        "$ref": "#/$defs/BankAccountDetailsClass"
                    },
                    "type": "array"
                },
                "birthDate": {
                    "items": {
                        "$ref": "#/$defs/BirthDateClass"
                    },
                    "type": "array"
                },
                "drivingPermit": {
                    "items": {
                        "$ref": "#/$defs/DrivingPermitDetailsClass"
                    },
                    "type": "array"
                },
                "idCard": {
                    "items": {
                        "$ref": "#/$defs/IdCardDetailsClass"
                    },
                    "type": "array"
                },
                "name": {
                    "items": {
                        "$ref": "#/$defs/NameClass"
                    },
                    "type": "array"
                },
                "passport": {
                    "items": {
                        "$ref": "#/$defs/PassportDetailsClass"
                    },
                    "type": "array"
                },
                "residencePermit": {
                    "items": {
                        "$ref": "#/$defs/ResidencePermitDetailsClass"
                    },
                    "type": "array"
                },
                "socialSecurityRecord": {
                    "items": {
                        "$ref": "#/$defs/SocialSecurityRecordDetailsClass"
                    },
                    "type": "array"
                }
            },
            "title": "PersonWithDocumentsClass",
            "type": "object"
        },
        "PersonWithIdentityClass": {
            "additionalProperties": false,
            "description": "A credential subject representing a person only by core identity attributes",
            "properties": {
                "birthDate": {
                    "items": {
                        "$ref": "#/$defs/BirthDateClass"
                    },
                    "type": "array"
                },
                "name": {
                    "items": {
                        "$ref": "#/$defs/NameClass"
                    },
                    "type": "array"
                }
            },
            "title": "PersonWithIdentityClass",
            "type": "object"
        },
        "PostalAddressClass": {
            "additionalProperties": false,
            "description": "Any postal address associated with a user, returned by an Address Lookup API or by manual data input.  <p>JSON schema&#58; [di_vocab:PostalAddress](../json-schemas/PostalAddress.json)</p>",
            "properties": {
                "addressCountry": {
                    "description": "The country. Provided as the two-letter ISO 3166-1 alpha-2 country code, hence this only closely maps rather than exactly maps to schema.org which permits any text. <p>Close mapping&#58; [schema:addressCountry](https://schema.org/addressCountry)</p>",
                    "type": "string"
                },
                "addressLocality": {
                    "description": "The town or city in which the address resides. <p>Close mapping&#58; [adb:postTown](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p> <p>Exact mapping&#58; [schema:addressLocality](https://schema.org/addressLocality)</p>",
                    "type": "string"
                },
                "addressRegion": {
                    "description": "The region in which the locality is, and which is in the country, provided as text. For example, California, or another appropriate first-level Administrative division. <p>Exact mapping&#58; [schema:addressRegion](https://schema.org/addressRegion)</p>",
                    "type": "string"
                },
                "buildingName": {
                    "description": "The building name is a description applied to a single building or a small group of buildings, such as Highfield House. This also includes those building numbers that contain non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the building name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL). <p>Close mapping&#58; [adb:buildingName](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "buildingNumber": {
                    "description": "The building number is a number given to a single building or a small group of buildings, thus identifying it from its neighbours, for example, 44. Building numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the buildingName or the sub-BuildingName fields.  <b>NOTE - This is a string representation of the building number.</b> <p>Close mapping&#58; [adb:buildingNumber](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "departmentName": {
                    "description": "For some organisations, department name is indicated because mail is received by subdivisions of the main organisation at distinct delivery points. E.g. Organisation Name - ABC COMMUNICATIONS Department Name - MARKETING DEPARTMENT <p>Close mapping&#58; [adb:departmentName](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "dependentAddressLocality": {
                    "description": "Dependent locality areas define an area within a town. These are only necessary to aid differentiation where there are thoroughfares/streets of the same name in the same locality. For example, HIGH STREET in SHIRLEY and SWAYTHLING in this situation - HIGH STREET, SHIRLEY, SOUTHAMPTON and HIGH STREET, SWAYTHLING, SOUTHAMPTON. <p>Close mapping&#58; [adb:dependentLocality](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "dependentStreetName": {
                    "description": "In certain places, for example, town centres, there are named thoroughfares/streets within other named thoroughfares/streets, for example, parades of shops on a high street where different parades have their own identity. For example, KINGS PARADE, HIGH STREET and QUEENS PARADE, HIGH STREET. <p>Close mapping&#58; [adb:dependentThoroughfare](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "doubleDependentAddressLocality": {
                    "description": "This is used to distinguish between similar thoroughfares/streets or the same thoroughfare/street within a dependent locality. For example, Millbrook Industrial Estate and Cranford Estate in this situation - BRUNEL WAY, MILLBROOK INDUSTRIAL ESTATE, MILLBROOK, SOUTHAMPTON and BRUNEL WAY, CRANFORD ESTATE, MILLBROOK, SOUTHAMPTON. <p>Close mapping&#58; [adb:doubleDependentLocality](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "organisationName": {
                    "description": "The organisation name is the business name given to a delivery point within a building or small group of buildings. E.g. TOURIST INFORMATION CENTRE This field could also include entries for churches, public houses and libraries. <p>Close mapping&#58; [adb:organisationName](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "poBoxNumber": {
                    "description": "Post Office Box (PO Box) number. <p>Exact mapping&#58; [adb:poBoxNumber](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "postalCode": {
                    "description": "A UK postcode is an abbreviated form of address made up of combinations of between five and seven alphanumeric characters.  International postal codes have different formats. <p>Exact mapping&#58; [schema:postalCode](https://schema.org/postalCode)</p>",
                    "type": "string"
                },
                "streetName": {
                    "description": "A thoroughfare/street is fundamentally a road, track or named access route, for example, HIGH STREET. <p>Close mapping - [adb:thoroughfare](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "subBuildingName": {
                    "description": "The sub-building name and/or number are identifiers for subdivisions of properties. E.g. Sub-building Name - FLAT 3 Building Name - POPLAR COURT Thoroughfare - LONDON ROAD NOTE - If the address is styled as 3 POPLAR COURT, all the text will be shown in the Building Name attribute and the Sub-building Name will be empty. The building number will be shown in this field when it contains a range, decimal or non-numeric character (see Building Number). <p>Close mapping&#58; [adb:subBuildingName](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "type": "string"
                },
                "uprn": {
                    "description": "The Unique Property Reference Number (UK and Northern Ireland Addresses Only) <p>Exact mapping&#58; [adb:uprn](http://www.geoplace.co.uk/addressbase/schema/2.1/addressbase.xsd)</p>",
                    "maximum": 999999999999,
                    "minimum": 1,
                    "type": "integer"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "title": "PostalAddressClass",
            "type": "object"
        },
        "ResidencePermitDetailsClass": {
            "additionalProperties": false,
            "description": "The details of a biometric residency permit as presented by reading the biometric chip data using near-field communication (NFC), reading the Machine Readable Zone (MRZ) or manually input by a user. <p>JSON schema&#58; [di_vocab:ResidencePermit](../json-schemas/ResidencePermit.json)</p> <p>Examples</p> <ul> <li> [UK Biometric Residence Card](../examples/ResidencePermitDetailsClass/UKBRC.json) </li> </ul> [UK Biometric Residence Permit](../examples/ResidencePermitDetailsClass/UKBRP.json) </li> </ul>",
            "properties": {
                "documentNumber": {
                    "description": "An identifier generated for the specific document when it was issued, for example the passport number.",
                    "type": "string"
                },
                "documentType": {
                    "description": "An identifier of the type of document, for example IR for Biometric Residence Permit, CR for Biometric Residence Card.",
                    "type": "string"
                },
                "expiryDate": {
                    "description": "The date the document expires.",
                    "format": "date",
                    "type": "string"
                },
                "icaoIssuerCode": {
                    "description": "An identifier for the issuing State or Organisation of a passport as defined by the [International Civil Aviation Organization (ICAO) Standard for Machine Readable Travel Documents](https://www.icao.int/publications/Documents/9303_p3_cons_en.pdf). Usually three characters.",
                    "type": "string"
                },
                "issueDate": {
                    "description": "The date the document was issued by the issuing authority.",
                    "format": "date",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "documentNumber",
                "icaoIssuerCode",
                "expiryDate"
            ],
            "title": "ResidencePermitDetailsClass",
            "type": "object"
        },
        "RiskAssessmentClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "ci": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "intervention": {
                    "$ref": "#/$defs/InterventionClass",
                    "description": "Intervention required by the risk assessment"
                },
                "txn": {
                    "description": "A unique transaction identifier for this check, or part of a check, if any.",
                    "type": "string"
                },
                "type": {
                    "const": "RiskAssessment",
                    "type": "string"
                }
            },
            "title": "RiskAssessmentClass",
            "type": "object"
        },
        "RiskAssessmentCredentialClass": {
            "additionalProperties": false,
            "description": "A [VC](https://www.w3.org/TR/vc-data-model/) containing evidence pertaining to a risk assessment performed about a GOV.UK One Login account.\n\nIn GOV.UK One Login this VC is always [issued in JWT format](../RiskAssessmentCredentialJWTClass).\n\nJSON schema: [RiskAssessmentCredential.json](../json-schemas/RiskAssessmentCredential.json)",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/CredentialSubjectClass"
                },
                "evidence": {
                    "items": {
                        "$ref": "#/$defs/RiskAssessmentClass"
                    },
                    "type": "array"
                },
                "type": {
                    "items": {
                        "$ref": "#/$defs/VerifiableCredentialType"
                    },
                    "type": "array"
                }
            },
            "required": [
                "evidence"
            ],
            "title": "RiskAssessmentCredentialClass",
            "type": "object"
        },
        "RiskAssessmentCredentialJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps a\n[risk assessment credential](../RiskAssessmentCredentialClass)\nfor identity proofing and verification in GOV.UK One Login.\n\nJSON schema: [RiskAssessmentCredentialJWT.json](../json-schemas/RiskAssessmentCredentialJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/RiskAssessmentCredentialClass"
                }
            },
            "required": [
                "vc"
            ],
            "title": "RiskAssessmentCredentialJWTClass",
            "type": "object"
        },
        "SecurityCheckClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "contraIndicator": {
                    "items": {
                        "$ref": "#/$defs/ContraIndicatorClass"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "SecurityCheck",
                    "type": "string"
                }
            },
            "title": "SecurityCheckClass",
            "type": "object"
        },
        "SecurityCheckCredentialClass": {
            "additionalProperties": false,
            "description": "A [VC](https://www.w3.org/TR/vc-data-model/) containing evidence pertaining to security checks performed about a GOV.UK One Login account.\n\nIn GOV.UK One Login this VC is always [issued in JWT format](../SecurityCheckCredentialJWTClass).\n\nJSON schema: [SecurityCheckCredential.json](../json-schemas/SecurityCheckCredential.json)",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/CredentialSubjectClass"
                },
                "evidence": {
                    "items": {
                        "$ref": "#/$defs/SecurityCheckClass"
                    },
                    "type": "array"
                },
                "type": {
                    "items": {
                        "$ref": "#/$defs/VerifiableCredentialType"
                    },
                    "type": "array"
                }
            },
            "required": [
                "evidence"
            ],
            "title": "SecurityCheckCredentialClass",
            "type": "object"
        },
        "SecurityCheckCredentialJWTClass": {
            "additionalProperties": false,
            "description": "A [JWT-encoded VC](https://www.w3.org/TR/vc-data-model/#json-web-token) that wraps an\n[security check credential](../SecurityCheckCredentialClass)\nfor identity proofing and verification in GOV.UK One Login.\n\nJSON schema: [SecurityCheckCredentialJWT.json](../json-schemas/SecurityCheckCredentialJWT.json)",
            "properties": {
                "aud": {
                    "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
                    "format": "uri",
                    "type": "string"
                },
                "exp": {
                    "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
                    "type": "integer"
                },
                "iat": {
                    "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
                    "type": "integer"
                },
                "iss": {
                    "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "jti": {
                    "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "nbf": {
                    "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
                    "type": "integer"
                },
                "sub": {
                    "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
                    "format": "uri",
                    "type": "string"
                },
                "vc": {
                    "$ref": "#/$defs/SecurityCheckCredentialClass"
                }
            },
            "required": [
                "vc"
            ],
            "title": "SecurityCheckCredentialJWTClass",
            "type": "object"
        },
        "SexClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "value": {
                    "type": "string"
                }
            },
            "required": [
                "value"
            ],
            "title": "SexClass",
            "type": "object"
        },
        "SocialSecurityRecordDetailsClass": {
            "additionalProperties": false,
            "description": "The details of a social security record as input by a user. <p>JSON schema&#58; [di_vocab:SocialSecurityRecord](../json-schemas/SocialSecurityRecord.json)</p> <p>Examples</p> <ul> <li> [Social Security Record](../examples/SocialSecurityRecordDetailsClass/socialSecurityRecord.json) </li> </ul>",
            "properties": {
                "expiryDate": {
                    "description": "The date the document expires.",
                    "format": "date",
                    "type": "string"
                },
                "issueDate": {
                    "description": "The date the document was issued by the issuing authority.",
                    "format": "date",
                    "type": "string"
                },
                "personalNumber": {
                    "description": "An identifier that is common across documents issued to the same individual, such as driver number.",
                    "type": "string"
                },
                "validFrom": {
                    "format": "date",
                    "type": "string"
                },
                "validUntil": {
                    "format": "date",
                    "type": "string"
                }
            },
            "title": "SocialSecurityRecordDetailsClass",
            "type": "object"
        },
        "StructuredAttributeClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "value": {
                    "type": "string"
                }
            },
            "required": [
                "value"
            ],
            "title": "StructuredAttributeClass",
            "type": "object"
        },
        "VerifiableCredentialClass": {
            "additionalProperties": false,
            "description": "",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/CredentialSubjectClass"
                }
            },
            "title": "VerifiableCredentialClass",
            "type": "object"
        },
        "VerifiableCredentialType": {
            "description": "",
            "enum": [
                "IdentityCheckCredential",
                "VerifiableCredential",
                "VerifiableIdentityCredential",
                "IdentityAssertionCredential",
                "AddressCredential",
                "RiskAssessmentCredential",
                "SecurityCheckCredential"
            ],
            "title": "VerifiableCredentialType",
            "type": "string"
        },
        "VerifiableIdentityCredentialClass": {
            "additionalProperties": false,
            "description": "A [VC](https://www.w3.org/TR/vc-data-model/) for presentation to GOV.UK One Login relying parties,\ncontaining the minimum set of personal attributes that are a sufficient identity proof for UK government purposes.\n\nIn GOV.UK One Login this VC is always [issued in JWT format](../CoreIdentityJWTClass).",
            "properties": {
                "@context": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "credentialSubject": {
                    "$ref": "#/$defs/PersonWithIdentityClass"
                },
                "type": {
                    "items": {
                        "$ref": "#/$defs/VerifiableCredentialType"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "title": "VerifiableIdentityCredentialClass",
            "type": "object"
        }
    },
    "$id": "https://vocab.account.gov.uk/linkml/credentials-schema",
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "additionalProperties": false,
    "description": "An Identity Authorization Request that provides shared claims and other user/session data.\n\nJSON schema: [IdentityAuthorisationRequest.json](../json-schemas/IdentityAuthorisationRequest.json)",
    "properties": {
        "aud": {
            "description": "The `aud` (audience) claim identifies the recipients that the JWT is intended for.",
            "format": "uri",
            "type": "string"
        },
        "claims": {
            "description": "The claims.  This value will detail what additional claims, if any, are required from the /userinfo endpoint after a successful authentication request.  This value should be URL-encoded JSON.",
            "type": "string"
        },
        "client_id": {
            "description": "The client id.  This value is the client id the Relying Party service was provided with for identification upon registration.  Internal system requests will use an internal client id.",
            "type": "string"
        },
        "exp": {
            "description": "The `exp` (expiration time) claim identifies the time the JWT expires.",
            "type": "integer"
        },
        "govuk_signin_journey_id": {
            "description": "The journey id value as assigned by the GOV.UK account sign in process.",
            "type": "string"
        },
        "iat": {
            "description": "The `iat` (issued at) claim identifies the time at which the JWT was issued.",
            "type": "integer"
        },
        "iss": {
            "description": "The `iss` (issuer) claim identifies the principal that issued the JWT.",
            "format": "uri",
            "type": "string"
        },
        "jti": {
            "description": "The `jti` (JWT ID) claim identifies the unique identifier of the JWT.",
            "format": "uri",
            "type": "string"
        },
        "nbf": {
            "description": "The `nbf` (not before) claim identifies the time the JWT is valid from.",
            "type": "integer"
        },
        "nonce": {
            "description": "The nonce.  A random value provided from the ID token to verify the integrity of the ID token.",
            "type": "string"
        },
        "redirect_uri": {
            "description": "The redirect uri.  This value must exactly match one of the redirect uris registered by the Relying Party service and must be URL-encoded.",
            "format": "uri",
            "type": "string"
        },
        "response_type": {
            "description": "The response type.  This value currently needs to be set to the value `code`.",
            "type": "string"
        },
        "scope": {
            "description": "The scope.  A space-separated list of scopes which must include the `openid` value. Other options are `email`, `phone` and `offline_access` (returns a refresh token).  Other custom scopes are available for internal requests.",
            "type": "string"
        },
        "state": {
            "description": "The state.  This value is used to validate the response sent to the redirect URI.  This value will be returned to the client in the authentication response.",
            "type": "string"
        },
        "sub": {
            "description": "The `sub` (subject) claim identifies the principal that is the subject of the JWT.",
            "format": "uri",
            "type": "string"
        },
        "vtr": {
            "description": "The Vector of Trust request. If not specified the default value `Cl.Cm` is used. Further information can be found in [Vectors of Trust RFC](https://datatracker.ietf.org/doc/rfc8485/)",
            "items": {
                "type": "string"
            },
            "type": "array"
        }
    },
    "required": [
        "response_type",
        "scope",
        "client_id",
        "state",
        "redirect_uri",
        "nonce"
    ],
    "title": "credentials",
    "type": "object"
}

