# Enrol a user device for authentication using one-time passwords This is the first step in enrolling the logged-in user's mobile device, where a one-time password is sent to the device. _Note that on the Sandbox Environment, text messages are not sent and the one-time-password is always \"123456\"._ Endpoint: POST /v1/authentication_factors/otp/{channel} Version: v1 Security: apiKey, authToken ## Path parameters: - `channel` (string, required) The unique identifier for the channel. Enum: "SMS" ## Response 400 fields (application/json): - `message` (string) When present helps to identify and fix the problem. - `syntaxErrors` (object) Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided. - `syntaxErrors.invalidFields` (array) - `syntaxErrors.invalidFields.params` (array) - `syntaxErrors.invalidFields.fieldName` (string) - `syntaxErrors.invalidFields.error` (string) Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE" ## Response 403 fields (application/json): - `errorCode` (string) Enum: "INSUFFICIENT_PERMISSIONS" ## Response 404 fields (application/json): - `code` (string) - `message` (string) ## Response 409 fields (application/json): - `errorCode` (string) Enum: "CHANNEL_NOT_SUPPORTED", "CHANNEL_ALREADY_REGISTERED", "MOBILE_NUMBER_NOT_AVAILABLE", "MOBILE_NUMBER_INVALID", "MOBILE_COUNTRY_NOT_SUPPORTED", "CREDENTIALS_INACTIVE" ## Response default fields (application/json): - `code` (string) - `message` (string) ## Response 204 fields ## Response 401 fields ## Response 429 fields ## Response 500 fields ## Response 503 fields