System for Cross-domain Identity Management (SCIM) is an open standard protocol that provides a standardized interface for exchanging user information.
Using SCIM streamlines the process of provisioning members and groups from an Identity Provider (IdP) and reduces manual work.
It is implemented based on the following SCIM 2.0 RFC documentation.
The IdP (Identity Provider) or HR system can use the following features through SCIM integration.
When new member information is added to the IdP or HR system, an account is automatically created in LINE WORKS through provisioning.
When a member leaves and is deleted from the IdP or HR system, they are automatically deactivated in LINE WORKS as well.
Deactivated members can no longer log in to LINE WORKS. For more information, see User - Status.
When member information (name, email, phone number, etc.) is changed in the IdP or HR system, it is automatically synced to LINE WORKS.
You can centrally manage group membership for teams created for communication purposes such as projects or task forces.
When members of a group are added to or deleted from the IdP or HR system, the changes are automatically reflected in LINE WORKS.
This allows control over access to resources such as message rooms and message room features (Note, Calendar, Folder, and Task).
For more information, see Group.
SCIM provisioning is only available for paid plans; it is not available for free plans.
The endpoint to make a SCIM API call is as follows:
https://www.worksapis.com/scim/v2For example, to get a list of members, it would be as follows:
GET https://www.worksapis.com/scim/v2/UsersMaking an API call requires an access token.
You need to get an access token as specified in Get a Long-Lived Token for SCIM and specify it with "Bearer" in the Authorization header.
Authorization: Bearer {Access Token}You can manage members.
| HTTP request | Description |
|---|---|
| POST /scim/v2/Users | Add a member |
| GET /scim/v2/Users | Get members |
| GET /scim/v2/Users/{userId} | Get a member |
| PUT /scim/v2/Users/{userId} | Update a member |
| PATCH /scim/v2/Users/{userId} | Update part of a member |
| DELETE /scim/v2/Users/{userId} | Deactivate a member. Instead of changing the member status to retired or completely deleting a member, this API operation sets the member's active property to false to change the status to suspended. To reactivate a deactivated member, set the active property to true using the Update a member or Update part of a member SCIM API operation. To delete a member, you need to call the Delete a member or Force delete a member LINE WORKS API operation or use the Admin Console. |
The status lifecycle of members provisioned via SCIM is as follows:

The activation status of a member is managed by the active property (boolean).
Within LINE WORKS, the active property indicates "login availability."
The active property values for each member status are as follows.
For more information on member statuses, see Directory API - Member (users).
| Member status | LINE WORKS APIs | The active property value of a SCIM user | Note |
|---|---|---|---|
| Not logged-in | isPending=true | true | |
| Awaiting | isAwaiting=true | false | The member status cannot be set using the SCIM API. The member cannot be activated until the activation date specified by the administrator. Therefore, it cannot be changed to active: true. |
| Active | true | ||
| Suspended | isSuspended=true | false | The member status when active: false is set using Update a member or Update part of a member or when Deactivate a member is called. |
| Delete | isDeleted=true | false | The member status cannot be set using the SCIM API. |
With the SCIM Group API, you can manage only internal groups; you can only get dynamic groups, and cannot create, update, delete, and get external groups.
You can manage groups for communication purposes such as projects or in-house gatherings.
| HTTP request | Description |
|---|---|
| POST /scim/v2/Groups | Add a group |
| GET /scim/v2/Groups | Get groups |
| GET /scim/v2/Groups/{groupId} | Get a group |
| PUT /scim/v2/Groups/{groupId} | Update a group |
| PATCH /scim/v2/Groups/{groupId} | Update part of a group |
| DELETE /scim/v2/Groups/{groupId} | Delete a group |
The SCIM API has a rate limit of 240 requests/min per API.
User Key.The PATCH operation works based on RFC 7644 - 3.5.2. Modifying operates according to the PATCH.
The filter operation is provided in a limited manner.
A and B is allowed, but A and B and C is not allowed.In the Operations property of the Request Body, the allowed formats for each type of property to update are as follows.
{ "op": "[ ADD | REPLACE ]", "path": "{key}", "value": "{value}"}{ "op": "[ ADD | REPLACE ]", "value": { "{key}": "{value}" }}{ "op": "REMOVE", "path": "{key}"}{ "op": "[ ADD | REPLACE ]", "path": "{mainKey}.{subKey}", "value": "{value}"}{ "op": "[ ADD | REPLACE ]", "path": "{mainKey}", "value": { "{subKey1}": "{value1}", "{subKey2}": "{value2}", ... }}{ "op": "[ ADD | REPLACE ]", "value": { "{mainKey}": { "{subKey1}": "{value1}", "{subKey2}": "{value2}" , ... } }}{ "op": "REMOVE", "path": "{mainKey}"}{ "op": "REMOVE", "path": "{mainKey}.{subKey}"}{ "op": "[ ADD | REPLACE ]", "path": "{key}", "value": [ object1, object2, ... ]}{ "op": "[ ADD | REPLACE ]", "value": { "{key}": [ object1, object2, ... ] }}{ "op": "[ ADD | REPLACE ]", "path": "{key}[filter]", "value": object}{ "op": "[ ADD | REPLACE ]", "path": "{key}[filter].{subKey}", "value": "{value}"}{ "op": "ADD", "path": "{key}", "value": object}{ "op": "REMOVE", "path": "{key}"}{ "op": "REMOVE", "path": "{key}[filter]"}{ "op": "REMOVE", "path": "{key}", "value": [ { "value": "{value}" }, ... ]}{ "op": "REMOVE", "path": "{key}[filter]", "value": [ { "value": "{value}" }, ... ]}You can check the SCIM API call history by filtering the service type to SCIM on the Audit > Contacts page of the Admin Console.