# Limits

> Body-Größe, Feldanzahl, Rate-Limits, monatliche Nutzung, Webhooks und Aufbewahrung.

Feste Limits, die für jeden Workspace und jedes Formular gelten. Nur die monatliche Nutzung und die Anzahl der Webhook-Endpunkte hängen von deinem Tarif ab.

## Einsendungen

| Limit | Wert | Über dem Limit |
| --- | --- | --- |
| Request-Body | 256 KB | `413 payload_too_large` |
| Gespeicherte Felder, als JSON serialisiert | 64 KB | `413 payload_too_large` |
| Felder pro Einsendung | 100 | `413 payload_too_large` |
| Länge des Feldnamens | 128 Zeichen | `413 payload_too_large` |
| Größe des Feldwerts | 16 KB | `413 payload_too_large` |
| JSON-Tiefe | 3 Ebenen, das Objekt auf oberster Ebene mitgezählt | `422 too_deep` |
| `_subject` | 200 Zeichen | Wird gekürzt |
| Idempotenzschlüssel | 255 Zeichen, 24 Stunden aufbewahrt | `400 invalid_body` |
| Dateien | Noch nicht gebaut | `422 files_not_supported` |

## Formulardefinitionen

| Limit | Wert |
| --- | --- |
| Felder pro Formular | 100 |
| Optionen pro Feld | 500 |
| Optionen pro Formular | 2.000 |
| Feld-ID | 64 Zeichen, snake_case in Kleinbuchstaben |
| Label | 200 Zeichen |
| Hilfetext | 1.000 Zeichen |
| Textfeld | Bis zu 10.000 Zeichen, standardmäßig 1.000 |
| Langtextfeld | Bis zu 16.000 Zeichen, standardmäßig 10.000 |
| Muster | 200 Zeichen |
| Erlaubte Domains pro Formular | 20 |

## Rate-Limits

| Gilt für | Limit |
| --- | --- |
| Posts an ein Formular von einer IP, Standard | 5 pro Minute und 3 in 10 Sekunden |
| Posts an ein Formular von einer IP, andere Voreinstellungen | Relaxed 20 pro Minute, Strict 2 alle 10 Minuten, oder Custom |
| Posts an beliebige Formulare von einer IP | 30 pro Minute, und nie mehr als 600 pro Minute |
| Posts an ein Formular insgesamt | 300 pro Minute, oder ein Custom-Höchstwert von 1 bis 10.000 |
| `GET /f/<formId>/schema` | 60 pro Minute pro IP und Formular |
| Der Prüf-Frame von Ikiform | 60 pro Minute pro IP und Formular |
| REST API | 100 Requests pro 60 Sekunden pro Schlüssel |

