Preview what a change of a Mapping Set's content would do, app by app.
curl --request POST \ --url https://auth.example.com/api/admin/identity-mapping/sets/example/preview-change \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "content": {}, "sample": { "test_user_id": "example" } }'Nothing is written. The draft (content, as a PUT sends it) is checked as a save checks it and refused with the save’s 400 when a save would refuse it. changes are the set’s changes by claim: added, removed, renamed (another claim from the same attributes through the same Destination Profile), profile_changed, source_changed, transform_changed (the steps or their order), type_changed (what the claim reads has another catalog type), and validation_changed (a validation definition was added, removed or changed). A changed critical validation is may_reject: it may reject the whole app’s issuance, regardless of the validated field’s namespace or release scopes. Noncritical-only changes are validation_only, listed at the set level and omitted from app changes and scope restrictions. References are read as the runtime reads them. apps are the apps that use the set, with why (tier: the app’s own choice, the tenant default, the platform default), decided by the runtime’s selection; each has the changes it would see with the scopes it is registered for (a change counts when the claim reached the app before or reaches it after), and held_back those its scopes hold back (by the scope that would release them; null for a claim the profile does not list). references is counted as the PUT counts it: send that count back as confirm_impact. A set the platform owns needs the settings read and the clients read permissions for every tenant: without tenant_id the answer counts, tenant by tenant (at most 100), the apps that use it and those that would see a change, and lists no apps; with tenant_id it lists that tenant’s apps. sample is always null for now; when sample is asked for, sample_unavailable is draft_not_compiled. Needs the settings read and the clients read permissions. Rate limited with the strict profile.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Query Parameters
Section titled “Query Parameters ”For a set the platform owns, the tenant whose apps to list.
Request Body required
Section titled “Request Body required ”object
The draft content, as a PUT of the set sends it.
object
object
Example generated
{ "content": {}, "sample": { "test_user_id": "example" }}Responses
Section titled “ Responses ”What a change of the set’s content would do.
object
object
profile_field_*: the set’s one Destination Profile is switched for another, and the new one lists a claim the old did not (or no longer lists it, or with other scopes, surfaces or requirement), even one no edge writes (the standard claims pass the profile too). validation_changed names the validated field, not necessarily a released claim; its validation_change and validation_effect describe the definition change and whether it may reject an app’s whole issuance.
The namespace the claim is written in; the runtime releases an app’s claims from oidc.claim, or from the namespace the app’s own choice names.
renamed: the namespace before, when it differs.
renamed: the claim’s name before.
Catalog type summary; multiple source types are separated by |.
Catalog type summary; multiple source types are separated by |.
For a type change involving multiple sources, each source’s catalog type before. Unknown types are null. Source names are namespace and path separated by a colon.
object
Each source’s catalog type after, when source_types_before is present.
object
For validation_changed, whether the validated field gained, lost, or changed its validation definitions. Rule parameters and attribute values are never returned.
May_reject means a critical validation definition changed, so issuance can fail or recover independently of release scopes and namespace. It appears in every app’s changes. validation_only means only noncritical definitions changed, so it is listed only in the set’s changes and never in held_back. Omitted severity is stored as error.
profile_changed: the profile before.
object
object
object
profile_field_*: the set’s one Destination Profile is switched for another, and the new one lists a claim the old did not (or no longer lists it, or with other scopes, surfaces or requirement), even one no edge writes (the standard claims pass the profile too). validation_changed names the validated field, not necessarily a released claim; its validation_change and validation_effect describe the definition change and whether it may reject an app’s whole issuance.
The namespace the claim is written in; the runtime releases an app’s claims from oidc.claim, or from the namespace the app’s own choice names.
renamed: the namespace before, when it differs.
renamed: the claim’s name before.
Catalog type summary; multiple source types are separated by |.
Catalog type summary; multiple source types are separated by |.
For a type change involving multiple sources, each source’s catalog type before. Unknown types are null. Source names are namespace and path separated by a colon.
object
Each source’s catalog type after, when source_types_before is present.
object
For validation_changed, whether the validated field gained, lost, or changed its validation definitions. Rule parameters and attribute values are never returned.
May_reject means a critical validation definition changed, so issuance can fail or recover independently of release scopes and namespace. It appears in every app’s changes. validation_only means only noncritical definitions changed, so it is listed only in the set’s changes and never in held_back. Omitted severity is stored as error.
profile_changed: the profile before.
object
The tenant’s defaults could not be read: apps lists the apps that name the set themselves, not those that follow the defaults.
For a set the platform owns, asked without tenant_id: the tenants with apps that use it (or that could not be read).
object
A test user’s values before and after; not given yet.
Example
{ "owner": "tenant", "changes": [ { "kind": "added", "validation_change": "added", "validation_effect": "may_reject" } ], "apps": [ { "tier": "client", "changes": [ { "kind": "added", "validation_change": "added", "validation_effect": "may_reject" } ] } ], "defaults_unavailable": "settings_unreadable", "tenants": [ { "unavailable": "core_database_unavailable" } ], "sample_unavailable": "draft_not_compiled"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}