Limits und Kontingente
Die Grenzen, an denen jede Anfrage gemessen wird, und die Header, die Ihr Kontingent melden.
Rate-Limit-Header
Ein erfolgreicher Optimierungsaufruf liefert X-RateLimit-Limit (das Monatslimit des KONTOS – alle Schlüssel des Kontos teilen sich eines) und X-RateLimit-Remaining (die dem Konto in diesem Monat verbleibenden Aufrufe, diesen eingerechnet). Gesendet werden sie ausschließlich von den Optimierungs-Endpoints: der Zähler wird als Teil der Freigabe einer Berechnung reserviert, deshalb haben /v1/usage und /v1/health nichts zu melden.
| Feld | Typ | Beschreibung |
|---|---|---|
| X-RateLimit-Limit | integer | The ACCOUNT's monthly quota, not this key's: api_authorize compares the month's calls summed over EVERY key on the account against the largest monthly_quota frozen onto any of its ACTIVE keys (migrations 049 + 053). It is the same number GET /v1/usage returns as limit. More keys do not add allowance. On an answer to the public demo key (X-CutOptim-Demo: true) it is instead the per-address DAILY demo allowance. |
| X-RateLimit-Remaining | integer | Calls left on the ACCOUNT in the current UTC calendar month AFTER this one — account-wide for the same reason X-RateLimit-Limit is. Sent only on a successful optimize: the counter is reserved as part of authorizing the request, so /v1/usage and /v1/health have nothing to report. On a demo answer: demo calls left today from this address. |
| Retry-After | integer | Sent with 402 and 409 and 429 only. 402: Seconds until the quota resets — i.e. until 00:00 UTC on the 1st of next month. 409: Sent with idempotency_in_progress: seconds to wait before retrying. 429: Seconds to wait before retrying. |
| X-CutOptim-Demo | "true" | Present, with the value true, only on an answer to the public demo key — refusals included. The demo key has no account: its 200s carry one extra warnings line saying so, and the two X-RateLimit-* headers count the per-address daily demo allowance. |
| Idempotency-Replayed | "true" | Present, with the value true, only when this answer is a stored one returned for a repeated Idempotency-Key. The body and the X-RateLimit-* values are those of the first answer. |
Limits
- 2,000 Teile pro Anfrage (Gesamtmenge, nach Auflösung von qty)
- 50 Materialzeilen · Request-Body bis 1 MB
- include "pdf": höchstens 500 Teile pro Anfrage (Gesamtmenge)
- 10 aktive Schlüssel pro Konto — sie teilen sich EIN monatliches Kontingent; Schlüssel trennen Umgebungen und Integrationen, sie erhöhen das Kontingent nicht
- 10 MB Anfragerumpf auf den beiden nest-Pfaden, die eine Zeichnung tragen können (/v1/optimize/nest und /v1/import/nest); eine source-Datei höchstens 4.000.000 Zeichen, 8.000.000 pro Anfrage
- die Parallelität ist serverseitig begrenzt — Berechnungen laufen nacheinander hinter einer kurzen Warteschlange (ca. 8 s); ein Burst darüber hinaus erhält 429, und eine abgelehnte Anfrage wird nie berechnet. Die schlüssellosen Validate-Endpunkte haben zusätzlich eine Obergrenze je Adresse (429 mit Retry-After); ein gültiger Schlüssel wird nie so gedrosselt.
Eine Adresse, die binnen einer Minute mehr als 30 unbekannte API-Schlüssel sendet, erhält für den Rest dieser Minute 429 — noch vor jeder Schlüsselprüfung. Ein Konto darf gleichzeitig 5 max-Jobs in queued/running halten.
- Idempotency-Key: 8–128 Zeichen aus A-Z a-z 0-9 _ -; Schlüssel und gespeicherte Antwort werden 24 Stunden aufbewahrt, je Konto und Schlüsseltyp (Test oder Live); der öffentliche Demo-Schlüssel ignoriert den Header
- Webhooks: bis zu 5 Endpunkte pro Konto; Antwort innerhalb von 10 s, sonst wird die Zustellung wiederholt — 8 Versuche über 24 Stunden; das Zustellprotokoll bleibt 30 Tage
Ist eine Engine ausgefallen? Die Statusseite zeigt live den Zustand der Website, der Engine API, der Nesting-Engine und der asynchronen max-Engine: Dienststatus ↗