NAV

Overview

This feature is only available to users on Enterprise accounts. To upgrade, visit our pricing page or contact our sales team.

Lucid offers user provisioning/de-provisioning and group management via CRUD operations against the users and groups on an enterprise account via our SCIM REST API. For a more detailed overview of SCIM, see Simple Cloud. To access the REST API, follow the steps below.

Enabling SCIM

  1. Have an Enterprise subscription for a Lucid product.
  2. Enable automatic team upgrades (Admin > Licensing, requires the role of Account Owner or Billing Admin).
  3. Ensure SCIM has been enabled for your account (contact support for this).
  4. Generate a SCIM bearer token (Admin > App Integration > SCIM). This token is used to authenticate your requests.
  5. Add the bearer token to your SCIM provider. Instructions for our supported SCIM providers are listed below. If you do not use one of these providers, the rest of this article will walk you through the specifics of setting these calls up on your own:
    1. Okta
    2. OneLogin
    3. Azure
  6. After SCIM is set up for your account, you will be able to view active and inactive users in the Lucid Admin Panel. To learn more, check out our User Management article.

SCIM Endpoints

All Lucid SCIM endpoints start with the Lucid base URL, which can be obtained on the same page as the SCIM bearer token (Admin > App Integration > SCIM):

Lucid: https://users.lucid.app/scim/v2

Bearer Token Authorization

Authorization is provided by using the HTTP Authorization header, formed as such (using your own bearer token instead of the example token shown):

Authorization: Bearer 1502c55ad68b4f3acdc969a7179a1313

Users

User Resources

