Skip to main content

 

Eptura Knowledge Center

User operations

The Condeco SCIM API supports the following user provisioning operations:

In the examples below replace <CONDECO-SCIM-Domain> and <CONDECO-TP-Domain> with your fixed values i.e. scimstage.condeco.cloud and scimstagetp.condeco.cloud

Create

The Create SCIM operation creates new users based on the values provided.

Create example - Request to create a user.

Request
POST "https://<CONDECO-SCIM-Domain>/scim/api/V1/users"
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
    "externalId": "JohnSmith123",
    "userName": "John.Smith1",
    "active": true,
    "emails": [{
        "primary": true,
        "value": "John.Smith@sampledomain.com"
    }],
    "phoneNumbers": [{
        "primary": true,
        "value": "96844435192"
        },
        {
        "primary": false,
        "type": "mobile",
        "value": "9684443519"
        }
    ],
    "name": {
        "familyName": "Smith",
    "givenName": "John"
    }
}
Response

HTTP/1.1 201 Created

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "id": "2060",
    "externalId": "JohnSmith123",
    "meta": {
        "resourceType": "User",
        "created": "2022-11-14T12:03:27.23",
        "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
    },
    "userName": "John.Smith1",
    "name": {
        "familyName": "Smith",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "John.Smith@sampledomain.com",
            "type": "work"
        }
    ],
    "phoneNumbers": [
        {
            "primary": true,
            "value": "968-444-35192",
            "type": "work"
        },
        {
            "primary": false,
            "value": "968-444-3519",
            "type": "mobile"
        }
    ],
    "preferredLanguage": "en-GB"
}

Read

The Read SCIM operation is used to get users from Condeco based on userid/filter value.

Examples

  1. Request to read a user by Condeco ID
  2. Request to read user by filter

Read example 1 - Request to read a user by Condeco ID

Request
GET "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
Response

HTTP/1.1 200 OK

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "id": "2060",
    "externalId": "JohnSmith123",
    "meta": {
        "resourceType": "User",
        "created": "2022-11-14T12:03:27.23",
        "location": "https://scimdev.condecodev.com/scim/api/V1/users/2060"
    },
    "userName": "John.Smith1",
    "name": {
        "familyName": "Smith",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "John.Smith@sampledomain.com",
            "type": "work"
        }
    ],
    "phoneNumbers": [
        {
            "primary": false,
            "value": "968-444-3519",
            "type": "mobile"
        },
        {
            "primary": true,
            "value": "968-444-35192",
            "type": "work"
        }
    ],
    "preferredLanguage": "en-GB"
}

Read example 2 - Request to read user by filter

Request
GET "https://<CONDECO-SCIM-Domain>/scim/api/V1/users?filter=userName eq "John.Smith1"
Response

HTTP/1.1 200 OK

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "Resources": [
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User"
            ],
            "id": "2060",
            "externalId": "JohnSmith123",
            "meta": {
                "resourceType": "User",
                "created": "2022-11-14T12:03:27.23",
                "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
            },
            "userName": "John.Smith1",
            "name": {
                "familyName": "Smith",
                "givenName": "John"
            },
            "active": true,
            "emails": [
                {
                    "primary": true,
                    "value": "John.Smith@sampledomain.com",
                    "type": "work"
                }
            ],
            "phoneNumbers": [
                {
                    "primary": false,
                    "value": "968-444-3519",
                    "type": "mobile"
                },
                {
                    "primary": true,
                    "value": "968-444-35192",
                    "type": "work"
                }
            ],
            "preferredLanguage": "en-GB"
        }
    ],
    "totalResults": 1,
    "startIndex": 1,
    "itemsPerPage": 200
}

Update

The Update SCIM operation updates existing users based on the values provided. PUT can be used to update all user attributes whilst PATCH can be used to update partial user attributes.

Examples

  1. Update with PUT
  2. Update with PATCH [Single-valued properties]
  3. Update with PATCH [Multi-valued properties]
    1. Request to update a phone number and mobile number
    2. Request to add a phone number
    3. Request to add a mobile number

Update example 1 - Update with PUT

