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
{
    "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 2",
            "relativeName": "iam.soffid.com",
            "database": "iam.soffid.com",
            "bpmEnabled": false,
            "meta": {
                "location": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application/1836136",
                "links": {
                    "children": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application?filter=parent.name+eq+'Operation/Business 2/iam.soffid.com'",
                    "roles": "http://soffid.pat.lab:8080/webservice/scim2/v1/Role?filter=informationSystemName+eq+'Operation/Business 2/iam.soffid.com'"
                },
                "resourceType": "Application"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.api.Application"
            ],
            "name": "Operation/Business 2/iam.soffid.com",
            "description": "Discovered host iam.soffid.com",
            "singleRole": false,
            "attributes": {},
            "id": 1836136,
            "type": "application"
        }
    ]
}

Query by id

Retrieve by its id (primary key). 

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"
}

Create

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

Request

 

Response
POST http://<your-domain>/soffid/webservice/scim2/v1/ApplicationApplication/
Put

JSON

the user JSON in the body of the request:
{
    "description"schemas": [
        "urn:soffid:com.soffid.iam.api.Application"
    ],
    "parent": "TestOperation/Business application"2",
    "singleRole"relativeName": true,"appBilling",
    "bpmEnforced"database": "",
    "bpmEnabled": false,
    "name": "testOperation/Business app"2/App Billing",
    "attributes": {
        "owner": [
            "ppig"
        ]
    }
}
 
HTTP 201
{
    "description": "TestBilling application",
    "singleRole": true,false,
    "bpmEnforced"attributes": {},
    "type": "application"
}
Response 201 Created
{
    "parent": "Operation/Business 2",
    "relativeName": "App Billing",
    "database": "",
    "bpmEnabled": false,
    "meta": {
        "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Application/2236428"1976515",
        "resourceType": "Application"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.api.Application"
    ],
    "name": "testOperation/Business app"2/App Billing",
    "description": "Billing application",
    "singleRole": false,
    "attributes": {
        "owner": [
            "ppig"
        ]
    },
    "id": 22364281976515,
    "type": "application"
}

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://<your-domain>/soffid/webservice/scim2/v1/Application/22364281976515
Put

JSON

the
{
    user"schemas": JSON[
        in"urn:soffid:com.soffid.iam.api.Application"
    the],
    body"Operations": of the request:[
        {
            "description"op": "SOFFIDreplace",
            test"path": role"parent",
            (modified)"value": "Operation/Business process"
        }
 
HTTP 200,
        {
            "description"op": "Test application (modified 2)"replace",
            "singleRole"path": false,"name",
            "bpmEnforced"value": "Operation/Business process/App Billing"
        },
        {
            "op": "replace",
            "path": "database",
            "value": "DDBBBilling"
        }
    ]
}
Response 200 OK
{
    "parent": "Operation/Business process",
    "relativeName": "App Billing",
    "database": "DDBBBilling",
    "bpmEnabled": false,
    "meta": {
        "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Application/2236428"1976515",
        "links": {
            "children": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application?filter=parent.name+eq+'Operation/Business process/App Billing'",
            "roles": "http://soffid.pat.lab:8080/webservice/scim2/v1/Role?filter=informationSystemName+eq+'Operation/Business process/App Billing'"
        },
        "resourceType": "Application"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.api.Application"
    ],
    "name": "testOperation/Business app"process/App Billing",
    "description": "Billing application",
    "singleRole": false,
    "attributes": {
        "owner": [
            "ppig"
        ]
    },
    "id": 22364281976515,
    "type": "application"
}

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://<your-domain>/soffid/webservice/scim2/v1/Application/22364281976515
Put

JSON

the user JSON in the body of the request:
{
    "description"schemas": [
        "urn:soffid:com.soffid.iam.api.Application"
    ],
    "id": 1976515,
    "parent": "TestOperation/Business application"2",
    "singleRole"relativeName": true,"appBilling",
    "bpmEnforced"database": "",
    "bpmEnabled": false,
    "name": "testOperation/Business app"2/App Billing",
    "attributes": {
        "owner": [
            "ppig"
        ]
    }
}
 
HTTP 200
{
    "description": "TestBilling application (modified2 )"application",
    "singleRole": false,
    "bpmEnforced"attributes": {},
    "type": "application"
}
Response 200 OK
{
    "parent": "Operation/Business 2",
    "relativeName": "App Billing",
    "database": "",
    "bpmEnabled": false,
    "meta": {
        "location": "http://<domain>/soffid.pat.lab:8080/webservice/scim2/v1/Application/2236428"1976515",
        "links": {
            "children": "http://soffid.pat.lab:8080/webservice/scim2/v1/Application?filter=parent.name+eq+'Operation/Business 2/App Billing'",
            "roles": "http://soffid.pat.lab:8080/webservice/scim2/v1/Role?filter=informationSystemName+eq+'Operation/Business 2/App Billing'"
        },
        "resourceType": "Application"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.api.Application"
    ],
    "name": "testOperation/Business app"2/App Billing",
    "description": "Billing application",
    "singleRole": false,
    "attributes": {
        "owner": [
            "ppig"
        ]
    },
    "id": 22364281976515,
    "type": "application"
}

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.
Request
DELETE http://<your-domain>/webservice/scim2/v1/Application/2236428
HTTP
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