Okouro expose une API REST JSON. Tout ce que l’application web peut faire, vos propres intégrations peuvent le faire aussi : gérer les personnes, suivre le temps, exécuter des missions, faire avancer les affaires dans le pipeline et lire les KPI. Ce guide explique comment utiliser l’API et comment accomplir les tâches courantes avec elle. Pour la liste exhaustive des points de terminaison et de leurs schémas, utilisez la Référence de l’API interactive.
URL de base
Chaque point de terminaison s’adresse depuis une unique URL de base, sans préfixe /api :
https://api.okouro.com
Lorsque vous exécutez Okouro en local, l’URL de base est http://localhost:8080. Tous les exemples de ce guide utilisent https://api.okouro.com ; remplacez-la par votre propre hôte (ou celui en local) si besoin.
Type de contenu
Les corps des requêtes et des réponses sont en JSON. Envoyez et attendez application/json :
Content-Type: application/json
La seule exception est le téléchargement du devis en PDF, qui renvoie application/pdf.
Authentification en une ligne
Tous les points de terminaison, sauf un petit ensemble public, exigent un jeton porteur dans l’en-tête Authorization :
GET /auth/me HTTP/1.1
Authorization: Bearer <access_token>
Voir Authentification pour savoir comment obtenir et rafraîchir ce jeton.
Un premier appel
Connectez-vous, puis lisez votre propre profil :
POST /auth/login HTTP/1.1
Content-Type: application/json
{
"email": "you@company.com",
"password": "your-password"
}
{
"access_token": "eyJhbGciOiJSUzI1NiIs...",
"refresh_token": "eyJhbGciOiJSUzI1NiIs...",
"token_type": "Bearer",
"user": {
"id": "0190a1c2-3d4e-7f80-9a1b-2c3d4e5f6a7b",
"account_id": "0190a1c2-0000-7f80-9a1b-2c3d4e5f6a7b",
"email": "you@company.com",
"first_name": "Alex",
"last_name": "Martin",
"role": "admin",
"created_at": "2026-01-05T09:00:00Z",
"consultant_id": null,
"settings": { "language": "en" },
"is_manager": false
}
}
Utilisez le access_token renvoyé lors de l’appel suivant :
GET /auth/me HTTP/1.1
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Ce qui est public
Seules ces routes fonctionnent sans jeton : POST /auth/signup, POST /auth/complete-signup, POST /auth/login, POST /auth/refresh, POST /invitations/accept, POST /password-changes/redeem, GET /health et GET /openapi.json. Tout le reste renvoie 401 Unauthorized sans jeton porteur valide.
Comment ce guide est organisé
- Pour démarrer couvre les règles de base : cette vue d’ensemble, Authentification et Rôles et permissions.
- Utiliser l’API couvre les comportements transverses : Conventions (identifiants, dates, montants, pagination), Erreurs et Limites de débit.
- Guides sont des parcours par tâche qui enchaînent plusieurs points de terminaison dans l’ordre : Gérer les personnes, Suivre le temps, Demander des congés, Gérer les frais, Exécuter une mission, Pipeline commercial et Lire les KPI.
D’où viennent les chiffres
Chaque requête et réponse de ce guide reflète le contrat d’API en production, publié sous forme de document OpenAPI 3.1 à l’adresse GET /openapi.json et affiché dans la Référence de l’API. En cas de désaccord entre un guide et la référence, la référence prime.