API ReferenceManagementInbound Apps
GET
/v2/mgmt/thirdparty/app/load

Authorization

Descope Project ID and Management Key
AuthorizationBearer <token>

Project ID:Management Key as bearer token.

In: header

Query Parameters

id?string
clientId?string

Loads a third party application by id in the structured scope-claim mapping model, using a valid management key. Legacy attributesScopes are converted to scopeClaimMapping and returned empty.

curl -X GET "https://api.descope.com/v2/mgmt/thirdparty/app/load"
{  "app": {    "id": "string",    "name": "string",    "description": "string",    "clientId": "string",    "logo": "string",    "loginPageUrl": "string",    "approvedCallbackUrls": [      "string"    ],    "permissionsScopes": [      {        "name": "string",        "description": "string",        "optional": true,        "values": [          "string"        ]      }    ],    "dynamic": true,    "status": "string",    "logoUrl": "string",    "jwtBearerSettings": {      "issuers": {        "property1": {          "jwksUri": "string",          "signAlgorithm": "string",          "userInfoUri": "string",          "externalIdFieldName": "string",          "jitDisabled": true,          "attributeMapping": {            "name": "string",            "email": "string",            "group": "string",            "givenName": "string",            "middleName": "string",            "familyName": "string",            "picture": "string",            "customAttributes": {              "property1": "string",              "property2": "string"            }          }        },        "property2": {          "jwksUri": "string",          "signAlgorithm": "string",          "userInfoUri": "string",          "externalIdFieldName": "string",          "jitDisabled": true,          "attributeMapping": {            "name": "string",            "email": "string",            "group": "string",            "givenName": "string",            "middleName": "string",            "familyName": "string",            "picture": "string",            "customAttributes": {              "property1": "string",              "property2": "string"            }          }        }      },      "jwtBearerGrantTypeAudienceToUse": "string",      "jwtBearerGrantTypeScopeToUse": "string",      "jwtBearerGrantTypeCustomClaimsToUse": "string"    },    "sessionSettings": {      "enabled": true,      "refreshTokenExpiration": 0,      "refreshTokenExpirationUnit": "string",      "sessionTokenExpiration": 0,      "sessionTokenExpirationUnit": "string",      "userTemplateId": "string",      "keyTemplateId": "string",      "keySessionTokenExpiration": 0,      "keySessionTokenExpirationUnit": "string"    },    "nonConfidentialClient": true,    "audienceWhitelist": [      "string"    ],    "forceAddAllAuthorizationInfo": true,    "connectionsScopes": [      {        "name": "string",        "description": "string",        "optional": true,        "values": [          "string"        ]      }    ],    "defaultAudience": "string",    "skipConsentScreen": true,    "useResources": true,    "customAttributes": {      "attribute-key": "attribute-value"    },    "cibaSettings": {      "enabled": true,      "expirationTime": 0,      "expirationTimeUnit": "string",      "emailServiceProvider": "string",      "emailServiceProviderFallback": "string",      "emailServiceTemplateId": "string",      "loginPageURL": "string"    },    "jarSettings": {      "enforce": true,      "publicKey": "string",      "maxLifetimeSeconds": 0,      "fapi": true    },    "allowedTenants": [      "string"    ],    "clientType": "string",    "forcePkce": true,    "allowPartialScopes": true,    "scopeClaimMapping": [      {        "scope": "string",        "claims": {          "property1": "string",          "property2": "string"        },        "description": "string",        "useProjectMapping": true,        "mandatory": true,        "claimTargets": {          "property1": {            "tokens": [              "string"            ]          },          "property2": {            "tokens": [              "string"            ]          }        }      }    ],    "createdTime": 0,    "forceDpop": true,    "rarSettings": {      "excludeInAccessToken": true,      "schemas": [        {          "type": "string",          "description": "string",          "schema": {}        }      ]    },    "idJagTargetClients": {      "property1": {        "targetClientId": "string"      },      "property2": {        "targetClientId": "string"      }    }  }}
export interface Response {app?: {id?: stringname?: stringdescription?: stringclientId?: stringlogo?: stringloginPageUrl?: stringapprovedCallbackUrls?: string[]permissionsScopes?: {name?: stringdescription?: stringoptional?: booleanvalues?: string[]}[]dynamic?: booleanstatus?: stringlogoUrl?: stringjwtBearerSettings?: {issuers?: {[k: string]: IssuerSettings}jwtBearerGrantTypeAudienceToUse?: stringjwtBearerGrantTypeScopeToUse?: stringjwtBearerGrantTypeCustomClaimsToUse?: string}sessionSettings?: {enabled?: booleanrefreshTokenExpiration?: numberrefreshTokenExpirationUnit?: stringsessionTokenExpiration?: numbersessionTokenExpirationUnit?: stringuserTemplateId?: stringkeyTemplateId?: stringkeySessionTokenExpiration?: numberkeySessionTokenExpirationUnit?: string}nonConfidentialClient?: booleanaudienceWhitelist?: string[]forceAddAllAuthorizationInfo?: booleanconnectionsScopes?: {name?: stringdescription?: stringoptional?: booleanvalues?: string[]}[]defaultAudience?: stringskipConsentScreen?: booleanuseResources?: boolean/** * Custom attributes as key-value pairs. Keys must be strings; values can be strings, numbers, booleans, or arrays. */customAttributes?: {[k: string]: string}cibaSettings?: ThirdPartyApplicationCIBASettings/** * JAR (JWT-Secured Authorization Request, RFC 9101) settings for Third Party Applications */jarSettings?: {enforce?: booleanpublicKey?: stringmaxLifetimeSeconds?: numberfapi?: boolean}allowedTenants?: string[]clientType?: stringforcePkce?: booleanallowPartialScopes?: booleanscopeClaimMapping?: {scope?: string/** * claims is consulted only when useProjectMapping is false. When useProjectMapping is true, *  the project-wide mapping's entry for `scope` provides the claims and this field is ignored. */claims?: {[k: string]: string}description?: string/** * useProjectMapping, when true, reuses the project-wide ScopeClaimMapping's entry for this *  scope (the app's `claims` field is ignored). Default false uses the app's own `claims`. */useProjectMapping?: boolean/** * mandatory, when true, means the scope is always granted and cannot be deselected by the *  user on the consent screen. Mirrors the inverse of the legacy ApplicationScope.optional. */mandatory?: boolean/** * claimTargets narrows which tokens a claim is written to, keyed by the claim name. *  Consulted only when useProjectMapping is false — when it is true the project-wide *  entry supplies both the claims and their targets. Empty means every token. */claimTargets?: {/** * ClaimTokenTargets lists the tokens a single mapped claim is written to. An empty *  list means every token, which is the default for claims with no entry. *  *  Values are plain strings rather than an enum because this field is served over two *  JSON surfaces with different enum encodings: the management API marshals via protojson *  (enum names) while the console API marshals the proto with encoding/json (enum numbers). *  A string renders identically on both. Unknown values are dropped on write, so a claim *  with no valid target falls back to the "every token" default. *  *  Wrapper message because proto3 map values cannot be `repeated`. */[k: string]: {tokens?: string[]}}}[]/** * createdTime is epoch seconds (int32 so it serializes as a JSON number). */createdTime?: numberforceDpop?: booleanrarSettings?: ThirdPartyApplicationRARSettings/** * The client id the target authorization server knows this app by, per ID-JAG target resource URI. */idJagTargetClients?: {[k: string]: IdJagTargetClient}}}export interface IssuerSettings {jwksUri?: stringsignAlgorithm?: stringuserInfoUri?: stringexternalIdFieldName?: string/** * Cross-App Access JIT provisioning, per trusted issuer. jitDisabled: only sign in an already- *  provisioned user, do not create. attributeMapping maps assertion claims to user fields. Group->role / *  FGA / default-role / priority mapping is read from the tenant's shared SSO config, NOT per issuer. */jitDisabled?: booleanattributeMapping?: {name?: stringemail?: stringgroup?: stringgivenName?: stringmiddleName?: stringfamilyName?: stringpicture?: stringcustomAttributes?: {[k: string]: string}}}export interface ThirdPartyApplicationCIBASettings {enabled?: booleanexpirationTime?: numberexpirationTimeUnit?: stringemailServiceProvider?: stringemailServiceProviderFallback?: stringemailServiceTemplateId?: stringloginPageURL?: string}export interface ThirdPartyApplicationRARSettings {excludeInAccessToken?: booleanschemas?: RARTypeSchema[]}export interface RARTypeSchema {type?: stringdescription?: stringschema?: {}}/** * A struct rather than a bare client id so further per-pair attributes are additive. */export interface IdJagTargetClient {targetClientId?: string}
Was this helpful?