{
    "title": "Fido Registration Start Response",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.security.fido.FidoRegistrationStartResponse",
    "type": "object",
    "properties": {
        "challenge": {
            "type": "string",
            "pattern": "^[^<>]*$",
            "maxLength": 255,
            "minLength": 1
        },
        "fidoProperties": {
            "javaType": "com.sos.joc.model.security.properties.fido.FidoProperties",
            "type": "object",
            "properties": {
                "iamFidoUserVerification": {
                    "javaType": "com.sos.joc.model.security.properties.fido.FidoUserverification",
                    "type": "string",
                    "enum": [
                        "DISCOURAGED",
                        "PREFERRED",
                        "REQUIRED"
                    ]
                },
                "iamFidoTimeout": {
                    "type": "integer",
                    "minimum": 0
                },
                "iamFidoProtocolType": {
                    "javaType": "com.sos.joc.model.security.properties.fido.FidoProtocolType",
                    "type": "string",
                    "enum": [
                        "FIDO2",
                        "PASSKEY"
                    ]
                },
                "iamFidoResidentKey": {
                    "javaType": "com.sos.joc.model.security.properties.fido.FidoResidentKey",
                    "type": "string",
                    "enum": [
                        "DISCOURAGED",
                        "PREFERRED",
                        "REQUIRED"
                    ]
                },
                "iamFidoAttachment": {
                    "javaType": "com.sos.joc.model.security.properties.fido.FidoAttachment",
                    "type": "string",
                    "enum": [
                        "PLATFORM",
                        "ROAMING"
                    ]
                },
                "iamFidoTransports": {
                    "type": "array",
                    "items": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoTransports",
                        "type": "string",
                        "enum": [
                            "BLE",
                            "HYBRID",
                            "INTERNAL",
                            "NFC",
                            "USB"
                        ]
                    }
                },
                "iamFidoRequireAccount": {
                    "type": "boolean",
                    "default": false
                },
                "iamFidoEmailSettings": {
                    "javaType": "com.sos.joc.model.security.properties.fido.FidoEmailSettings",
                    "type": "object",
                    "properties": {
                        "bodyRegistration": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "subjectRegistration": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "ccRegistration": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "bccRegistration": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "bodyAccess": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "subjectAccess": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "ccAccess": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "bccAccess": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "bodyConfirmed": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "subjectConfirmed": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "ccConfirmed": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "bccConfirmed": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "receiptConfirmed": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "sendMailToConfirm": {
                            "description": "true if the confirmation email should be sent",
                            "type": "boolean"
                        },
                        "sendMailToNotifySuccessfulRegistration": {
                            "description": "true if the email for successful registration should be sent",
                            "type": "boolean"
                        },
                        "sendMailToNotifyConfirmationReceived": {
                            "description": "true if the email for successful registration should be sent",
                            "type": "boolean"
                        },
                        "contentType": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "charset": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "encoding": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "priority": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        },
                        "nameOfJobResource": {
                            "type": "string",
                            "pattern": "^[^<>]*$",
                            "maxLength": 255,
                            "minLength": 1
                        }
                    },
                    "additionalProperties": false
                }
            },
            "additionalProperties": false
        }
    },
    "additionalProperties": false
}