## API URL
URL utilisée pour envoyer les requêtes HTTP :
```url
https://portal.bulkgate.com/api/1.0/otp/verify
```

> [!NOTE]
> Si la requête n'atteint pas sa destination, renvoyez-la sur le [serveur de secours](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/serveur-de-secours/) `backup1.bulkgate.com`.

## Méthodes HTTP prises en charge

- `POST` - `application/json`

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

## Tableau des paramètres

| NOM DU PARAMÈTRE  | VALEUR                                        | OBLIGATOIRE | VALEUR PAR DÉFAUT |
|:------------------|:----------------------------------------------|:------------|:------------------|
| application_id    | [Application ID](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/administration-api/) | **Oui**     | -                 | 
| application_token | [Application token](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/tokens-d-api/)	     | **Oui**     | -                 |
| id                | ID reçu lors de l'envoi du mot de passe à usage unique | **Oui** | -          |
| code              | Code à vérifier                               | **Oui**     | -                 |


## Exemple de requête

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

## Réponse

**En cas de succès :**
```json
{
    "data": {
        "id": "otp-id",
        "verified": true
    }
}
```

**En cas de code non valide :**
```json
{
    "data": {
        "id": "otp-id",
        "verified": false
    }
}
```

**En cas d'erreur :**
```json
{
    "type": "unknown_identity",
    "code": 400,
    "error": "Unknown identity",
    "detail": null
}
```

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

Où :

- **type** et **error** (description de l'erreur) figurent dans le [tableau des types d'erreurs](https://www.bulkgate.com/fr/documentation/administration-api-et-tokens/types-d-erreurs-api/)
- **code** représente le code d'erreur HTTP
- **detail** est une information complémentaire sur l'erreur
