Skip to main content

SCIM Group examples

Operations

List all

List all groups.Groups.

Obsolete or not. For example after the Soffid installation these are the available groups.

Request
GET http://<your-domain>/webservice/scim2/v1//Group
HTTP
Response 200 OK
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 3,7,
    "resources"startIndex": 1,
    "Resources": [
        {
            "organizational": false,
            "obsolete": false,
            "description": "World",
            "meta": {
                "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/50"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": 5083
        },
        {
            "organizational": false,
            "obsolete": false,
            "description": "Entrprise",
            "meta": {
                "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/53"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": 5387
        },
      {
            "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.

It is allowed to use pagination and sort the information, for more information visit SCIM Query parameters page.

Request

For example,instance, onefilter can searchall groups betweenthat thecontain ids"world" 50on (included)field and 56 (excluded).name

GET http://<your-domain>/soffid/webservice/scim2/v1/Group?filter=idname geco 50world
and id lt 56 HTTP
Response 200 OK
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 2,
    "resources"startIndex": 1,
    "Resources": [
        {
            "organizational": "false",
            "obsolete": "false",
            "description": "World",false,
            "meta": {
                "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/50"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": 5083
        },
        {
            "organizational": "false",
            "obsolete": "false",
            "description": "Entrprise",false,
            "meta": {
                "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/53"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": "enterprise"world2",
            "parentGroup"obsolete": false,
            "description": "world"World Modified",
            "attributes": {},
            "id": 53485118
        }
    ]
}

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

One canTo create a group.

This group will be used for the next examples.

Request
POST http:///<your-domain>/soffid/webservice/scim2/v1/GroupGroup/
Put

JSON

the
{
    user"schemas": JSON[
        in"urn:soffid:com.soffid.iam.api.Group"
    the body of the request:
{],
    "name": "EngineeringTeam",
    "description": "Enterprise engineering team",
    "parentGroup": "world",
"quota":}
"0",
Response 201 Created
{
    "organizational": false,
    "obsolete": false
}
 
HTTP 201
{
    "organizational": "false",
    "obsolete": "false",
    "description": "Enterprise engineering team",
    "meta": {
        "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/15445"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": 154451976559
}

Update partial

Update only of the attributes with changes, only these attributes will be updated in the group,updated, the rest will havemaintain the same value.

For example we will add value to a new attribute.

Request
PATCH http://<your-domain>/soffid/webservice/scim2/v1/Group/154451976559
Put

JSON

the
{
    user"Operations": JSON in the body of the request:[
        {
            "driveLetter"op": "G"replace",
            "path": "description",
            "value": "Enterprise Engineering Group"
        },
        {
            "op": "replace",
            "path": "type",
            "value": "CC"
        }
    HTTP]
}
Response 200 OK
{
    "organizational": "false",
    "driveLetter": "G",
    "obsolete": "false",
    "description": "Enterprise engineering team",false,
    "meta": {
        "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/15445"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": 154451976559,
    "type": "CC"
}

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,example tag meta, avoid these tags. For more information see Resource data model  page.
Request

PUT http://<your-domain>/soffid/webservice/scim2/v1/Group/154451976559
Put

JSON

the
{
    user"schemas": JSON in the body of the request:
{["urn:soffid:com.soffid.iam.api.Group"],
    "id": 15445,1976559,
    "driveLetter"name": "A",
    "organizational": "false",
    "obsolete": "false"EngineeringTeam",
    "description": "Enterprise engineering team",
    "quota": "0",
    "name": "EngineeringTeam",
    "parentGroup": "world",
    "attributes": {}
}
HTTP
Response 200 OK
{
    "organizational": "false",
    "driveLetter": "A",
    "obsolete": "false",
    "description": "Enterprise engineering team",false,
    "meta": {
        "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Group/15445"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": 154451976559
}

Delete

Delete a group is not possible in this version, you must disable it with a PATCH operation.group.

  • Please note that after this delete,delete action, you will need to create again the group must be updated to use it in the followingnext examples.

Request
DELETE http://<your-domain>/webservice/scim2/v1/Group/154451976559
HTTP
Response 500204 {No "schemas":Content
[
204 "urn:ietf:params:scim:api:messages:2.0:Error"No ],Content
"detail":

Error "Theresponse

delete

For operationmore isinfomation notabout allowederror inresponse thisvisit version, the alternative is to disable the group using a PATCH or PUT", "status": "500" } PATCH http:https://<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 }bookstack.soffid.com/link/116#bkmrk-error-response