access
POST /v1/access/impersonation/redeem
Exchange a single-use impersonation ticket for a session token.
Ìfàṣẹ́pọ̀
Ojú-wọ̀n yìí jẹ́ ti gbogbo ènìyàn. Kò gba àmì ìdánimọ̀ kankan tàbí àgbájọ kankan — ohun tí ojú-wọ̀n ìpolówó wa àti àwọn ẹ̀rọ ìdáhùn AI ǹkà kọ́ ni.
Ojú abánisọ̀rọ̀ yìí kò gba id ajọ kankan. Kọ́kọ́rọ́ rẹ ti mọ ajọ ti o jẹ ti e, a o si fèsì nipa rẹ̀.
Gbiyanju rẹ
Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.
curl -X POST https://api.zinndigital.com/v1/access/impersonation/redeem \
-H "Content-Type: application/json" \
-d '{ "ticket": <string> }'Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API
Àwọn kúlẹ̀kúlẹ̀
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.
Akoonu ibeere naa
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
ticket | string | Bẹẹni | — |
Idahun
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
token | string | Bẹẹni | The customer session bearer token (carries the staff `act` claim). |
expires_at | string | Bẹẹni | — |
session_id | string | Bẹẹni | — |
org_id | string | Bẹẹni | The single org this grant is good for. |
org_name | string | Bẹẹni | — |
actor | string | Bẹẹni | The real staff actor (`user:<id>`), for the banner. |
Awọn aṣiṣe ti ibudo ipari yii le da pada
401 · 422 · 429 · 503