SCIM Group examples
Operations
List all
List all groups. Obsolete or not. For example after the Soffid installation these are the available groups.
GET http://<domain>/webservice/scim2/v1//Group
HTTP 200
{
"totalResults": 3,
"resources": [
{
"organizational": false,
"obsolete": false,
"description": "World",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/50",
"resourceType": "Group"
},
"quota": "0",
"name": "world",
"attributes": {},
"id": 50
},
{
"organizational": false,
"obsolete": false,
"description": "Entrprise",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/53",
"resourceType": "Group"
},
"quota": "0",
"name": "enterprise",
"parentGroup": "world",
"attributes": {},
"id": 53
},
{
"organizational": false,
"obsolete": false,
"description": "Enterprise Administrators",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/56",
"resourceType": "Group"
},
"quota": "0",
"name": "admingroup",
"parentGroup": "enterprise",
"attributes": {},
"id": 56
}
]
}
List by id
List a group by its id (primary key). For example the first group of the list.
GET http://<domain>/webservice/scim2/v1/Group/50
HTTP 200
{
"organizational": false,
"obsolete": false,
"description": "World",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/50",
"resourceType": "Group"
},
"quota": "0",
"name": "world",
"attributes": {},
"id": 50
}
List by filter
List all groups with a filter expression. For example, one can search groups between the ids 50 (included) and 56 (excluded).
GET http://<domain>/webservice/scim2/v1/Group?filter=id ge 50 and id lt 56
HTTP 200
{
"totalResults": 2,
"resources": [
{
"organizational": "false",
"obsolete": "false",
"description": "World",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/50",
"resourceType": "Group"
},
"quota": "0",
"name": "world",
"attributes": {},
"id": 50
},
{
"organizational": "false",
"obsolete": "false",
"description": "Entrprise",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/53",
"resourceType": "Group"
},
"quota": "0",
"name": "enterprise",
"parentGroup": "world",
"attributes": {},
"id": 53
}
]
}
Create
One can create a group. This group will be used for the next examples.
POST http:///<domain>/webservice/scim2/v1/Group
Put the user JSON in the body of the request:
{
"name": "EngineeringTeam",
"description": "Enterprise engineering team",
"parentGroup": "world",
"quota": "0",
"organizational": false,
"obsolete": false
}
HTTP 201
{
"organizational": "false",
"obsolete": "false",
"description": "Enterprise engineering team",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/15445",
"resourceType": "Group"
},
"quota": "0",
"name": "EngineeringTeam",
"parentGroup": "world",
"attributes": {},
"id": 15445
}
Update partial
Update only of the attributes with changes, only these attributes will be updated in the group, the rest will have the same value.
For example we will add value to a new attribute.
PATCH http://<domain>/webservice/scim2/v1/Group/15445
Put the user JSON in the body of the request:
{
"driveLetter": "G"
}
HTTP 200
{
"organizational": "false",
"driveLetter": "G",
"obsolete": "false",
"description": "Enterprise engineering team",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/15445",
"resourceType": "Group"
},
"quota": "0",
"name": "EngineeringTeam",
"parentGroup": "world",
"attributes": {},
"id": 15445
}
Update all
This operation replaces all values in the group. For example we will update driveLetter.
- Note that the attribute id is required to confirm that the resource "...Group/<id>" is the same that the JSON group.
- Note that all the attributes not included in the request will be cleared in the group and their data will be lost.
- Note that not all the attributes are updatable, for example, tag meta, avoid these tags. For more information see Resource data model page.
PUT http://<domain>/webservice/scim2/v1/Group/15445
Put the user JSON in the body of the request:
{
"id": 15445,
"driveLetter": "A",
"organizational": "false",
"obsolete": "false",
"description": "Enterprise engineering team",
"quota": "0",
"name": "EngineeringTeam",
"parentGroup": "world",
"attributes": {}
}
HTTP 200
{
"organizational": "false",
"driveLetter": "A",
"obsolete": "false",
"description": "Enterprise engineering team",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/15445",
"resourceType": "Group"
},
"quota": "0",
"name": "EngineeringTeam",
"parentGroup": "world",
"attributes": {},
"id": 15445
}
Delete
Delete a group is not possible in this version, you must disable it with a PATCH operation.
- Please note that after this delete, the group must be updated to use it in the following examples.
DELETE http://<domain>/webservice/scim2/v1/Group/15445
HTTP 500
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"detail": "The delete operation is not allowed in this version, the alternative is to disable the group using a PATCH or PUT",
"status": "500"
}
PATCH http://<domain>/webservice/scim/Group/15445
Put the user JSON in the body of the request:
{
"obsolete": true
}
HTTP 200
{
"organizational": "false",
"driveLetter": "A",
"obsolete": "true",
"description": "Enterprise engineering team",
"meta": {
"location": "http://<domain>/webservice/scim2/v1/Group/15445",
"resourceType": "Group"
},
"quota": "0",
"name": "EngineeringTeam",
"parentGroup": "world",
"attributes": {},
"id": 15445
}