Request
PUT "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
{
    {
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "externalId": "JohnSmith123",
    "meta": {
        "resourceType": "User",
        "created": "2022-11-14T12:03:27.23",
        "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
    },
    "userName": "John.Smith1",
    "name": {
        "familyName": "Smith",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "John.Smith@sampledomain.com",
            "type": "work"
        }
    ],
    "phoneNumbers": [
        {
            "primary": true,
            "value": "9684443000",
            "type": "work"
        },
        {
            "primary": false,
            "value": "9685553000",
            "type": "mobile"
        }
    ],
    "preferredLanguage": "en-GB"
}
Response

HTTP/1.1 200 OK

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "id": "2060",
    "externalId": "JohnSmith123",
    "meta": {
        "resourceType": "User",
        "created": "2022-11-14T12:03:27.23",
        "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/2060"
    },
    "userName": "John.Smith1",
    "name": {
        "familyName": "Smith",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "John.Smith@sampledomain.com",
            "type": "work"
        }
    ],
    "phoneNumbers": [
        {
            "primary": true,
            "value": "968-444-3000",
            "type": "work"
        },
        {
            "primary": false,
            "value": "968-555-3000",
            "type": "mobile"
        }
    ],
    "preferredLanguage": "en-GB"
}

Update example 2 - Update with PATCH [Single-valued properties]

Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162"
{
	"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
	"Operations": [{
		"op": "Replace",
		"path": "active",
		"value": "false"
	}]
}
Response

HTTP/1.1 204 No Content

Update examples 3 - Update with PATCH [Multi-valued properties]

Update example 3a - Request to update phone number and mobile number.
Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162"
{
	"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
	"Operations": [
            {
    		"op": "Replace",
    		"path": "phoneNumbers[primary eq true].value",
    		"value": "8574693214"
    	    },
            {
            "op": "Replace",
    		"path": "phoneNumbers[type eq \"mobile\"].value",
    		"value": "8574693214"
    	    }

	]
}
Response

HTTP/1.1 204 No Content

 

Update example 3b - Request to add a phone number.
Request 
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162"
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
"Operations": [
    {
  "op": "replace",
  "path": "phoneNumbers",
  "value": [
        {
    "primary": true,
    "value": "9874563213"
        }
      ]
    }
  ]
}
Response

HTTP/1.1 204 No Content

Update example 3c - Request to add a mobile number
Request 
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162"
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
"Operations": [
    {
"op": "replace",
"path": "phoneNumbers",
"value": [
        {
"primary": false,
"type": "mobile",
"value": "9874563211"
        }
      ]
    }
  ]
}
Response

HTTP/1.1 204 No Content

Delete

The DELETE SCIM operation permanently deletes existing users from Condeco based on the values provided.

Delete example - Request to delete a user by Condeco ID

Request
DELETE "https://<CONDECO-SCIM-Domain/scim/api/V1/users/162"
Response

HTTP/1.1 204 No Content

User additional attributes 

Examples

  1. POST with user additional attributes
  2. PUT with user additional attributes
  3. PATCH with user multi-valued additional attributes
  4. PATCH with user single-valued additional attributes
  5. PATCH with Group and Floor additional attributes
  6. Read with user additional attributes

Example 1 - POST with user additional attributes

Create a user based on the values provided.

Request
POST "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/"
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:user",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user",
        "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user"
    ],
    "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d",
    "userName": "John.Doe@scimdev.club",
    "name": {
        "familyName": "Doe",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "JohnDoe@scimdev.com"
        }
    ],
    "phoneNumbers": [],
    "preferredLanguage": "en-GB",
    "addresses": [
        {
            "type": "work",
            "country": "India",
            "locality": "Faridabad"
        }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": 
    {
        "costCenter": "102",
        "department": "IT"
    },
    "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": {
        "group": "Managed",
        "floor": "0"
    }
}
Response

