Skip to content
Get started

Verifies the OTP received as input

POST/otpvalidation/validate-code

Verifies the code is valid for the received authenticationId

Header ParametersExpand Collapse
"x-correlator": optional string
Body ParametersJSONExpand Collapse
authenticationId: string

unique id of the verification attempt the code belongs to.

maxLength36
code: string

temporal, short code to be validated

maxLength10

Verifies the OTP received as input

curl https://api.example.com/camara/otpvalidation/validate-code \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $CAMARA_BEARER_TOKEN" \
    -d '{
          "authenticationId": "ea0840f3-3663-4149-bd10-c7c6b8912105",
          "code": "AJY3"
        }'
{
  "status": 400,
  "code": "OUT_OF_RANGE",
  "message": "Client specified an invalid range."
}
{
  "status": 400,
  "code": "INVALID_ARGUMENT",
  "message": "Client specified an invalid argument, request body or query param"
}
{
  "status": 400,
  "code": "ONE_TIME_PASSWORD_SMS.VERIFICATION_FAILED",
  "message": "The maximum number of attempts for this authenticationId was exceeded without providing a valid OTP"
}
{
  "status": 400,
  "code": "ONE_TIME_PASSWORD_SMS.VERIFICATION_EXPIRED",
  "message": "The authenticationId is no longer valid"
}
{
  "status": 400,
  "code": "ONE_TIME_PASSWORD_SMS.INVALID_OTP",
  "message": "The provided OTP is not valid for this authenticationId"
}
{
  "status": 401,
  "code": "UNAUTHENTICATED",
  "message": "Request not authenticated due to missing, invalid, or expired credentials."
}
{
  "status": 403,
  "code": "PERMISSION_DENIED",
  "message": "Client does not have sufficient permissions to perform this action."
}
{
  "status": 404,
  "code": "NOT_FOUND",
  "message": "The specified resource is not found."
}
{
  "status": 429,
  "code": "QUOTA_EXCEEDED",
  "message": "Out of resource quota."
}
{
  "status": 429,
  "code": "TOO_MANY_REQUESTS",
  "message": "Rate limit reached."
}
Returns Examples
{
  "status": 400,
  "code": "OUT_OF_RANGE",
  "message": "Client specified an invalid range."
}
{
  "status": 400,
  "code": "INVALID_ARGUMENT",
  "message": "Client specified an invalid argument, request body or query param"
}
{
  "status": 400,
  "code": "ONE_TIME_PASSWORD_SMS.VERIFICATION_FAILED",
  "message": "The maximum number of attempts for this authenticationId was exceeded without providing a valid OTP"
}
{
  "status": 400,
  "code": "ONE_TIME_PASSWORD_SMS.VERIFICATION_EXPIRED",
  "message": "The authenticationId is no longer valid"
}
{
  "status": 400,
  "code": "ONE_TIME_PASSWORD_SMS.INVALID_OTP",
  "message": "The provided OTP is not valid for this authenticationId"
}
{
  "status": 401,
  "code": "UNAUTHENTICATED",
  "message": "Request not authenticated due to missing, invalid, or expired credentials."
}
{
  "status": 403,
  "code": "PERMISSION_DENIED",
  "message": "Client does not have sufficient permissions to perform this action."
}
{
  "status": 404,
  "code": "NOT_FOUND",
  "message": "The specified resource is not found."
}
{
  "status": 429,
  "code": "QUOTA_EXCEEDED",
  "message": "Out of resource quota."
}
{
  "status": 429,
  "code": "TOO_MANY_REQUESTS",
  "message": "Rate limit reached."
}