For the complete documentation index, see llms.txt. This page is also available as Markdown.

Groups

Groups bundle roles and resource grants so end-user access can be managed collectively. End users receive a group's access through membership, added manually or synced from an identity provider's group claims.

Group schema

List groups

get
/v1/groups

Returns all active groups in the account. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

List of groups.

application/json

A named bundle of roles and resource grants for end-user access management. End users receive the group's access through membership, whether added manually or synced from an identity provider.

_idstring · objectIdRead-onlyRequired

Unique identifier for the group.

Example: 68a1b2c3d4e5f6a7b8c9d0e1
_userIdstring · objectIdRead-onlyOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
namestringRequired

Group name, unique within the account (case-insensitive).

Example: Finance
descriptionstringOptional

Free-text description of the group's purpose.

Example: Finance department end users
_roleIdsstring · objectId[]Optional

Roles pinned to this group. Members receive the roles' grants through the group.

hasIdpSyncedMembersbooleanRead-onlyOptional

When true, at least one end user's membership in this group is synced from an identity provider's group claims. Maintained by the server — IdP-synced memberships cannot be removed through the group members API.

createdAtstring · date-timeRead-onlyOptional

Timestamp when the group was created.

Example: 2026-07-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyOptional

Timestamp when the group was last updated.

Example: 2026-08-15T14:30:15Z
get/v1/groups
GET /v1/groups HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "_id": "68a1b2c3d4e5f6a7b8c9d0e1",
    "_userId": "5f8d43a1b9e5a80011a35f2c",
    "name": "Finance",
    "description": "Finance department end users",
    "intendedFor": [
      "end-user"
    ],
    "_roleIds": [
      "68c1d2e3f4a5b6c7d8e9f0a1"
    ],
    "resourceGrants": [],
    "hasIdpSyncedMembers": false,
    "createdAt": "2026-07-01T09:15:32Z",
    "lastModified": "2026-08-15T14:30:15Z"
  }
]

Create a group

post
/v1/groups

Creates a group for end-user access management. Group names must be unique within the account (case-insensitive), and any _roleIds or resourceGrants._resourceId values must reference resources owned by the same account. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body

Writable fields for creating or replacing a group.

namestringRequired

Group name, unique within the account (case-insensitive).

Example: Finance
descriptionstringOptional

Free-text description of the group's purpose.

Example: Finance department end users
_roleIdsstring · objectId[]Optional

Roles to pin to this group. Must reference roles owned by the same account.

Responses
201

Group created.

application/json

A named bundle of roles and resource grants for end-user access management. End users receive the group's access through membership, whether added manually or synced from an identity provider.

_idstring · objectIdRead-onlyRequired

Unique identifier for the group.

Example: 68a1b2c3d4e5f6a7b8c9d0e1
_userIdstring · objectIdRead-onlyOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
namestringRequired

Group name, unique within the account (case-insensitive).

Example: Finance
descriptionstringOptional

Free-text description of the group's purpose.

Example: Finance department end users
_roleIdsstring · objectId[]Optional

Roles pinned to this group. Members receive the roles' grants through the group.

hasIdpSyncedMembersbooleanRead-onlyOptional

When true, at least one end user's membership in this group is synced from an identity provider's group claims. Maintained by the server — IdP-synced memberships cannot be removed through the group members API.

createdAtstring · date-timeRead-onlyOptional

Timestamp when the group was created.

Example: 2026-07-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyOptional

Timestamp when the group was last updated.

Example: 2026-08-15T14:30:15Z
post/v1/groups
POST /v1/groups HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "name": "Finance"
}
{
  "_id": "68a1b2c3d4e5f6a7b8c9d0e1",
  "_userId": "5f8d43a1b9e5a80011a35f2c",
  "name": "Finance",
  "description": "Finance department end users",
  "intendedFor": [
    "end-user"
  ],
  "_roleIds": [
    "68c1d2e3f4a5b6c7d8e9f0a1"
  ],
  "resourceGrants": [],
  "hasIdpSyncedMembers": false,
  "createdAt": "2026-07-01T09:15:32Z",
  "lastModified": "2026-07-01T09:15:32Z"
}

Get a group

get
/v1/groups/{_id}

Retrieves a single group by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_idstring · objectIdRequired

Group ID.

Responses
200

Group details.

application/json

A named bundle of roles and resource grants for end-user access management. End users receive the group's access through membership, whether added manually or synced from an identity provider.

_idstring · objectIdRead-onlyRequired

Unique identifier for the group.

Example: 68a1b2c3d4e5f6a7b8c9d0e1
_userIdstring · objectIdRead-onlyOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
namestringRequired

Group name, unique within the account (case-insensitive).

Example: Finance
descriptionstringOptional

Free-text description of the group's purpose.

Example: Finance department end users
_roleIdsstring · objectId[]Optional

Roles pinned to this group. Members receive the roles' grants through the group.

hasIdpSyncedMembersbooleanRead-onlyOptional

When true, at least one end user's membership in this group is synced from an identity provider's group claims. Maintained by the server — IdP-synced memberships cannot be removed through the group members API.

createdAtstring · date-timeRead-onlyOptional

Timestamp when the group was created.

Example: 2026-07-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyOptional

Timestamp when the group was last updated.

