Group

Group is a collection of Users. Groups can be linked to Projects by assigning them a project role, which has the same effect as assigning a role for each group member individually.

Attributes

id

URL-friendly identifier for the group.

  • Type: string
  • Immutable: true
  • Unique: true
  • Required: true
  • Minimum length: 2
  • Maximum length: 100
  • Allowed characters: a-z, A-Z, 0-9, -, _

name

Human-readable name for the group.

  • Type: string
  • Unique: true
  • Required: true
  • Minimum length: 2
  • Maximum length: 100

description

A free-form description of the group.

  • Type: string
  • Default: ""
  • Maximum length: 512

visibility

Public groups are visible to everyone in the company and anyone can take them into use in their projects. Private groups are only visible to members of the group and only they can manage project roles for the group.

  • Type: string
  • Default: public
  • Allowed values: public, private

source

The identifier of the external source where the group is synchronized from.

  • Type: string
  • Default: ""
  • Maximum length: 500

linked

A group in considered as linked when its source has a value. This field is automatically updated.

  • Type: boolean
  • Default: false

Searchable attributes

Groups can be searched by their id and name attributes. See the search documentation for instructions how to do this.

Child objects

The following child objects can be attached to the groups returned, to eliminate the need for requesting them separately:

Object Attribute
User users

For example to get all the group's users, attach include=users to your GET request.

See the child object API documentation for a description of the possible operations.

Operations

GET /groups

Returns all the groups in the company, with optional limit and offset parameters, as a metadata-results object.

GET /groups/:id

Returns specific group object.

Example Request

curl -X GET \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  https://helixteamhub.cloud/api/groups/designers

Example Response

{
  "api_status": 200,
  "api_timestamp": "2013-11-27T15:04:40Z",
  "id": "designers",
  "created_at": "2013-11-18T12:22:15Z",
  "updated_at": "2013-11-27T11:43:04Z",
  "name": "Designers",
  "description": "All designers in our company",
  "visibility": "public",
  "source": "I_DESIGNERS",
  "linked": true
}

POST /groups

Creates a new group to the company. Returns the created group object.

Example Request

curl -X POST \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  -H "Content-Type: application/json" \
  -d '{ "id": "devs", "name": "Developers" }' \
  https://helixteamhub.cloud/api/groups

Example Response

{
  "api_status": 201,
  "api_timestamp": "2013-11-27T15:24:49Z",
  "id": "devs",
  "created_at": "2013-11-27T15:24:49Z",
  "updated_at": "2013-11-27T15:24:49Z",
  "name": "Developers",
  "description": "",
  "visibility": "public",
  "source": "",
  "linked": false
}

PUT /groups/:id

Updates a group. Returns the updated group object.

Example Request

curl -X PUT \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  -H "Content-Type: application/json" \
  -d '{ "source": "I_DEVS" }' \
  https://helixteamhub.cloud/api/groups/devs

Example Response

{
  "api_status": 200,
  "api_timestamp": "2013-11-27T15:25:51Z",
  "id": "devs",
  "created_at": "2013-11-27T15:24:49Z",
  "updated_at": "2013-11-27T15:25:51Z",
  "name": "Developers",
  "description": "",
  "visibility": "public",
  "source": "I_DEVS",
  "linked": true
}

DELETE /groups/:id

Deletes a group. Returns the deleted group object.

Example Request

curl -X DELETE \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  https://helixteamhub.cloud/api/groups/devs

Example Response

{
  "api_status": 200,
  "api_timestamp": "2013-11-27T15:27:28Z",
  "id": "devs",
  "created_at": "2013-11-27T15:24:49Z",
  "updated_at": "2013-11-27T15:25:51Z",
  "name": "Developers",
  "description": "",
  "visibility": "public",
  "source": "I_DEVS",
  "linked": true
}