# E-Mail oder Rufnummer eines Kontakts freischalten (Credits) (https://webmetic.de/docs/api/referenz/contacts/reveal)

## POST /contacts/reveal

Schaltet für einen Kontakt aus einer vorherigen Suche E-Mail (inkl.
LinkedIn) und/oder Rufnummern frei. Berechnet werden Credits je Datenart,
nur für tatsächlich gelieferte Daten; was das Konto bereits freigeschaltet
hat, kostet nichts erneut. Die Kosten je Aktion liefert /contacts/credits.

### Anfrage

`application/json`

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `contact_id` | string | ja | contact_id aus der Suche (opak, z. B. v1.abc) |
| `request_id` | string \| null | nein | Veraltet, wird ignoriert: Kontakt-Kennungen sind dauerhaft, die Suche des Kontos wird serverseitig geprüft |
| `reveal_email` | boolean | nein | E-Mail und LinkedIn freischalten (kostet Credits) |
| `reveal_phone` | boolean | nein | Rufnummern freischalten (kostet Credits) |

### Antworten

| Status | Beschreibung |
| --- | --- |
| 200 | Freigeschaltete Daten. Bereits freigeschaltete Daten desselben Kontos kosten nichts erneut |
| 402 | INSUFFICIENT_CREDITS: die Credits des Kontos reichen nicht, nichts wurde berechnet oder freigeschaltet |
| 403 | API-Key fehlt, ist ungültig oder unbekannt, FEATURE_DISABLED (Datenprofile ist für Ihr Konto ausgeschaltet) oder CONTACTS_SETUP_REQUIRED |
| 404 | CONTACT_NOT_FOUND: der Kontakt stammt nicht aus Ihrer Suche oder ist nicht mehr auffindbar, bitte erneut suchen |
| 409 | CONCURRENT_UPDATE: dieselbe Freischaltung läuft bereits oder eine andere Credit-Buchung lief gleichzeitig, bitte erneut versuchen |
| 422 | VALIDATION_ERROR: der Body fehlt oder ist ungültig; `errors` nennt jedes Problem |
| 500 | INTERNAL_ERROR: unerwarteter Serverfehler |
| 502 | PROVIDER_UNAVAILABLE oder PROVIDER_ERROR: Datenquelle vorübergehend nicht erreichbar |

Felder der Antwort 200:

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `contact` | ContactRevealed | ja |  |
| `contact.contact_id` | string \| null | nein | Kennung des Kontakts aus der Suche |
| `contact.email` | string \| null | nein | Freigeschaltete E-Mail-Adresse; null, wenn nicht angefragt oder nicht vorhanden |
| `contact.linkedin` | string \| null | nein | Freigeschaltetes LinkedIn-Profil; null, wenn nicht angefragt oder nicht vorhanden |
| `contact.direct_phone` | string \| null | nein | Freigeschaltete Durchwahl; null, wenn nicht angefragt oder nicht vorhanden |
| `contact.mobile_phone` | string \| null | nein | Freigeschaltete Mobilnummer; null, wenn nicht angefragt oder nicht vorhanden |
| `from_cache` | boolean | nein | true: das Ergebnis lag schon vor und wurde nicht neu abgefragt |
| `credits_used` | integer | ja | Credits, die dieser Aufruf verbraucht hat |
| `credits_remaining` | integer | ja | Credits des Kontos nach dem Aufruf |

### Beispiel

```bash
curl -X POST 'https://hub.webmetic.de/contacts/reveal' \
  -H 'Authorization: wmtc_IHR_API_SCHLUESSEL' \
  -H 'Content-Type: application/json' \
  -d '{"contact_id":"v1.q7Rk2mXv9TnL4w","reveal_email":true}'
```