Logs API
Chaque requête effectuée, avec les deux corps et la raison de son échec.
Chaque appel à l'API est enregistré : la méthode, le chemin, le statut, sa durée, les en-têtes et les deux corps. Lorsqu'un appel ne produit pas le résultat attendu, cette vue est la seule qui puisse vous indiquer ce que vous avez réellement envoyé.
API logsstatus: error
| Method | Endpoint | Status | Duration | Version |
|---|---|---|---|---|
| POST | /payments | 201 | 412 ms | 2026-09-01 |
| POST | /payments/trx_CSUGajfv9xh0XQ5wu2lx | 200 | 88 ms | 2026-09-01 |
| POST | /transfers | 201 | 690 ms | 2026-09-01 |
| POST | /payments/trx_9mWvL2xR7tB5nY4hC6dF | 402 | 1203 ms | 2026-09-01 |
| GET | /balance | 200 | 42 ms | 2026-09-01 |
| POST | /payments | 500 | 5012 ms | 2026-08-01 |
Filtres
Neuf filtres peuvent être combinés. Ils figurent tous dans l'URL, ce qui permet de partager une vue filtrée.
| Filtre | Élément recherché |
|---|---|
| Recherche | Recherche en texte intégral dans l'URL, l'identifiant de la requête, l'adresse IP, la méthode et le message d'erreur |
| Statut | success pour un code inférieur à 400, error à partir de 400, ou un code précis |
| Méthode | GET, POST, PUT, PATCH, DELETE |
| Endpoint | Une partie de l'URL |
| Adresse IP | Une partie de l'IP telle que Konsole l'affiche. L'adresse de l'appelant est enregistrée sous forme pseudonymisée, pas en clair |
| Date de début, date de fin | Des journées calendaires entières |
| Durée minimale, durée maximale | Des millisecondes, pour trouver les appels les plus lents |
Il n'existe aucun langage de requête
La recherche porte sur du texte brut, pas sur une syntaxe. status:5xx ne renvoie aucun résultat, car cette chaîne est recherchée telle quelle. Utilisez le sélecteur de statut pour les codes et le champ de recherche pour les chaînes de caractères.
Les résultats sont paginés par groupes de 50, du plus récent au plus ancien. Les logs sont conservés 90 jours, en live comme en sandbox : exportez ce que vous devez garder au-delà.
Contenu d'une ligne
| Champ | Remarque |
|---|---|
| ID de requête | L'identifiant de corrélation, également renvoyé dans X-Request-Id |
| Méthode, endpoint et URL complète | L'URL complète inclut les paramètres d'URL |
| Statut | Le code et son libellé |
| Durée | Durée côté serveur, sans votre réseau |
| Adresse IP | L'adresse de l'appelant, sous forme pseudonymisée |
| Erreur | Présente uniquement si l'appel a échoué |
| Version de l'API | La version utilisée pour traiter cet appel |
| Clé API | La clé utilisée : ses 15 premiers caractères, comme la page Keys la liste |
| Compte connecté | Défini lorsque l'appel agit sur un compte connecté |
La clé permet de trouver rapidement les appels effectués par un composant oublié. Un ancien script qui utilise encore une clé renouvelée apparaît sous sa propre clé.
Le panneau de détail
La sélection d'une ligne ouvre l'enregistrement complet : en-têtes de requête, en-têtes de réponse, corps de la requête, corps de la réponse, agent utilisateur et, quand l'appel a échoué, le message d'erreur. Aucune trace d'exécution n'est conservée.
Vous pouvez ainsi lever vos propres doutes. Le corps affiché correspond à ce que l'API a reçu après le traitement par votre framework, votre client HTTP et votre sérialiseur.
Les gros corps ne sont pas conservés, ni les corps qui ne sont pas du JSON
Un corps de requête de plus d'environ 250 Ko, ou une réponse de plus de 500 Ko, n'est pas
enregistré du tout : le log garde à sa place {"_truncated": true, "_size": …}, la taille en
octets. Une réponse qui n'est pas du JSON (un fichier, une page) est enregistrée vide. En dessous
de ces tailles, les deux sont conservés en entier.
Données masquées et données volontairement visibles
Les secrets sont masqués avant l'écriture du log. Aucune donnée sensible n'est donc stockée.
| Masqué | Laissé visible |
|---|---|
En-têtes d'authentification (Authorization, X-API-Key, X-Sync) et cookies | Tous les autres en-têtes |
Mots de passe, clés privées et codes de sécurité de carte (password, private_key, cvv, cvc), où qu'ils apparaissent | phone, email, name, address |
Codes PIN et numéros de carte : tout champ nommé comme un PIN ou un PAN, card.number à n'importe quel niveau et un champ number isolé | account_number, iban, phone_number |
Expiration de la carte (exp_month, exp_year, expiry_date) | Montants, devises, métadonnées, références |
La deuxième colonne résulte d'un choix volontaire : les champs métier restent lisibles, car un log illisible ne permet aucun débogage. Seules les données de carte sont systématiquement masquées.
La règle des codes PIN et des numéros de carte penche du côté du masquage : mpin, pincode et
transactionPin sont masqués, et un champ dont le nom leur ressemble seulement peut l'être aussi.
Un champ attendu qui s'affiche ***REDACTED*** relève en général de ce cas.
Votre clé ne figure jamais dans le log
Pour savoir quelle clé a effectué un appel, utilisez la clé API affichée sur le log. L'en-tête Authorization lui-même est enregistré sous la forme ***REDACTED***.
Faire le lien avec vos propres logs
Chaque réponse de l'API contient X-Request-Id. Enregistrez-le de votre côté. Toute discussion avec le support ou recherche dans Konsole devient alors une simple recherche au lieu d'une exploration des horodatages.
curl -i https://api.wajub.com/payments \
-H "Authorization: sk.xxxxxxxxxxxxxxxx…" \
-d amount=25000 -d currency=XAF \
| grep -i x-request-idExportation
Vous pouvez exporter les filtres actuels au format CSV ou JSON, avec une limite de 10 000 lignes par exportation. Le CSV contient l'identifiant, la méthode, le chemin, le statut, la durée, l'IP pseudonymisée, l'erreur et l'horodatage. Le JSON contient les enregistrements complets.
Exporter demande la permission Manage Webhooks, pas seulement celle qui permet de lire les logs. Les exportations sont décomptées du quota Exports par mois de votre plan, que partagent toutes les exportations du Dashboard (paiements, transferts, factures, clients, Konsole…). Une fois le quota dépassé, l'exportation renvoie une erreur 403 explicite, pas un fichier tronqué.
Pages associées
- ÉvénementsCe que la plateforme a enregistré, par opposition à ce que vous avez appelé.
- Gestion des erreursLa signification de chaque code de statut et la marche à suivre.
- Plafonds et quotasLa raison pour laquelle certaines lignes renvoient une erreur 429.
- Vue d'ensembleLes cartes qui renvoient vers ces lignes.