openapi: 3.0.3
info:
title: Asgardeo - SCIM 2.0 Users API
description: >-
This document specifies **SCIM 2.0 User Management RESTful API** for
**Asgardeo**. This endpoint performs actions related to all users in the
organization. To access the SCIM 2.0 APIs in Asgardeo, you need to first
[get an access
token](https://wso2.com/asgardeo/docs/apis/authentication/#get-an-access-token)
from your organization.
This document specifies **SCIM 2.0 Group Management RESTful API** for
**Asgardeo**. This endpoint performs actions related to all users in the
organization. To access the SCIM 2.0 APIs in Asgardeo, you need to first
[get an access
token](https://wso2.com/asgardeo/docs/apis/authentication/#get-an-access-token)
from your organization.
This document specifies **SCIM 2.0 Bulk RESTful API** for **Asgardeo**. To
access the SCIM 2.0 APIs in Asgardeo, you need to first [get an access
token](https://wso2.com/asgardeo/docs/apis/authentication/#get-an-access-token)
from your organization.
This document specifies **SCIM 2.0 Service provider configuration RESTful
API** for **Asgardeo**.
This document specifies **SCIM 2.0 Resource types RESTful API** for
**Asgardeo**.
version: v1
servers:
- url: 'https://api.asgardeo.io/t/{organization-name}/scim2'
tags:
- name: Bulk Endpoint
description: >-
This endpoint is used to create/update/delete SCIM resources (users and/or
groups) in bulk.
- name: Resource Types Endpoint
description: This API lists and returns metadata about resource types.
paths:
/Users:
get:
tags:
- Users Endpoint
summary: Filter Users
description: >-
This API returns users according to the filter, sort and pagination
parameters. Pagination is not supported across user stores and LDAP
multi-attribute group filtering. However, filtering is supported across
multiple user stores.
- Scope(Permission) required: ``internal_user_mgt_list``
- Flow type: Client Credentials OAuth Flow
operationId: getUser
parameters:
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
- name: filter
in: query
description: >-
The expression used for filtering. Supported filters are ‘Ew’, ‘Eq’,
‘Co’, ‘Sw’, ‘Ne’ and ‘and’.
schema:
type: string
- name: startIndex
in: query
description: The 1-based index of the first query result
schema:
type: integer
format: int32
- name: count
in: query
description: Specifies the desired maximum number of query results per page.
schema:
type: integer
format: int32
- name: domain
in: query
description: The name of the user store where filtering needs to be applied.
schema:
type: string
responses:
'200':
description: Valid users are found / Valid users are not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserObjectListResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
x-codeSamples:
- lang: Curl
source: |
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users' \
-H 'accept: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}'
post:
tags:
- Users Endpoint
summary: Create User
description: >-
This API creates a user and returns the user details along with the
user's unique ID.
- Scope(Permission) required: ``internal_user_mgt_create``
- Flow type: Client Credentials OAuth Flow
operationId: createUser
parameters:
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
requestBody:
content:
application/scim+json:
schema:
oneOf:
- $ref: '#/components/schemas/UserObject'
- $ref: '#/components/schemas/UserObjectPassInvite'
required: false
responses:
'201':
description: User is created.
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResponseObject'
'400':
description: Invalid Input
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorInvalidInput'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'500':
description: Internal Server Error
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorInternalServerError'
x-codeSamples:
- lang: Curl
source: |
curl -X 'POST' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users' \
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"schemas": [],
"name": {
"givenName": "Kim",
"familyName": "Berry"
},
"userName": "DEFAULT/kim@gmail.com",
"password": "aBcd!23#",
"emails": [
{
"value": "kim@gmail.com",
"primary": true
}
],
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"manager": {
"value": "Taylor"
}
},
"urn:scim:wso2:schema": {
"verifyEmail": true
}
}'
x-codegen-request-body-name: body
/Users/.search:
post:
tags:
- Users Endpoint
summary: Search Users
description: >-
This API returns users according to the filter, sort and pagination
parameters.
- Scope(Permission) required: ``internal_user_mgt_list``
- Flow type: Client Credentials OAuth Flow
operationId: getUsersByPost
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserSearchRequestObject'
required: false
responses:
'200':
description: Valid users are found / Valid users are not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserObjectListResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
x-codeSamples:
- lang: Curl
source: >
curl -X 'POST' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users/.search'
\
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:SearchRequest"
],
"attributes": [
"name.familyName",
"userName"
],
"filter": "userName sw ki and name.familyName co err",
"domain": "PRIMARY",
"startIndex": 1,
"count": 10
}'
x-codegen-request-body-name: body
'/Users/{id}':
get:
tags:
- Users Endpoint
summary: Get User by ID
description: |-
Return user details if a user found.
- Scope(Permission) required: ``internal_user_mgt_view``
- Flow type: Client Credentials OAuth Flow
operationId: getUser by id
parameters:
- name: id
in: path
description: Unique ID of the resource type.
required: true
schema:
type: string
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
responses:
'200':
description: Valid user is found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid user is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUserNotAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users/{user-id}'
\
-H 'accept: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}'
put:
tags:
- Users Endpoint
summary: Update User - PUT
description: >-
This API updates user details and return the updated user details using
a PUT operation.
- Scope(Permission) required: ``internal_user_mgt_update``
- Flow type: Client Credentials OAuth Flow
operationId: updateUser
parameters:
- name: id
in: path
description: Unique ID of the resource type.
required: true
schema:
type: string
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserUpdateObject'
required: false
responses:
'200':
description: Valid user is found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid user is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUserNotAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'PUT' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users/{user-id}'
\
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"schemas": [],
"name": {
"givenName": "Kim",
"familyName": "Berry"
},
"userName": "DEFAULT/kim@gmail.com",
"emails": [
{
"value": "kim@gmail.com",
"primary": true
}
],
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"manager": {
"value": "Taylor"
}
}
}'
x-codegen-request-body-name: body
delete:
tags:
- Users Endpoint
summary: Delete User by ID
description: |-
This API deletes a user using the user's unique ID.
- Scope(Permission) required: ``internal_user_mgt_delete``
- Flow type: Client Credentials OAuth Flow
operationId: deleteUser
parameters:
- name: id
in: path
description: Unique ID of the user that you want to delete.
required: true
schema:
type: string
responses:
'204':
description: User is deleted
content: {}
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid user is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUserNotAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'DELETE' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users/{user-id}'
\
-H 'accept: */*' \
-H 'Authorization: Bearer {bearer_token}'
patch:
tags:
- Users Endpoint
summary: Update User - PATCH
description: >-
This API updates user details and returns the updated user details using
a PATCH operation.
- Scope(Permission) required: ``internal_user_mgt_update``
- Supported Operations:``add``, ``replace``, ``remove``
- Flow type: Client Credentials OAuth Flow
operationId: patchUser
parameters:
- name: id
in: path
description: Unique id of the resource type.
required: true
schema:
type: string
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/PatchOperationInput'
required: false
responses:
'200':
description: Valid user is found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/UserResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid user is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUserNotAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'PATCH' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Users/{user-id}'
\
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"value": {
"nickName": "shaggy"
}
}
]
}'
x-codegen-request-body-name: body
/Groups:
get:
tags:
- Groups Endpoint
summary: Filter Groups
description: >-
This API returns groups according to the specified filter, sort, and
pagination parameters.
- Scope(Permission) required: ``internal_group_mgt_view``
- Flow type: Client Credentials OAuth Flow
operationId: getGroup
parameters:
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
- name: filter
in: query
description: Filter expression for filtering
schema:
type: string
- name: startIndex
in: query
description: The 1-based index of the first query result
schema:
type: integer
format: int32
- name: count
in: query
description: Specifies the desired maximum number of query results per page.
schema:
type: integer
format: int32
- name: domain
in: query
description: The name of the user store where filtering needs to be applied.
schema:
type: string
responses:
'200':
description: Valid groups are found / No Group found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupsListResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
x-codeSamples:
- lang: Curl
source: |
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups' \
-H 'accept: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}'
post:
tags:
- Groups Endpoint
summary: Create Group
description: >-
This API creates a group and returns the details of the created group
including its unique ID.
- Scope(Permission) required: ``internal_group_mgt_create``
- Flow type: Client Credentials OAuth Flow
operationId: createGroup
parameters:
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupRequestObject'
required: false
responses:
'201':
description: Valid group is created
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Group is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorGroupNotAvailable'
'409':
description: Group already exist
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorGroupAlreadyAvailable'
x-codeSamples:
- lang: Curl
source: |
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups' \
-H 'accept: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}'
x-codegen-request-body-name: body
/Groups/.search:
post:
tags:
- Groups Endpoint
summary: Search Groups
description: >-
This API returns groups according to the specified filter, sort, and
pagination parameters.
- Scope(Permission) required: ``internal_group_mgt_view``
- Flow type: Client Credentials OAuth Flow
operationId: getGroupsByPost
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupSearchRequestObject'
required: false
responses:
'200':
description: Valid groups are found / Valid groups are not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupSearchResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
x-codeSamples:
- lang: Curl
source: >
curl -X 'POST' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups/.search'
\
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:SearchRequest"
],
"startIndex": 1,
"filter": "displayName eq manager"
}'
x-codegen-request-body-name: body
'/Groups/{id}':
get:
tags:
- Groups Endpoint
summary: Get Group by ID
description: >-
This API returns the group details of a particular group using its
unique ID.
- Scope(Permission) required: ``internal_group_mgt_view``
- Flow type: Client Credentials OAuth Flow
operationId: getGroup by id
parameters:
- name: id
in: path
description: Unique ID of the resource type.
required: true
schema:
type: string
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
responses:
'200':
description: Valid group is found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid group is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorNoGroupAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups/{group-id}'
\
-H 'accept: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}'
put:
tags:
- Groups Endpoint
summary: Update Group - PUT
description: >-
This API updates the group details and returns the updated group details
using a PUT operation.
- Scope(Permission) required: ``internal_group_mgt_update``
- Flow type: Client Credentials OAuth Flow
operationId: updateGroup
parameters:
- name: id
in: path
description: Unique ID of the resource type.
required: true
schema:
type: string
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupPutRequestObject'
required: false
responses:
'200':
description: Group is updated
content:
application/scim+json:
schema:
$ref: '#/components/schemas/GroupPutResponseObject'
'400':
description: Invalid Input
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorInvalidInput'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid group is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorNoGroupAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'PUT' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups/{group-id}'
\
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"displayName": "manager",
"members": [
{
"value": "409ca90b-2ba6-4474-9a45-2cf7376e6e43",
"display": "kris"
}
]
}'
x-codegen-request-body-name: body
delete:
tags:
- Groups Endpoint
summary: Delete Group
description: |-
This API deletes a particular group using its unique ID.
- Scope(Permission) required: ``internal_group_mgt_delete``
- Flow type: Client Credentials OAuth Flow
operationId: deleteGroup
parameters:
- name: id
in: path
description: Unique ID of the resource type.
required: true
schema:
type: string
responses:
'204':
description: Group is deleted
content: {}
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid group is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorNoGroupAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'DELETE' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups/{group-id}'
\
-H 'accept: */*' \
-H 'Authorization: Bearer {bearer_token}'
patch:
tags:
- Groups Endpoint
summary: Update Group - PATCH
description: >-
This API updates the group details and returns the updated group details
using a PATCH operation.
- Scope(Permission) required: ``internal_group_mgt_update``
- Flow type: Client Credentials OAuth Flow
operationId: patchGroup
parameters:
- name: id
in: path
description: Unique id of the resource type.
required: true
schema:
type: string
- name: attributes
in: query
description: SCIM defined attributes parameter.
schema:
type: string
- name: excludedAttributes
in: query
description: SCIM defined excludedAttribute parameter.
schema:
type: string
requestBody:
content:
application/scim+json:
schema:
$ref: '#/components/schemas/PatchGroupOperationRequestObject'
required: false
responses:
'200':
description: Group is updated
content:
application/scim+json:
schema:
$ref: '#/components/schemas/PatchGroupOperationResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'404':
description: Valid group is not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorNoGroupAvailable'
x-codeSamples:
- lang: Curl
source: >
curl -X 'PATCH' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Groups/{group-id}'
\
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"value": {
"members": [
{
"display": "kris",
"value": "409ca90b-2ba6-4474-9a45-2cf7376e6e43"
}
]
}
}
]
}'
x-codegen-request-body-name: body
/Bulk:
post:
tags:
- Bulk Endpoint
summary: Create/Update/Replace/Delete SCIM Resources (Users/ Groups) in Bulk
description: >-
This API is used to create/update/replace/delete SCIM resources in bulk.
You need to specify different operations in the request payload
corresponding to the type of bulk update: - **POST**
operation: Adds new resources. - **PUT** operation: Replaces an
existing resource. - **PATCH** operation: Updates attributes of an
existing resource. - **DELETE** operation: Removes an existing
resource.
- Scopes required: ``internal_bulk_resource_create``
- Flow type: Client Credentials OAuth Flow
operationId: createBulkUsers
requestBody:
content:
application/scim+json:
schema:
oneOf:
- $ref: '#/components/schemas/BulkUserCreateObject'
- $ref: '#/components/schemas/BulkUserUpdateObject'
- $ref: '#/components/schemas/BulkUserReplaceObject'
- $ref: '#/components/schemas/BulkUserDeleteObject'
- $ref: '#/components/schemas/BulkGroupCreateObject'
- $ref: '#/components/schemas/BulkGroupUpdateObject'
- $ref: '#/components/schemas/BulkGroupReplaceObject'
- $ref: '#/components/schemas/BulkGroupDeleteObject'
responses:
'201':
description: Valid user is created
content:
application/scim+json:
schema:
$ref: '#/components/schemas/BulkUserResponseObject'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'403':
description: Forbidden
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorForbidden'
'409':
description: Users already exists
content: {}
x-codeSamples:
- lang: Curl
source: |
curl -X 'POST' \
'https://api.asgardeo.io/t/{organization-name}/scim2/Bulk' \
-H 'accept: application/scim+json' \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}' \
-d '{
"failOnErrors": 1,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:BulkRequest"
],
"Operations": [
{
"method": "POST",
"path": "/Users",
"bulkId": "ytrewq",
"data": {
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "DEFAULT/kim@gmail.com",
"password": "Pass@kim1"
}
}
]
}'
x-codegen-request-body-name: body
/ServiceProviderConfig:
get:
tags:
- Service Provider Config Endpoint
summary: Get Service Provider Config
description: |-
This API returns the service provider's configuration details.
No Scope(Permission) required.
operationId: getServiceProviderConfig
responses:
'200':
description: Schema is found
content:
application/json:
schema:
$ref: '#/components/schemas/SPConfigResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'404':
description: Schema not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorSchemaNotFound'
x-codeSamples:
- lang: Curl
source: >
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/ServiceProviderConfig'
\
-H 'accept: application/json' \
-H 'Authorization: Bearer {bearer_token}'
/ResourceTypes:
get:
tags:
- Resource Types Endpoint
summary: Get Resource Types
description: |-
This API lists and returns metadata about resource types.
No Scope(Permission) required.
operationId: getResourceType
responses:
'200':
description: Schema is found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ResourceTypeResponse'
'401':
description: Unauthorized
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorUnauthorized'
'404':
description: Schema not found
content:
application/scim+json:
schema:
$ref: '#/components/schemas/ErrorSchemaNotFound'
x-codeSamples:
- lang: Curl
source: >
curl -X 'GET' \
'https://api.asgardeo.io/t/{organization-name}/scim2/ResourceTypes'
\
-H 'accept: application/scim+json' \
-H 'Authorization: Bearer {bearer_token}'
components:
schemas:
UserObject:
title: Set a password for the user
required:
- password
type: object
properties:
schemas:
type: object
properties: {}
example: []
name:
type: object
properties:
givenName:
type: string
description: >-
The `givenName` you specify will be entered for the First Name
attribute in the user's profile.
example: Kim
familyName:
type: string
description: >-
The `familyName` you specify will be entered for the Last Name
attribute in the user's profile.
example: Berry
userName:
type: string
description: >-
By default, the username should be the email address and it will be
stored in the `DEFAULT` user store. However, if username validation
is changed to `Alphanumeric` in your Asgardeo organization, you need
to specify an alphanumeric value (a-z, A-Z, 0-9) as the username
instead of the email.
example: DEFAULT/kim@gmail.com
password:
type: string
description: >-
Use this parameter to set a password for the user account. The user
will be able to reset this password later. When setting the
password, be sure to follow the password-validation rules configured
for your organization.
example: aBcd!23#
emails:
type: array
description: >-
This email will be entered for the Email attribute in the user's
profile.
example:
- value: kim@gmail.com
primary: true
items:
type: object
properties: {}
'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User':
type: object
properties:
manager:
type: object
properties:
value:
type: string
example: Taylor
'urn:scim:wso2:schema':
type: object
properties:
verifyEmail:
type: boolean
description: >-
When the administrator sets the password for the new user
account, this parameter specifies if the new user should confirm
the new account through email. If this parameter is set to
`true`, an email is sent to the user's email address requesting
confirmation.
example: true
UserObjectPassInvite:
title: Invite the user to set their own password
type: object
properties:
schemas:
type: object
properties: {}
example: []
name:
type: object
properties:
givenName:
type: string
description: >-
The `givenName` you specify will be entered for the First Name
attribute in the user's profile.
example: Kim
familyName:
type: string
description: >-
The `familyName` you specify will be entered for the Last Name
attribute in the user's profile.
example: Berry
userName:
type: string
description: >-
By default, the username should be the email address and it will be
stored in the `DEFAULT` user store. However, if username validation
is changed to `Alphanumeric` in your Asgardeo organization, you need
to specify an alphanumeric value (a-z, A-Z, 0-9) as the username
instead of the email.
example: DEFAULT/kim@gmail.com
emails:
type: array
description: >-
This email will be entered for the Email attribute in the user's
profile.
example:
- value: kim@gmail.com
primary: true
items:
type: object
properties: {}
'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User':
type: object
properties:
manager:
type: object
properties:
value:
type: string
example: Taylor
'urn:scim:wso2:schema':
type: object
properties:
askPassword:
type: boolean
description: >-
If this parameter is set to `true`, users will be allowed
configure their own password. An email is sent to the specified
email address, which will have instructions for the user to set
the password and confirm the new user account.
example: true
UserResponseObject:
required:
- meta
type: object
properties:
meta:
type: object
properties:
created:
type: string
example: '2018-08-17T10:34:29.000Z'
location:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Users/008bba85-451d-414b-87de-c03b5a1f4217
lastModified:
type: string
example: '2018-08-17T10:34:29.000Z'
resourceType:
type: string
example: User
schemas:
type: object
properties: {}
example:
- 'urn:ietf:params:scim:schemas:core:2.0:User'
- 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'
username:
type: string
example: DEFAULT/kim@gmail.com
id:
type: string
example: 008bba85-451d-414b-87de-c03b5a1f4217
name:
type: object
properties:
givenName:
type: string
example: Kim
familyName:
type: string
example: Berry
emails:
type: array
example:
- kim@gmail.com
items:
type: object
properties: {}
'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User':
type: object
properties:
manager:
type: object
properties:
value:
type: string
example: Taylor
roles:
type: object
properties: {}
example:
- type: default
value: Internal/everyone
UserObjectListResponseObject:
type: object
properties:
totalResults:
type: integer
example: 1
startIndex:
type: integer
example: 1
itemsPerPage:
type: integer
example: 1
schemas:
type: object
properties: {}
example:
- 'urn:ietf:params:scim:api:messages:2.0:ListResponse'
Resources:
type: array
items:
$ref: '#/components/schemas/UserResponseObject'
UserSearchRequestObject:
type: object
properties:
schemas:
type: array
example:
- 'urn:ietf:params:scim:api:messages:2.0:SearchRequest'
attributes:
type: array
description: SCIM defined attributes parameter.
example:
- name.familyName
- userName
filter:
type: string
description: >-
The expression used for filtering. Supported filters are
ew, eq, co, sw,
and and.
example: userName sw ki and name.familyName co err
domain:
type: string
description: The name of the user store where filtering needs to be applied.
example: DEFAULT
startIndex:
type: integer
format: int32
description: The 1-based index of the first query result
example: 1
count:
type: integer
format: int32
description: >-
Specifies the desired maximum number of query results per page.
(For organizations created on or after November 19, 2024, a
threshold value of 100 will be applied to the count parameter. To
fetch more users, use pagination.)
example: 10
UserUpdateObject:
type: object
properties:
schemas:
type: object
properties: {}
example: []
name:
type: object
properties:
givenName:
type: string
example: Kim
familyName:
type: string
example: Berry
userName:
type: string
example: DEFAULT/kim@gmail.com
emails:
type: array
example:
- value: kim@gmail.com
primary: true
items:
type: object
properties: {}
'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User':
type: object
properties:
manager:
type: object
properties:
value:
type: string
example: Taylor
PatchOperationInput:
type: object
properties:
schemas:
type: array
items:
type: object
example: 'urn:ietf:params:scim:api:messages:2.0:PatchOp'
Operations:
type: array
items:
$ref: '#/components/schemas/OperationMeItem'
OperationMeItem:
type: object
properties:
op:
type: string
enum:
- add
- remove
- replace
value:
type: object
properties:
nickName:
type: string
example: shaggy
ErrorUnauthorized:
required:
- status
type: object
properties:
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: >-
Authorization failure. Authorization information was invalid or
missing from your request.
status:
type: string
example: '401'
ErrorForbidden:
required:
- status
type: object
properties:
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: >-
Operation is not permitted. You do not have permission to make this
request.
status:
type: string
example: '403'
ErrorInvalidInput:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '400'
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
scimType:
type: string
example: invalidSyntax
detail:
type: string
example: 'Request is unparsable, syntactically incorrect, or violates schema.'
ErrorInternalServerError:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '500'
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: Internal Server Error.
ErrorUserNotAvailable:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '404'
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: >-
No user with the id : 008bba85-451d-414b-87de-c03b5a1f4217 in the
user store.
GroupsListResponseObject:
type: object
properties:
totalResults:
type: integer
example: 3
startIndex:
type: integer
example: 1
itemsPerPage:
type: integer
example: 3
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:ListResponse'
Resources:
type: array
items:
$ref: '#/components/schemas/groupOb'
groupOb:
type: object
properties:
displayName:
type: string
example: DEFAULT/manager
meta:
type: object
properties:
created:
type: string
example: '2019-08-26T14:27:36.000Z'
location:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Groups/7bac6a86-1f21-4937-9fb1-5be4a93ef469
lastModified:
type: string
example: '2019-08-26T14:27:36.000Z'
members:
type: array
items:
type: object
properties:
$ref:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Users/3a12bae9-4386-44be-befd-caf349297f45
display:
type: string
example: kim
value:
type: string
example: 008bba85-451d-414b-87de-c03b5a1f4217
roles:
type: array
items:
type: object
properties:
$ref:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Roles/4645709c-ea8c-4495-8590-e1fa0efe3de0
display:
type: string
example: loginRole
value:
type: string
example: 4645709c-ea8c-4495-8590-e1fa0efe3de0
id:
type: string
example: 7bac6a86-1f21-4937-9fb1-5be4a93ef469
GroupRequestObject:
required:
- displayName
- schemas
type: object
properties:
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:Group'
displayName:
type: string
example: DEFAULT/manager
members:
type: array
items:
type: object
properties: {}
example:
value: 008bba85-451d-414b-87de-c03b5a1f4217
display: kim
GroupResponseObject:
type: object
properties:
displayName:
type: string
example: DEFAULT/manager
meta:
type: object
properties:
created:
type: string
example: '2019-08-26T14:27:36.000Z'
location:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Groups/7bac6a86-1f21-4937-9fb1-5be4a93ef469
lastModified:
type: string
example: '2019-08-26T14:27:36.000Z'
resourceType:
type: string
example: Group
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:Group'
id:
type: string
example: 7bac6a86-1f21-4937-9fb1-5be4a93ef469
members:
description: >-
The members of the group. Note that if the group is from a remote
user store, a limited number of members will be returned. You can
use filters to query remaining users. For example -
`emails+eq+user@gmail.com+and+groups+eq+remote_group_01`
type: array
items:
type: object
properties:
$ref:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Users/3a12bae9-4386-44be-befd-caf349297f45
display:
type: string
example: kim
value:
type: string
example: 008bba85-451d-414b-87de-c03b5a1f4217
roles:
type: array
items:
type: object
properties:
$ref:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Roles/4645709c-ea8c-4495-8590-e1fa0efe3de0
display:
type: string
example: loginRole
value:
type: string
example: 4645709c-ea8c-4495-8590-e1fa0efe3de0
GroupSearchRequestObject:
type: object
properties:
schemas:
type: object
properties: {}
example:
- 'urn:ietf:params:scim:api:messages:2.0:SearchRequest'
startIndex:
type: integer
example: 1
filter:
type: string
example: displayName eq manager
GroupSearchResponseObject:
type: object
properties:
totalResults:
type: integer
example: 1
startIndex:
type: integer
example: 1
itemsPerPage:
type: integer
example: 3
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:ListResponse'
Resources:
type: array
items:
$ref: '#/components/schemas/groupOb'
GroupPutResponseObject:
type: object
properties:
displayName:
type: string
example: DEFAULT/manager
meta:
type: object
properties:
created:
type: string
example: '2019-08-26T14:27:36.000Z'
location:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Groups/7bac6a86-1f21-4937-9fb1-5be4a93ef469
lastModified:
type: string
example: '2019-08-26T14:27:36.000Z'
resourceType:
type: string
example: Group
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:Group'
id:
type: string
example: 7bac6a86-1f21-4937-9fb1-5be4a93ef469
members:
type: array
items:
type: object
properties: {}
example:
display: kris
value: 409ca90b-2ba6-4474-9a45-2cf7376e6e43
GroupPutRequestObject:
type: object
properties:
displayName:
type: string
example: manager
members:
type: array
items:
type: object
properties: {}
example:
value: 409ca90b-2ba6-4474-9a45-2cf7376e6e43
display: kris
PatchGroupOperationRequestObject:
type: object
properties:
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:PatchOp'
Operations:
type: array
items:
$ref: '#/components/schemas/GroupItemObj'
GroupItemObj:
type: object
properties:
op:
type: string
enum:
- add
- remove
- replace
value:
type: object
properties:
members:
type: array
items:
type: object
properties: {}
example:
display: kris
value: 409ca90b-2ba6-4474-9a45-2cf7376e6e43
PatchGroupOperationResponseObject:
type: object
properties:
displayName:
type: string
example: DEFAULT/manager
meta:
type: object
properties:
created:
type: string
example: '2019-08-26T14:27:36.000Z'
location:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Groups/7bac6a86-1f21-4937-9fb1-5be4a93ef469
lastModified:
type: string
example: '2019-08-26T14:27:36.000Z'
resourceType:
type: string
example: Group
schemas:
type: object
properties: {}
example:
- 'urn:ietf:params:scim:schemas:core:2.0:Group'
id:
type: string
example: 7bac6a86-1f21-4937-9fb1-5be4a93ef469
members:
type: array
items:
type: object
properties: {}
example:
- display: kris
value: 409ca90b-2ba6-4474-9a45-2cf7376e6e43
- display: kim
value: 007bfc66-e4f0-4d53-9dfd-0c4a77b33257
ErrorGroupAlreadyAvailable:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '409'
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: 'Group with name: DEFAULT/manager already exists in the system.'
ErrorGroupNotAvailable:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '404'
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: >-
No Group with the id : 89a2a363-c90f-47e9-afae-949d026dad16 in the
user store.
ErrorNoGroupAvailable:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '404'
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: Group not found in the user store.
BulkUserCreateObject:
type: object
title: create user
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To add multiple new users, add an array of POST
operations. You can include any number of operations in one bulk
request.
items:
$ref: '#/components/schemas/BulkUserOb'
required:
- schemas
- Operations
BulkUserUpdateObject:
type: object
title: update user
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To update multiple users, add an array of PATCH
operations. You can include any number of operations in one bulk
request.
items:
$ref: '#/components/schemas/BulkUserUpdateOb'
required:
- schemas
- Operations
BulkUserReplaceObject:
type: object
title: replace user
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To replace multiple users, add an array of PUT
operations. You can include any number of operations in one bulk
request.
items:
$ref: '#/components/schemas/BulkUserReplaceOb'
required:
- schemas
- Operations
BulkUserDeleteObject:
type: object
title: delete user
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To delete multiple users, add an array of
DELETE operations. You can include any number of operations in one
bulk request.
items:
$ref: '#/components/schemas/BulkUserDeleteOb'
required:
- schemas
- Operations
BulkGroupCreateObject:
type: object
title: create group
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To add multiple new user groups, add an array
of POST operations. You can include any number of operations in one
bulk request.
items:
$ref: '#/components/schemas/BulkGroupCreateOb'
required:
- schemas
- Operations
BulkGroupUpdateObject:
type: object
title: update group
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To update multiple user groups, add an array of
PATCH operations. You can include any number of operations in one
bulk request.
items:
$ref: '#/components/schemas/BulkGroupUpdateOb'
required:
- schemas
- Operations
BulkGroupReplaceObject:
type: object
title: replace group
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To replace multiple user groups, add an array
of PUT operations. You can include any number of operations in one
bulk request.
items:
$ref: '#/components/schemas/BulkGroupReplaceOb'
required:
- schemas
- Operations
BulkGroupDeleteObject:
type: object
title: delete group
properties:
failOnErrors:
type: integer
example: 1
description: >-
The number of errors that will be accepted by Asgardeo before
returning the response.
schemas:
type: array
description: This is the schema that is required for sending bulk requests
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkRequest'
Operations:
type: array
description: >-
Array of operations. To delete multiple user groups, add an array of
PUT operations. You can include any number of operations in one bulk
request.
items:
$ref: '#/components/schemas/BulkGroupDeleteOb'
required:
- schemas
- Operations
BulkUserOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: POST
path:
type: string
description: Add this path to specify that a new user is being added.
example: /Users
bulkId:
type: string
description: >-
A unique identifier for the bulk operation. The bulkid is required
for POST operations.
example: ytrewq
data:
type: object
description: Specify the details of the new user that should be added.
properties:
schemas:
type: array
description: >-
Specify the list of SCIM2 user schemas to which the new user
should be linked.
example:
- 'urn:ietf:params:scim:schemas:core:2.0:User'
- 'urn:ietf:params:scim:schemas:enterprise:2.0:User'
- 'urn:scim:wso2:schema'
items:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:User'
userName:
type: string
description: The email address that should be set as the username.
example: DEFAULT/kim@gmail.com
password:
type: string
description: The password that is set for the user.
example: Pass@kim1
required:
- schemas
- username
- password
required:
- method
- path
- bulkId
- data
BulkUserUpdateOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: PATCH
path:
type: string
description: >-
Add this path to specify the new user that is being updated.
(Optional if op is add or replace)
example: '/Users/{user_id}'
bulkId:
type: integer
description: >-
A unique identifier for the bulk operation. The bulkid is required
for POST operations.
example: An integer value
data:
type: object
description: Specify the details of the new user that should be updated.
properties:
op:
type: string
description: The operation that should be applied to the existing user data.
example:
- add
- replace
- remove
path:
type: string
description: >-
The path to the resource (user attribute) that should be
updated. (Optional if op is add or replace)
example: >-
If the name of the user is to be updated, the path should be
“name”.
value:
type: string
description: >-
The value of the parameter specified by the path. (Optional if
op is add or replace)
example: 'If the path is “name”, the value should be the actual name.'
required:
- op
- path
- value
required:
- method
- path
- data
BulkUserReplaceOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: PUT
path:
type: string
description: >-
Add this path to specify the existing user that should be replaced
by the new user information that is added.
example: '/Users/{user_id}'
bulkId:
type: integer
description: >-
A unique identifier for the bulk operation. The bulkid is required
for POST operations.
example: An integer value
data:
type: object
description: >-
Specify the new user details that should be used to replace the
existing user specified in the path.
properties:
schemas:
type: array
description: >-
Specify the list of SCIM2 user schemas to which the new user
should be linked.
example:
- 'urn:ietf:params:scim:schemas:core:2.0:User'
- 'urn:ietf:params:scim:schemas:enterprise:2.0:User'
- 'urn:scim:wso2:schema'
items:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:User'
userName:
type: string
description: The name of the attribute that will be replaced.
example: smith
name:
type: object
description: The name of the attribute that will be replaced.
properties:
givenName:
type: string
example: Smith
familyName:
type: string
example: Berry
required:
- schemas
- userName
- name
required:
- method
- path
- data
BulkUserDeleteOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: DELETE
path:
type: string
description: Add this path to specify the existing user that should be deleted.
example: '/Users/{user_id}'
required:
- method
- path
BulkGroupCreateOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: POST
path:
type: string
description: Add this path to specify that a new user group that should be added.
example: /Groups
bulkId:
type: integer
description: >-
A unique identifier for the bulk operation. The bulkid is required
for POST operations.
example: An integer value
data:
type: object
description: Specify the details of the new user group that should be added.
properties:
displayName:
type: string
description: The display name of the user group.
members:
type: array
description: An array of member users.
items:
type: object
properties:
display:
type: string
description: >-
The display name of a user assigned to the group.(Required
if members is used)
example: The username
value:
type: string
description: The ID of the user.(Required if members is used)
example: The user ID.
required:
- displayName
required:
- method
- path
- data
BulkGroupUpdateOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: PATCH
path:
type: string
description: Add this path to specify the user group that should be updated.
example: '/Groups/{group_id}'
bulkId:
type: integer
description: >-
A unique identifier for the bulk operation. The bulkid is required
for POST operations.
example: An integer value
data:
type: object
description: >-
Specify the details that should be updated for the user group
specified in the path.
properties:
op:
type: string
description: The operation that should be applied to the existing user group.
example:
- add
- replace
- remove
path:
type: string
description: >-
Specify “members” as the path.(Optional if op is
add or replace)
example: members
value:
type: array
description: >-
An array of users that belong to the group.(Optional if
op is remove)
items:
type: object
properties:
display:
type: string
description: >-
The display name of the user, who is a member.(Required if
path is set to members)
example: The username
value:
type: string
description: >-
The user ID of the member user.(Required if path is
set to members)
example: The user ID
required:
- op
- path
- value
required:
- method
- path
- data
BulkGroupReplaceOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: PUT
path:
type: string
description: >-
Add this path to specify the existing user group that should be
replaced by the new information that is added.
example: '/Groups/{group_id}'
bulkId:
type: integer
description: >-
A unique identifier for the bulk operation. The bulkid is required
for POST operations.
example: An integer value
data:
type: object
description: >-
Specify the new group details that should be used to replace the
existing user group specified in the path.
properties:
displayName:
type: string
description: The display name of the user group.
members:
type: array
description: Array of member users.
items:
type: object
properties:
display:
type: string
description: The display name of a user assigned to the group.
example: The username
value:
type: string
description: The ID of the user.
example: The user ID.
required:
- display
- value
required:
- displayName
- members
required:
- method
- path
- data
BulkGroupDeleteOb:
type: object
properties:
method:
type: string
description: The method that should be used in the operation
example: DELETE
path:
type: string
description: >-
Add this path to specify the existing user group that should be
deleted.
example: '/Groups/{group_id}'
required:
- method
- path
BulkUserResponseObject:
type: object
properties:
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:BulkResponse'
Operations:
$ref: '#/components/schemas/OperationObBulk'
OperationObBulk:
type: object
properties:
bulkId:
type: string
example: qwerty
method:
type: string
example: POST
location:
type: string
example: >-
https://api.asgardeo.io/t/{org-name}/scim2/Users/81cbba1b-c259-485d-8ba4-79afb03e5bd1
status:
type: object
properties:
code:
type: string
example: '201'
SPConfigResponse:
type: object
example:
patch:
supported: true
filter:
maxResults: 200
supported: true
documentationUri: 'http://example.com/help/scim.html'
authenticationSchemes:
- name: OAuth Bearer Token
description: Authentication scheme using the OAuth Bearer Token Standard
specUri: 'http://www.rfc-editor.org/info/rfc6750'
type: oauthbearertoken
primary: true
- name: HTTP Basic
description: Authentication scheme using the HTTP Basic Standard
specUri: 'http://www.rfc-editor.org/info/rfc2617'
type: httpbasic
primary: false
schemas:
- 'urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig'
etag:
supported: false
sort:
supported: false
bulk:
maxPayloadSize: 1048576
maxOperations: 1000
supported: true
changePassword:
supported: false
ErrorSchemaNotFound:
required:
- detail
- status
type: object
properties:
status:
type: string
example: '404'
schemas:
type: string
example: 'urn:ietf:params:scim:api:messages:2.0:Error'
detail:
type: string
example: Schema not found.
ResourceTypeResponse:
type: object
properties:
schemas:
type: array
items:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:ResourceType'
resourceType:
type: array
items:
$ref: '#/components/schemas/UserObResourceType'
UserObResourceType:
type: object
properties:
schema:
type: string
example: 'urn:ietf:params:scim:schemas:core:2.0:User'
endpoint:
type: string
example: /Users
meta:
type: object
properties:
location:
type: string
example: 'https://api.asgardeo.io/t/{org-name}/scim2/ResourceType/User'
resourceType:
type: string
example: ResourceType
name:
type: string
example: User
description:
type: string
example: User Account
schemaExtensions:
type: object
properties:
schema:
type: string
example: 'urn:ietf:params:scim:schemas:extension:enterprise:2.0:User'
required:
type: boolean
example: false
id:
type: string
example: User