HTTP/1.1 200 OK

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
        "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user"
    ],
    "id": "420",
    "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d",
    "userName": "John.Doe@scimdev.club",
     "meta": {
        "resourceType": "User",
        "created": "2021-09-01T07:16:13.15",
        "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420"
    },
    "name": {
        "familyName": "Doe",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "JohnDoe@scimdev.com"
        }
    ],
    "phoneNumbers": [],
    "preferredLanguage": "en-GB",
    "addresses": [
        {
            "type": "work",
            "country": "India",
            "locality": "Faridabad"
        }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
        "department": "IT",
        "costCenter": "102"
    },
    "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": {
        "group": "Managed",
        "floor": "0"
    }
}

Example 2 - PUT with user additional attributes

Updates existing user based on the values provided.

Request
PUT "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420"
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
        "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user"
    ],
    "id": "420",
    "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d",
    "userName": "John.Doe@scimdev.club",
    "name": {
        "familyName": "Doe",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "JohnDoe@scimdev.com"
        }
    ],
    "phoneNumbers": [],
    "preferredLanguage": "en-GB",
    "addresses": [
        {
            "type": "work",
            "country": "India",
            "locality": "Faridabad"
        }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": 
    {
        "costCenter": "102",
        "department": "IT"
    },
    "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": {
        "group": "Managed",
        "floor": "0"
    }
}
Response

HTTP/1.1 200 OK

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
        "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user"
    ],
    "id": "420",
    "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d",
    "meta": {
        "resourceType": "User",
        "created": "2021-09-01T07:16:13.15",
        "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420"
    },
    "userName": "John.Doe@scimdev.club",
    "name": {
        "familyName": "Doe",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "JohnDoe@scimdev.com"
        }
    ],
    "phoneNumbers": [],
    "preferredLanguage": "en-GB",
    "addresses": [
        {
            "type": "work",
            "country": "India",
            "locality": "Faridabad"
        }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
        "department": "IT",
        "costCenter": "102"
    },
    "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": {
        "group": "Managed",
        "floor": "0"
    }
}

Example 3 - PATCH with user multi-valued additional attributes

Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162"
{
	"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
	"Operations": [
	    {
        "op": "replace",
        "path": "addresses[type eq \"work\"].country",
        "value": "UK"
        },
        {
        "op": "replace",
        "path": "addresses[type eq \"work\"].locality",
        "value": "London"
        }
	]
}
Response

HTTP/1.1 204 No Content

 

Example 4 - PATCH with user single-valued additional attributes

Request
PATCH "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/162"
{
	"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
	"Operations": [
        {
        "op": "replace",
        "path": "preferredlanguage",
        "value": "en-GB"
        },
        {
        "op": "add",
        "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:costCenter"
        "value": "200"
        },
        {
        "op": "add",
        "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department",
        "value": "Marketing"
        }

	]
}
Response

HTTP/1.1 204 No Content

Example 5 - PATCH with Group & Floor additional attributes

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ],
    "Operations": [
        {
            "op": "replace",
            "path": "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User:group",
            "value": "My Group"
        },
        {
            "op": "replace",
            "path": "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:User:floor",
            "value": "0"
        }
    ]
}
Response

HTTP/1.1 204 No Content

 

Example 6 - Read with user additional attributes

Request
GET "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420"
Response
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
        "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user"
    ],
    "id": "420",
    "externalId": "f05d51cb-44e3-4206-8a50-303bb7fe481d",
    "userName": "John.Doe@scimdev.club",
     "meta": {
        "resourceType": "User",
        "created": "2021-09-01T07:16:13.15",
        "location": "https://<CONDECO-SCIM-Domain>/scim/api/V1/users/420"
    },
    "name": {
        "familyName": "Doe",
        "givenName": "John"
    },
    "active": true,
    "emails": [
        {
            "primary": true,
            "value": "JohnDoe@scimdev.com"
        }
    ],
    "phoneNumbers": [],
    "preferredLanguage": "en-GB",
    "addresses": [
        {
            "type": "work",
            "country": "India",
            "locality": "Faridabad"
        }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user": {
        "department": "IT",
        "costCenter": "102"
    },
    "urn:ietf:params:scim:schemas:extension:customextensionname:2.0:user": {
        "group": "Managed",
        "floor": "0"
    }
}