AI Glot websiteOpen AI Glot
API RESTRequêtes, pagination et limites

Requêtes, pagination et limites

Créez des clients d'API AI Glot prévisibles à l'aide des enveloppes de réponse, de paramètres stricts, de la pagination par curseur, des identifiants de requête, des limites de débit et des nouvelles tentatives.

Enveloppes JSON

Les réponses de réussite pour une ressource unique utilisent le format suivant :

JSON
{ "data": {}, "request_id": "req_example" }

Les listes ajoutent des champs de pagination :

JSON
{
  "data": [],
  "has_more": true,
  "next_cursor": "opaque-cursor",
  "request_id": "req_example"
}

Les propriétés inconnues dans le corps JSON sont rejetées avec l’erreur unknown_field. Cela permet d’intercepter une faute de frappe lors d’une écriture au lieu de l’ignorer silencieusement.

Les paramètres de requête (query parameters) se comportent différemment : ceux qui ne sont pas reconnus sont ignorés et non rejetés. Les outils d’analyse et les proxys ajoutent couramment leurs propres paramètres (utm_*, cf_*), et faire échouer une requête par ailleurs valide pour cette raison nuirait à l’expérience d’intégration.

Valeurs par défaut

Les valeurs par défaut sont choisies pour garantir une utilisation interactive sûre. Par exemple, les statistiques d’utilisation portent par défaut sur les 30 derniers jours et les traductions renvoient par défaut 25 enregistrements récents non archivés. Une limite de liste demandée supérieure à 100 est ramenée à 100.

Les dates et horodatages utilisent la norme ISO 8601. Les noms de champs JSON sont au format snake_case. Les champs qui ne sont pas encore applicables sont généralement null afin que la structure des ressources reste stable tout au long du cycle de vie d’une traduction.

Pagination par curseur

Transmettez la valeur de next_cursor d’une réponse à la requête suivante sans la modifier. Arrêtez-vous lorsqu’elle vaut null ou que has_more est false.

Lister toutes les traductions
let cursor;
do {
  const url = new URL('https://api.ai-glot.com/v1/batches');
  url.searchParams.set('limit', '100');
  if (cursor) url.searchParams.set('cursor', cursor);

  const page = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.AIGLOT_API_KEY}` },
  }).then(response => response.json());

  for (const translation of page.data) console.log(translation.id);
  cursor = page.next_cursor;
} while (cursor);

Ne construisez pas et ne modifiez pas les curseurs. La pagination par curseur évite qu’une nouvelle traduction créée ne décale les lignes entre les pages.

Limites de débit

Chaque identifiant dispose d’une limite soutenue de 240 requêtes par minute et d’un plafond de rafale de 40 requêtes par tranche de 10 secondes. Une réponse 429 inclut l’en-tête Retry-After ; attendez le délai indiqué avant de réessayer.

Chaque réponse comporte un en-tête RateLimit-Policy décrivant les deux fenêtres :

RateLimit-Policy
RateLimit-Policy: 240;w=60, 40;w=10

Il indique uniquement la politique appliquée. Aucun décompte des requêtes restantes n’est publié ; cadencez donc vos requêtes en fonction des limites documentées et considérez le statut 429 accompagné de Retry-After comme le signal pour ralentir le rythme.

Identifiants de requête et nouvelles tentatives

Chaque réponse comporte un identifiant de requête, à la fois dans le corps de la réponse (request_id) et dans l’en-tête X-Request-Id. Veuillez le fournir lorsque vous contactez le support.

Réessayez les erreurs 429, 500, 502, 503 et 504 avec un intervalle exponentiel et une variation aléatoire (jitter). Ne réessayez pas les erreurs de validation, d’authentification, d’autorisation ou de ressource introuvable sans modifier la requête au préalable.

Les barres obliques finales (trailing slashes) sont tolérées. L’API REST n’envoie délibérément aucune autorisation CORS pour navigateur, car les identifiants d’espace de travail doivent impérativement rester dans du code serveur de confiance.

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search AI Glot Docs documentation and read it in full, instead of answering from memory.

https://ai-glot.com/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://ai-glot.com/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.