> For AI agents: [llms.txt](https://docs.trustedauth.com/llms.txt) provides a Markdown index of this documentation.

# Authenticate Contact Verification Challenge

`POST /api/web/v1/contact/verification/authenticate`

Authenticate the contact verification challenge.  Caller requires the CONTACTVERIFICATION:ADD permission.

## Request Body

Required.

### application/json

Schema

```json
{
  "required": [
    "challengeId",
    "challengeResponse"
  ],
  "type": "object",
  "properties": {
    "challengeId": {
      "type": "string",
      "description": "The unique challenge response identifier used for authentication",
      "example": "74750999-a59f-4b84-aa26-687d36f5001f"
    },
    "challengeResponse": {
      "type": "string",
      "description": "The otp response",
      "example": "0000"
    }
  },
  "description": "Information passed in when authenticating the contact verification challenge.",
  "title": "OTPVerificationAuthenticateValue"
}
```

## Responses

### 200

OK

#### application/json

Schema

```json
{
  "required": [
    "attemptsLeft",
    "challengeId",
    "success"
  ],
  "type": "object",
  "properties": {
    "attemptsLeft": {
      "type": "integer",
      "description": "The number of attempts left for authentication failure",
      "format": "int32",
      "example": 5
    },
    "challengeId": {
      "type": "string",
      "description": "The challenge Id of the user's input",
      "example": "74750999-a59f-4b84-aa26-687d36f5001f"
    },
    "errorCode": {
      "type": "string",
      "description": "The error message during the authentication",
      "example": "invalid_otp"
    },
    "success": {
      "type": "boolean",
      "description": "A boolean value which indicates if the authentication is successful",
      "example": true
    }
  },
  "description": "Response from contact verification",
  "title": "OTPVerificationAuthenticateResponse"
}
```

### 400

Bad request

#### application/json

Schema

```json
{
  "required": [
    "code",
    "message"
  ],
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "The server error code"
    },
    "message": {
      "type": "string",
      "description": "A human-readable representation of the error"
    },
    "target": {
      "type": "string",
      "description": "The target of the error"
    }
  },
  "title": "Error"
}
```

### 401

Authorization information is missing or invalid

#### application/json

Schema

```json
{
  "required": [
    "code",
    "message"
  ],
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "The server error code"
    },
    "message": {
      "type": "string",
      "description": "A human-readable representation of the error"
    },
    "target": {
      "type": "string",
      "description": "The target of the error"
    }
  },
  "title": "Error"
}
```

### 429

Too many requests

#### application/json

Schema

```json
{
  "required": [
    "code",
    "message"
  ],
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "The server error code"
    },
    "message": {
      "type": "string",
      "description": "A human-readable representation of the error"
    },
    "target": {
      "type": "string",
      "description": "The target of the error"
    }
  },
  "title": "Error"
}
```

## Security

Requirements

```json
[
  {
    "AdminAPIAuthentication": [
      "CONTACTVERIFICATION:ADD"
    ]
  }
]
```
