AI Glot websiteOpen AI Glot
REST APISolicitudes, paginación y límites

Solicitudes, paginación y límites

Desarrolla clientes de la API de AI Glot predecibles mediante envoltorios de respuesta, parámetros estrictos, paginación por cursor, ID de solicitud, límites de frecuencia y reintentos.

Envoltorios JSON

Las respuestas satisfactorias de un único recurso utilizan la siguiente estructura:

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

Las listas añaden campos de paginación:

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

Las propiedades desconocidas en el cuerpo JSON se rechazan con unknown_field. Esto permite detectar errores tipográficos al escribir datos en lugar de descartarlos de forma silenciosa.

Los parámetros de consulta funcionan de manera diferente: los no reconocidos se ignoran, no se rechazan. Las herramientas de analítica y los servidores proxy suelen añadir sus propios parámetros (utm_*, cf_*), y rechazar una solicitud válida por este motivo resultaría perjudicial.

Valores predeterminados

Los valores predeterminados se eligen para un uso interactivo seguro. Por ejemplo, el uso se establece por defecto en los últimos 30 días y las traducciones se limitan por defecto a 25 registros recientes no archivados. Si se solicita un límite de lista superior a 100, se acotará a 100.

Las fechas y marcas de tiempo utilizan el formato ISO 8601. Los nombres de los campos JSON siguen la convención snake_case. Los campos que aún no son aplicables suelen devolver null para que la estructura del recurso se mantenga estable a lo largo de todo el ciclo de vida de la traducción.

Paginación por cursor

Pasa el valor de next_cursor de una respuesta a la siguiente solicitud sin modificarlo. Detén las solicitudes cuando sea null o cuando has_more sea false.

Listar todas las traducciones
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);

No construyas ni modifiques los cursores manualmente. La paginación por cursor evita que una traducción recién creada desplace filas entre diferentes páginas.

Límites de frecuencia

Cada credencial tiene un límite sostenido de 240 solicitudes por minuto y un límite máximo puntual de 40 solicitudes por cada 10 segundos. Una respuesta 429 incluye la cabecera Retry-After; espera el tiempo indicado antes de reintentar.

Todas las respuestas incluyen una cabecera RateLimit-Policy que describe ambas ventanas:

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

Solo indica la directiva aplicada. No se publica un recuento de solicitudes restantes, por lo que debes regular las solicitudes en función de los límites documentados y tomar la respuesta 429 junto con Retry-After como la señal para reducir el ritmo.

ID de solicitud y reintentos

Todas las respuestas incluyen un identificador de solicitud tanto en el cuerpo (request_id) como en la cabecera X-Request-Id. Inclúyelo siempre que te pongas en contacto con el servicio de soporte.

Reintenta los errores 429, 500, 502, 503 y 504 aplicando un retardo exponencial (exponential backoff) con variación aleatoria (jitter). No reintentes errores de validación, autenticación, permisos o de recurso no encontrado sin modificar la solicitud previamente.

Se admiten barras finales en las URL. La API REST no envía deliberadamente permisos CORS para navegadores, ya que las credenciales del espacio de trabajo deben permanecer en código seguro del lado del servidor.

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.