Skip to main content
Version: v5.1

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

CodeDescription
201Created

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

ParameterTypeDescriptionRequired
filterStringTo 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

CodeDescription
200Success

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

ParameterTypeDescriptionRequired
filterStringTo 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

CodeDescription
200Success

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

ParameterTypeDescriptionRequired
idStringThe user's id.Optional

Response

Response codes

CodeDescription
200Success

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

ParameterTypeDescriptionRequired
idStringThe user's id.Optional

Response

Response codes

CodeDescription
204Success

Response data

None

Update User

Endpoint

PUT /passportsvc/api/v1/scim/Users/{id}

Request

Path parameters

ParameterTypeDescriptionRequired
idStringThe 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

CodeDescription
200Success

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

ParameterTypeDescriptionRequired
idStringThe 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

CodeDescription
200Success

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