Liveblocks Groups API
The Groups API from Liveblocks — 5 operation(s) for groups.
The Groups API from Liveblocks — 5 operation(s) for groups.
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/liveblocks:liveblocks-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: Liveblocks Groups API
version: '2.0'
description: 'The Liveblocks REST API lets you read and modify rooms, threads, notifications, users, permissions, and schemas programmatically. Authenticate requests with a secret key using the `Authorization: Bearer` header.'
servers:
- url: https://api.liveblocks.io/v2
tags:
- name: Groups
paths:
/groups:
post:
summary: Create group
description: This endpoint creates a new group. Corresponds to `liveblocks.createGroup`.
tags:
- Groups
operationId: create-group
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGroupRequestBody'
responses:
'200':
description: Success. Returns the created group.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'409':
description: Conflict - Group already exists
get:
summary: Get groups
description: This endpoint returns a list of all groups in your project. Corresponds to `liveblocks.getGroups`.
tags:
- Groups
operationId: get-groups
parameters:
- schema:
type: integer
minimum: 1
maximum: 100
default: 20
description: A limit on the number of groups to be returned. The limit can range between 1 and 100, and defaults to 20.
example: 20
in: query
name: limit
- schema:
type: string
description: A cursor used for pagination. Get the value from the `nextCursor` response of the previous page.
example: eyJjcmVhdGVkQXQiOjE2NjAwMDA5ODgxMzd9
in: query
name: startingAfter
responses:
'200':
description: Success. Returns the list of groups and the next page cursor.
content:
application/json:
schema:
$ref: '#/components/schemas/GetGroupsResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
/groups/{groupId}:
get:
summary: Get group
description: This endpoint returns a specific group by ID. Corresponds to `liveblocks.getGroup`.
tags:
- Groups
operationId: get-group
parameters:
- schema:
type: string
description: The ID of the group to retrieve.
example: engineering
in: path
name: groupId
required: true
responses:
'200':
description: Success. Returns the group.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found - Group not found
delete:
summary: Delete group
description: This endpoint deletes a group. Corresponds to `liveblocks.deleteGroup`.
tags:
- Groups
operationId: delete-group
parameters:
- schema:
type: string
description: The ID of the group to delete.
example: engineering
in: path
name: groupId
required: true
responses:
'204':
description: No Content - Group deleted successfully
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found - Group not found
/groups/{groupId}/add-members:
post:
summary: Add group members
description: This endpoint adds new members to an existing group. Corresponds to `liveblocks.addGroupMembers`.
tags:
- Groups
operationId: add-group-members
parameters:
- schema:
type: string
description: The ID of the group to add members to.
example: engineering
in: path
name: groupId
required: true
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddGroupMembersRequestBody'
responses:
'200':
description: Success. Returns the updated group.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found - Group not found
/groups/{groupId}/remove-members:
post:
summary: Remove group members
description: This endpoint removes members from an existing group. Corresponds to `liveblocks.removeGroupMembers`.
tags:
- Groups
operationId: remove-group-members
parameters:
- schema:
type: string
description: The ID of the group to remove members from.
example: engineering
in: path
name: groupId
required: true
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveGroupMembersRequestBody'
responses:
'200':
description: Success. Returns the updated group.
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found - Group not found
/users/{userId}/groups:
get:
summary: Get user groups
description: This endpoint returns all groups that a specific user is a member of. Corresponds to `liveblocks.getUserGroups`.
tags:
- Groups
operationId: get-user-groups
parameters:
- schema:
type: string
description: The ID of the user to get groups for.
example: user-123
in: path
name: userId
required: true
- schema:
type: integer
minimum: 1
maximum: 100
default: 20
description: A limit on the number of groups to be returned. The limit can range between 1 and 100, and defaults to 20.
example: 20
in: query
name: limit
- schema:
type: string
description: A cursor used for pagination. Get the value from the `nextCursor` response of the previous page.
example: eyJjcmVhdGVkQXQiOjE2NjAwMDA5ODgxMzd9
in: query
name: startingAfter
responses:
'200':
description: Success. Returns the list of groups the user belongs to and the next page cursor.
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserGroupsResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found - User not found
components:
schemas:
GroupMember:
title: GroupMember
type: object
properties:
id:
type: string
addedAt:
type: string
format: date-time
required:
- id
- addedAt
example:
id: alice
addedAt: '2024-01-15T10:30:00.000Z'
RemoveGroupMembersRequestBody:
title: RemoveGroupMembersRequestBody
type: object
properties:
memberIds:
type: array
items:
type: string
required:
- memberIds
example:
memberIds:
- charlie
CreateGroupRequestBody:
title: CreateGroupRequestBody
type: object
properties:
id:
type: string
memberIds:
type: array
items:
type: string
organizationId:
type: string
scopes:
type: object
properties:
mention:
type: boolean
const: true
required:
- id
additionalProperties: false
example:
id: engineering
memberIds:
- alice
- bob
organizationId: org_123456789
scopes:
mention: true
Group:
title: Group
type: object
properties:
type:
type: string
const: group
id:
type: string
organizationId:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
scopes:
type: object
properties:
mention:
type: boolean
const: true
members:
type: array
items:
$ref: '#/components/schemas/GroupMember'
required:
- type
- id
- organizationId
- createdAt
- updatedAt
- scopes
- members
example:
type: group
id: engineering
organizationId: org_123456789
createdAt: '2024-01-15T10:30:00.000Z'
updatedAt: '2024-01-15T10:30:00.000Z'
scopes:
mention: true
members:
- id: alice
addedAt: '2024-01-15T10:30:00.000Z'
- id: bob
addedAt: '2024-01-16T09:00:00.000Z'
GetUserGroupsResponse:
title: GetUserGroupsResponse
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Group'
nextCursor:
oneOf:
- type: string
- type: 'null'
required:
- data
- nextCursor
additionalProperties: false
example:
data:
- type: group
id: engineering
organizationId: org_123456789
createdAt: '2024-01-15T10:30:00.000Z'
updatedAt: '2024-01-15T10:30:00.000Z'
scopes:
mention: true
members:
- id: alice
addedAt: '2024-01-15T10:30:00.000Z'
nextCursor: null
AddGroupMembersRequestBody:
title: AddGroupMembersRequestBody
type: object
properties:
memberIds:
type: array
items:
type: string
required:
- memberIds
example:
memberIds:
- charlie
- dave
GetGroupsResponse:
title: GetGroupsResponse
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Group'
nextCursor:
oneOf:
- type: string
- type: 'null'
required:
- data
- nextCursor
additionalProperties: false
example:
data:
- type: group
id: engineering
organizationId: org_123456789
createdAt: '2024-01-15T10:30:00.000Z'
updatedAt: '2024-01-15T10:30:00.000Z'
scopes:
mention: true
members:
- id: alice
addedAt: '2024-01-15T10:30:00.000Z'
nextCursor: null
securitySchemes:
Authorization:
name: Bearer sk_xxx
type: apiKey
in: header
externalDocs:
description: Liveblocks REST API reference
url: https://liveblocks.io/docs/api-reference/rest-api-endpoints
x-provenance:
method: harvested
publisher: Liveblocks
source: https://liveblocks.io/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)