User
User
{ "id": string, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:ietf:params:scim:schemas:extension:lucid:1.0:User", "urn:lucidchart:schemas:1.0:User", "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:2.0:User" ], "userName": string, "name": { "formatted": string, // givenName + " " + familyName "givenName": string, "familyName": string }, "displayName": string, "emails": [{ "value": string, // email address "primary": boolean }], "groups": [{ "display": string, "value": string, //group identifer }], "active": boolean, "urn:ietf:params:scim:schemas:extension:lucid:1.0:User": { "billingCode": string, "productLicenses": { "Lucidchart": boolean, "Lucidspark": boolean, "LucidscaleCreator": boolean, "LucidscaleExplorer": boolean } }, "meta": Meta, "roles": [String] }
Property Description
id String
Will be in the form "lucid-1234" with 1234 being the ID of the Lucid user
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:User"]
userName String
Usually the email address of the user
name Object
displayName String
Usually the email address of the user
emails Array[Object]
active Boolean
User's administrative status, or whether a user can log in
urn:ietf:params:scim:schemas:extension:lucid:1.0:User Object
Includes user's license status in "productLicenses"
meta Meta
roles Array[String]
A list of administrative roles assigned to the user
Roles

Assigning a role to a user allows that user to perform administrative actions associated with that role. Learn more about Administrator Roles.

Billing Admin Billing admins manage invoices and billing details and can increase the license count.
Document Admin Document admins can use document discovery to search and view all documents owned by their team’s account.
Team Admin Team admins can make account-wide changes such as to account settings, user management, licenses, and integrations.
Template Admin Template admins manage your corporate templates.
Meta
Meta
{ "resourceType": "User", "created": string, "lastModified": string, "version": string, "location": string }
Property Description
resourceType String
"User" or "Group"
created String
ISO8601 DateTime
lastModified String
ISO8601 DateTime
version String
location String
URI of user or group
Create User
Create User
{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "userName": string, "name": { "formatted": string, "familyName": string, "givenName": string }, "displayName": string, "password": string, "emails": [{ "value": string, // email address "type": string (optional), "primary": boolean (optional) }], "active": boolean, "id": string, "urn:ietf:params:scim:schemas:extension:lucid:1.0:User": { "billingCode": string (optional), "productLicenses": { "Lucidchart": boolean, "Lucidspark": boolean, "LucidscaleCreator": boolean, "LucidscaleExplorer": boolean } }, "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User": { "addOns": [string] (optional) // valid addOns: “chart-for-sales” }, "roles": [string] }
Property Description
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:User"]
userName String
emails Array[Object]
urn:ietf:params:scim:schemas:extension:lucid:1.0:User Object
Products omitted from the “productLicenses” attribute will use the accounts auto-grant settings to determine the user’s license.
name Object
displayName String
Usually the email address of the user
password String
Passwords must be at least 6 characters in length (Lucid password requirement)
active Boolean
id String
urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User Object
Contains the user’s add-on licenses:
roles Array[String]
Lucid roles (“Team Admin”, “Billing Admin”, etc) that are listed will be added to the user for all products.
Operation
Operation
{ "op": string, "path" : string (optional), "value": JSON (optional) }
Property Description
op String
Can be "add", "remove" or "replace"
path String
value JSON
Object or array to be added/replaced

Get User

Request
curl 'https://users.lucid.app/scim/v2/Users/lucid-1234' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "urn:lucidchart:schemas:1.0:User": { "canEdit": true, "addOns": [] }, "displayName": "example@example.com", "roles": [], "canEdit": true, "active": true, "groups": [ { "display": "Group 1", "value": "lucid-group-100002331" } ], "userName": "example@example.com", "emails": [ { "value": "example@example.com", "primary": true } ], "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User": { "canEdit": true, "addOns": [] }, "meta": { "resourceType": "User", "created": "2021-03-02T00:08:17Z", "lastModified": "2022-01-12T21:51:33Z", "version": "W/\"1642024293000\"", "location": "https://users.lucid.app/scim/v2/chart/Users/lucid-1234" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:lucidchart:schemas:1.0:User", "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:2.0:User" ], "name": { "formatted": "Jane Doe", "givenName": "Jane", "familyName": "Doe" }, "urn:ietf:params:scim:schemas:extension:lucid:1.0:User": { "billingCode": null, "productLicenses": { "Lucidchart": true, "Lucidspark": true, "LucidscaleCreator": false, "LucidscaleExplorer": false }, "officeIdAtPrintVendor": null, "userIdAtPrintVendor": null }, "urn:ietf:params:scim:schemas:extension:lucid:2.0:User": { "billingCode": null, "productLicenses": { "Lucidchart": true, "Lucidspark": true, "LucidscaleCreator": false, "LucidscaleExplorer": false }, "officeIdAtPrintVendor": null, "userIdAtPrintVendor": null }, "id": "lucid-1234" }

https://users.lucid.app/scim/v2/Users/:id

Get a specific user on the account.

Request Parameters
Path
id String
ID of the Lucid user to get.
Example "lucid-1234"
Response
200 Ok with User Resource
401 Unauthorized if bearer token is invalid
404 Not Found if the user was not found

Get All Users

Request
curl 'https://users.lucid.app/scim/v2/Users' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], "totalResults": 153, "startIndex": 1, "itemsPerPage": 100, "Resources": [UserResource] }

https://users.lucid.app/scim/v2/Users

Gets all users on an account.

Request Parameters
Path
startIndex Number
Index of the first user in the list to return (1 indexed).
Example startIndex=3
count Number
Quantity of users to return from this request.
Example count=100
filter String
See SCIM spec and optimization details below:
  • The only operator currently supported is eq
  • While filtering should technically work on every attribute of a user, it is a very slow process for non-optimized attributes. We strongly recommend filtering only on the following optimized attributes whenever possible:
    • email / emails.value / workemail
    • username / displayname
    • externalid
    • urn:ietf:params:scim:schemas:extension:lucid:1.0:User.productLicenses.<name>

Example filter=email eq someEmail@example.com
Example filter=urn:ietf:params:scim:schemas:extension:lucid:1.0:User.productLicenses.Lucidchart eq true
Response
200 Ok with JSON object containing list of users. Deactivated users will not be included in the totalResults or the JSON payload of users returned.
401 Unauthorized if bearer token is invalid

Create User

Request
curl 'https://users.lucid.app/scim/v2/Users' \ --request 'POST' \ --header 'Authorization: Bearer <Token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:lucidchart:schemas:1.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "userName": "example@example.com", "name": { "formatted": "Jane Doe", "givenName": "Jane", "familyName": "Doe" }, "displayName": "Jane Doe", "emails": [ { "primary": true, "value": "example@example.com" } ], "active": true "urn:lucidchart:schemas:1.0:User" : { "canEdit": false }, "urn:ietf:params:scim:schemas:extension:lucid:2.0:User": { "productLicenses": { "Lucidchart": true, "Lucidspark": false, "LucidscaleCreator": false, "LucidscaleExplorer": false } }, }'

https://users.lucid.app/scim/v2/Users

Create a new user.

Request Parameters
Body
Create User Resource
Response
201 Created with User Resource
401 Unauthorized if bearer token is invalid
409 Conflict if username or email already exists on the account
424 Failed Dependency if add-on license requires base license to be active

Modify User

Request
curl 'https://users.lucid.app/scim/v2/Users/lucid-1234' \ --request 'PUT' \ --header 'Authorization: Bearer <Token>' \ --data-raw '{ "roles": [ "Team Admin", "Billing Admin" ], "name": { "formatted": "Jane Doe", "givenName": "Jane", "familyName": "Doe" }, "userName": "example@example.com", "emails": [ { "value": "example@example.com", "primary": true } ], "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:lucidchart:schemas:1.0:User", "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:2.0:User" ], "urn:ietf:params:scim:schemas:extension:lucid:1.0:User": { "billingCode": null, "productLicenses": { "Lucidchart": true, "Lucidspark": false, "LucidscaleCreator": false, "LucidscaleExplorer": false }, "officeIdAtPrintVendor": null, "userIdAtPrintVendor": null } }'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "urn:lucidchart:schemas:1.0:User": { "canEdit": true, "addOns": [] }, "displayName": "example@example.com", "roles": [ "Team Admin", "Billing Admin" ], "canEdit": true, "active": true, "groups": [ { "display": "Group 1", "value": "lucid-group-100002331" }, { "display": "Group 2", "value": "lucid-group-100002653" } ], "userName": "example@example.com", "emails": [ { "value": "example@example.com", "primary": true } ], "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User": { "canEdit": true, "addOns": [] }, "meta": { "resourceType": "User", "created": "2021-06-09T15:43:53Z", "lastModified": "2022-01-15T00:09:49Z", "version": "W/\"1642205389000\"", "location": "https://users.lucid.app/scim/v2/chart/Users/lucid-1433" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:lucidchart:schemas:1.0:User", "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:2.0:User" ], "name": { "formatted": "Group 2", "givenName": "Group 2", "familyName": "" }, "urn:ietf:params:scim:schemas:extension:lucid:1.0:User": { "billingCode": null, "productLicenses": { "Lucidchart": true, "Lucidspark": false, "LucidscaleCreator": false, "LucidscaleExplorer": false }, "officeIdAtPrintVendor": null, "userIdAtPrintVendor": null }, "urn:ietf:params:scim:schemas:extension:lucid:2.0:User": { "billingCode": null, "userIdAtPrintVendor": null, "officeIdAtPrintVendor": null, "productLicenses": { "LucidscaleCreator": false, "Lucidchart": true, "LucidscaleExplorer": false, "Lucidspark": false } }, "id": "lucid-1234" }

https://users.lucid.app/scim/v2/Users/:id

Modify an existing user.

Request Parameters
Path
id String
ID of the Lucid user to modify.
Example "lucid-1234"
Body
Create User Resource
  • Will fail if attempting to update a user's username or ID to a username or ID that already exist.
  • Products omitted from the "productLicenses" attribute will not change the user's license status for that product.
  • addOns will grant or leave any add-on licenses that are specified, and remove any licenses that the user has that are not specified. An empty list will remove all add-on licenses from the user. If no addOns field is specified, no change will be made to the user’s licenses.
Response
200 Ok with User Resource
400 Bad Request if request body syntax is incorrect
401 Unauthorized if bearer token is invalid
403 Forbidden if the user does not exist
409 Conflict if new username or email already exists on account

Modify User

Request
curl 'https://users.lucid.app/scim/v2/Users/lucid-1234' \ --request 'PATCH' \ --header 'Authorization: Bearer <Token>' \ --header 'Content-Type: application/json' \ --data-raw ' { "schemas": ["urn:ietf:params:scim:api:message:2.0:PatchOp"], "Operations": [{ "op": "replace", "value": { "active": true } }] }'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "urn:lucidchart:schemas:1.0:User": { "canEdit": true, "addOns": [] }, "displayName": "example@example.com", "roles": [], "canEdit": true, "active": true, "groups": [ { "display": "Group 1", "value": "lucid-group-100002331" } ], "userName": "example@example.com", "emails": [ { "value": "example@example.com", "primary": true } ], "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User": { "canEdit": true, "addOns": [] }, "meta": { "resourceType": "User", "created": "2021-03-02T00:08:17Z", "lastModified": "2022-01-12T21:51:33Z", "version": "W/\"1642024293000\"", "location": "https://users.lucid.app/scim/v2/chart/Users/lucid-1234" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", "urn:lucidchart:schemas:1.0:User", "urn:ietf:params:scim:schemas:extension:lucidchart:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:1.0:User", "urn:ietf:params:scim:schemas:extension:lucid:2.0:User" ], "name": { "formatted": "Jane Doe", "givenName": "Jane", "familyName": "Doe" }, "urn:ietf:params:scim:schemas:extension:lucid:1.0:User": { "billingCode": null, "productLicenses": { "Lucidchart": true, "Lucidspark": true, "LucidscaleCreator": false, "LucidscaleExplorer": false }, "officeIdAtPrintVendor": null, "userIdAtPrintVendor": null }, "urn:ietf:params:scim:schemas:extension:lucid:2.0:User": { "billingCode": null, "productLicenses": { "Lucidchart": true, "Lucidspark": true, "LucidscaleCreator": false, "LucidscaleExplorer": false }, "officeIdAtPrintVendor": null, "userIdAtPrintVendor": null }, "id": "lucid-1234" }

https://users.lucid.app/scim/v2/Users/:id

Modify an existing user.

Request Parameters
Path
id String
ID of the Lucid user to modify.
Example "lucid-1234"
Body
schemas Array[String]
[ "urn:ietf:params:scim:schemas:core:2.0:PatchOp" ]
Operations Array[Operation]
Response
200 Ok with User Resource
400 Bad Request if request body syntax is incorrect
401 Unauthorized if bearer token is invalid
404 Not Found if the user was not found
409 Conflict if new username or email already exists on account

See SCIM specification for more details. All notes from PUT User also apply.

Groups

Group Resources

Group
Group
{ "id": string, "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "displayName": string, "members": [Member], "meta": Meta }
Property Description
id String
Will be in the form "lucid-group-1234" with 1234 being the ID of the Lucid group
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:Group"]
displayName String
members Array[Member]
meta Meta
Member
Member
{ "value": string, "$ref": string, "display": string }

Parameters that are marked optional are ignored when using the Groups API

Property Description
value String
ID of group member
$ref String
URI of group member
display String
Meta
Meta
{ "resourceType": "Group", "created": string, "lastModified": string, "version": string, "location": string }
Property Description
resourceType String
"Group"
created String
ISO8601 DateTime
lastModified String
ISO8601 DateTime
version String
location String
URI of group
Operation
Operation
{ "op": string, "path": string (optional), "value": JSON (optional) }
Property Description
op String
Can be "add", "remove" or "replace"
path String
Path to the field you want to change
value JSON
Object or array to be added/replaced

Get Group

Request
curl 'https://users.lucid.app/scim/v2/Groups/lucid-group-1234' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "id": "lucid-group-1234", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "Group 1", "members": [ { "value": "lucid-1433", "$ref": "https://users.lucid.app/scim/v2/chart/Users/lucid-1433", "display": "User 1" }, { "value": "lucid-1754", "$ref": "https://users.lucid.app/scim/v2/chart/Users/lucid-1754", "display": "User 2" }, { "value": "lucid-group-100003005", "$ref": "https://users.lucid.app/scim/v2/chart/Groups/lucid-group-100003005", "display": "Group 2" }, { "value": "lucid-group-100003067", "$ref": "https://users.lucid.app/scim/v2/chart/Groups/lucid-group-100003067", "display": "Group 3" } ], "meta": { "resourceType": "Group", "created": "2021-06-09T15:42:57Z", "lastModified": "2021-07-01T19:44:08Z", "version": "W/\"1625168648000\"", "location": "https://users.lucid.app/scim/v2/chart/Groups/lucid-group-1234" } }

https://users.lucid.app/scim/v2/Groups/:id

Get a specific group on the account.

Request Parameters
Path
id String
ID of the Lucid group to get.
Example "lucid-group-1234"
Response
200 Ok with Group
401 Unauthorized if bearer token is invalid
404 Not Found if the group was not found

Get All Groups

Request
curl 'https://users.lucid.app/scim/v2/Groups' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"], "totalResults": 25, "startIndex": 1, "itemsPerPage": 100, "Resources": [Groups] }

https://users.lucid.app/scim/v2/Groups

Gets all groups on an account.

Response
200 Ok with JSON object containing list of groups.
401 Unauthorized if bearer token is invalid

Create Group

Request
curl 'https://users.lucid.app/scim/v2/Groups' \ --request 'POST' \ --header 'Authorization: Bearer <Token>' --header 'Content-Type: application/json' \ --data-raw '{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "Group A", "members": [ { "value": "lucid-1234" }, { "value": "lucid-5678" } ] }'
Response
HTTP/1.1 201 Created Content-Type: application/json { "id": "lucid-group-100003105", "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "Group 3", "members": [], "meta": { "resourceType": "Group", "created": "2022-01-14T21:56:07Z", "lastModified": "2022-01-14T21:56:07Z", "version": "W/\"1642197367000\"", "location": "https://users.lucid.app/scim/v2/chart/Groups/lucid-group-100003105" } }

https://users.lucid.app/scim/v2/Groups

Create a new group.

Request Parameters
Body
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:Group"]
displayName String
members Array[Member]
Response
201 Created with Group
400 Bad Request if group was not created
401 Unauthorized if bearer token is invalid

Modify Group

Request
curl 'https://users.lucid.app/scim/v2/Groups/lucid-group-1234' \ --request 'PUT' \ --header 'Authorization: Bearer <Token>' --header 'Content-Type: application/json' \ --data-raw '{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "Group A", "members": [ { "value": "lucid-1234" }, { "value": "lucid-5678" } ] }'

https://users.lucid.app/scim/v2/Groups/:id

Modify an existing group.

Request Parameters
Body
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:Group"]
displayName String
members Array[Member]
Response
200 Ok with Group
401 Unauthorized if bearer token is invalid
404 Not Found if the group was not found
409 Conflict if group name already exists on the account

Modify Group

Request
curl 'https://users.lucid.app/scim/v2/Groups/lucid-group-1234' \ --request 'PATCH' \ --header 'Authorization: Bearer <Token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:PatchOp" ], "Operations": [ { "op": "add", "path": "members", "value": [ {"value": "lucid-1499"}, {"value": "lucid-1500"} ] } ] }'

https://users.lucid.app/scim/v2/Groups/:id

Modify an existing group.

Request Parameters
Path
id String
ID of the Lucid group to modify.
Example "lucid-group-1234"
Body
schemas Array[String]
[ "urn:ietf:params:scim:schemas:core:2.0:PatchOp" ]
Operations Array[Operation]
Type of permission being given. Valid values are "account", "document" or "user".
Response
200 Ok with Group
400 Bad Request if request body syntax is incorrect
401 Unauthorized if bearer token is invalid
404 Not Found if the group was not found
409 Conflict if group name already exists on the account

Delete Group

Request
curl 'https://users.lucid.app/scim/v2/Groups/lucid-group-1234' \ --request 'DELETE' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 204 No Content Content-Length: 0

https://users.lucid.app/scim/v2/Groups/:id

Delete an existing group.

Request Parameters
Path
id String
ID of the Lucid group to modify.
Example "lucid-group-1234"
Response
204 No Content if delete was successful
400 Bad Request if group has license allotments or primary users
401 Unauthorized if bearer token is invalid
404 Not Found if the group was not found

Schemas

Schema Resources

Schema
Schema
{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Schema"], "id": string, "name": string, "description": string, "attributes": [Attribute], "meta": Meta, }
Property Description
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:Schema"]
id String
name String
description String
attributes Array[Attribute]
meta Meta
Attribute
Attribute
{ "name": string, "type": string, "multiValued": boolean, "description": string, "required": boolean, "caseExact": boolean, "mutability": string, "returned": string, "uniqueness": string, }
Property Description
name String
type String
Value can be parsed as: "boolean", "decimal", "integer", "dateTime", "reference", or "complex" based on its content
multiValued Boolean
description String
required Boolean
caseExact Boolean
mutability String
Can be "readOnly", "readWrite" (default), "immutable", or "writeOnly"
returned String
Can be "always", "never", "default" (default), or "request"
uniqueness String
Can be "none" (default), "server", or "global"
Meta
Meta
{ "resourceType": "Schema", "location": string }
Property Description
resourceType String
"Schema"
location String
URI of schema

Get Schema

Request
curl 'https://users.lucid.app/scim/v2/Schemas/urn:ietf:params:scim:schemas:core:2.0:Group' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Schema" ], "id": "urn:ietf:params:scim:schemas:core:2.0:Group", "name": "Group", "description": "", "attributes": [ { "name": "id", "type": "string", "multiValued": false, "description": "", "required": true, "caseExact": false, "mutability": "readOnly", "returned": "always", "uniqueness": "global" }, { "name": "displayName", "type": "string", "multiValued": false, "description": "", "required": true, "caseExact": false, "mutability": "readWrite", "returned": "default", "uniqueness": "none" }, { "name": "members", "type": "complex", "multiValued": true, "description": "", "required": true, "caseExact": false, "mutability": "readWrite", "returned": "default", "uniqueness": "none" } ], "meta": { "resourceType": "Schema", "location": "/v2/Schemas/urn:ietf:params:scim:schemas:core:2.0:Group" } }

https://users.lucid.app/scim/v2/Schemas/:id

Get a specific Lucid resource schema.

Request Parameters
Path
id String
ID of the Lucid resource schema to get.
Example "/v2/Schemas/urn:ietf:params:scim:schemas:core:2.0:Group"
Response
200 Ok with Schema
401 Unauthorized if bearer token is invalid
404 Not Found if the schema was not found

Get All Schemas

Request
curl 'https://users.lucid.app/scim/v2/Schemas' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "itemsPerPage": 50, "startIndex": 1, "totalResults": 2, "Resources": [Schemas] }

https://users.lucid.app/scim/v2/Schemas

Gets all Lucid resource schemas.

Response
200 Ok with JSON object containing list of schemas.
401 Unauthorized if bearer token is invalid

Service Provider Config

Service Provider Config Resources

Service Provider Config
ServiceProviderConfig
{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"], "documentationUri": string, "patch": { "supported": boolean }, "filter": { "supported": boolean, "maxResults": integer }, "changePassword": { "supported": boolean }, "sort": { "supported": boolean }, "etag": { "supported": boolean }, "authenticationSchemas": [AuthenticationSchema], "meta": Meta }
Property Description
schemas Array[String]
["urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"]
documentationUri String
Link to Lucid documentation
patch Object
Describes configuration of the PATCH endpoint
filter Object
Describes configuration of the "filter" option on GET endpoints
changePassword Object
Describes whether SCIM can be used to change a password
sort Object
Describes configuration of the "sort" option on GET endpoints
etag Object
Describes etag configuration
authenticationSchemas Array[AuthenticationSchema]
Specifies properties of the SCIM authentication scheme
meta Meta
Authentication Schema
Meta
{ "name": string, "description": string, "specUri": string, "documentationUri": string, "type": string, "primary": boolean }
Property Description
name String
description String
specUri String
documentationUri String
type String
primary Boolean
Meta
Meta
{ "resourceType": "ServiceProviderConfig", "location": "/v2/Schemas/ServiceProviderConfig", "version": integer }
Property Description
resourceType String
"ServiceProviderConfig"
location String
"/v2/Schemas/ServiceProviderConfig"
version Integer

Get Service Provider Config

Request
curl 'https://users.lucid.app/scim/v2/ServiceProviderConfig' \ --request 'GET' \ --header 'Authorization: Bearer <Token>'
Response
HTTP/1.1 200 Ok Content-Type: application/json { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig" ], "documentationUri": "https://lucidco.zendesk.com/hc/articles/360049427352-SCIM-Overview", "patch": { "supported": true }, "filter": { "supported": true, "maxResults": "100" }, "changePassword": { "supported": true }, "sort": { "supported": false }, "etag": { "supported": true }, "authenticationSchemas": [ { "name": "OAuth Bearer Token", "description": "Authentication scheme using the OAuth Bearer Token Standard", "specUri": "http://www.rfc-editor.org/info/rfc6750", "documentationUri": "https://lucidco.zendesk.com/hc/articles/360049427352-SCIM-Overview#bearer-token-authorization", "type": "oauthbearertoken", "primary": true } ], "meta": { "resourceType": "ServiceProviderConfig", "location": "/v2/Schemas/ServiceProviderConfig", "version": 1 } }

https://users.lucid.app/scim/v2/ServiceProviderConfig

Get the service provider configuration.

Response
200 Ok with ServiceProviderConfig
401 Unauthorized if bearer token is invalid

Related Articles