# Kontaktangaben prüfen (https://developer.bimetrics.de/reference/contacts/check-contact)

`POST https://app.bimetrics.de/api/contact/check`

operationId: `checkContact` · Berechtigung (Scope): `contacts:read` · Bereich: Kontakte

Prüft IBAN, USt-IdNr. sowie PLZ und Ort wie beim Anlegen und Ändern eines Kontakts, ohne etwas zu speichern und ohne einen anderen Dienst zu fragen. `ibanValid` sagt, ob das Speichern die IBAN annimmt. `hints` sind dieselben Hinweise wie in der Antwort von createContact und updateContact. Ob eine USt-IdNr. aus dem EU-Ausland vergeben ist, prüft bimetrics weiter beim Speichern über VIES.

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

### Authentifizierung

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

### Request-Body (`application/json`)

 

Schema `ContactCheckRequest`.

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `city` | string | Ort der ersten Anschrift. |
| `country` | string | Land des Kontakts als ISO-Code oder Name; nennt den Staat einer USt-IdNr. ohne Länderpräfix und die PLZ-Liste. |
| `iban` | string | IBAN, mit oder ohne Leerzeichen. |
| `postalCode` | string | PLZ der ersten Anschrift. |
| `vatId` | string | USt-IdNr. |

### Beispiel

```sh
curl --fail-with-body "https://app.bimetrics.de/api/contact/check" \
  -H "Authorization: Bearer $BIMETRICS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"and","children":[],"limit":50,"offset":0}'
```

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg. | `application/json`: ContactCheck |
| 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 |
| 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 (`ContactCheck`)

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `bank` | Bank | Nur bei einer gültigen deutschen oder österreichischen IBAN, deren Bankleitzahl bimetrics kennt: die Bank nach den Verzeichnissen der Deutschen Bundesbank bzw. der Oesterreichischen Nationalbank. bimetrics speichert sie nicht am Kontakt. |
| `hints` | Array<ContactHint>, kann null sein | Hinweise, die nie sperren, wie in der Antwort von createContact und updateContact; leer, wenn es keine gibt. |
| `ibanValid` | boolean | Nur mit `iban`: `true`, wenn das Speichern die IBAN annimmt (bekanntes Land, genau dessen Länge, Prüfziffern), sonst `false`: Dann lehnt es sie mit `400 InvalidIban` ab. |

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