openapi: 3.0.3
info:
title: Descope Apps Scim API
description: Descope API
contact:
name: Descope
url: https://descope.com
email: support@descope.com
version: 0.0.1
servers:
- url: https://api.descope.com
description: Descope Production
- url: '{customUrl}'
description: Custom server URL
variables:
customUrl:
default: https://api.descope.com
description: Your Descope API base URL
security:
- Descope Project ID: []
Descope Project ID:Refresh JWT: []
Descope Project ID:Session JWT: []
Descope Project ID and Management Key: []
Descope Project ID:Access Key: []
tags:
- name: Scim
paths:
/scim/v2/Groups:
get:
tags:
- Scim
summary: Search SCIM Groups
description: '### Search SCIM groups, using a valid access key.
This endpoint allows administrators to search SCIM groups. These groups have been created and associated to the Application and Descope tenant.
The response includes an array of group objects within the Resources object. These group objects include details about the groups including the members.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and has the tenant admin role.
### Next Steps
Once you have this data, you can [Update an Existing SCIM Group](/api/management/tenants/scim/update-scim-group) or [Delete an Existing SCIM Group](/api/management/tenants/scim/delete-scim-group). You can add or remove users from the SCIM groups via [Update SCIM Group](/api/management/tenants/scim/update-scim-group).
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: SearchSCIMGroups
parameters:
- name: filter
in: query
schema:
type: string
- name: startIndex
in: query
schema:
type: integer
format: int32
- name: count
in: query
schema:
type: integer
format: int32
- name: excludedAttributes
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGetGroupsResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 1
x-meta:
title: Search SCIM Groups | Scim Management
description: Search SCIM groups, using a valid access key.
keywords: api, scim management
post:
tags:
- Scim
summary: Create SCIM Group
description: '### Create a SCIM group, using a valid access key.
This endpoint allows administrators to create new SCIM groups within their environement. When creating the group, you can configure the groupId, displayName, and it''s members.
The response includes the new group''s group object which includes details about the groups including the members.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### Next Steps
Once you have created the group, you can later add or remove users from the SCIM groups via [Update SCIM Group](/api/management/tenants/scim/update-scim-group).
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: CreateSCIMGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGroupRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGroupResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 3
x-meta:
title: Create SCIM Group | Scim Management
description: Create a SCIM group, using a valid access key.
keywords: api, scim management
/scim/v2/Groups/{groupId}:
get:
tags:
- Scim
summary: Load SCIM Group
description: '### Load an existing SCIM group, using a valid access key.
This endpoint allows administrators to load an existing SCIM group using the SCIM groupId, which is a required field, and optionally the displayName.
The response includes the group''s object which includes details about the groups including the members.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### Next Steps
Once you have this data, you can add or remove users from the SCIM groups via [Update SCIM Group](/api/management/tenants/scim/update-scim-group).
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: LoadSCIMGroup
parameters:
- name: groupId
in: path
required: true
schema:
type: string
- name: displayName
in: query
schema:
type: string
- name: externalId
in: query
schema:
type: string
- name: excludedAttributes
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGroupResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 2
x-meta:
title: Load SCIM Group | Scim Management
description: Load an existing SCIM group, using a valid access key.
keywords: api, scim management
put:
tags:
- Scim
summary: Update SCIM Group
description: '### Update an existing SCIM group, using a valid access key.
This endpoint allows administrators to update an existing SCIM group using the SCIM group ID, which is a required field. You can update the display name and members through this API endpoint.
The response includes the group''s object which includes details about the groups including the members.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: UpdateSCIMGroup
parameters:
- name: groupId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGroupRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGroupResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 4
x-meta:
title: Update SCIM Group | Scim Management
description: Update an existing SCIM group, using a valid access key.
keywords: api, scim management
delete:
tags:
- Scim
summary: Delete SCIM Group
description: '### Delete an existing SCIM group, using a valid access key.
This endpoint allows administrators to delete an existing SCIM group using using the SCIM groupId, which is a required field, and optionally the displayName.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: DeleteSCIMGroup
parameters:
- name: groupId
in: path
required: true
schema:
type: string
- name: displayName
in: query
schema:
type: string
- name: externalId
in: query
schema:
type: string
- name: excludedAttributes
in: query
schema:
type: string
responses:
'200':
description: OK
content: {}
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 5
x-meta:
title: Delete SCIM Group | Scim Management
description: Delete an existing SCIM group, using a valid access key.
keywords: api, scim management
patch:
tags:
- Scim
summary: Patch SCIM Group
description: Patch SCIM Group, using a valid access key.
operationId: PatchSCIMGroup
parameters:
- name: groupId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMPatchRequest'
required: true
responses:
'200':
description: OK
content: {}
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 5
x-meta:
title: Patch SCIM Group | Scim Management
description: Patch SCIM Group, using a valid access key.
keywords: api, scim management
/scim/v2/Users:
get:
tags:
- Scim
summary: Search SCIM Users
description: '### Search SCIM users, using a valid access key.
This endpoint allows administrators to search SCIM users. These users have been created and associated to the Application and Descope tenant.
The response includes an array of user objects within the Resources object. These user objects include details about the users including their email, phone, username, name, etc.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### Next Steps
Once you have user data, you can utilize [Update SCIM Group](/api/management/tenants/scim/update-scim-group) to add or remove the user on groups.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: SearchSCIMUsers
parameters:
- name: filter
in: query
schema:
type: string
- name: startIndex
in: query
schema:
type: integer
format: int32
- name: count
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGetUsersResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 6
x-meta:
title: Search SCIM Users | Scim Management
description: Search SCIM users, using a valid access key.
keywords: api, scim management
/scim/v2/Users/{userId}:
get:
tags:
- Scim
summary: Load SCIM User
description: '### Load an existing SCIM user, using a valid access key.
This endpoint allows administrators to load an existing SCIM user.
The response includes the user''s object, which includes details about the users including their email, phone, username, name, etc.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### Next Steps
Once you have user data, you can utilize [Update SCIM Group](/api/management/tenants/scim/update-scim-group) to add or remove the user on groups.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: LoadSCIMUser
parameters:
- name: userId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGetUserResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 7
x-meta:
title: Load SCIM User | Scim Management
description: Load an existing SCIM user, using a valid access key.
keywords: api, scim management
put:
tags:
- Scim
summary: Update SCIM User
description: '### Update an existing SCIM user, using a valid access key.
This endpoint allows administrators to update an existing SCIM user. Through this API endpoint, administrators can update the displayName, phoneNumbers, emails, and if the user is active.
The response includes the user''s object, which includes details about the users including their email, phone, username, name, etc.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: UpdateSCIMUser
parameters:
- name: userId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMUserRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGetUserResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 9
x-meta:
title: Update SCIM User | Scim Management
description: Update an existing SCIM user, using a valid access key.
keywords: api, scim management
delete:
tags:
- Scim
summary: Delete SCIM User
description: '### Delete an existing SCIM User, using a valid access key.
This API endpoint allows administrators to delete an existing SCIM user from the Descope tenant.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: DeleteSCIMUser
parameters:
- name: userId
in: path
required: true
schema:
type: string
- name: displayName
in: query
description: "The following values are manipulated by the marshaler in httpgateway/marshaler.go\n in case of changing or adding new ones, need to edit the marshaler as well"
schema:
type: string
- name: active
in: query
schema:
type: boolean
- name: name.givenName
in: query
schema:
type: string
- name: name.familyName
in: query
schema:
type: string
- name: name.middleName
in: query
schema:
type: string
- name: userName
in: query
schema:
type: string
responses:
'200':
description: OK
content: {}
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 11
x-meta:
title: Delete SCIM User | Scim Management
description: Delete an existing SCIM User, using a valid access key.
keywords: api, scim management
patch:
tags:
- Scim
summary: Patch SCIM User
description: Patch SCIM User, using a valid access key.
operationId: SCIMPatchUser
parameters:
- name: userId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMPatchRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMGetUserResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 10
x-meta:
title: Patch SCIM User | Scim Management
description: Patch SCIM User, using a valid access key.
keywords: api, scim management
/scim/v2/ResourceTypes:
get:
tags:
- Scim
summary: Load SCIM Resource Types
description: '### Load SCIM resource types, using a valid access key.
This API endpoint allows administrators to load the resource types available within the SCIM provisioning. The response includes an array of the available resource types.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: LoadSCIMResourceTypes
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMResourceTypesResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 11
x-meta:
title: Load SCIM Resource Types | Scim Management
description: Load SCIM resource types, using a valid access key.
keywords: api, scim management
/scim/v2/ServiceProviderConfig:
get:
tags:
- Scim
summary: Load SCIM Service Provider Config
description: '### Load the supported SCIM provisioning service provider configuration, using a valid access key.
This API endpoint allows administrators to load the supported SCIM provisioning service provider configuration. The response includes detailed information on the applicable configurations and schemas within your IdP for SCIM provisioning.
It is important to note the bearer token for SCIM API endpoints. The format is `ProjectId:AccessKey` the access key must be associated with the applicable tenant and associated with the tenant admin role.
### See also
- See [SCIM Management](/scim) for further details on managing SCIM provisioning.'
operationId: LoadSCIMServiceProviderConfig
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SCIMServiceProviderConfigResponse'
security:
- Descope Project ID:Access Key: []
x-publishYaml: scimManagement
x-order: 12
x-meta:
title: Load SCIM Service Provider Config | Scim Management
description: Load the supported SCIM provisioning service provider configuration, using a valid access key.
keywords: api, scim management
components:
schemas:
SCIMGroupRequest:
type: object
properties:
groupId:
type: string
displayName:
type: string
members:
type: array
items:
$ref: '#/components/schemas/SCIMGroupMember'
externalId:
type: string
excludedAttributes:
type: string
Bulk:
type: object
properties:
supported:
type: boolean
maxOperations:
type: integer
format: int32
maxPayloadSize:
type: integer
format: int32
SCIMServiceProviderConfigResponse:
type: object
properties:
schemas:
type: array
items:
type: string
documentationUri:
type: string
patch:
$ref: '#/components/schemas/Supported'
bulk:
$ref: '#/components/schemas/Bulk'
filter:
$ref: '#/components/schemas/Filter'
changePassword:
$ref: '#/components/schemas/Supported'
sort:
$ref: '#/components/schemas/Supported'
etag:
$ref: '#/components/schemas/Supported'
authenticationSchemes:
type: array
items:
$ref: '#/components/schemas/AuthenticationSchemes'
SCIMPatchOperation:
type: object
properties:
op:
type: string
path:
type: string
valueString:
type: string
description: "The following values are manipulated by the marshaler in httpgateway/marshaler.go\n in case of changing or adding new ones, need to edit the marshaler as well"
valueBoolean:
type: boolean
valueArray:
type: array
items:
$ref: '#/components/schemas/SCIMPatchOperationValue'
valueID:
type: string
valueDisplayName:
type: string
SCIMGetUsersResource:
type: object
properties:
schemas:
type: array
items:
type: string
id:
type: string
userName:
type: string
meta:
$ref: '#/components/schemas/SCIMGetUsersResourceMeta'
emails:
type: array
items:
$ref: '#/components/schemas/SCIMUserEmail'
name:
$ref: '#/components/schemas/SCIMUserName'
active:
type: boolean
displayName:
type: string
detail:
type: string
attributes:
type: object
status:
type: integer
format: int32
SCIMUserRequest:
type: object
properties:
userId:
type: string
displayName:
type: string
description: "The following values are manipulated by the marshaler in httpgateway/marshaler.go\n in case of changing or adding new ones, need to edit the marshaler as well"
emails:
type: array
items:
$ref: '#/components/schemas/SCIMUserEmail'
active:
type: boolean
name:
$ref: '#/components/schemas/SCIMUserName'
userName:
type: string
attributes:
type: object
SCIMGroupResponse:
type: object
properties:
displayName:
type: string
schemas:
type: array
items:
type: string
id:
type: string
members:
type: array
items:
$ref: '#/components/schemas/SCIMGroupMember'
meta:
$ref: '#/components/schemas/SCIMGroupResourceMeta'
externalId:
type: string
detail:
type: string
status:
type: integer
format: int32
SCIMGetGroupsResponse:
type: object
properties:
totalResults:
type: integer
format: int32
startIndex:
type: integer
format: int32
itemsPerPage:
type: integer
format: int32
schemas:
type: array
items:
type: string
Resources:
type: array
items:
$ref: '#/components/schemas/SCIMGroupResponse'
detail:
type: string
status:
type: integer
format: int32
SCIMResourceTypesResponse:
type: object
properties:
values:
type: array
items:
$ref: '#/components/schemas/ResourceType'
ResourceType:
type: object
properties:
schemas:
type: array
items:
type: string
id:
type: string
name:
type: string
description:
type: string
endpoint:
type: string
schema:
type: string
SCIMPatchOperationValue:
type: object
properties:
value:
type: string
description: "The following values are manipulated by the marshaler in httpgateway/marshaler.go\n in case of changing or adding new ones, need to edit the marshaler as well"
display:
type: string
SCIMGetUsersResourceMeta:
type: object
properties:
created:
type: object
location:
type: string
lastModified:
type: object
resourceType:
type: string
Supported:
type: object
properties:
supported:
type: boolean
SCIMGroupMember:
type: object
properties:
value:
type: string
display:
type: string
SCIMGetUserResponse:
type: object
properties:
user:
$ref: '#/components/schemas/SCIMGetUsersResource'
SCIMGetUsersResponse:
type: object
properties:
totalResults:
type: integer
format: int32
startIndex:
type: integer
format: int32
itemsPerPage:
type: integer
format: int32
schemas:
type: array
items:
type: string
Resources:
type: array
items:
$ref: '#/components/schemas/SCIMGetUsersResource'
detail:
type: string
status:
type: integer
format: int32
SCIMGroupResourceMeta:
type: object
properties:
created:
type: object
location:
type: string
lastModified:
type: object
resourceType:
type: string
Filter:
type: object
properties:
supported:
type: boolean
maxResults:
type: integer
format: int32
AuthenticationSchemes:
type: object
properties:
name:
type: string
description:
type: string
primary:
type: boolean
specUri:
type: string
type:
type: string
SCIMUserName:
type: object
properties:
givenName:
type: string
familyName:
type: string
middleName:
type: string
SCIMPatchRequest:
type: object
properties:
userId:
type: string
groupId:
type: string
operations:
type: array
items:
$ref: '#/components/schemas/SCIMPatchOperation'
SCIMUserEmail:
type: object
properties:
value:
type: string
primary:
type: boolean
type:
type: string
securitySchemes:
Descope Project ID:
type: http
scheme: bearer
bearerFormat: Project ID
description: Project ID as bearer token.
Descope Project ID:Refresh JWT:
type: http
scheme: bearer
bearerFormat: Project ID:Refresh JWT
description: Project ID:Refresh JWT as bearer token.
Descope Project ID:Access Key:
type: http
scheme: bearer
bearerFormat: ProjectId:AccessKey
description: Project ID:Access Key as bearer token.
Descope Project ID:Session JWT:
type: http
scheme: bearer
bearerFormat: Project ID:Session JWT
description: Project ID:Session JWT as bearer token.
Descope Project ID and Management Key:
type: http
description: Project ID:Management Key as bearer token.
scheme: bearer
bearerFormat: ProjectId:ManagementKey
externalDocs:
description: Descope Server
url: https://docs.descope.com