Check a declaration before writing it (platform)

Runs the admission rules against a candidate declaration and reports the verdict.
Persists nothing and contacts nothing — no row is written, no audit row is

emitted and the issuer is never reached over the network, so this is not an egress
surface and cannot be used to probe one.

It answers 200 with admitted: false for a descriptor the

rules refuse, rather than 4xx: a refusal is the ANSWER to the question that was
asked, and an operator filling in an onboarding form needs the reason next to the
field, not an error page.

The verdict reports the CANONICAL issuer the declaration would be stored under, which is frequently not the string that was typed. Seeing it before writing is the point: an operator who expected a trailing slash to survive finds out here rather than after the customer's tokens start being refused.

It is still a WRITE-plane surface in the sense that matters for the ROOT target — it is refused for the ROOT tenant so that the answer never describes a declaration that could not be written anyway.

Not entitlement-gated. The operator is the party that sells the edition, so

refusing them on it would be the platform refusing itself. The tenant's own verdict is
readable at ../workload-identity/entitlement (SR-10.6).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required
Body Params

The candidate declaration, in exactly the shape create takes.

A trusted-issuer declaration. Carries no credential of any kind: ANKASecure verifies tokens from this issuer against the PUBLIC key set the issuer publishes, so there is no secret to submit, store, seal or rotate.

string
enum
required

The vendor mechanism. It NARROWS the platform algorithm allow-list and can never widen it; choose GENERIC_OIDC for any provider not named here.

Allowed:
string
required
length between 0 and 2048

The issuer identifier, exactly as the provider publishes it in its OpenID Connect discovery document. HTTPS only, no query and no fragment (OpenID Connect Discovery 1.0 section 2). It is stored in canonical form — lowercase scheme and host, the default port removed, no trailing slash — because that string is both the uniqueness key and the value a presented token's iss claim is compared against.

string
length between 0 and 200

An operator-chosen label. Carries no meaning to any rule and is never compared against anything in a token.

permittedAlgorithms
array of strings
length between 0 and 9

The signature algorithms a token from this issuer may use. Omit it to accept the preset's own set. Every entry must be a member of that set — a narrower list is admitted, a wider one is refused by name.

permittedAlgorithms
string
required

The longest exp - iat a token from this issuer may declare, as an ISO-8601 duration. It may LOWER the platform ceiling and never raise it. The ceiling is an accept-or-refuse gate on the ISSUER rather than a bound on any one token: a declaration above it is refused outright, and every token that issuer mints is refused with it, a five-minute one included.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json