AI Glot websiteOpen AI Glot
REST APIAanvragen, paginering en limieten

Aanvragen, paginering en limieten

Bouw voorspelbare AI Glot API-clients met response-enveloppen, strikte parameters, cursorpaginering, aanvraag-ID's, snelheidslimieten en nieuwe pogingen.

JSON-enveloppen

Antwoorden met één resource gebruiken bij succes de volgende indeling:

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

Lijsten bevatten ook pagineringsvelden:

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

Onbekende eigenschappen in een JSON-body worden geweigerd met unknown_field. Zo wordt een typefout bij een schrijfactie opgemerkt in plaats van stilzwijgend genegeerd.

Queryparameters werken anders: onbekende parameters worden genegeerd, niet geweigerd. Analysetools en proxy’s voegen regelmatig eigen parameters toe (utm_*, cf_*). Het zou onwenselijk zijn om een verder geldige aanvraag daarom te laten mislukken.

Standaardwaarden

De standaardwaarden zijn ingesteld op veilig interactief gebruik. Zo bestrijkt het gebruik standaard de laatste 30 dagen en tonen vertalingen standaard de 25 meest recente, niet-gearchiveerde records. Een aangevraagde lijstlimiet boven 100 wordt begrensd op 100.

Datums en tijdstempels gebruiken ISO 8601. JSON-veldnamen zijn snake_case. Velden die nog niet van toepassing zijn, zijn doorgaans null, zodat de resource-indeling tijdens de hele levenscyclus van een vertaling gelijk blijft.

Cursorpaginering

Geef next_cursor uit een antwoord ongewijzigd door in de volgende aanvraag. Stop wanneer de waarde null is of has_more de waarde false heeft.

List every translation
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);

Maak cursors niet zelf en pas ze niet aan. Cursorpaginering voorkomt dat een nieuw aangemaakte vertaling de rijen tussen pagina’s verschuift.

Snelheidslimieten

Per inloggegeven geldt een doorlopende limiet van 240 aanvragen per minuut en een pieklimiet van 40 aanvragen per 10 seconden. Een 429-antwoord bevat Retry-After; wacht de aangegeven tijd af voordat je het opnieuw probeert.

Elk antwoord bevat een header RateLimit-Policy met beide tijdvensters:

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

De header geeft alleen de limieten aan. Het resterende aantal aanvragen wordt niet gepubliceerd. Houd je daarom aan de gedocumenteerde limieten en beschouw 429 plus Retry-After als het signaal om gas terug te nemen.

Aanvraag-ID’s en nieuwe pogingen

Elk antwoord bevat een aanvraag-ID, zowel in de payload (request_id) als in de header X-Request-Id. Vermeld deze ID wanneer je contact opneemt met support.

Probeer het bij 429, 500, 502, 503 en 504 opnieuw met exponentiële back-off en jitter. Probeer validatie-, authenticatie-, rechten- en niet-gevonden-fouten niet opnieuw zonder de aanvraag aan te passen.

Afsluitende schuine strepen zijn toegestaan. De REST API verleent opzettelijk geen CORS-toestemming aan browsers, omdat inloggegevens van werkruimten thuishoren in vertrouwde code aan de serverzijde.

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.