# Authentification
Source: https://docs.lomi.africa/api/authentication

Les requêtes lomi. s’authentifient avec des clés API. Une requête sans clé valide renvoie une erreur d’authentification.

***

title: 'Authentification'
description: "Les requêtes lomi. s’authentifient avec des clés API. Une requête sans clé valide renvoie une erreur d’authentification."
---------------------------------------------------------------------------------------------------------------------------------------

Pour un parcours guidé depuis votre premier `curl` jusqu’aux pages OpenAPI, SDK et pièges webhooks : **[Intégration API](/start/first-payment)**.

Deux types de clés secrètes correspondent aux environnements **Test** et **Live**.

## Clés API

Les requêtes doivent être en HTTPS. Le HTTP nu échoue. Sans authentification, échec également.

Envoyez votre clé **secrète** sur chaque requête REST marchande. Les clés publiables (`lomi_pk_test_...` / `lomi_pk_live_...`) servent uniquement aux flux carte navigateur ou mobile. Ne les envoyez pas dans `X-API-Key`.

En-têtes acceptés (insensibles à la casse) :

* `X-API-Key` (ou `X-API-KEY`)
* `X-Lomi-API-Key`
* `Authorization: Bearer <secret>`

```http filename="API request header"
GET /accounts/balance HTTP/1.1
Host: api.lomi.africa
X-API-Key: your_api_key
```

Remplacez `your_api_key` par votre clé secrète.

Le tableau compact des en-têtes (idempotence, scénario, Network) est sur **[Clés API](/start/api-keys#request-headers)**.

## Ciblage de compte réseau

Les opérateurs lomi. Network approuvés peuvent cibler un compte membre connecté en ajoutant l’en-tête optionnel `Lomi-Account`.

```http filename="Network request header"
POST /checkout-sessions HTTP/1.1
Host: api.lomi.africa
X-API-Key: your_operator_api_key
Lomi-Account: acct_1234567890
```

Sans `Lomi-Account`, les requêtes se comportent comme des appels API marchands classiques. Avec cet en-tête, la clé API identifie l’opérateur et le compte `acct_...` est le compte membre ciblé. Voir **[lomi. Network](/build/platform/network)** pour les endpoints pris en charge et les capacités requises.

## Environnements test et production

### Environnement de test

Développement et tests sans traiter des fonds réels ni affecter les données live. Fonctionnement proche du live.

* **Clés :** préfixe `lomi_sk_test_`.
* **Base URL :** `https://sandbox.api.lomi.africa`.
* **Données :** données simulées ; champ du type `"environment": "test"`.

Pour simuler les paiements carte et mobile money (numéros de test, Wave, MTN), voir **[Paiements en bac à sable](/start/sandbox-payments)**.

### Environnement de production

Opérations réelles et transactions véritables.

* **Clés :** préfixe `lomi_sk_live_`.
* **Base URL :** `https://api.lomi.africa`.
* **Données :** données réelles ; champ du type `"environment": "live"`.

Utilisez la paire base URL + clé adaptée à l’environnement. Les limites de débit sont les mêmes en test et en live.

## Limites de débit

La même politique s’applique à la sandbox et au live :

| Périmètre                                                                                                           | Limite                       |
| ------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| Défaut                                                                                                              | 5000 requêtes par 15 minutes |
| Écritures (`POST /checkout-sessions`, `POST /payment-requests`, `POST /refunds`, `POST /payouts`, `POST /charge/*`) | 120 requêtes par minute      |

Les réponses réussies incluent `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Window-Seconds`, et les en-têtes IETF `RateLimit` / `RateLimit-Policy`. Un `429` inclut `Retry-After` et `error.details.retry_after_seconds`. Voir **[Erreurs](/api/errors)**.

## Obtenir les clés

1. Connectez-vous au [tableau de bord](https://dashboard.lomi.africa).
2. Ouvrez **Settings → Access tokens**.
3. Utilisez des clés secrètes distinctes pour **Test** et **Live**.

## Gestion et sécurité des clés

Traitez les clés comme des secrets confidentiels (génération, révocation, usage surveillés dans le tableau de bord marchand).

Bonnes pratiques :

* **Confidentialité** : pas de partage imprudent ; secrets ou coffre sécurisé.
* **Jamais côté client** : pas dans le front navigateur ou mobile.
* **Pas dans le dépôt** : ne pas committer les secrets.
* **Test en développement** : les clés live réservées à la production.
* **Rotation** : périodique ou en cas de suspicion de compromission.
* **Accès interne** : limiter qui voit les clés.

## Requête

### Paramètres d’URL

*Pas d’autre paramètre dans l’URL.*

### Paramètres de requête

*Aucun paramètre de requête.*

### En-têtes

| Nom            | Emplacement | Obligatoire | Schéma | Description                                                                                          |
| -------------- | ----------- | ----------- | ------ | ---------------------------------------------------------------------------------------------------- |
| `Lomi-Version` | header      | Non         | -      | Optional schema version pin. Echoes OpenAPI info.version (currently 1.2.0). Routes stay unversioned. |

## Réponses

| Statut | Description |
| ------ | ----------- |
| `200`  | -           |

## Erreurs

Les erreurs suivent un format JSON standard. **401** : clé manquante ou invalide. **404** : ressource introuvable. **429** : trop de requêtes. Pour les créations, envoyez une clé d’idempotence si votre flux le permet.
