Lucid Groups API
Endpoints that deal with org groups or teams (dependent on which bearer token is used).
Endpoints that deal with org groups or teams (dependent on which bearer token is used).
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/lucid-groups-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Lucid SCIM Groups API
version: '1.0'
description: The Lucid SCIM 2.0 API enables identity providers to automatically provision and deprovision users and groups in a Lucid account. Supports standard SCIM operations for user lifecycle management.
contact:
name: Lucid Developer Platform
url: https://developer.lucid.co/
x-documentation: https://developer.lucid.co/reference/overview-scim
servers:
- url: https://users.lucid.app/scim/v2
security:
- Bearer: []
tags:
- name: Groups
description: Endpoints that deal with org groups or teams (dependent on which bearer token is used).
paths:
/Groups/{id}:
get:
summary: Get Group or Team
description: Get a specific org group or team on the account.
operationId: getGroup
tags:
- Groups
parameters:
- name: id
in: path
required: true
schema:
type: string
description: ID of the Lucid group.
example: lucid-group-1234
- $ref: '#/paths/~1Groups/get/parameters/3'
- $ref: '#/paths/~1Groups/get/parameters/4'
responses:
'200':
description: OK. Returns a group or team.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'401':
description: Unauthorized. Occurs if the bearer token is invalid.
'404':
description: Not Found. Occurs if the group was not found.
put:
summary: Modify Group or Team
description: Modify an existing org group or team.
operationId: modifyGroupPut
tags:
- Groups
parameters:
- $ref: '#/paths/~1Groups~1%7Bid%7D/get/parameters/0'
- $ref: '#/paths/~1Groups/get/parameters/3'
- $ref: '#/paths/~1Groups/get/parameters/4'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateGroup'
responses:
'200':
description: OK. Returns the modified group or team.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'401':
description: Unauthorized. Occurs if the bearer token is invalid.
'404':
description: Not Found. Occurs if the group was not found.
'409':
description: Conflict. Occurs if the group name already exists on the account. Org group and team namespaces are distinct, though the latter includes archived teams.
patch:
summary: Modify Group or Team
description: Modify an existing org group or team.
operationId: modifyGroupPatch
tags:
- Groups
parameters:
- $ref: '#/paths/~1Groups~1%7Bid%7D/get/parameters/0'
- $ref: '#/paths/~1Groups/get/parameters/3'
- $ref: '#/paths/~1Groups/get/parameters/4'
requestBody:
content:
application/json:
schema:
type: object
properties:
schemas:
type: array
items:
type: string
description: URIs identifying the SCIM schemas that describe this resource's attributes.
example:
- urn:ietf:params:scim:schemas:core:2.0:Group
Operations:
type: array
items:
$ref: '#/components/schemas/GroupOperation'
description: Type of operation being performed (add, remove, or replace).
responses:
'200':
description: OK. Returns the modified group or team.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: Bad Request. Occurs if the request body syntax is incorrect.
'401':
description: Unauthorized. Occurs if bearer token is invalid.
'404':
description: Not Found. Occurs if the group was not found.
'409':
description: Conflict. Occurs if the group name already exists on the account. Org group and team namespaces are distinct, though the latter includes archived teams.
delete:
summary: Delete Group or Team
description: Delete an existing org group or archive an existing team.
operationId: deleteGroup
tags:
- Groups
parameters:
- $ref: '#/paths/~1Groups~1%7Bid%7D/get/parameters/0'
responses:
'204':
description: No Content. Occurs if the delete was successful.
'400':
description: Bad Request. May occur if an org group still has members.
'401':
description: Unauthorized. Occurs if the bearer token is invalid.
'404':
description: Not Found. Occurs if the group was not found.
/Groups:
get:
summary: Get All Groups or Teams
description: 'Gets all org groups or teams on an account. Supports pagination and filtering.
'
operationId: getAllGroups
tags:
- Groups
parameters:
- name: filter
in: query
required: false
schema:
type: string
description: Filter groups/teams using SCIM filter syntax. Only single filter queries are supported. Currently supports filtering by displayName (case-sensitive exact match).
example: displayName eq "Engineering"
- name: count
in: query
required: false
schema:
type: integer
default: 100
minimum: 0
description: Maximum number of groups/teams to return per page for pagination. Negative values are interpreted as 0.
example: 50
- name: startIndex
in: query
required: false
schema:
type: integer
default: 1
minimum: 1
description: The 1-based index of the first result to return for pagination. Values less than 1 are interpreted as 1.
example: 1
- name: attributes
in: query
required: false
schema:
type: array
items:
type: string
description: Comma-separated list of attribute names to return in the response. The attribute id is always returned. Available attributes are schemas, displayName, members, and meta. Cannot be used with excludedAttributes.
example: displayName,members
- name: excludedAttributes
in: query
required: false
schema:
type: array
items:
type: string
description: Comma-separated list of attribute names to exclude from the response. The attribute id is always returned and cannot be excluded. Can exclude schemas, displayName, members, or meta. Cannot be used with attributes.
example: members
responses:
'200':
description: OK. Returns a list of org groups or teams.
content:
application/json:
schema:
$ref: '#/components/schemas/GetAllGroups'
'401':
description: Unauthorized. Occurs if bearer token is invalid.
post:
summary: Create Group or Team
description: Create a new org group or team, or restore a matching archived, closed team.
operationId: createGroup
tags:
- Groups
parameters:
- $ref: '#/paths/~1Groups/get/parameters/3'
- $ref: '#/paths/~1Groups/get/parameters/4'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateGroup'
responses:
'201':
description: Created. Returns the created group or team.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: Bad Request. Occurs if the group was not created.
'401':
description: Unauthorized. Occurs if the bearer token is invalid.
'409':
description: Conflict. Occurs if the group name already exists on the account.
components:
schemas:
Group:
type: object
properties:
id:
type: string
description: Will be in the form "lucid-group-1234" with 1234 being the ID of the Lucid org group or team.
example: lucid-group-1234
schemas:
type: array
items:
type: string
description: URIs identifying the SCIM schemas that describe this resource's attributes.
example:
- urn:ietf:params:scim:schemas:core:2.0:Group
displayName:
type: string
description: The name of the org group or team.
example: Group A
members:
type: array
items:
$ref: '#/components/schemas/Member'
description: The users (and, for org groups, subgroups) that are members of this org group or team.
example:
- value: lucid-1433
display: User 1
- value: lucid-5678
display: User 2
- value: lucid-group-9012
display: Subgroup A
meta:
type: object
CreateOrUpdateGroup:
type: object
properties:
schemas:
type: array
items:
type: string
description: URIs identifying the SCIM schemas that describe this resource's attributes.
example:
- urn:ietf:params:scim:schemas:core:2.0:Group
displayName:
type: string
description: The name of the org group or team.
example: My Group
members:
type: array
items:
$ref: '#/components/schemas/Member'
GroupOperation:
type: object
required:
- op
properties:
op:
type: string
enum:
- add
- remove
- replace
description: The operation to perform.
example: add
path:
type: string
description: Path to the field you want to change.
example: members
value:
oneOf:
- type: string
- type: array
items: {}
description: Value to be added/replaced.
example:
- value: lucid-1234
- value: lucid-5678
Member:
type: object
required:
- value
properties:
value:
type: string
description: The ID of the member. For org groups, this can be a user ID (e.g. "lucid-1234") or a subgroup ID (e.g. "lucid-group-5678"). For teams, only user IDs are supported.
example: lucid-1433
$ref:
type: string
description: The URI of the member. Points to /Users/{id} for user members, or for org groups, /Groups/{id} for subgroup members.
example: https://users.lucid.app/scim/v2/Users/lucid-1433
display:
type: string
description: The display name of the member (the user's name, or for org group subgroups, the subgroup's name).
example: User 2
GetAllGroups:
type: object
properties:
schemas:
type: array
items:
type: string
description: SCIM schema URIs for the list response.
example:
- urn:ietf:params:scim:api:messages:2.0:ListResponse
totalResults:
type: integer
description: The total number of org groups or teams matching the query (across all pages, not just the current page).
example: 42
startIndex:
type: integer
description: The 1-based index of the first result in the "Resources" list (for paginated results). Reflects the startIndex parameter sent in the request.
example: 1
itemsPerPage:
type: integer
description: The maximum number of results returned in the "Resources" list (for paginated results). Reflects the count parameter sent in the request.
example: 100
Resources:
type: array
items:
$ref: '#/components/schemas/Group'
description: The list of org groups or teams returned by the query.
securitySchemes:
Bearer:
type: http
scheme: bearer
x-harvest:
harvested: '2026-08-01'
method: searched
source: https://lucid-developer-docs.readme.io/mcp
note: 'Assembled operation-by-operation from Lucid''s own documentation MCP server (tools list-endpoints + get-endpoint), which returns verbatim OpenAPI 3.0.3 fragments out of the spec Lucid uploaded to its ReadMe hub (/branches/1.4/apis/lucid-scim-api.json). Paths, operations, parameters, request bodies, responses, components and securitySchemes are provider content, unmodified. Only the info block is ours: ReadMe''s per-endpoint fragments omit info, so title/description are copied verbatim from the provider''s own list-specs description for this spec.'