GET
/v1/mgmt/project/settingsAuthorization
Descope Project ID and Management Key AuthorizationBearer <token>
Project ID:Management Key as bearer token.
In: header
Get the project's settings, using a valid management key.
curl -X GET "https://api.descope.com/v1/mgmt/project/settings"{ "appUrl": "string", "customDomain": "string", "trustedDomains": "string", "defaultNoSSOApps": true, "tenantUserIsolation": true, "testUserRegex": false, "testUserAllowFixedAuth": false, "testUserFixedAuthToken": false, "testUserFixedAuthVerifierRegex": false, "allowAuthHostingIframeEmbedding": true, "userTemplateId": "string", "keyTemplateId": "string", "refreshTokenExpiration": 0, "refreshTokenExpirationUnit": "string", "rotateJwt": true, "sessionTokenExpiration": 0, "sessionTokenExpirationUnit": "string", "stepupTokenExpiration": 0, "stepupTokenExpirationUnit": "string", "trustedDeviceTokenExpiration": 0, "trustedDeviceTokenExpirationUnit": "string", "keySessionTokenExpiration": 0, "keySessionTokenExpirationUnit": "string", "enableInactivity": true, "inactivityTime": 0, "inactivityTimeUnit": "string", "refreshTokenResponseMethod": "string", "refreshTokenCookiePolicy": "string", "refreshTokenCookieDomain": "string", "sessionTokenResponseMethod": "string", "sessionTokenCookiePolicy": "string", "sessionTokenCookieDomain": "string", "maxConcurrentSessions": 0, "sessionMigration": { "vendor": "string", "clientId": "string", "domain": "string", "audience": "string", "issuer": "string", "apiToken": "string", "userSyncType": "string", "loginIdExternalUserSources": [ "string" ], "userMapping": [ { "externalKey": "string", "descopeKey": "string" } ] }, "projectSelfProvisioning": true, "inviteUrl": "string", "inviteExpireUser": true, "inviteExpirationTime": 0, "inviteExpirationTimeUnit": "string", "inviteMagicLink": true, "inviteSendEmail": true, "inviteSendSms": true, "inviteEmailConnectorId": "string", "inviteEmailTemplateId": "string"}/** * Project settings (Terraform: descope_project_settings / descope_session_settings / * descope_session_migration / descope_invite_settings). Patch semantics: every field is * optional, absent fields are left untouched, and present fields are set. The submessage * fields are replace-units that fully replace the stored value when present. The Get * response uses the same message with all fields populated. */export interface Response {appUrl?: stringcustomDomain?: stringtrustedDomains?: stringdefaultNoSSOApps?: booleantenantUserIsolation?: booleantestUserRegex?: (boolean & string)testUserAllowFixedAuth?: booleantestUserFixedAuthToken?: (boolean & string)testUserFixedAuthVerifierRegex?: (boolean & string)allowAuthHostingIframeEmbedding?: booleanuserTemplateId?: stringkeyTemplateId?: stringrefreshTokenExpiration?: numberrefreshTokenExpirationUnit?: stringrotateJwt?: booleansessionTokenExpiration?: numbersessionTokenExpirationUnit?: stringstepupTokenExpiration?: numberstepupTokenExpirationUnit?: stringtrustedDeviceTokenExpiration?: numbertrustedDeviceTokenExpirationUnit?: stringkeySessionTokenExpiration?: numberkeySessionTokenExpirationUnit?: stringenableInactivity?: booleaninactivityTime?: numberinactivityTimeUnit?: stringrefreshTokenResponseMethod?: stringrefreshTokenCookiePolicy?: stringrefreshTokenCookieDomain?: stringsessionTokenResponseMethod?: stringsessionTokenCookiePolicy?: stringsessionTokenCookieDomain?: string/** * Concurrent-session limit (NIST SP 800-53 AC-10). 0 means no limit. The upper bound is * configured per deployment and enforced by projectservice, so it is deliberately not repeated * here - a hardcoded ceiling would reject values the console accepts. * Enforcement applies to sessions created after it is set; pre-existing sessions are untracked. */maxConcurrentSessions?: number/** * session migration, fully replaced when present (not patched field by field) */sessionMigration?: SessionMigrationSettingsprojectSelfProvisioning?: booleaninviteUrl?: stringinviteExpireUser?: booleaninviteExpirationTime?: numberinviteExpirationTimeUnit?: stringinviteMagicLink?: booleaninviteSendEmail?: booleaninviteSendSms?: booleaninviteEmailConnectorId?: string/** * Active template selection by id. Absent = keep the current selection; "" = reset to the * built-in System template; a template id = select that stored template. */inviteEmailTemplateId?: string}/** * Vendor-keyed session migration config, stored as externalAuthConfig. An empty vendor disables migration. */export interface SessionMigrationSettings {vendor?: stringclientId?: stringdomain?: stringaudience?: stringissuer?: string/** * okta only. Write-only. Read returns PLACEHOLDER_VALUE when set. Absent or PLACEHOLDER_VALUE=keep, ""=clear, value=set. */apiToken?: stringuserSyncType?: stringloginIdExternalUserSources?: string[]userMapping?: ExternalAuthUserMappingItem[]}export interface ExternalAuthUserMappingItem {externalKey?: stringdescopeKey?: string} Was this helpful?