Searching via SCIM

Provision and manage user accounts with the Drift SCIM2.0 API. SCIM is used by Single Sign-On (SSO) services and identity providers to manage people across a variety of tools, including Drift. It's also possible to write your own apps and scripts using the SCIM API to programmatically manage the members of your workspace.

📘

Please note that the SCIM API and SSO are only available on Drift's paid plans.

Drift supports SCIM 2.0 searching for the user resource as described here: https://tools.ietf.org/html/rfc7644#section-3.4

GET requests to https://driftapi.com/scim/Users with filter/pagination params will return a ListResponse of user objects as defined in the spec.

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "id": null,
    "externalId": null,
    "meta": null,
    "totalResults": 2,
    "Resources": [
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User"
            ],
            "id": "2180056",
            "userName": "[email protected]",
            "name": {
                "formatted": "Bot",
                "familyName": "",
                "givenName": "Bot"
            },
            "displayName": "Bot",
            "active": true,
            "emails": [
                {
                    "value": "[email protected]",
                    "primary": true
                }
            ],
            "phoneNumbers": [
                {
                    "primary": true
                }
            ],
            "photos": [
                {
                    "value": "",
                    "display": "",
                    "primary": true
                }
            ],
            "roles": [
                {
                    "value": "MEMBER",
                    "display": "MEMBER",
                    "primary": true
                }
            ]
        },
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:User"
            ],
            "id": "2180055",
            "userName": "[email protected]",
            "name": {
                "formatted": "John Doe",
                "familyName": "Doe",
                "givenName": "John"
            },
            "displayName": "John Doe",
            "active": true,
            "emails": [
                {
                    "value": "[email protected]",
                    "primary": true
                }
            ],
            "phoneNumbers": [
                {
                    "primary": true
                }
            ],
            "photos": [
                {}
            ],
            "roles": [
                {
                    "value": "OWNER",
                    "display": "OWNER",
                    "primary": true
                }
            ]
        }
    ],
    "startIndex": 1,
    "itemsPerPage": 0
}

GET requests to https://driftapi.com/scim/Users/{userId} will return a single user object as defined in the spec (if the described resource exists).

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
    ],
    "id": "2180055",
    "externalId": null,
    "meta": null,
    "userName": "[email protected]",
    "name": {
        "formatted": "John Doe",
        "familyName": "Doe",
        "givenName": "John",
        "middleName": null,
        "honorificPrefix": null,
        "honorificSuffix": null
    },
    "displayName": "John Doe",
    "nickName": null,
    "profileUrl": null,
    "title": null,
    "userType": null,
    "preferredLanguage": null,
    "locale": null,
    "timezone": null,
    "active": true,
    "password": null,
    "emails": [
        {
            "value": "[email protected]",
            "display": null,
            "type": null,
            "primary": true
        }
    ],
    "phoneNumbers": [
        {
            "value": null,
            "display": null,
            "type": null,
            "primary": true
        }
    ],
    "ims": null,
    "photos": [
        {
            "value": null,
            "display": null,
            "type": null,
            "primary": null
        }
    ],
    "addresses": null,
    "groups": null,
    "entitlements": null,
    "roles": [
        {
            "value": "OWNER",
            "display": "OWNER",
            "type": null,
            "primary": true
        }
    ],
    "x509Certificates": null
}

Did this page help you?