Limites et quotas
En bref
L'API Ontologie applique des limites pour garantir la stabilite et la performance de la plateforme. Ce guide recapitule les rate limits, quotas, tailles de payload et regles de pagination.
Rate limits
Les rate limits controlent le nombre de requetes autorisees par periode de temps.
Limites par defaut
| Ressource | Limite | Periode |
|---|---|---|
| Requetes API | 1 000 | par heure et par cle |
| Burst | 10 | par seconde et par cle |
| Webhooks entrants | 100 | par minute et par endpoint |
| Executions workflow | 5 | simultanees par workspace |
| Conversations agent | 10 | simultanees par workspace |
Headers de rate limit
Chaque reponse API inclut des headers indiquant l'etat du rate limit :
| Header | Description |
|---|---|
X-RateLimit-Limit | Nombre maximum de requetes pour la periode |
X-RateLimit-Remaining | Nombre de requetes restantes |
X-RateLimit-Reset | Timestamp (epoch) du prochain reset |
Retry-After | Nombre de secondes a attendre (uniquement si 429) |
Gerer le rate limit
Lorsque vous recevez une reponse 429 Too Many Requests :
- Lisez le header
Retry-Afterpour savoir combien de temps attendre. - Implementez un backoff exponentiel pour les tentatives suivantes.
- Repartissez vos requetes dans le temps au lieu de les envoyer en rafale.
async function callWithRetry(url: string, options: RequestInit, retries = 3) {
for (let i = 0; i < retries; i++) {
const response = await fetch(url, options);
if (response.status === 429) {
const retryAfter = Number(response.headers.get('Retry-After')) || 60;
await new Promise(r => setTimeout(r, retryAfter * 1000));
continue;
}
return response;
}
throw new Error('Nombre maximum de tentatives depasse');
}
Quotas
Les quotas limitent l'utilisation totale sur une periode plus longue.
| Quota | Valeur par defaut |
|---|---|
| Cles API par workspace | 50 |
| Scopes par cle | 10 |
| Requetes journalieres | Configurable par cle (defaut : illimite) |
| Requetes mensuelles | Configurable par cle (defaut : illimite) |
| Membres par workspace | Selon le plan |
Les quotas journaliers et mensuels sont configurables par cle API depuis l'onglet Quotas du panneau de securite. Voir Permissions.
Pagination
Les endpoints qui retournent des listes supportent la pagination par curseur :
Parametres de requete
| Parametre | Type | Description | Defaut |
|---|---|---|---|
limit | number | Nombre maximum d'elements par page | 50 |
cursor | string | Curseur de la page suivante | (premiere page) |
Format de reponse
{
"data": [...],
"pagination": {
"total": 342,
"limit": 50,
"cursor": "eyJpZCI6IjEyMyJ9",
"hasMore": true
}
}
Parcourir toutes les pages
let cursor: string | undefined;
const allItems = [];
do {
const response = await client.nodes.list({ limit: 100, cursor });
allItems.push(...response.data);
cursor = response.pagination.hasMore ? response.pagination.cursor : undefined;
} while (cursor);
Limites de pagination
| Parametre | Minimum | Maximum | Defaut |
|---|---|---|---|
limit | 1 | 200 | 50 |
Tailles de payload
| Ressource | Taille max |
|---|---|
| Corps de requete (JSON) | 1 Mo |
| Import fichier (CSV/Excel) | 50 Mo |
| Piece jointe (tableur) | 10 Mo par fichier |
| Document (Knowledge Base) | 100 Mo par fichier |
| Payload webhook | 1 Mo |
Durees et timeouts
| Operation | Timeout |
|---|---|
| Requete API standard | 30 secondes |
| Execution workflow (durable) | 1 heure |
| Conversation agent | 5 minutes |
| Synchronisation Live Data | 10 minutes |
| Import fichier | 5 minutes |
Voir aussi
- Cles API — Configurer les rate limits par cle
- Permissions — Quotas par cle
- SDK — Les SDK gerent les rate limits automatiquement
- Erreurs courantes — Erreur 429
Besoin d'aide ?
Ecrivez-nous : Support et contact.