Aller au contenu
Lexoh API

Authentification

OpenAPI JSON

Authentifier une session API

Utilisez un compte Lexoh existant disposant des permissions nécessaires à votre intégration. Les requêtes protégées utilisent la session établie à la connexion.

POST /v1/auth/login

Se connecter avec un compte existant

Permissions requises

Aucune permission de rôle supplémentaire pour cette opération. Les exigences d’authentification indiquées restent applicables.

Envoyez username et password en JSON. Une connexion réussie retourne success, session, user, role et servers. Conservez la valeur session de façon sécuritaire.

Exemple de requête

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"username":"USERNAME","password":"PASSWORD"}'

Exemple de réponse

Champs sélectionnés de la réponse; user, role et servers sont omis de cet exemple.

{
  "success": true,
  "session": "SESSION_TOKEN"
}

POST /v1/device/list

Transmettre la session avec chaque requête

Permissions requises

  • can_view_devices

L’authentification, la MFA et les restrictions de portée restent applicables.

Utilisez l’en-tête SessionID présenté ci-dessous. Authorization: Bearer SESSION_TOKEN et le témoin session sont également acceptés. La valeur Bearer est un jeton de session, et non une clé API générée séparément. Le rôle du compte détermine l’accès à chaque opération.

Exemple de requête

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/device/list" \
  -H "SessionID: SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"page":1,"page_limit":25}'

POST /v1/auth/mfa

Valider l’AMF lorsqu’elle est activée

Permissions requises

Aucune permission de rôle supplémentaire pour cette opération. Les exigences d’authentification indiquées restent applicables.

Si user.mfa_enabled vaut true, transmettez le code courant avec la session avant d’utiliser les opérations protégées. Le champ JSON est token; code est également accepté. La connexion Google ou Microsoft configurée utilise /v1/auth/oauth2 pour établir une session; les en-têtes de session de ces exemples restent les mêmes.

Exemple de requête

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/auth/mfa" \
  -H "SessionID: SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"token":"MFA_CODE"}'

Exemple de réponse

{
  "success": true,
  "mfa_enabled": true
}

POST /v1/auth/logout

Fermer la session

Permissions requises

Aucune permission de rôle supplémentaire pour cette opération. Les exigences d’authentification indiquées restent applicables.

Transmettez SessionID à la déconnexion pour que le serveur supprime cette session. Ne vous limitez pas à effacer le jeton du côté client.

Exemple de requête

curl -X POST "https://your-lexoh-server.app.lexoh.com:3000/v1/auth/logout" \
  -H "SessionID: SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Exemple de réponse

{
  "success": true,
  "user": null,
  "error": null
}

Lire le statut HTTP et le corps de la réponse

La connexion retourne HTTP 400 pour un JSON invalide et HTTP 404 lorsque les identifiants ne sont pas acceptés. Les erreurs de validation AMF utilisent HTTP 400. Certains gestionnaires de ressources protégées retournent HTTP 500 avec success:false en cas de session absente ou de permissions insuffisantes; un échec d’authentification ne correspond pas systématiquement à HTTP 401.

Exemple de réponse

Exemple du gestionnaire de liste des appareils, avec HTTP 500.

{
  "success": false,
  "devices": null,
  "error": "authentication required."
}

Protéger les sessions et maîtriser le volume de requêtes

  • Ne placez pas les mots de passe et les jetons de session dans le code source, les pages publiques ou les journaux.
  • Utilisez les permissions nécessaires à l’intégration et validez l’AMF lorsqu’elle est activée.
  • Utilisez la pagination et limitez les requêtes simultanées. Cette référence ne définit pas de quota fixe par heure, par jour ou de requêtes simultanées.

Consulter une première liste d’appareils

Utilisez la session avec une requête paginée sur les appareils.

API des appareils →
Appeler Lexoh 1-888-401-8019