# Creates a Group

Creates and provisions a new Group of Users. The request should include any properties to be set on
the Group. Any property not provided would leave the value blank or use defaults.

The list of members could be empty or not present. Members are referenced with the identifierField,
by either:
- email
- id
- userName (the default if no identifierField is included)

This operation is asynchronous, the response will not include the list of members.

A JobId will be in the response's meta, to be able to get a JobReport (see the ad hoc endpoint below).

Indexing a Group's Users can take some time.

Endpoint: POST /scim/v2/Groups
Version: 2026-04-10
Security: oauth2_as_a_server, oauth2_as_a_user

## Request fields (application/json):

  - `displayName` (string, required)
    Example: "Group of specific users"

  - `description` (string)
    Example: "Group of iOS users from partner domain"

  - `SocialChorus:1.0:Group` (object)

  - `SocialChorus:1.0:Group.identifierField` (string)
    Specifies which user identifier field to use to determine group membership.
Allowed values are 'id', 'email' and 'userName'. Default value is 'userName'.
    Example: "userName"

  - `externalId` (string)
    Example: "1234qweasd567"

  - `members` (array)
    An array of objects representing user identifiers to be included into a group. The identifiers allowed are the user "id", "email" and "userName" (defaulting to "userName").
    Example: [{"value":"username3"},{"value":"username4"},{"value":"username33"}]

  - `members.value` (string)
    Example: "username3"

## Response 201 fields (application/scim+json):

  - `schemas` (array)
    List of Schemas
    Example: ["urn:ietf:params:scim:schemas:core:2.0:Group","SocialChorus:1.0:Group"]

  - `id` (integer)
    Group unique id
    Example: 115

  - `name` (string)
    A name for the Group, generated from the given displayName.
    Example: "group_of_users"

  - `displayName` (string)
    A human-readable name for the Group.
    Example: "Group of users"

  - `externalId` (string)
    ID from provisioning system. This is the resource ID on the client system, not Firstup's ID.
    Example: "1234qweasd567"

  - `description` (string)
    Description for the Group.
    Example: "Group of iOS users from partner domain"

  - `members` (array)
    An empty array, as members will be changed later, asynchronously
    Example: []

  - `meta` (object)

  - `meta.resourceType` (string)
    Example: "Group"

  - `meta.created` (string)
    date and time when the group was created
    Example: "2022-05-13T13:32:00.598Z"

  - `meta.lastModified` (string)
    date and time when the group was last updated
    Example: "2022-05-13T13:32:00.598Z"

  - `meta.location` (string)
    URL of the group
    Example: "https://partner.socialchorus.com/scim/v2/Groups/115"

  - `meta.jobId` (integer)
    the ID of the asynchronus job, to be able to request a Job report
    Example: 4567

  - `SocialChorus:1.0:Group` (object)
    Example: {}

## Response 400 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "Reason for bad request"

  - `status` (integer)
    Example: 400

## Response 401 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "Authentication failure"

  - `status` (integer)
    Example: 401

## Response 403 fields (*/*):

  - `schemas` (array)
    Example: ["urn:ietf:params:scim:api:messages:2.0:Error"]

  - `detail` (string)
    Example: "Operation is not permitted"

  - `status` (integer)
    Example: 403


