API ReferenceManagementInbound Apps
POST
/v2/mgmt/thirdparty/apps/load

Authorization

Descope Project ID and Management Key
AuthorizationBearer <token>

Project ID:Management Key as bearer token.

In: header

Request Body

application/json

page?integer
Formatint32
limit?integer
Formatint32

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

curl -X POST "https://api.descope.com/v2/mgmt/thirdparty/apps/load" \  -H "Content-Type: application/json" \  -d '{}'
{  "apps": [    {      "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"        }      }    }  ],  "total": 0}
export interface Response {apps?: ThirdPartyApplicationV2[]total?: number}export interface ThirdPartyApplicationV2 {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?