SCIM Group examples
Operations
List all
List all Groups.
Request
GET http://<your-domain>/webservice/scim2/v1/Group
Response 200 OK
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 7,
"startIndex": 1,
"Resources": [
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/83",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'world'+or secondaryGroup.group.name+eq+'world'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'world'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "world",
"obsolete": false,
"description": "World Original",
"attributes": {},
"id": 83
},
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/87",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'enterprise'+or secondaryGroup.group.name+eq+'enterprise'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'enterprise'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "enterprise",
"obsolete": false,
"description": "Enterprise",
"parentGroup": "world",
"attributes": {},
"id": 87
},
......
]
}
List by filter
List all groups with a filter expression.
It is allowed to use pagination and sort the information, for more information visit SCIM Query parameters page.
Request
For instance, filter all groups that contain "world" on field name
GET http://<your-domain>/soffid/webservice/scim2/v1/Group?filter=name co world
Response 200 OK
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 2,
"startIndex": 1,
"Resources": [
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/83",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'world'+or secondaryGroup.group.name+eq+'world'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'world'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "world",
"obsolete": false,
"description": "World Original",
"attributes": {},
"id": 83
},
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/485118",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'world2'+or secondaryGroup.group.name+eq+'world2'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'world2'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "world2",
"obsolete": false,
"description": "World Modified",
"attributes": {},
"id": 485118
}
]
}
Query by id
Retrieve by its id (primary key).
Request
GET http://<your-domain>/soffid/webservice/scim2/v1/Group/83
Response 200 OK
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/83",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'world'+or secondaryGroup.group.name+eq+'world'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'world'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "world",
"obsolete": false,
"description": "World Original",
"attributes": {},
"id": 83
}
Create
To create a group.
Request
POST http://<your-domain>/soffid/webservice/scim2/v1/Group/
JSON
{
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "EngineeringTeam",
"description": "Enterprise engineering team",
"parentGroup": "world"
}
Response 201 Created
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/1976559",
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "EngineeringTeam",
"obsolete": false,
"description": "Enterprise engineering team",
"parentGroup": "world",
"attributes": {},
"id": 1976559
}
Update partial
Update only the attributes with changes, only these attributes will be updated, the rest will maintain the same value.
Request
PATCH http://<your-domain>/soffid/webservice/scim2/v1/Group/1976559
JSON
{
"Operations": [
{
"op": "replace",
"path": "description",
"value": "Enterprise Engineering Group"
},
{
"op": "replace",
"path": "type",
"value": "CC"
}
]
}
Response 200 OK
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/1976559",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'EngineeringTeam'+or secondaryGroup.group.name+eq+'EngineeringTeam'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'EngineeringTeam'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "EngineeringTeam",
"obsolete": false,
"description": "Enterprise Engineering Group",
"parentGroup": "world",
"attributes": {},
"id": 1976559,
"type": "CC"
}
Update all
This operation replaces all values in the group.
- 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.
Request
PUT http://<your-domain>/soffid/webservice/scim2/v1/Group/1976559
JSON
{
"schemas": ["urn:soffid:com.soffid.iam.api.Group"],
"id": 1976559,
"name": "EngineeringTeam",
"description": "Enterprise engineering team",
"parentGroup": "world"
}
Response 200 OK
{
"organizational": false,
"meta": {
"location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Group/1976559",
"links": {
"members": "http://soffid.pat.lab:8080/webservice/scim2/v1/User?filter=primaryGroup+eq+'EngineeringTeam'+or secondaryGroup.group.name+eq+'EngineeringTeam'",
"administrators": "http://soffid.pat.lab:8080/webservice/scim2/v1/RoleAccount?filter=group.name+eq+'EngineeringTeam'"
},
"resourceType": "Group"
},
"quota": "0",
"schemas": [
"urn:soffid:com.soffid.iam.api.Group"
],
"name": "EngineeringTeam",
"obsolete": false,
"description": "Enterprise engineering team",
"parentGroup": "world",
"attributes": {},
"id": 1976559
}
Delete
Delete a group.
Please note that after this delete action, you will need to create again the group to use it in the next examples.
Request
DELETE http://<your-domain>/webservice/scim2/v1/Group/1976559
Response 204 No Content
204 No Content
Error response
For more infomation about error response visit https://bookstack.soffid.com/link/116#bkmrk-error-response