## API URL
URL used to send HTTP requests:
```url
https://portal.bulkgate.com/api/1.0/otp/verify
```

> [!NOTE]
> If the request does not reach its destination, repeat it on the [backup server](https://www.bulkgate.com/en/docs/api-administration-tokens/api-backup-server/) `backup1.bulkgate.com`.

## Supported HTTP methods

- `POST` - `application/json`

```http
POST /api/1.0/otp/verify HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json
```

## Parameters table

| PARAMETER NAME    | VALUE                                         | MANDATORY | DEFAULT VALUE |
|:------------------|:----------------------------------------------|:----------|:--------------|
| application_id    | [Application ID](https://www.bulkgate.com/en/docs/api-administration-tokens/api-administration/) | **Yes**   | -             | 
| application_token | [Application token](https://www.bulkgate.com/en/docs/api-administration-tokens/api-tokens/)	     | **Yes**   | -             |
| id                | Id received by sending one time password      | **Yes**   | -             |
| code              | Code to be verified                           | **Yes**   | string        |


## Example request

```http-json
POST /api/1.0/otp/verify HTTP/1.1
Host: portal.bulkgate.com
Content-Type: application/json

{
    "application_id": 451,
    "application_token": "NKN02TWE6NfBkfl-your-secret-token-Wf05GaqLIWLW4aBj",
    "id": "otp-id",
    "code": "0000"
}
```

## Response

**In case of success:**
```json
{
    "data": {
        "id": "otp-id",
        "verified": true
    }
}
```

**In case of invalid code:**
```json
{
    "data": {
        "id": "otp-id",
        "verified": false
    }
}
```

**In case of error:**
```json
{
    "type": "unknown_identity",
    "code": 400,
    "error": "Unknown identity",
    "detail": null
}
```

```json
{
    "type": "invalid_input_parameters",
    "code": 400,
    "error": "Invalid input parameters",
    "detail": null
}
```

Where:

- **type** and **error** (description of the error) can be found in the [error types table](https://www.bulkgate.com/en/docs/api-administration-tokens/api-error-types/)
- **code** represents http error
- **detail** is an additional info about the error
