API ReferenceManagementInbound Apps
POST
/v2/mgmt/thirdparty/app/patch

Authorization

Descope Project ID and Management Key
AuthorizationBearer <token>

Project ID:Management Key as bearer token.

In: header

Request Body

application/json

id*string
Length1 <= length <= 10000
name?string
description?string
Lengthlength <= 100000
logo?string
Lengthlength <= 2097152
loginPageUrl?string
approvedCallbackUrls?array<string>
string
permissionsScopes?array<managementv1.ApplicationScope>
logoUrl?string
jwtBearerSettings?object
sessionSettings?object
audienceWhitelist?array<string>
string
Itemsitems <= 100
forceAddAllAuthorizationInfo?boolean
connectionsScopes?array<managementv1.ApplicationScope>
defaultAudience?string
customAttributes?object

Custom attributes as key-value pairs. Keys must be strings; values can be strings, numbers, booleans, or arrays.

Example{ "attribute-key": "attribute-value" }
cibaSettings?object
jarSettings?object

JAR (JWT-Secured Authorization Request, RFC 9101) settings for Third Party Applications

allowedTenants?array<string>
string
clientType?string
clientCredentialsDisabled?boolean

clientCredentialsDisabled rejects the client_credentials grant for this app. Default false. A public client cannot use this grant.

jwtBearerDisabled?boolean

jwtBearerDisabled rejects the JWT bearer grant (urn:ietf:params:oauth:grant-type:jwt-bearer) for this app. Default false. A public client cannot use this grant.

cibaEnabled?boolean

cibaEnabled allows the CIBA grant (urn:openid:params:grant-type:ciba) for this app and requires cibaSettings. Default false. A public client cannot use this grant.

forcePkce?boolean
allowPartialScopes?boolean
scopeClaimMapping?array<AppScopeClaimMappingEntry>

scopeClaimMapping replaces the stored mapping when provided; when absent the existing mapping is preserved. Either way the legacy attributesScopes are cleared (v2 write-replace).

forceDpop?boolean
rarSettings?object
idJagTargetClients?object

idJagTargetClients replaces the stored mapping when provided. An absent field preserves it, and so does an empty map: a protobuf map has no presence, so it reaches the service as nil after the gRPC hop. Clear the mapping through the full update, which always writes the field.

clientAuthMethod?string

clientAuthMethod: "clientSecret" (default when empty), "privateKeyJwt" (only clientAssertions are accepted), "workloadIdentity" (only workloadClientAssertions are accepted) or "mtls" (only a registered mTLS certificate is accepted).

clientAssertions?array<ThirdPartyApplicationClientAssertion>

clientAssertions replaces the stored list when provided; absent preserves it.

workloadClientAssertions?array<ThirdPartyApplicationWorkloadClientAssertion>

workloadClientAssertions replaces the stored list when provided; absent preserves it.

forcePar?boolean
mtlsClientAuthMethods?object

mtlsClientAuthMethods replaces the stored certificates when set; absent keeps them.

forceMtls?boolean
authorizationCodeDisabled?boolean

authorizationCodeDisabled rejects the authorization_code grant for this app, including its authorization requests. Default false.

refreshTokenDisabled?boolean

refreshTokenDisabled rejects the refresh_token grant for this app, so its tokens cannot be refreshed. Default false.

deviceCodeDisabled?boolean

deviceCodeDisabled rejects the device authorization grant (urn:ietf:params:oauth:grant-type:device_code) for this app. Default false.

tokenExchangeDisabled?boolean

tokenExchangeDisabled rejects the token exchange grant (urn:ietf:params:oauth:grant-type:token-exchange) for this app. Default false.

tags?array<string>
string

tags replace the app's labels when provided, matched by policy rules through client.tags conditions. Up to 100 tags, each up to 100 bytes. An absent or empty list preserves the stored tags; clear them through the full update.

Itemsitems <= 100

Patch a third party application using the structured scope-claim mapping model, using a valid management key. Only the fields present in the request change; the legacy attributesScopes field is cleared.

curl -X POST "https://api.descope.com/v2/mgmt/thirdparty/app/patch" \  -H "Content-Type: application/json" \  -d '{    "id": "string"  }'
Was this helpful?