> For the complete documentation index, see [llms.txt](https://valify.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://valify.gitbook.io/documentation/apis/otp/verfiy-email-otp.md).

# Verfiy Email OTP

***

## Verify OTP

<mark style="color:green;">`POST`</mark> `https://valifystage.com/api/v1/otp/email/verify/`

#### Headers

| Name          | Type   | Description            |
| ------------- | ------ | ---------------------- |
| Content-Type  | string | application/json       |
| Authorization | string | Bearer \<access-token> |

#### Request Body

<table><thead><tr><th>Name</th><th width="146.199951171875">Type</th><th>Description</th><th>Notes</th></tr></thead><tbody><tr><td>data</td><td>object</td><td><p>Object containing the parameters below:<br><code>{</code> <br>  <code>otp: &#x3C;str>,</code> <br>  <code>bundle_key: &#x3C;str>,</code><br>  <code>lang: &#x3C;str></code></p><p><code>transaction_id: &#x3C;str></code><br><code>}</code><br></p></td><td><p>-otp: 6 digit OTP entered by the user.</p><p></p><p>-The transaction ID from the "Send Email OTP" step.</p></td></tr></tbody></table>

**Status Codes**

{% tabs %}
{% tab title="✅200 " %}

```python
{
    'verified': true
}
```

{% endtab %}

{% tab title="400 " %}

```python
{
    "message": "Bad Request – invalid request received (e.g. missing Bundle key, required parameters or invalid json) | Make sure all the required parameters are included"
}
```

{% endtab %}

{% tab title="401 " %}

```python
{
    "message": "Unauthorized – your Bundle key is invalid"
}
```

{% endtab %}

{% tab title="403 " %}

```python
{
    "message": "Forbidden – specified access_token could not be found"
}
```

{% endtab %}

{% tab title="404 " %}

```python
{
    "message": "Not Found"
}
```

{% endtab %}

{% tab title="415 " %}

```python
{
    "message": "Unsupported Media Type"
}
```

{% endtab %}

{% tab title="422 " %}

```python
{
    "message": "<error-description>",
    "error_code": <valify-error-code>
}
```

{% endtab %}

{% tab title="500 " %}

```python
{
    "message": "Internal Server Error"
}
```

{% endtab %}
{% endtabs %}

## Code Snippets

{% tabs %}
{% tab title="🐍Python 3" %}

```python
import requests
import base64

token = '<token>' # Place your token here
data = {
    'otp': '<otp>', # Place the received OTP here
    'transaction_id': '<transaction id from "Send OTP">', # Place the transaction ID here
    'bundle_key': '<bundle key>', #Place the bundle key here
    'lang': '<str>' # optional, default: en
}

r = requests.post("https://valifystage.com/api/v1/otp/email/verify/",
        json=data,
        headers={'Authorization': 'Bearer %s' % token}
    )
                      
print(r.json())
```

{% endtab %}
{% endtabs %}
