Lucid Groups API

Endpoints that deal with org groups or teams (dependent on which bearer token is used).

Operations 6

GET /Groups/{id} Get Group or Team #
PUT /Groups/{id} Modify Group or Team #
PATCH /Groups/{id} Modify Group or Team #
DELETE /Groups/{id} Delete Group or Team #
GET /Groups Get All Groups or Teams #
POST /Groups Create Group or Team #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lucid-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

lucid-groups-api-openapi.yml Raw ↑
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.'