---
title: "Get Impersonation Config"
method: GET
path: "/api/platform/impersonation/config"
tags: ["platform"]
---

# Get Impersonation Config

`GET /api/platform/impersonation/config`

Return the impersonation page-shell config.

``canExchange`` mirrors the ``/exchange`` gate so the SPA only offers the
Impersonate action to callers who could actually complete the exchange:
an end-user (not a service token, not an already-impersonating session)
holding ``editor`` on the dock impersonation module instance. The route
itself still requires ``reader`` on the impersonation module (router gate);
only the *editor* check used to compute ``canExchange`` degrades to
``false`` on FGA error so the page shell can render once the caller has
passed that module gate.

## Response `200`

Successful Response

- ImpersonationConfigResponse — Tells the SPA whether the current admin is allowed to impersonate. Lets the SPA gate the "Impersonate" row action on a single boolean without firing a separate FGA check from the browser.
  - `canExchange` boolean, required
  - `impersonationModuleTarget` string, required
  - `softTtlSeconds` integer, required

---

[API](https://skmtc.dev/gocrisp/apis/crisp-app-dock.md) · [All operations](https://skmtc.dev/gocrisp/apis/crisp-app-dock/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gocrisp/crisp-app-dock/revisions/e56bd3c1a9db/schema)
