Skip to main content

SCIM Application examples

Operations

List all

List all applications.

Request
GET http://<your-domain>/webservice/scim2/v1/Application
Response 200 OK
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 2,
    "startIndex": 1,
    "Resources": [
        {
            "parent": "Operation/Business 2",
            "relativeName": "SOFFID",
            "database": "",
            "bpmEnabled": true,
            "meta": {
                "location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application/41",
                "links": {
                    "children": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application?filter=parent.name+eq+'Operation/Business 2/SOFFID'",
                    "roles": "http://soffid.pat.lab:8080/webservice/scim2/v1/Role?filter=informationSystemName+eq+'Operation/Business 2/SOFFID'"
                },
                "resourceType": "Application"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.api.Application"
            ],
            "name": "Operation/Business 2/SOFFID",
            "description": "SOFFID Identity Manager",
            "singleRole": false,
            "attributes": {},
            "id": 41,
            "type": "application"
        },
        {
            "parent": "Operation/Business process",
            "relativeName": "ad",
            "database": "ad",
            "bpmEnabled": true,
            "meta": {
                "location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application/391459",
                "links": {
                    "children": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application?filter=parent.name+eq+'Operation/Business process/ad'",
                    "roles": "http://soffid.pat.lab:8080/webservice/scim2/v1/Role?filter=informationSystemName+eq+'Operation/Business process/ad'"
                },
                "resourceType": "Application"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.api.Application"
            ],
            "name": "Operation/Business process/ad",
            "description": "Active Directory",
            "singleRole": false,
            "attributes": {},
            "id": 391459,
            "type": "application"
        }
    ]
}

Retrieve by id

Retrieve by its id (primary key). For instance, the admin user listed previously.

Request
GET http://<your-domain>/soffid/webservice/scim2/v1/Application/391459
Response 200 OK
{
    "parent": "Operation/Business process",
    "relativeName": "ad",
    "database": "ad",
    "bpmEnabled": true,
    "meta": {
        "location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application/391459",
        "links": {
            "children": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application?filter=parent.name+eq+'Operation/Business process/ad'",
            "roles": "http://soffid.pat.lab:8080/webservice/scim2/v1/Role?filter=informationSystemName+eq+'Operation/Business process/ad'"
        },
        "resourceType": "Application"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.api.Application"
    ],
    "name": "Operation/Business process/ad",
    "description": "Active Directory",
    "singleRole": false,
    "attributes": {},
    "id": 391459,
    "type": "application"
}

List by filter

List all application with a filter expression. It is allowed to use pagination and sort the information.

Request

For instance, filter all applications that contain "SOFFID" on field description

GET http://<your-domain>/soffid/webservice/scim2/v1/Application?filter=description co SOFFID
Response 200 OK
GET http://<domain>/webservice/scim2/v1/Application?filter=name eq "SOFFID"
 
HTTP 200
 
{
    "totalResults": 1,
    "resources": [
        {
            "description": "SOFFID Identity Manager",
            "singleRole": true,
            "bpmEnforced": false,
            "database": "",
            "meta": {
                "location": "http://<domain>/webservice/scim2/v1/Application/28",
                "resourceType": "Application"
            },
            "name": "SOFFID",
            "attributes": {
                "owner": [
                    "ppig"
                ]
            },
            "id": 28
        }
    ]
}

Create

One may create a role. This role will be used for the following examples.

Request
Response
POST http://<domain>/webservice/scim2/v1/Application
 
Put the user JSON in the body of the request:
{
    "description": "Test application",
    "singleRole": true,
    "bpmEnforced": false,
    "name": "test app",
    "attributes": {
        "owner": [
            "ppig"
        ]
    }
}
 
HTTP 201
{
    "description": "Test application",
    "singleRole": true,
    "bpmEnforced": false,
    "meta": {
        "location": "http://<domain>/webservice/scim2/v1/Application/2236428",
        "resourceType": "Application"
    },
    "name": "test app",
    "attributes": {
        "owner": [
            "ppig"
        ]
    },
    "id": 2236428
}

Update partial

Update only the attributes with changes, only these attributes will be updated in the user, the rest will maintain the same value.

Request
Response
PATCH http://<domain>/webservice/scim2/v1/Application/2236428
 
Put the user JSON in the body of the request:
{
    "description": "SOFFID test role (modified)"
}
 
HTTP 200
{
    "description": "Test application (modified 2)",
    "singleRole": false,
    "bpmEnforced": false,
    "meta": {
        "location": "http://<domain>/webservice/scim2/v1/Application/2236428",
        "resourceType": "Application"
    },
    "name": "test app",
    "attributes": {
        "owner": [
            "ppig"
        ]
    },
    "id": 2236428
}

Update all

This operation replaces all values in the user. For example we will update nationalID.

  • Note that the attribute id is required to confirm that the resource "...User/<id>" is the same that the JSON user.
  • Note that all the attributes not included in the request will be cleared in the user 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
Response
PUT http://<domain>/webservice/scim2/v1/Application/2236428
 
Put the user JSON in the body of the request:
{
    "description": "Test application",
    "singleRole": true,
    "bpmEnforced": false,
    "name": "test app",
    "attributes": {
        "owner": [
            "ppig"
        ]
    }
}
 
HTTP 200
{
    "description": "Test application (modified2 )",
    "singleRole": false,
    "bpmEnforced": false,
    "meta": {
        "location": "http://<domain>/webservice/scim2/v1/Application/2236428",
        "resourceType": "Application"
    },
    "name": "test app",
    "attributes": {
        "owner": [
            "ppig"
        ]
    },
    "id": 2236428
}

Delete

Delete a user and its relations (groups, accounts, attributes, secondary groups, etc).

  • Please note that after this delete action, you will need to create again the user to use it in the next examples.
DELETE http://<domain>/webservice/scim2/v1/Application/2236428
 
HTTP 204