Descope
The Descope connector reads identity and access data from a Descope project (https://www.descope.com) via the Descope Management API and surfaces it to ConductorOne. It syncs users, tenants, roles, and permissions, and can grant and revoke role assignments and tenant memberships.Supported Resources
| Resource | Descope object | Notes |
|---|---|---|
user | User | From /v2/mgmt/user/search. Stable id is the Descope userId. |
tenant | Tenant | From /v1/mgmt/tenant/all. Has a member entitlement granted to users. |
role | Role | From /v1/mgmt/role/all. Both project-level and tenant-scoped roles. Has an assigned entitlement granted to users. |
permission | Permission | From /v1/mgmt/permission/all. Has a granted entitlement showing which roles confer the permission (read-only). |
Setup
- Log in to the Descope console as a project admin.
- Find your Project ID under Project → Settings → Project ID (it
starts with
P). - Create a Management Key under Company → Management Keys, scoped to the project you want to connect. Copy it — Descope shows it only once.
- In ConductorOne, add the Descope integration and provide:
- Project ID — the
P…value above. - Management Key — the key you just created.
- Base URL — use
https://api.descope.comunless you are on a non-default Descope deployment.
- Project ID — the
ProjectID:ManagementKey.
Required Permissions
The management key needs read access to users, tenants, roles, and permissions, plus user-management write access for provisioning (role assignment and tenant membership). A project-scoped management key with the project admin role covers all of these.Sync Behavior
- Paginates
/v2/mgmt/user/searchvia the request-bodyoffset/limitfields (page size 100), terminating on the responsetotal. - Lists tenants, roles, and permissions in single unpaginated calls.
- Resolves role and permission grants from the inline
roleNames,userTenants[].roleNames, andpermissionNamesfields on the synced records (cached once per sync). - Treats HTTP 429 and 5xx as transient and retries with exponential back-off.
- Caps concurrency at
maxParallelFetches: 6.
Provisioning
- Role assignment (
role→assigned): grants and revokes project-level and tenant-scoped roles via/v1/mgmt/user/update/role/addand/remove(tenant-scoped roles include thetenantId). - Tenant membership (
tenant→member): adds and removes users via/v1/mgmt/user/update/tenant/addand/remove. - Permission → role grants are read-only; manage them by editing roles in Descope.