# SCIM # Introduction to SCIM ## What is SCIM?
SCIM is a standard created to simplify user management in the cloud by defining a schema for representing users and groups with a REST API for all the necessary CRUD operations.
This standard could be extended to other resources like accounts, roles, etc. Soffid is compatible with SCIM 2 protocol but uses its owns schema for users, groups, roles and so one. That is why Soffid implements SCIM protocols (RFC7644 and EFC 7644), but not SCIM core schema (RFC7643). ## Information about SCIMAll the information about SCIM is published in the following link: [http://www.simplecloud.info/](http://www.simplecloud.info/)
Currently, the last available version of the standard is SCIM 2.0.The most relevant link about the specification of this protocol is: [https://tools.ietf.org/html/rfc7644](https://tools.ietf.org/html/rfc7644)
## Use cases of SCIM SCIM could be used to create a new identity from third part application assign or revoke permissions, create or disable accounts, or even take part of new or existing workflows. You can leverage SCIM protocol to extend current Soffid functionality adapting the Identity Platform to your needs. ## Example of SCIM SCIM uses JSON specification for the data model containing the requests and responses. For instance, the data information of a user would be: ```JSON { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "bjensen", "externalId": "bjensen", "name": { "formatted": "Ms. Barbara J Jensen III", "familyName": "Jensen", "givenName": "Barbara" } } ``` SCIM also uses REST specification for HTTP communication between clients and servers. For instance, a request to create a user would be: ``` POST /Users HTTP/1.1 Host: example.com Accept: application/scim+json Content-Type: application/scim+json Authorization: Bearer h480djs93hd8 Content-Length: ... ``` The HTTP codes are very important in the responses. For instance: ``` HTTP/1.1 200 Response is ok HTTP/1.1 201 Resource created HTTP/1.1 404 Resource not found etc ``` # SCIM Operations ## HTTP MethodGET | Retrieves one or more complete or partial resources. |
POST | Depending on the endpoint, creates new resources, creates a search request, or MAY be used to bulk-modify resources. |
PUT | Modifies a resource by replacing existing attributes with a specified set of replacement attributes (replace). PUT MUST NOT be used to create new resources. |
PATCH | Modifies a resource with a set of client-specified changes (partial update). |
DELETE | Deletes a resource. |
**Parameter** | **Description** |
---|---|
sortBy | Specifies the attribute whose value will be used to order ther returned responses. |
sortOrder | Allowed values are "ascending" and "descending". If sortBy is provided, and sortOrder is nos provided, sortOrder will be "ascending" by default. |
**Parameter** | **Description** |
---|---|
startIndex | Index of the first query result. Default 1 |
count | Maximun numer of query results per page |
More information about the operations on [https://www.rfc-editor.org/rfc/rfc6902](https://www.rfc-editor.org/rfc/rfc6902)
- path: to indicate the attribute on which the operation is to be performed. - value: the new value for the attribute. ### Delete A HTTP Delete request is used to delete a resource. ``` http://200 | OK |
201 | Created |
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
More detail about [SCIM JSON error](#bkmrk-scim-json-error)
## SCIM JSON Response ### SCIM JSON list For instance, when a list of resources is requested, this is the JSON output format: *Note, to simplify the JSON output every resource has been replaced by {...}* ```JSON { "totalResults": 3, "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "resources": [ {...}, {...}, {...} ] } ``` This is the description of this type of response:Attribute | Description |
---|---|
totalResults | Number of the resources returned in the response |
schemas | Defined by SCIM protocl. Always: "[urn:ietf:params:scim:api:messages:2.0:ListResponse](http://urnietfparamsscimapimessages:2.0:ListResponse)" |
resources | List of resources returned |
**Attribute** | **Description** |
---|---|
schemas | Defined by SCIM protocl. Always: "[urn:ietf:params:scim:api:messages:2.0:Error](http://urnietfparamsscimapimessages:2.0:Error)" |
detail | Returns the description on the validation, problem, error, etc |
status | Is the HTTP status, that is the same that the HTTP code of the HTTP response |
Please browse the standard specifications in this link: [https://tools.ietf.org/html/rfc7644#section-3.4.2.2](https://tools.ietf.org/html/rfc7644#section-3.4.2.2)
## Example To search all users having "John" as name: ```XML http://The result always is a SCIM response list.
## Syntax ### Attribute operators**Operator** | **Description** |
---|---|
eq | equal |
eq\_ci | case insensitive version of equal operator |
ne | not equal |
co | contains |
sw | starts with |
ew | ends with |
pr | present (has value) |
gt | greater than |
ge | greater than or equal to |
lt | less than |
le | less than or equal to |
**Operator** | **Description** |
---|---|
and | Logical "and" |
or | Logical "or" |
not | "Not" function |
**Operator** | **Description** |
---|---|
( ) | Precedence grouping |
\[ \] | Complex attribute filter group |
**Data type** | **Value** |
---|---|
Numbers | Use the value without ", for example 1234 |
Text | Use the value within ", for example "John" |
Date | Use the value within " with an ISO format, for example "2011-05-13T04:42:34Z" |
Boolean | Use \[ true | false \] (without ") |
Null | Use \[ null \] (without ") |
**Parameter** | **Description** |
---|---|
sortBy | Specifies the attribute whose value will be used to order ther returned responses. |
sortOrder | Allowed values are "ascending" and "descending". If sortBy is provided, and sortOrder is nos provided, sortOrder will be "ascending" by default. |
**Parameter** | **Description** |
---|---|
startIndex | Index of the first query result. Default 1 |
count | Maximun numer of query results per page |
You need to be an administrator user of the Soffid console or a user with permissions to upload addons.
It is recommended to upload the addons to master, this is the way to maintain updated all, master and tenants if there are.
In the Soffid console, please go to: "Main Menu > Administration > Configure Soffid > Global Settings > Plugins" and upload the addon file, for more information visit the [Addons Getting started](https://bookstack.soffid.com/books/addons-getting-started/page/getting-started "Addons installation") page Finally, when the addon is installed, it will be required to restart the Soffid Console. ## Testing ### Confirm authorization To access to the SCIM REST web service, a user with correct authorization is required. First we can check the authorization created by the SCIM add-on: - Go to: Main Menu > Administration > Configure Soffid > Security settings > Authorizations - Filter by the field "name" with the value "scim" - Confirm that exists "scim:invoke" ### Confirm access Once a user is available to access SCIM functionality, testing is easily done with a browser. For example, to list groups. - Please introduce the next URL: http://<domain>/webservice/scim2/v1/Group (*note, you must replace "<domain>" for your Soffid IAM Console domain*). - Now a browser prompt requests the user and password for the authentication (note, you must use the user with the SCIM authorization). - Finally, if the response is something like a compact JSON (Chrome) or a download file (Firefox). Comments - One can use a REST client extension in the browser, for example, [RESTer](https://bookstack.soffid.com/link/118#bkmrk-rester) - One can show a JSON formatted with a browser extension, for example, JSONView (*note, it's necessary include the CONTENT-TYPE="application/scim+json" in the extension preferences*). # How to use SCIM in Soffid ## IntroductionSoffid has implemented a version of the SCIM protocol 2.0. Some optional recommendations have also been included to improve the usage of this specification within the Soffid context.
This functionality is available only by installing the SCIM add-on. This add-on is available in the download section of the Soffid website. ## Discovery Soffid provides some endpoints to discover supported features and specific attribute details: ### Service provider config This endpoint provides additional information about the Soffid SCIM implementation. ##### Request ```XML GET https://Resource | Description |
---|---|
[User](https://bookstack.soffid.com/link/126#bkmrk-page-title) | Management of the users included in the Soffid solution. A user is an identity that represents only one person. |
[Group](https://bookstack.soffid.com/link/127#bkmrk-page-title) | Management of the groups included in the Soffid solution. A group could be part of a hierarchical group tree. Users are assigned to a primary group and optionally could be in some secondary groups. |
[Account](https://bookstack.soffid.com/books/scim/page/account-resource "Account resource") | Management of the accounts included in the Soffid solution. An account is a representation of one application access. A user may have a lot of accounts and may have some accounts for the same applications with different roles and restrictions. |
[Application](https://bookstack.soffid.com/books/scim/page/application-resource "Application resource") | Management of the applications (Information Systems from a functional point of view) included in the Soffid solution. Every agent (of an external system) manages these roles through one or more applications. |
[Role](https://bookstack.soffid.com/books/scim/page/role-resource "Role resource") | Management of the roles included in the Soffid solution. Every role is created in one application, so an application has a list of roles. |
[GroupType](https://bookstack.soffid.com/link/131#bkmrk-page-title) | Management of the GroupTypes included in the Soffid solution. |
[UserType](https://bookstack.soffid.com/books/scim/page/user-type-resource "User type resource") | Management of the GroupTypes included in the Soffid solution. |
[GroupUser](https://bookstack.soffid.com/books/scim/page/groupuser-resource "GroupUser resource") | Management of the GroupUsers included in the Soffid solution. |
[RoleAccount](https://bookstack.soffid.com/books/scim/page/roleaccount-resource "RoleAccount resource") | Management of the RoleAccounts included in the Soffid solution. |
[Host](https://bookstack.soffid.com/books/scim/page/host-resource "Host resource") | Management of the Hosts included in the Soffid solution. |
[MailDomain](https://bookstack.soffid.com/books/scim/page/maildomain-resource "MailDomain resource") | Management of the MailDomains included in the Soffid solution. |
[MailList](https://bookstack.soffid.com/books/scim/page/maillist-resource "MailList resource") | Management of the MailLists included in the Soffid solution. |
[DomainValue](https://bookstack.soffid.com/books/scim/page/domainvalue-resource "DomainValue resource") | Management of the DomainValues included in the Soffid solution. |
[VaultFolder](https://bookstack.soffid.com/books/scim/page/vaultfolder-resource "VaultFolder resource") | Management of the VaultFolders included in the Soffid solution. |
[System](https://bookstack.soffid.com/books/scim/page/system-resource "System resource") | Management of the Systems (Agents) included in the Soffid solution. Information storage system from a technical point of view. |
[CustomObject](https://bookstack.soffid.com/books/scim/page/customobject-resource "CustomObject resource") | Management of the CustomObjects included in the Soffid solution. |
[TaskInstance](https://bookstack.soffid.com/books/scim/page/taskinstance-resource "TaskInstance resource") | Management of the TaskInstances included in the Soffid solution. |
[ProcessInstance](https://bookstack.soffid.com/books/scim/page/processinstance-resource "ProcessInstance resource") | Management of the ProcessInstances included in the Soffid solution. |
[ProcessDefinition](https://bookstack.soffid.com/books/scim/page/processdefinition-resource "ProcessDefinition resource") | Management of the ProcessDefinition included in the Soffid solution. |
You can view all resource data models and schemas on [Resource data model & schema](https://bookstack.soffid.com/books/scim/chapter/resource-data-model-schema "Resource data model & schema") chapter
## Soffid Operations For every resource the following operations are available:**Operation** | **HTTP method** | **URL example** | **Description** |
---|---|---|---|
List all | GET | .../soffid/webservice/scim/<resource> | List all resources |
Search by id | GET | .../soffid/webservice/scim/<resource>/<id> | Search the resource with the <id> specified |
Search by filter | GET | .../soffid/webservice/scim/<resource>?filter=<filter-language> | Search all resources that fulfil the <filter-language> filter (*please see filtering language here* [5. SCIM filter language](https://confluence.soffid.com/display/SOF/5.+SCIM+filter+language)) |
Create | POST | .../soffid/webservice/scim/<resource> | Create a resource |
Update all | PUT | .../soffid/webservice/scim/<resource>/<id> + <JSON in the body> | Update all attributes specified in the JSON stream (*the attributes not included will be cleared*) |
Update partial | PATCH | .../soffid/webservice/scim/<resource>/<id> + <JSON in the body> | Update only the attributes specified in the JSON stream *(the other attributes will not be updated)* |
Delete | DELETE | .../soffid/webservice/scim/<resource>/<id> | Delete a resource |
**Parameter** | **Value** | **Description** |
---|---|---|
URL | https://<your-domain>/soffid/webservice/scim/<resource> | URL with the <resource> to be managed |
Method | \[ GET | POST | PUT | PATCH | DELETE \] | Method allowed in SCIM REST protocol |
Content-Type | application/scim+json | SCIM specification |
Accept | application/scim+json | SCIM specification |
Authorization | Basic YWRtaW46Y2hhbmdlaXQ= | Only BASIC authentication is implemented in this version. A Soffid user (+password) with SCIM access is required to generate this parameter |
Accept-Language | \[ EN | ES | CA | NL \] | This parameter is OPTIONAL. The default language is EN |
**Code** | **Status** | **User case** |
---|---|---|
200 | Ok | After: list all, search by id, search by filter, update all, update partial |
201 | Created | After: create |
204 | No content | After: delete |
404 | Not found | After: resource not found |
500 | Error | After: internal error, PATCH DELETE |
This extension may be added from these links: [Chrome](https://chrome.google.com/webstore/detail/rester/eejfoncpjfgmeleakejdcanedmefagga), [Firefox](https://addons.mozilla.org/es/firefox/addon/rester/)
Once it's added to the browser, this tool is accessible from its toolbar icon: [](https://bookstack.soffid.com/uploads/images/gallery/2021-05/restter-1.png) This is the RESTer application window: [](https://bookstack.soffid.com/uploads/images/gallery/2021-05/rester-2.png)Remember to use the HTTP headers specified in SCIM in [SCIM in Soffid-HTTPrequest](https://bookstack.soffid.com/link/114#bkmrk-http-request)
Remember to use a user with authorization. See 8. How to use SCIM in [How to use SCIM in Soffid-Confirmauthorization](https://bookstack.soffid.com/link/120#bkmrk-confirm-authorizatio)
### Postman Postman is another REST client, you can use it as an extension of the browser, but we recommend the operating system application. # Resource data model & schema The data model of the Soffid objects is mapped to JSON objects to enable the data transport between client and server. # User resource ## /User ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/User.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/User.html)
Soffid allows you to add customized data to the user object. You can do that on metadata, on the proper object. - > Administration > Configure Soffid > Global Settings > Metadata ## Query schema It is allowed to consult all the User definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM User examples](https://bookstack.soffid.com/books/scim/page/scim-user-examples "SCIM User examples") page
# Group resource ## /Group ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Group.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Group.html)
Soffid allows you to add customized data to the group object. You can do that on the metadata option: - > Administration > Configure Soffid > Global Settings > Metadata ## Query Schema It is allowed to consult all the Group definitions using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM Group examples](https://bookstack.soffid.com/books/scim/page/scim-group-examples "SCIM Group examples") page
# Account resource ## /Account ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Account.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Account.html)
Soffid allows you to add customized data to the Account object. You can do that on metadata option: - > Administration > Configure Soffid > Global Settings > Metadata ## Query Schema It is allowed to consult all the Account definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM Account examples](https://bookstack.soffid.com/books/scim/page/scim-account-examples "SCIM Account examples") page
# Application resource ## /Application (addon version 1.2.0+) ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Application.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Application.html)
Soffid allows you to add customized data to the Application object. You can do that on metadata option: - > Administration > Configure Soffid > Global Settings > Metadata ## Query Schema It is allowed to consult all the Application definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM Application examples](https://bookstack.soffid.com/books/scim/page/scim-application-examples "SCIM Application examples") page
# Role resource ## /Role (addon version 1.2.0+) ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Role.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Role.html)
Soffid allows you to add customized data to the Role object. You can do that on metadata option: - > Administration > Configure Soffid > Global Settings > Metadata ## Query schema It is allowed to consult all the Role definition using the Schema query: ##### Request ```MarkDown GET http://Visit[ SCIM Role examples](https://bookstack.soffid.com/books/scim/page/scim-role-examples "SCIM Role examples") page
# Group type resource ## /OUType ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/OUType.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/OUType.html)
## Query Schema It is allowed to consult all the Group Type definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM Group type examples](https://bookstack.soffid.com/books/scim/page/scim-group-type-examples "SCIM Group type examples") page
# User type resource ## /UserType ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/UserType.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/UserType.html)
## Query Schema It is allowed to consult all the User Type definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM User type examples](https://bookstack.soffid.com/books/scim/page/scim-user-type-examples "SCIM User type examples") page
# GroupUser resource ## /GroupUser ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/GroupUser.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/GroupUser.html)
Soffid allows you to add customized data to the GroupUser object. You can do that on metadata option: - > Administration > Configure Soffid > Global Settings > Metadata ## Query Schema It is allowed to consult all the GroupUser definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM GroupUser examples](https://bookstack.soffid.com/books/scim/page/scim-groupuser-examples "SCIM GroupUser examples") page
# RoleAccount resource ## /RoleAccount ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/RoleAccount.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/RoleAccount.html)
## Query Schema It is allowed to consult all the RoleAccount definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM RoleAccount examples](https://bookstack.soffid.com/books/scim/page/scim-roleaccount-examples "SCIM RoleAccount examples") page
# Host resource ## /Host ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Host.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Host.html)
Soffid allows you to add customized data to the user object. You can do that on metadata, on the proper object. - > Administration > Configure Soffid > Global Settings > Metadata ## Query Schema It is allowed to consult all the Host definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM Host examples](https://bookstack.soffid.com/books/scim/page/scim-host-examples "SCIM Host examples") page
# MailList resource ## /MailList ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/MailList.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/MailList.html)
Soffid allows you to add customized data to the user object. You can do that on metadata, on the proper object. - > Administration > Configure Soffid > Global Settings > Metadata ## Query Schema It is allowed to consult all the MailList definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM MailList examples](https://bookstack.soffid.com/books/scim/page/scim-maillist-examples "SCIM MailList examples") page.
# MailDomain resource ## /MailDomain ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/MailDomain.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/MailDomain.html)
## Query Schema It is allowed to consult all the MailDomain definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM MailDomain examples](https://bookstack.soffid.com/books/scim/page/scim-maildomain-examples "SCIM MailDomain examples") page.
# Network resource ## /Network ## Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Network.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/Network.html)
## Query Schema It is allowed to consult all the Network definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM Network examples](https://bookstack.soffid.com/books/scim/page/scim-network-examples "SCIM Network examples") page.
# DomainValue resource ## /DomainValue ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/DomainValue.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/DomainValue.html)
## Query Schema It is allowed to consult all the DomainValue definition using the Schema query: ##### Request ```XML GET http://Visit[ SCIM DomainValue examples](https://bookstack.soffid.com/books/scim/page/scim-domainvalue-examples "SCIM DomainValue examples") page.
# VaultFolder resource ## /VaultFolder ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/VaultFolder.html ](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/VaultFolder.html)
## Query Schema It is allowed to consult all the VaultFolder definitions using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM VaultFolder examples](https://bookstack.soffid.com/books/scim/page/scim-vaultfolder-examples "SCIM VaultFolder examples") page.
# System resource ## /System ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/System.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/System.html)
## Query Schema It is allowed to consult all the System definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM System examples](https://bookstack.soffid.com/books/scim/page/scim-system-examples "SCIM System examples") page.
# CustomObject resource ## /CustomObject ## Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/CustomObject.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/api/CustomObject.html)
## Query Schema It is allowed to consult all the CustomObject definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM CustomObject examples](https://bookstack.soffid.com/books/scim/page/scim-customobject-examples "SCIM CustomObject examples") page.
# ProcessDefinition resource ## /ProcessDefinition ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/bpm/api/ProcessDefinition.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/bpm/api/ProcessDefinition.html)
## Query Schema It is allowed to consult all the ProcessDefinition definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM ProcessDefinition examples](https://bookstack.soffid.com/books/scim/page/scim-processdefinition-examples "SCIM ProcessDefinition examples") page.
# ProcessInstance resource ## /ProcessInstance ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/bpm/api/ProcessInstance.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/bpm/api/ProcessInstance.html)
## QUery Schema It is allowed to consult all the ProcessInstance definitions using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM ProcessInstance examples](https://bookstack.soffid.com/books/scim/page/scim-processinstance-examples "SCIM ProcessInstance examples") page.
# TaskInstance resource ## /TaskInstance ### Dictionary tableThe diagram service model of the object: [https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/bpm/api/TaskInstance.html](https://download.soffid.com/doc/console/latest/uml/com/soffid/iam/bpm/api/TaskInstance.html)
## Query Schema It is allowed to consult all the TaskInstance definition using the Schema query: ##### Request ```MarkDown GET http://Visit [SCIM TaskInstance examples](https://bookstack.soffid.com/books/scim/page/scim-taskinstance-examples "SCIM TaskInstance examples") page.
# Issue resource ## /Issue ### Dictionary table ## Query Schema It is allowed to consult all the Issue definition using the Schema query: ##### Request ```shell GET http://Visit [SCIM Issue examples](https://bookstack.soffid.com/books/scim/page/scim-issue-examples) page
# SCIM full examples # Previous steps Please note that the SCIM REST Web Service Add-on installed must be installed, please check this part in [How to use SCIM in Soffid # Installation](https://bookstack.soffid.com/link/120#bkmrk-installation) Please note that a user with the authentication is required, please check this part in [How to use SCIM in Soffid # Confirm authorization](https://bookstack.soffid.com/link/120#bkmrk-confirm-authorizatio) Please note that is recommended to use a REST client, please see our example in [Testing tool # RESTer](https://bookstack.soffid.com/link/118#bkmrk-rester) Please note that the correct header parameters must be used, please browse them in [SCIM in Soffid # HTTP request](https://bookstack.soffid.com/link/114#bkmrk-http-request) # SCIM User examples ## Operations This page shows the operations that can be performed for the user object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://If you want to add users to a group, please visit [SCIM GroupUser examples](https://bookstack.soffid.com/books/scim/page/scim-groupuser-examples "SCIM GroupUser examples") page
##### Request ```XML PATCH http://Please note after this delete, the user has to be created again to use it in the following examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Group examples ## Operations This page shows the operations that can be performed for the group object. ### List all ##### Request ```XML GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```XML GET http://If you want to add users to a group, please visit [SCIM GroupUser examples](https://bookstack.soffid.com/books/scim/page/scim-groupuser-examples "SCIM GroupUser examples") page
##### Request ```XML PATCH http://Please note that after this delete action, you will need to create again the group to use it in the next examples.
##### Request ```XML DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Account examples ## Operations This page shows the operations that can be performed for the account object ### List all List all accounts, disabled or not. ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the account has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more infomation about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Application examples ## Operations This page shows the operations that can be performed for the application object (Information Systems from a functional point of view) ### List all ##### Request ```XML GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```XML GET http://Please note that after this delete action, you will need to create again the application to use it in the next examples.
##### Request ```XML DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Role examples ## Operations This page shows the operations that can be performed for the role object ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the role has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
## Notes ### Note: use of roles with domain values In case of granting roles with domain values, the optional attribute domain value contains the value for that domain. Here is a sample account with permissions for the role SOFFID\_OU\_DOMAIN and domains D2 and enterprise: ```JSON { "grantedRoles": [], "roles": [ { "informationSystemName": "SOFFID", "roleName": "SOFFID_OU_MANAGER", "id": 2236442, "roleDescription": "Business unit manager", "domainValue": "D2" }, { "informationSystemName": "SOFFID", "roleName": "SOFFID_OU_MANAGER", "id": 2236447, "roleDescription": "Business unit manager", "domainValue": "enterprise" } ], "description": "faith - faith MUYOYO", "type": { "value": "U" }, "lastUpdated": "2019-07-16T10:35:01+02:00", "ownerGroups": [], "inheritNewPermissions": false, "disabled": false, "id": 1727122, "grantedGroups": [], "managerGroups": [], "passwordPolicy": "I", "managerRoles": [], "created": "2019-07-16T10:26:16+02:00", "system": "soffid", "ownerRoles": [], "meta": { "location": "http://bubu-thinkpad:8080/soffid/webservice/scim/Account/1727122", "resourceType": "Account" }, "name": "faith", "managerUsers": [], "attributes": {}, "grantedUsers": [], "ownerUsers": [ { "lastName": "Smith", "createdByUser": "csv", "mailServer": "null", "nationalID": "", "multiSession": false, "modifiedByUser": "admin", "id": 1727113, "homeServer": "null", "primaryGroupDescription": "Entrprise", "primaryGroup": "enterprise", "comments": "Loaded from CSV file on Mon Aug 05 22:00:00 CEST 2019", "profileServer": "null", "active": true, "fullName": "faith MUYOYO", "userName": "faith", "mailAlias": "", "firstName": "faith", "createdDate": "2019-07-16T10:26:16+02:00", "phoneNumber": "", "modifiedDate": "2019-12-12T17:06:42+01:00", "userType": "I" } ] } ``` ### Notes about role domains By default, roles have no security domain (sometimes referred to as scope). When a security domain is assigned to a role, each account-role object is tagged with the proper security domain value. It is allowed to assign one role multiple times to the same user, as long as each assignment is tagged with a different security domain value. For instance, one can create the SOFFID\_OU\_MANAGER role bound to the GROUPS security domain. Then, you can assign the role SOFFID\_OU\_MANAGER/Group1 to any user. Four kind of security domains are available: - SENSE\_DOMAIN: No security domain applies - GROUP: A business unit is bound to each grant of this role - APLICATION: A information sysstem is bound to each grant of this role - Custom domain: Each application can have its own security domains with arbitrary meanings. To set or modify the role domain for a role, one can use the "domain" attribute. This attribute is a complex object composed of a name and a description. Only the name is mandatory. ### Notes about role inheritance Role inheritance is driven by the ownedRoles, ownerRoles and ownedGroups. Each of these attributes is an array of grants. Each grant has the following attributes: - ownerRole: id of owner role. - ownerSystem: name of owner role's system. - ownerRoleName: name of owner role's name. - ownerRolDomainValue: security domain of the owner role. If a user is granted with the owner role, and the ownerRolDomainValue does not match the grant domain, the inheritance rule does not apply. - roleId: id of owned role. - system: name of owned role's system - roleName: name of owned role's name - domainValue: security domain of the owned role. The role inheritance can vary slightly depending on whether the owned role and the owner role are in the same domain or not:**Resulting domain value** | **Owner role has no domain** | **Owner role has a different domain** | **Same domain** |
---|---|---|---|
Domain value not specified | Blank | Blank | Owner role domain value |
Domain value specified | Specified value | Specified value | Specified value |
It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the group type has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM User type examples ## Operations This page shows the operations that can be performed for the user type object ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the user type has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM GroupUser examples ## Operations This page shows the operations that can be performed for the object that establishes the relationship between groups and users. You can add, delete and or modify users in a group. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the group user has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM RoleAccount examples ## Operations This page shows the operations that can be performed for the object that establishes the relationship between roles and accounts. You can assign, revoke and or modify roles to an account. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the RoleAccount has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Host examples ## Operations This page shows the operations that can be performed for the host object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the host has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM MailDomain examples ## Operations This page shows the operations that can be performed for the MailDomain object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the mail domain has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM MailList examples ## Operations This page shows the operations that can be performed for the MailList object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the mail list has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Network examples ## Operations This page shows the operations that can be performed for the Network object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the network has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM DomainValue examples ## Operations This page shows the operations that can be performed for the DomainValue object. The DomainValue is related to Information Systems. > Role scope or domains are properties that can be assigned to some entitlements, limiting the scope of that entitlement. This can be used to limit, for instance, the maximum amount allowed for a money transfer, or the commercial zones to manage. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the DomainValue has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM VaultFolder examples ## Operations This page shows the operations that can be performed for the VaultFolder object ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the VaultFolder has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM System examples ## Operations This page shows the operations that can be performed for the Systems object (Agents). ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the System has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM CustomObject examples ## Operations This page shows the operations that can be performed for the CustomObjects object ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the CustomObject has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM ProcessDefinition examples ## Operations This page shows the operations that can be performed for the ProcessDefinitions object ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM ProcessInstance examples ## Operations This page shows the operations that can be performed for the ProcessInstances object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the ProcessInstance has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE - http://For more infomation about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM TaskInstance examples ## Operations This page shows the operations that can be performed for the TaskInstances object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the account has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE - http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Issue examples ## Operations This page shows the operations that can be performed for the issue object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM for OTP devices SCIM for OTP devices # ⏰ Getting Started ## IntroductionSoffid allows you to combine two of the most powerful addons you can use into Soffid Console, **SCIM,** and **OTP**.
Please note that the SCIM REST Web Service Add-on installed must be installed, please check this part in [How to use SCIM in Soffid # Installation](https://bookstack.soffid.com/link/120#bkmrk-installation) Please note that a user with the authentication is required, please check this part in [How to use SCIM in Soffid # Confirm authorization](https://bookstack.soffid.com/link/120#bkmrk-confirm-authorizatio) Please note that is recommended to use a REST client, please see our example in [Testing tool # RESTer](https://bookstack.soffid.com/link/118#bkmrk-rester) Please note that the correct header parameters must be used, please browse them in [SCIM in Soffid # HTTP request](https://bookstack.soffid.com/link/114#bkmrk-http-request) Please note that the OTP addon must be installed and configured, check it in [OTP Settings](https://bookstack.soffid.com/books/two-factor-authentication-2fa-VsJ/page/otp-settings) ### OTP Device Types OTP device types available - **TOTP**: Time based HMAC Token - **HOTP**: Event based HMAC Token - **EMAIL** - **SMS** - **PIN**: Security PIN ### OTP Device Status OTP device status available : - C: **Created** - V: **Validated** - L: **Locked** - D: **Disabled** ### OTP Operations Soffid provides an API that allows you to connect to the OTP microservices. The available operations are the following - List all - List by filter - Query by id - Create - Update - Validate - Send SMS - DeleteYou can visit the [SCIM OTP devices examples page](https://bookstack.soffid.com/books/scim/page/scim-otp-devices-examples) for more detailed information
#### Workflows With the previous operations, using the SCIM OTP API, we can define some workflows.You can visit the [SCIM OTP devices Workflows examples page](https://bookstack.soffid.com/books/scim/page/scim-otp-devices-workflows-examples)
# SCIM OTP devices examples ## Operations This page shows the operations that can be performed for the OTP devices object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note after this delete, the account has to be created again to use it in the next examples.
##### Request ```MarkDown DELETE - http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM OTP devices Workflows examples ## Workflow Examples ### Workflow 1 #### 1. Create Email OTP device ##### Request ```XML GET http://Soffid allows you to combine two of the most powerful addons you can use into Soffid Console, **SCIM,** and **Federation**.
Please note that the SCIM REST Web Service Add-on installed must be installed, please check this part in [How to use SCIM in Soffid # Installation](https://bookstack.soffid.com/link/120#bkmrk-installation) Please note that a user with the authentication is required, please check this part in [How to use SCIM in Soffid # Confirm authorization](https://bookstack.soffid.com/link/120#bkmrk-confirm-authorizatio) Please note that it is recommended to use a REST client, please see our example in [Testing tool # RESTer](https://bookstack.soffid.com/link/118#bkmrk-rester) Please note that the correct header parameters must be used, please browse them in [SCIM in Soffid # HTTP request](https://bookstack.soffid.com/link/114#bkmrk-http-request) Please note that the Federation addon must be installed and configured, check it in [the Federation book](https://bookstack.soffid.com/books/federation)[.](https://bookstack.soffid.com/books/two-factor-authentication-2fa-VsJ/page/otp-settings) ### Identify Service Provider - **classe**: "S" ### Service providers Types Service providers types available - **SAML**: saml - **SAML API client**: soffid-saml - **OpenID Connect**: openid-connect - **OpenID Dynamic Register**: openid-dynamic-register - **Radius client**: radius - **CAS client**: cas ### Open Id Mechanism - PA: **User's password** - AC: **Authorization code** - PC: **User's password + Client credentials** - IM: **Implicit** ### Federation Operations Soffid provides an API that allows you to connect to the Federation microservices. The available operations are the following - List all - List by filter - Query by id - Create - Update - DeleteYou can visit [the SCIM Federation Member examples](https://bookstack.soffid.com/books/scim/page/scim-federation-members-examples) and [the SCIM Entity Group examples](https://bookstack.soffid.com/books/scim/page/scim-entity-group-examples) page for more detailed information.
# SCIM Entity Group examples ## Operations This page shows the functions that can be performed for the Entity Group object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://Please note, after this deletion, the entity group has to be created again to use it in the following examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# SCIM Federation Members examples ## Operations This page shows the functions that can be performed for the Federation Member object. ### List all ##### Request ```MarkDown GET http://It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.
##### Request ```MarkDown GET http://For more information, you can visit [the Openid-connect Dynamic Register documentation](https://bookstack.soffid.com/link/392#bkmrk-openid-connect-dynam)
### Update partial Only attributes with changes will be updated, the others will maintain the same value. ##### Request ```XML PATCH http://Please note, after this deletion, the entity group has to be created again to use it in the following examples.
##### Request ```MarkDown DELETE http://For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)
# Cross-Origin Resource Sharing (CORS) By default, for security reasons, the SCIM interface is published for any server application, but not for client-side (javascript) applications. In order to allow client-side applications to query or modify SCIM objects, the CORS protocol states how to define the restrictions that apply to client-side applications. CORS settings can be tuned adding two [parameters:](https://bookstack.soffid.com/books/soffid-3-reference-guide/page/soffid-parameters "Soffid parameters")Parameter | Value |
**soffid.scim.cors.origin** | Set a comma separated list of DNS domains allowed to perform SCIM operations. Set to \* to allow access from any domain |
**soffid.scim.cors.methods** | Set a comma-separated list of allowed operations. By default, it is set to **GET, OPTIONS, HEAD** To allow any operation, set it to **GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD** |