# invalid_request

**Die Anfrage ist ungültig.**

| | |
|---|---|
| HTTP-Status | `400` |
| `code` | `invalid_request` |
| Wiederholen? | Nein, erst die Anfrage korrigieren |

## Was das bedeutet

Der Body oder ein Parameter passt nicht zum Schema: Pflichtfeld fehlt, unbekanntes Feld, falscher Typ, zu langer Text, ungültige Zeit oder Regel. Auch kaputtes JSON landet hier. In `errors` stehen **alle** Probleme auf einmal, jeweils mit `field`, `code` und `message`.

## So behebst du es

Lies `errors[].field` und `errors[].code`. Fachliche Codes wie `invalid_timezone`, `end_before_start` oder `unsupported_rrule` sind unter [Termine: Validierungsfehler](https://docs.kalender-sync.de/api/events/#validierungsfehler) erklärt. Schemaverstöße tragen den Code des Validators, zum Beispiel `invalid_type`, `too_big` oder `unrecognized_keys` (unbekanntes Feld, oft ein Tippfehler).

## Beispiel

```json
{
  "type": "https://docs.kalender-sync.de/en/api/errors/invalid_request",
  "title": "The request is invalid",
  "status": 400,
  "code": "invalid_request",
  "request_id": "req_…",
  "errors": [
    {
      "field": "end",
      "code": "end_before_start",
      "message": "end must not be before start."
    },
    {
      "field": "recurrence.rules[0]",
      "code": "unsupported_rrule",
      "message": "BYHOUR is not supported."
    }
  ]
}
```

→ [Alle Fehlercodes](https://docs.kalender-sync.de/api/errors/)