Skip to content
English - United Kingdom
  • There are no suggestions because the search field is empty.

Groups API

1. Overview

The Groups API allows you to create, retrieve, list, update, and delete groups in SpeakUp. You can also manage group membership by adding or removing users.

Base Endpoint: {API_BASE_URL}/scim/v2/Groups


2. Authentication

All requests require the Authorization header with a bearer token. See the SpeakUp SCIM Overview for authentication details

Screenshot 2026-06-04 at 15.05.10


3. Response Structure 

Attribute

 

Type

 

Description

 

id

string

Unique identifier (system-generated, returned by API)

displayName

string

The name of the group

externalId

string

External identifier (e.g. from IdP); unique if provided; can be set on create/update

members

array

List of user objects belonging to this group

members[].value

string

User ID of a group member

members[].display

string

User's email (returned in responses)

members[].$ref

string

Full URL to the User resource (returned in responses)

meta.resourceType

string

Always "Group"

meta.created

string

ISO 8601 timestamp when group was created

meta.lastModified

string

ISO 8601 timestamp when group was last modified

meta.location

string

Full URL to this Group resource

 

4. Create a Group

Create a new group in SpeakUp. The displayName is required and must be unique. You may optionally provide externalId and initial members.

HTTP Method: POST
Endpoint: /scim/v2/Groups

4.1 Request (minimal) Screenshot 2026-06-04 at 15.05.23
4.2 Request (with externalId and members)Screenshot 2026-06-04 at 15.05.42
 
4.3 Response (201 Created)Screenshot 2026-06-04 at 15.11.10 
4.4 Common Errors

400 Bad Request (missing displayName):Screenshot 2026-06-04 at 15.11.53

 

409 Conflict (displayName already exists):Screenshot 2026-06-04 at 15.12.44

 

400 Bad Request (one or more member users not found or not eligible): Screenshot 2026-06-04 at 15.13.33

 

5. Get a Specific Group

Retrieve details of a single group by ID.

HTTP Method: GET
Endpoint: /scim/v2/Groups/{id}

5.1 RequestScreenshot 2026-06-04 at 15.14.07
 
5.2 Response (200 OK) Screenshot 2026-06-04 at 15.14.46
 
5.3 Query Parameters 

Parameter

 

Type

 

Description

 

excludedAttributes

string

Comma-separated list of attributes to omit (e.g. members or members,meta)

 
5.4 RequestScreenshot 2026-06-04 at 15.15.54
 
5.5 Response (200 OK)Screenshot 2026-06-04 at 15.16.26
 
5.6 Error (404 Not Found)Screenshot 2026-06-04 at 15.16.55
 

6. List All Groups

Retrieve all groups with optional filtering and pagination.

HTTP Method: GET
Endpoint: /scim/v2/Groups

6.1 Query Parameters

Parameter

 

Type

 

Description

 

Example

 

startIndex

integer

Starting position (1-based). Default: 1

startIndex=1

count

integer

Results per page. Default: 50

count=10

filter

string

Filter expression (URL encoded)

filter=displayName eq "Engineering Team"

excludedAttributes

string

Comma-separated attributes to omit (e.g. members)

excludedAttributes="members"

 

 6.2 Request (all groups, default pagination)6.2

 
6.3 Request (with pagination)6.3
6.4 Request (with filter)6.4
6.5 Response (200 OK) 6.5
6.6 Filter Examples
 

Filter

 

Meaning

 

displayName eq "Engineering Team"

Exact match on display name

displayName sw "Eng"

displayName starts with "Eng"

displayName co "Team"

displayName contains "Team"

members.value eq "82"

Groups that have user with id 82

members.display eq "user@example.com"

Groups that have member with email user@example.com

 

7. Add Members to a Group

Add one or more users to an existing group.

HTTP Method: PATCH
Endpoint: /scim/v2/Groups/{id}

7.1 Request (single member)7.1
7.2 Request (multiple members) 7.2
 
7.3 Response (200 OK)

Returns the full group in SCIM format (including updated members and meta.lastModified).

7.4 Common Errors

404 Not Found (group does not exist):7.4 404

400 Bad Request (user does not exist or is not eligible): 7.4 400


8. Remove Members from a Group

Remove one or more users from a group.

HTTP Method: PATCH
Endpoint: /scim/v2/Groups/{id}

8.1 Request (single member)8.1

 8.2 Request (multiple members) 8.2
 
8.3 Response (200 OK)

Returns the full group in SCIM format with updated members and meta.lastModified.


9. Update Group (PUT)

Update a group with full replacement. All writable attributes should be sent; omitted attributes are effectively cleared. Members not included in the payload are removed from the group.

HTTP Method: PUT
Endpoint: /scim/v2/Groups/{id}

9.1 Request9.1
9.2 Response (200 OK)

Returns the full group in SCIM format. Members will include value, display, and $ref.

9.3 Error (409 Conflict)9.3
 

10. Delete a Group

Delete a group. This removes the group but does not delete the users who were members.

HTTP Method: DELETE
Endpoint: /scim/v2/Groups/{id}

10.1 Request10.1
10.2 Response (204 No Content)

No response body.


11. Common Status Codes

Code

 

Meaning

 

When It Occurs

 

200

OK

Successful GET, PATCH, or PUT

201

Created

Successful POST

204

No Content

Successful DELETE

400

Bad Request

Missing required fields, invalid data, or users not found

401

Unauthorized

Invalid or missing access token

403

Forbidden

Insufficient permissions

404

Not Found

Group or user does not exist

409

Conflict

Duplicate displayName or constraint violation

500

Internal Server Error

Server-side error

 
 
 

12. SpeakUp ↔ SCIM Attribute Mapping (Groups)

 
 
 

SpeakUp group property

 

SCIM attribute

 

Data type / field type

 

Explanation

 

id

id

string

Identifier for the resource as defined by the service provider (returned in responses; read-only).

name

displayName

string / short text

Human-readable name for the group. Must be unique.

externalId

externalId

string

External identifier (e.g. from IdP). Unique if set. Optional on create/update.

users

members

complex

List of members of the group. Each member has value (user id), and in responses display (user email) and $ref (User resource URL).

createdAt

meta.created

string (ISO 8601)

When the group was created.

updatedAt

meta.lastModified

string (ISO 8601)

When the group was last modified.