Vue d'ensemble de la référence API
URL de base, enveloppe de réponse, conventions et liste complète des ressources.
L'API Wajub est une API REST : une seule URL de base, des corps en JSON, des codes de statut HTTP
standard et un unique en-tête Authorization qui porte votre API key. Il n'existe ni hôte séparé
pour la sandbox, ni segment de version dans le chemin.
Playground intégré
Renseignez vos API keys dans la barre supérieure, puis utilisez Tester cet endpoint sur n'importe quelle page de ressource pour envoyer une vraie requête depuis la documentation.
URL de base
Toutes les requêtes partent vers le même hôte, en HTTPS :
https://api.wajub.comL'environnement est déterminé par le préfixe de l'API key que vous envoyez, pas par l'URL. Une
clé qui commence par sk_test., pk_test. ou rk_test. lit et écrit dans la base de données de
la sandbox ; une clé qui commence par sk., pk. ou rk. lit et écrit les données live. Même
hôte, mêmes chemins, mêmes payloads.
Votre premier appel
GET / ne coûte rien, ne touche à aucune ressource et répond aux deux questions à se poser en
premier : cette clé est-elle valide, et quel environnement ouvre-t-elle ?
curl https://api.wajub.com/ \
-H "Authorization: $WAJUB_API_KEY"La réponse indique le nom de votre équipe et l'environnement auquel la clé appartient :
Enveloppe de réponse
Chaque réponse porte les trois mêmes champs, suivis du payload.
statusstringfacultatifOK, Created, Not Found, Unprocessable Content.codeintegerfacultatifmessagestringfacultatifUne ressource unique est renvoyée sous une clé JSON qui porte son nom. Un paiement revient sous
transaction, et non payment, car l'enregistrement sous-jacent est une transaction :
Les listes renvoient un tableau items et un objet meta :
Voici la clé à lire pour chaque ressource. GET /events est la seule liste qui n'utilise pas
items :
| Ressource | Unique | Liste |
|---|---|---|
| Paiements | transaction | items |
| Remboursements | refund | items |
| Transferts | transfer | items |
| Clients | customer | items |
| Bénéficiaires | beneficiary | items |
| Liens de paiement | link | items |
| Factures | invoice | items |
| Comptes | account | items |
| Endpoints de webhook | endpoint | items |
| Événements | event | events |
| Solde | balance | sans objet |
Chaque réponse porte un identifiant de requête
X-Request-Id est renvoyé sur chaque réponse, en cas de succès comme d'échec. Journalisez-le, et
communiquez-le au support en cas de problème. Vous pouvez aussi envoyer le vôtre (64 caractères
maximum) : Wajub vous le renvoie au lieu d'en générer un, ce qui aligne vos logs sur les nôtres.
X-Request-Id: 9f1c0f2a-3f5e-4f1b-9a1e-2c8d6b0e7a41
X-Wajub-Version: 2026-09-01
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117Conventions
| Sujet | Ce qui est couvert |
|---|---|
| Authentification | Clés publiques, privées et restreintes, scopes, règles d'IP |
| Erreurs | Codes de statut et objet errors |
| Motifs d'échec | failure_reason sur les paiements, transferts et remboursements échoués |
| Pagination | per_page, page et cursor |
| Limites de requêtes | Les cinq limiteurs et les en-têtes X-RateLimit-* |
| Idempotence | Rejouer une création sans débiter deux fois |
| Gestion des versions | Versions datées et ce qui a changé |
Ressources
| Ressource | Endpoints principaux |
|---|---|
| Paiements | POST /payments, GET /payments/{id} |
| Prestataires | GET /providers |
| Remboursements | POST /refunds, GET /refunds/{id} |
| Transferts | POST /transfers, GET /transfers/{id} |
| Clients | POST /customers, GET /customers/{id} |
| Sous-comptes | POST /accounts |
| Solde | GET /balance |
| Événements | GET /events, POST /events/{id}/resend |
| Bénéficiaires | POST /beneficiaries |
| Endpoints de webhook | POST /webhooks |
| Liens de paiement | POST /links |
| Factures | POST /invoices |
| Litiges | GET /disputes |
Trois modules complémentaires se situent en dehors des ressources principales et sont documentés à part : Identité, Taxes et Shield.
Essayer maintenant
GET /balance exige une clé privée, c'est donc aussi un bon moyen de vérifier que votre clé côté
serveur fonctionne :