Example: 2026-08-15T14:30:15Z
get/v1/groups/{_id}
GET /v1/groups/{_id} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "_id": "68a1b2c3d4e5f6a7b8c9d0e1",
  "_userId": "5f8d43a1b9e5a80011a35f2c",
  "name": "Finance",
  "description": "Finance department end users",
  "intendedFor": [
    "end-user"
  ],
  "_roleIds": [
    "text"
  ],
  "resourceGrants": [
    {
      "resourceType": "mcpServer",
      "_resourceId": "6a1b2c3d4e5f6a7b8c9d0e1f",
      "capabilities": [
        "tool:all"
      ]
    }
  ],
  "hasIdpSyncedMembers": true,
  "createdAt": "2026-07-01T09:15:32Z",
  "lastModified": "2026-08-15T14:30:15Z"
}

Update a group

put
/v1/groups/{_id}

Replaces the group's writable fields. Prefer resending the complete object — omitted fields are not preserved. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_idstring · objectIdRequired

Group ID.

Body

Writable fields for creating or replacing a group.

namestringRequired

Group name, unique within the account (case-insensitive).

Example: Finance
descriptionstringOptional

Free-text description of the group's purpose.

Example: Finance department end users
_roleIdsstring · objectId[]Optional

Roles to pin to this group. Must reference roles owned by the same account.

Responses
200

Updated group.

application/json

A named bundle of roles and resource grants for end-user access management. End users receive the group's access through membership, whether added manually or synced from an identity provider.

_idstring · objectIdRead-onlyRequired

Unique identifier for the group.

Example: 68a1b2c3d4e5f6a7b8c9d0e1
_userIdstring · objectIdRead-onlyOptional

Account owner's user id.

Example: 5f8d43a1b9e5a80011a35f2c
namestringRequired

Group name, unique within the account (case-insensitive).

Example: Finance
descriptionstringOptional

Free-text description of the group's purpose.

Example: Finance department end users
_roleIdsstring · objectId[]Optional

Roles pinned to this group. Members receive the roles' grants through the group.

hasIdpSyncedMembersbooleanRead-onlyOptional

When true, at least one end user's membership in this group is synced from an identity provider's group claims. Maintained by the server — IdP-synced memberships cannot be removed through the group members API.

createdAtstring · date-timeRead-onlyOptional

Timestamp when the group was created.

Example: 2026-07-01T09:15:32Z
lastModifiedstring · date-timeRead-onlyOptional

Timestamp when the group was last updated.

Example: 2026-08-15T14:30:15Z
put/v1/groups/{_id}
PUT /v1/groups/{_id} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "name": "Finance EMEA"
}
{
  "_id": "68a1b2c3d4e5f6a7b8c9d0e1",
  "_userId": "5f8d43a1b9e5a80011a35f2c",
  "name": "Finance",
  "description": "Finance department end users",
  "intendedFor": [
    "end-user"
  ],
  "_roleIds": [
    "text"
  ],
  "resourceGrants": [
    {
      "resourceType": "mcpServer",
      "_resourceId": "6a1b2c3d4e5f6a7b8c9d0e1f",
      "capabilities": [
        "tool:all"
      ]
    }
  ],
  "hasIdpSyncedMembers": true,
  "createdAt": "2026-07-01T09:15:32Z",
  "lastModified": "2026-08-15T14:30:15Z"
}

Delete a group

delete
/v1/groups/{_id}

Soft-deletes the group and removes the corresponding membership entry from every end user in the account. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_idstring · objectIdRequired

Group ID.

Responses
204

Group deleted.

No content

delete/v1/groups/{_id}
DELETE /v1/groups/{_id} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Add end users to a group

post
/v1/groups/{_groupId}/members

Bulk-adds up to 100 end users to the group as manual memberships. The operation is idempotent for end users already in the group. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_groupIdstring · objectIdRequired

Group ID.

Body

End users to add to or remove from the group.

_ashareIdsstring · objectId[] · min: 1 · max: 100Required

End-user access-record ids to add or remove.

Responses
200

Members added.

application/json

Outcome of a bulk membership change.

updatedintegerOptional

Number of end-user records updated. Members already in (or absent from) the group are not counted.

post/v1/groups/{_groupId}/members
POST /v1/groups/{_groupId}/members HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "_ashareIds": [
    "68b1c2d3e4f5a6b7c8d9e0f1"
  ]
}
{
  "updated": 1
}

Remove end users from a group

post
/v1/groups/{_groupId}/members/remove

Bulk-removes manual memberships from the group. Only manual memberships can be removed this way — attempting to remove an IdP-synced membership returns 409; change the IdP group mapping instead. Uses POST rather than DELETE so the request body survives proxies and CDNs. Requires account owner or administrator access.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_groupIdstring · objectIdRequired

Group ID.

Body

End users to add to or remove from the group.

_ashareIdsstring · objectId[] · min: 1 · max: 100Required

End-user access-record ids to add or remove.

Responses
200

Members removed.

application/json

Outcome of a bulk membership change.

updatedintegerOptional

Number of end-user records updated. Members already in (or absent from) the group are not counted.

post/v1/groups/{_groupId}/members/remove
POST /v1/groups/{_groupId}/members/remove HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "_ashareIds": [
    "68b1c2d3e4f5a6b7c8d9e0f1"
  ]
}
{
  "updated": 1
}

Last updated

Was this helpful?