Details und das Auffüllverhalten findest du unter [Rate-Limits](https://ikiform.com/de/docs/rate-limits.md).

## Monatliche Nutzung

Jeder Workspace hat ein monatliches Einsendungslimit, das sein Tarif festlegt; siehe [Preise](https://ikiform.com/de/pricing). Monate sind Kalendermonate in UTC. Nur empfangene Einsendungen zählen; Spam und abgelehnte Posts nicht.

- Die Benachrichtigungsempfänger des Workspace erhalten bei 80 % und bei 100 % des Limits eine E-Mail.
- Beim Doppelten des Limits werden neue Einsendungen mit `429 quota_exceeded` abgelehnt, bis der nächste Monat beginnt oder ein Upgrade erfolgt, und die Workspace-Inhaber erhalten eine E-Mail.

### Zwischen 100 % und der Obergrenze

|   | Heute | Sobald die Abrechnung aktiv ist |
| --- | --- | --- |
| Neue Einsendungen | Wie gewohnt empfangen | Zurückgehalten: Besucher sehen eine normale Erfolgsseite, aber zurückgehaltene Einsendungen bleiben verborgen |
| Webhooks und E-Mails | Gesendet | Nicht gesendet, bis der Workspace upgradet |
| Aufbewahrt für | Bis du sie löschst | 30 Tage |

### Testen ohne Tarif

Ein Workspace ohne Tarif kann Formulare bauen und testen, bevor er bezahlt. Was mit einem Post passiert, hängt davon ab, woher er kommt, gelesen aus dem Header `Origin`, oder `Referer`, wenn es kein `Origin` gibt:

| Post von | Antwort | Gespeichert als | Webhooks und E-Mails |
| --- | --- | --- | --- |
| `localhost`, `127.0.0.1`, `[::1]`, `*.localhost` oder `*.local`, beliebiger Port | `201` oder die übliche Weiterleitung, für die ersten 50 pro Monat; danach `402 test_limit_reached` | Empfangen oder Spam | Gesendet |
| Jede andere Site, ein Server oder `curl` | `402 plan_required`, mit dem Hinweis, dass die Einsendung gespeichert wurde | 30 Tage lang zurückgehalten, bis zu 100 pro Monat; Spam und alles darüber hinaus wird nicht gespeichert | Nicht gesendet, bis der Workspace einen Tarif wählt |

- Die erste zurückgehaltene Einsendung schickt einmalig eine E-Mail an die Benachrichtigungsadresse des Workspace, mit einem Link zur Tarifwahl.
- Die Wahl eines Tarifs gibt alle zurückgehaltenen Einsendungen frei, samt ihren Webhooks und Benachrichtigungs-E-Mails.
- Lokale Tests und „Test senden“ zählen nicht zur Nutzung des Monats, daher startet ein neuer Tarif mit seinem vollen Limit.

### Einmal zahlen mit Einsendungspaketen

Einsendungspakete sind eine Alternative oder eine Aufstockung: 10.000 Einsendungen für $49 oder 50.000 für $149, einmalig bezahlt. Guthaben verfällt nie. Zuerst wird das monatliche Limit eines Tarifs genutzt, danach verbraucht jede empfangene Einsendung ein Guthaben; Spam und Testsendungen nicht. Solange Guthaben übrig ist, wird nichts wegen Überschreitung des Limits zurückgehalten oder abgelehnt. Wenn es aufgebraucht ist, werden neue Einsendungen wie unten beschrieben zurückgehalten.

- Ein Workspace mit Guthaben ist live, nicht im Testmodus: Posts von jeder Site, `localhost` eingeschlossen, werden wie bei einem Tarif behandelt, und jede empfangene verbraucht ein Guthaben.
- Wenn das Guthaben aufgebraucht ist und es keinen Tarif gibt, werden neue Einsendungen zurückgehalten, bis zur Größe des zuletzt gekauften Pakets pro Monat, und danach mit `429 quota_exceeded` abgelehnt. Der Kauf eines weiteren Pakets oder die Wahl eines Tarifs gibt sie frei.
- Wird ein Paket erstattet, entfällt das restliche Guthaben daraus. Sobald jedes Paket erstattet ist, ist ein Workspace ohne Tarif wieder im Testmodus.

## Webhooks

| Limit | Wert |
| --- | --- |
| Endpunkte pro Workspace | 3, unbegrenzt bei Enterprise |
| Payload-Größe | 256 KB, danach wird `fields` weggelassen und `truncated` ist `true` |
| Antwort-Timeout | 15 Sekunden |
| Versuche | 9 über etwa 3 Tage und 6 Stunden |
| Automatisches Deaktivieren | Nach 5 Tagen fehlgeschlagener Zustellungen oder bei `410 Gone` |
| Altes Secret nach der Rotation | 24 Stunden |
| Im Log gespeicherter Antwort-Body | 4 KB |

## Benachrichtigungs-E-Mails

| Limit | Wert |
| --- | --- |
| E-Mails pro Formular pro Stunde | 50, danach eine Zusammenfassung für den Rest der Stunde |
| E-Mails pro Formular pro Stunde, Workspaces jünger als 7 Tage | 10 |
| Empfänger pro E-Mail | 10 |
| Angezeigte Felder pro E-Mail | 20, Werte nach 500 Zeichen gekürzt |

## Aufbewahrung

| Daten | Aufbewahrt für |
| --- | --- |
| Empfangene Einsendungen | Bis du sie löschst |
| Spam-Einsendungen | 30 Tage |
| Zurückgehaltene Einsendungen | 30 Tage |
| Webhook-Zustellungen | 90 Tage |
| Webhook-Versuche | 30 Tage |
| Idempotenzschlüssel | 24 Stunden |

> Brauchst du höhere Limits? Schreib an hello@ikiform.com wegen Enterprise.
