SCIM User
Prerequisites
Client credentials access tokens are required in Authorization header to make SCIM APIs.
To get access tokens refer to the Client credentials page.
Create User
Endpoint
POST /passportsvc/api/v1/scim/Users
Request
User body example
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "johnsmith@mailinator.com",
"emails": [
{
"value": "johnsmith@mailinator.com",
"type": "work",
"primary": true
}
],
"displayName": "john smith",
"active": true,
"name": {
"givenName": "john",
"familyName": "smith"
},
"locale": "en-US"
}
Response
Response codes
| Code | Description |
|---|---|
201 | Created |
Response data example
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "johnsmith@mailinator.com",
"emails": [
{
"value": "johnsmith@mailinator.com",
"type": "work",
"primary": true
}
],
"displayName": "john smith",
"active": true,
"name": {
"givenName": "john",
"familyName": "smith"
},
"locale": "en-US",
"id": "bd1db3bd-f2c0-4ca7-81d1-e60a8215f299"
}
Get User by filter
Endpoint
GET /passportsvc/api/v1/scim/Users?filter=userName eq "johnsmith@mailinator.com"
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
filter | String | To target users, pass text to search for a given property, for example, filter=userName eq "johnsmith@mailinator.com". Otherwise, all users return. | Optional |
Pagination: Please refer here https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.4
Path parameter example
GET /passportsvc/api/v1/scim/Users?filter=userName eq "johnsmith@mailinator.com"
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
Response data example
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 1,
"startIndex": 1,
"itemsPerPage": 5,
"resources": [
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "johnsmith@mailinator.com",
"emails": [
{
"value": "johnsmith@mailinator.com",
"type": "work",
"primary": true
}
],
"displayName": "john smith",
"active": true,
"name": {
"givenName": "john",
"familyName": "smith"
},
"locale": "en-US",
"id": "bd1db3bd-f2c0-4ca7-81d1-e60a8215f299"
}
]
}
Get User by filter - Zero results
Endpoint
GET /passportsvc/api/v1/scim/Users?filter=userName eq "non existent user"
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
filter | String | To target users, pass text to search for a given property, for example, filter=userName eq "johnsmith@mailinator.com". Otherwise, all users return. | Optional |
Path parameter example
GET /passportsvc/api/v1/scim/Users?filter=userName eq "johnsmith@mailinator.com"
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
Response data example
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 0,
"Resources": [],
"startIndex": 1,
"itemsPerPage": 5
}
Get User
Endpoint
GET /passportsvc/api/v1/scim/Users/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The user's id. | Optional |
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
Response
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "johndoe@mailinator.com",
"emails": [
{
"value": "johndoe@mailinator.com",
"type": "work",
"primary": true
}
],
"displayName": "john doe",
"active": true,
"name": {
"givenName": "john",
"familyName": "doe"
},
"locale": "en-US",
"id": "0f4ebaa0-e935-4909-bc09-1582238626ee"
}
Delete User
Endpoint
DELETE /passportsvc/api/v1/scim/Users/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The user's id. | Optional |
Response
Response codes
| Code | Description |
|---|---|
204 | Success |
Response data
None
Update User
Endpoint
PUT /passportsvc/api/v1/scim/Users/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The user's id. | Optional |
User body example
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "0f4ebaa0-e935-4909-bc09-1582238626e",
"userName": "johndoe@mailinator.com",
"name": {
"givenName": "john",
"familyName": "doe"
},
"emails": [{
"primary": true,
"value": "johndoe@mailinator.com",
"type": "work",
"display": "johndoe@mailinator.com"
}]
}
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
Response body example
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "johndoe@mailinator.com",
"emails": [
{
"value": "johndoe@mailinator.com",
"type": "work",
"primary": true
}
],
"displayName": "john doe",
"active": true,
"name": {
"givenName": "john",
"familyName": "doe"
},
"locale": "en-US",
"id": "0f4ebaa0-e935-4909-bc09-1582238626ee"
}
Update User (Multi-valued properties)
Endpoint
PATCH /passportsvc/api/v1/scim/Users/{id}
Request
Path parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
id | String | The user's id. | Optional |
Body
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Replace",
"path": "name.familyName",
"value": "doe"
},
{
"op": "Replace",
"path": "active",
"value": false
},
{
"op": "Replace",
"path": "name.givenName",
"value": "john"
},
{
"op": "Replace",
"path": "userName",
"value": "johndoe@mailinator.com"
},
{
"op": "Replace",
"path": "emails[type eq \"work\"].value",
"value": "johndoe@mailinator.com"
}
]
}
Response
Response codes
| Code | Description |
|---|---|
200 | Success |
Response data example
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "johndoe@mailinator.com",
"emails": [
{
"value": "johndoe@mailinator.com",
"type": "work",
"primary": true
}
],
"displayName": "john doe",
"active": true,
"name": {
"givenName": "john",
"familyName": "doe"
},
"locale": "en-US",
"id": "0f4ebaa0-e935-4909-bc09-1582238626ee"
}