# Nächste Mahnung einer Rechnung als PDF ansehen (https://developer.bimetrics.de/reference/receivables/preview-next-reminder)

`GET https://app.bimetrics.de/api/receivable/{id}/reminder-preview`

operationId: `previewNextReminder` · Berechtigung (Scope): `sales:read` · Bereich: Forderungen und Mahnungen

Zeigt die Mahnung, die runReminders für diese Rechnung jetzt ausstellen würde, als PDF und Bildseiten. Stufe, Frist, Text und Mahngebühr kommen aus den Einstellungen der Stufe, Verzugszinsen und Pauschale aus den Schaltern der Firma. Ausstellungsdatum ist heute, das Layout ist das für neue Mahnungen. Die Nummer fehlt noch, sie entsteht beim Ausstellen; das PDF trägt den Vermerk ENTWURF. `item` ist die Zeile wie in `change` eines `dryRun`, mit derselben `version`. Bekäme die Rechnung im Lauf keine Mahnung, antwortet die Route mit `409 ReminderNotAllowed`, `context.reason` nennt den Grund wie `skipped.reason`. Speichert nichts, keine Buchung, kein Versand.

Benötigt einen Schlüssel mit der Berechtigung `sales:read` oder `read`.

### Authentifizierung

`Authorization: Bearer bm_…` (alternativ `X-API-KEY: bm_…`, nie beide zugleich).

### Parameter

| Name | Ort | Pflicht | Typ | Beschreibung |
| --- | --- | --- | --- | --- |
| `id` | path | ja | string (uuid) | ID der Rechnung (`sourceDraftId` der Forderung). |

### Beispiel

```sh
curl --fail-with-body "https://app.bimetrics.de/api/receivable/{id}/reminder-preview" \
  -H "Authorization: Bearer $BIMETRICS_API_KEY"
```

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg. | `application/json`: ReminderRunPreview |
| 400 | Ungültige Anfrage, z. B. ein Parameter mit ungültigem Wert wie eine ID, die keine UUID ist; korrigieren statt wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |
| 401 | Kein gültiger Schlüssel: fehlt (`Unauthorized`), ist unbekannt, abgelaufen oder widerrufen oder wurde nicht in genau einem Header gesendet (`InvalidAPIKey`). Schlüssel prüfen, nicht wiederholen. Auch eine ID, die zu einer anderen Firma gehört, ergibt `401 Unauthorized`. | `application/json`: Error |
| 403 | Dem Schlüssel fehlt die Berechtigung für diese Route (`APIKeyPermissionDenied`), oder die Firma hat keinen API-Zugang (mehr), etwa nach Ende der Testphase oder des Abos (`APIUnavailable`). | `application/json`: Error |
| 404 | Nicht gefunden (`NotFound`). | `application/json`: Error |
| 409 | Die Rechnung bekäme im Mahnlauf jetzt keine Mahnung (`ReminderNotAllowed`). `context.reason` nennt den Grund wie `skipped.reason` von runReminders, etwa `reminder_hold`. | `application/json`: Error |
| 413 | Die Anfrage ist zu groß (`APIRequestTooLarge`), siehe `x-bimetrics-limits`. | `application/json`: Error |
| 422 | Für einen Zinstag fehlt der Basiszinssatz in bimetrics (`ReminderBaseRateMissing`). Die Mahnung bleibt unverändert. Zinsen dieser Mahnung mit `chargeInterest: false` abwählen oder nach der Aktualisierung erneut senden. | `application/json`: Error |
| 429 | Zu viele Anfragen; nach `Retry-After` Sekunden erneut senden. Mehr unter [Fehler](https://developer.bimetrics.de/errors). (Header: Retry-After) | `application/json`: Error |
| 500 | Serverfehler; die Anfrage später wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |

#### Felder der Antwort 200 (`ReminderRunPreview`)

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `item` | ReminderRunItem | Zeile wie in `change` eines `dryRun`, mit derselben `version`. |
| `pages` | Array<PDFPreviewPage>, kann null sein | Geordnete Bildseiten aus genau diesen PDF-Bytes. |
| `pdf` | PreviewFile | Vollständige PDF-Datei als Base64, ohne Nummer, mit dem Vermerk ENTWURF. |

Verschachtelte Schemas stehen vollständig in der OpenAPI-Beschreibung: https://app.bimetrics.de/api/openapi.json
