Skip to content

Start a claims echo (admin-only)

POST
/api/admin/identity/echo/start
curl --request POST \
--url https://example.com/api/admin/identity/echo/start \
--header 'X-Ssoossh-Key-Secret: <X-Ssoossh-Key-Secret>'

Returns the authorization URL for a fresh OIDC round trip carrying prompt=login. The callback renders the decoded ID token instead of establishing a session, and the caller’s existing session is left exactly as it was.

The echo re-authenticates rather than remembering: the server keeps only the claims the configuration maps, so there is no stored copy of the rest to show. Nothing about the result is written down — it reaches the page in the redirect fragment, which never reaches the server at all.

Where to send the browser

Media typeapplication/json
object
authorization_url
required

AuthorizationURL carries prompt=login, so the provider issues a fresh token rather than replaying its own session.

string

Example generated

{
"authorization_url": "example"
}

Not authenticated

Media typeapplication/json
object
data

Data is always null on an error response.

error
required

Error is a human-readable message. Branch on the HTTP status rather than this string; it is for humans and logs.

string
error_code
required

ErrorCode is a machine-readable error classifier. One of the error_code constants from internal/apitypes; use this to decide whether to retry or branch on the failure mode.

string

Example

{
"error": "certificate request \"9f1c…\" not found",
"error_code": "not_found"
}

Not authorized as admin

Media typeapplication/json
object
data

Data is always null on an error response.

error
required

Error is a human-readable message. Branch on the HTTP status rather than this string; it is for humans and logs.

string
error_code
required

ErrorCode is a machine-readable error classifier. One of the error_code constants from internal/apitypes; use this to decide whether to retry or branch on the failure mode.

string

Example

{
"error": "certificate request \"9f1c…\" not found",
"error_code": "not_found"
}