# Verify enrolment of a user device for authentication using one-time passwords The second step in enrolling the logged-in user (root or authorised user) to use one-time-passwords to enable verification of transactions. _Note that on the Sandbox Environment, text messages are not sent and the verificationCode is always set to \"123456\"._ Endpoint: POST /v1/authentication_factors/otp/{channel}/verify Version: v1 Security: apiKey, authToken ## Path parameters: - `channel` (string, required) The unique identifier for the channel. Enum: "SMS" ## Request fields (application/json): - `verificationCode` (string, required) The code received by the user on the device. ## 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", "VERIFICATION_CODE_EXPIRED", "VERIFICATION_CODE_INVALID", "CREDENTIALS_INACTIVE", "ONE_CHALLENGE_LIMIT_REMAINING", "CHALLENGE_LIMIT_EXCEEDED" ## Response default fields (application/json): - `code` (string) - `message` (string) ## Response 204 fields ## Response 401 fields ## Response 429 fields ## Response 500 fields ## Response 503 fields