# Dauerbuchung lesen (https://developer.bimetrics.de/reference/templates-and-recurring-bookings/get-document-contract)

`GET https://app.bimetrics.de/api/document/collection/contract/{id}`

operationId: `getDocumentContract` · Berechtigung (Scope): `read` · Bereich: Vorlagen und Dauerbuchungen

Liefert eine Dauerbuchung mit Zeitraum, Rhythmus und Zeilen. `updatedAt` kommt beim Ändern als `expectedUpdatedAt` zurück. Eine gelöschte antwortet mit `404`.

Benötigt einen Schlüssel mit der Berechtigung `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 des Objekts in dieser Firma (UUID). |

### Beispiel

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

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg. | `application/json`: DocumentContract |
| 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 |
| 413 | Die Anfrage ist zu groß (`APIRequestTooLarge`), siehe `x-bimetrics-limits`. | `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 (`DocumentContract`)

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `collectionNumber` | string | Nummer der Dauerbuchung; wird zur Rechnungsnummer (`invoiceNumber`) der erzeugten Belege. Ist sie leer, entsteht die Rechnungsnummer aus der Bezeichnung. |
| `companyId` | string (uuid) | ID der Firma. |
| `costCenterId` | string (uuid) | Kostenstelle oder Verteilung als ID; fehlt ohne. |
| `createdAt` | string (date-time) | Anlage in bimetrics. |
| `documentContractRepetitionFixed` | DocumentContractRepetitionFixed | Zeitraum und Rhythmus der erzeugten Belege. |
| `friendlyName` | string | Bezeichnung. |
| `id` | string (uuid) | ID der Dauerbuchung. |
| `issuer` | DocumentIssuer | Aussteller der erzeugten Belege. |
| `kind` | string: `invoice`, `receipt` | Belegart der erzeugten Belege: `invoice` oder `receipt`. |
| `positionTemplate` | Array<DocumentPositionTemplate>, kann null sein | Vorlagen der Positionen der erzeugten Belege. |
| `recipient` | DocumentRecipient | Empfänger der erzeugten Belege. |
| `updatedAt` | string (date-time) | Letzte Änderung. |
| `uploadDocument` | UploadDocument | Die hinterlegte Datei; `null` ohne Datei. |
| `uploadDocumentId` | string (uuid), kann null sein | ID einer hinterlegten Datei; `null` ohne Datei. |

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