access
POST /v1/access/impersonation/redeem
Exchange a single-use impersonation ticket for a session token.
Authenticatie
Dit eindpunt is openbaar. Het vereist geen inloggegevens en geen organisatie; het is wat onze eigen marketingwebsite en AI-antwoordmachines uitlezen.
Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.
Probeer het
Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.
curl -X POST https://api.zinndigital.com/v1/access/impersonation/redeem \
-H "Content-Type: application/json" \
-d '{ "ticket": <string> }'Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console
Details
Called by the customer dashboard when a staff member follows an `ImpersonationGrant.url`. **Unauthenticated by design** — the caller is the app at the instant it has no session, which is the whole point. Authorisation is the ticket: single-use, five minutes, 32 bytes of entropy, stored only as a SHA-256 digest, and bound to a grant a staff member is on the audit log for opening. Every refusal returns the same 401 message. Distinguishing "no such ticket" from "already redeemed" from "expired" would tell a caller which of their guesses was once real.
Aanvraaglichaam
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
ticket | string | Ja | — |
Reactie
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
token | string | Ja | The customer session bearer token (carries the staff `act` claim). |
expires_at | string | Ja | — |
session_id | string | Ja | — |
org_id | string | Ja | The single org this grant is good for. |
org_name | string | Ja | — |
actor | string | Ja | The real staff actor (`user:<id>`), for the banner. |
Fouten die dit eindpunt kan retourneren
401 · 422 · 429 · 503