API ReferenceManagementInbound Apps
POST
/v1/mgmt/thirdparty/app/update

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
Length1 <= length <= 254
description?string
Lengthlength <= 100000
logo?string
Lengthlength <= 2097152
loginPageUrl*string
Length1 <= length
approvedCallbackUrls?array<string>
string
permissionsScopes?array<managementv1.ApplicationScope>
attributesScopes?array<managementv1.ApplicationScope>
logoUrl?string
jwtBearerSettings?object

string backChannelLogoutUrl = 10 [(validate).string = {url: true, optional: true}];

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 is the structured scope→claim model. Consumed by UpdateThirdPartyApplicationV2 (v2 write-replace: attributesScopes is ignored/cleared). v1 ignores this field.

mtlsClientAuthMethods?object
forceDpop?boolean
rarSettings?object
idJagTargetClients?object
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 are the private_key_jwt trust entries (JWKS URL or PEM public key per entry).

workloadClientAssertions?array<ThirdPartyApplicationWorkloadClientAssertion>

workloadClientAssertions are the workload identity trust entries (SPIFFE trust domain or OIDC issuer per entry).

forcePar?boolean
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.

Update a third party application, using a valid management key.

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