Aller au contenu principal

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

RessourceLimitePeriode
Requetes API1 000par heure et par cle
Burst10par seconde et par cle
Webhooks entrants100par minute et par endpoint
Executions workflow5simultanees par workspace
Conversations agent10simultanees par workspace

Headers de rate limit

Chaque reponse API inclut des headers indiquant l'etat du rate limit :

HeaderDescription
X-RateLimit-LimitNombre maximum de requetes pour la periode
X-RateLimit-RemainingNombre de requetes restantes
X-RateLimit-ResetTimestamp (epoch) du prochain reset
Retry-AfterNombre de secondes a attendre (uniquement si 429)

Gerer le rate limit

Lorsque vous recevez une reponse 429 Too Many Requests :

  1. Lisez le header Retry-After pour savoir combien de temps attendre.
  2. Implementez un backoff exponentiel pour les tentatives suivantes.
  3. 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.

QuotaValeur par defaut
Cles API par workspace50
Scopes par cle10
Requetes journalieresConfigurable par cle (defaut : illimite)
Requetes mensuellesConfigurable par cle (defaut : illimite)
Membres par workspaceSelon 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

ParametreTypeDescriptionDefaut
limitnumberNombre maximum d'elements par page50
cursorstringCurseur 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

ParametreMinimumMaximumDefaut
limit120050

Tailles de payload

RessourceTaille 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 webhook1 Mo

Durees et timeouts

OperationTimeout
Requete API standard30 secondes
Execution workflow (durable)1 heure
Conversation agent5 minutes
Synchronisation Live Data10 minutes
Import fichier5 minutes

Voir aussi

Besoin d'aide ?

Ecrivez-nous : Support et contact.