Skip to main content
User Provisioning with 8x8 SCIM API
8x8 Support

User Provisioning with 8x8 SCIM API

Objective

To provision users with 8x8 SCIM API.

The objective of this document is to provide an overview of 8x8’s SCIM API for user provisioning, built using System for Cross domain Identity Management (SCIM) 2.0 industry standards.

Applies To

  • Users
  • Provisioning
  • SCIM API

Procedure

Using 8x8 SCIM API

The following CRUD operations are supported with 8x8 SCIM APIs:

  • Create Users
  • Get Users
  • Get User By User ID
  • Update Users
  • Deactivate Users
  • Activate Users

User Attributes

Attributes are the details associated with a user's account. These are the attributes that someone would typically set for a user in a SCIM client or Active Directory. These could either be base (standard) attributes or custom attributes.

Profile Field

SCIM  Attribute

Attribute Type

Data Type

Required

User Name

userName

Singular

Alphanumeric String or Email

True

First Name

givenName

Singular

Alphanumeric String

True

Last  Name

familyName

Singular

Alphanumeric String

True

Email Address

value

Singular

Email

True

Email Type

type

Singular

String

False

Primary/Secondary Email Address

primary

Singular

Boolean

False

Status

active

Singular

Boolean

False

Unique Key for SCIM Client/Server Handshake

externalId

Singular

Integer

True (auto-generated by SCIM Client)

Create User

Creates a user. Must include userName, givenName, familyName and at least one email address in order to create a user.

Operation: POST

URI: https://platform.8x8.com/udi/customers/{{CUSTOMER ID}}/scim/v2/Users

Header:

Authorization: Bearer <Access Token>

Content-Type: application/json

Payload:

{

 "userName": "jdoe",

 "name": {

   "familyName": "Doe",

   "givenName": "John"

 },

 "active": true,

 "locale": "en-US",

 "emails": [

   {

     "value": "john@abc.com",

     "type": "work",

     "primary": true

   }

 ],

 "externalId":"1234"

}

Get All Users

Gets a list of all users in the company. For pagination, specify numbers for startIndex and count.

Operation: GET

URI:

https://platform.8x8.com/udi/customers/{{CUSTOMER ID}}/scim/v2/Users?startIndex=<X>&count=<Y>

Header:

Authorization: Bearer <Access Token>

Content-Type: application/json

Get User By User ID

Gets a single user identified by User ID.

Operation: GET

URI:

https://platform.8x8.com/udi/customers/{{CUSTOMER ID}}/scim/v2/Users/{{USER_ID}}

Header:

Authorization: Bearer <Access Token>

Content-Type: application/json

Update User

Updating a user results in the specified user profile property changes.

Operation: PUT

URI:

https://platform.8x8.com/udi/customers/{{CUSTOMER ID}}/scim/v2/Users/{{USER_ID}}

Header:

Authorization: Bearer <Access Token>

Content-Type: application/json

Body:

{

  "schemas":[

    "urn:ietf:params:scim:schemas:core:2.0:User"

  ],

  "id":"11111111-2222-3333-4444-555555555555",

  "userName":"jdoe",

  "externalId":"jdoe",

  "name":{

    "familyName":"John",

    "givenName":"Doe",

  },

  "emails":[

    {

      "value":"john.doe@example.com"

    }

  ]

}

Note: Updates to userName are not allowed.

Deactivate User

Deactivation sets a user’s status from active to inactive. Deactivating a user results in the following end user experience for 8x8 services:

  • Login to 8x8 softphone (VOD/VOM) is not allowed
  • From hardware device endpoints:
    • Inbound calls are allowed
    • Outbound PSTN calling is not allowed
    • Extension to extension calling is allowed
    • Only emergency calling is allowed

Updating a user results in the specified user profile property changes.

Operation: PATCH

URI:

https://platform.8x8.com/udi/customers/{{CUSTOMER ID}}/scim/v2/Users/{{USER_ID}}

Header:

Authorization: Bearer <Access Token>

Content-Type: application/json

Body:

{

 "schemas": [

   "urn:ietf:params:scim:api:messages:2.0:PatchOp"

 ],

 "Operations": [

   {

     "op":"replace",

     "value": {

       "active": false

     }

   }

 ]

}

Activate User

By default all users are active upon creation. However, activating a user profile that has been deactivated, restores 8x8 services as follows:

  1. Login to 8x8 softphone (VOD/VOM) is allowed.
  2. Inbound, outbound, extension to extension, and emergency calling are allowed.

Operation: PATCH

URI:

https://platform.8x8.com/udi/customers/{{CUSTOMER ID}}/scim/v2/Users/{{USER_ID}}

Header:

Authorization: Bearer <Access Token>

Content-Type: application/json

Body:

{

 "schemas": [

   "urn:ietf:params:scim:api:messages:2.0:PatchOp"

 ],

 "Operations": [

   {

     "op":"replace",

     "value": {

       "active": true }

   }

 ]

}

Additional Information

For more instructions, see the 8x8 Integration with Okta help guide.

About SCIM 2.0

SCIM is designed to simplify user identity management in cloud-based applications, retaining secure authentication, authorization and privacy. 8x8’s SCIM API leverages these foundational SCIM capabilities and is geared towards facilitating rapid user onboarding using a common user schema and extensibility, thereby reducing the cost and complexity of deployments. SCIM API allows companies to manage people and groups they belong to. SCIM is an open standard.

Obtaining A New 8x8 Demo Account

Please reach out to your 8x8 deployment contact for obtaining a new demo account. Along with the new demo account, the following information will also be shared for your access to 8x8’s SCIM API:

  • Customer ID
  • Access Token

Limitations

Known limitations of the SCIM API are:

  • SCIM API primarily facilitates automatic user provisioning from SCIM clients into the 8x8 user directory. Automatic Service Provisioning is not in the scope of this API.
  • /Group endpoints are not supported today (group provisioning). This is on the roadmap. However, members of groups are provisioned as individual users without retaining the group association in 8x8 user directory.

Roadmap

We are continually evolving the SCIM API with new and advanced capabilities. Following are features planned on the roadmap.

Feature

Description

Automatic Service Provisioning

Capability in the SCIM API to accept telephony input (extension, phone number, device model) and auto-provision 8x8 services at the same time as user provisioning

User Schema Enhancements

Supporting additional user attributes with the SCIM API

Automatic Site Allocation

Capability in the SCIM API to accept site input and automatically assign sites to users, based on service locations of the users

Group Push

Capability in the SCIM API to accept group (OU or teams) input, and sync groups with membership

  • Was this article helpful?