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

# Get Contact Verification Challenge

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

Get a contact verification challenge for the specified contact. Caller requires the CONTACTVERIFICATION:ADD permission.

## Request Body

Required.

### application/json

Schema

```json
{
  "required": [
    "type",
    "value"
  ],
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "Type of contact delivery. Only supported for OTP contact attributes.",
      "example": "OTP_EMAIL",
      "enum": [
        "NONE",
        "OTP_EMAIL",
        "OTP_SMS",
        "OTP_VOICE",
        "OTP_WECHAT",
        "OTP_WHATSAPP"
      ]
    },
    "value": {
      "type": "string",
      "description": "The exact email or phone number that the OTP will be sent to.",
      "example": "example@mycompany.com"
    }
  },
  "description": "Information passed when sending contact verification challenge request",
  "title": "OTPVerificationChallengeValue"
}
```

## Responses

### 200

OK

#### application/json

Schema

```json
{
  "required": [
    "challengeId"
  ],
  "type": "object",
  "properties": {
    "challengeId": {
      "type": "string",
      "description": "The unique challenge response identifier which will be used for authentication.",
      "example": "74750999-a59f-4b84-aa26-687d36f5001f"
    }
  },
  "description": "Challenge response returned by the contact verification challenge request",
  "title": "OTPVerificationChallengeResponse"
}
```

### 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"
    ]
  }
]
```
