{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "RegisterInitResponse",
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"registration_data": {
"$ref": "#/$defs/RegistrationData"
},
"user": {
"$ref": "#/$defs/User"
}
},
"required": [
"user",
"domain",
"registration_data"
],
"$defs": {
"AttestationConveyancePreference": {
"type": "string",
"enum": [
"None",
"Indirect",
"Direct",
"Enterprise"
]
},
"AuthenticatorAttachment": {
"type": "string",
"enum": [
"Any",
"Platform",
"CrossPlatform"
]
},
"PubKeyCredParam": {
"type": "object",
"properties": {
"alg": {
"type": "integer",
"format": "int64"
},
"type": {
"type": "string"
}
},
"required": [
"alg",
"type"
]
},
"RegistrationData": {
"type": "object",
"properties": {
"attestation_conveyance_preference": {
"$ref": "#/$defs/AttestationConveyancePreference"
},
"authenticator_attachment": {
"$ref": "#/$defs/AuthenticatorAttachment"
},
"challenge": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"maximum": 255,
"minimum": 0
}
},
"id": {
"type": "integer",
"format": "int64"
},
"public_key_credential_params": {
"type": "array",
"items": {
"$ref": "#/$defs/PubKeyCredParam"
}
},
"resident_key": {
"$ref": "#/$defs/ResidentKeyRequirement"
},
"user_id_validation_constraint": {
"$ref": "#/$defs/UserIdValidationConstraint"
},
"user_verification": {
"$ref": "#/$defs/UserVerificationRequirement"
}
},
"required": [
"id",
"challenge",
"authenticator_attachment",
"resident_key",
"user_verification",
"attestation_conveyance_preference",
"user_id_validation_constraint",
"public_key_credential_params"
]
},
"ResidentKeyRequirement": {
"type": "string",
"enum": [
"Discouraged",
"Preferred",
"Required"
]
},
"User": {
"type": "object",
"properties": {
"id": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"maximum": 255,
"minimum": 0
}
},
"login_hash": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"maximum": 255,
"minimum": 0
}
}
},
"required": [
"id",
"login_hash"
]
},
"UserIdValidationConstraint": {
"type": "string",
"enum": [
"None",
"Email"
]
},
"UserVerificationRequirement": {
"type": "string",
"enum": [
"Required",
"Preferred",
"Discouraged"
]
}
}
}