---
title: "getGroups"
method: GET
path: "/v1/groups"
tags: ["Group"]
---

# getGroups

`GET /v1/groups`

Lists groups in organizations you have access to

## Query parameters

- `query` string
- `limit` number
- `offset` number
- `hydrate` boolean

## Response `200`

List of groups

- object
  - `hits` number
  - `groups` Group[]
    - `id` string, required — Group unique identifier
    - `org_id` string, required
    - `name` string, required — The name of the group. Could be a department or a team.
    - `created_at` string, required
    - `updated_at` string, required
    - `created_by` string — The user id of the user that created the group.
    - `crt_assignee` object — The current user assignee of the group. This is the user, from within the group, that has last been assigned to a workflow task.
      - `id` string — User's unique identifier
      - `organization_id` string
      - `created_at` string, date-time
      - `activated_at` string, date-time
      - `display_name` string — User's display name (default: email address)
      - `status` 'Active' | 'Pending' | 'Deactivated' | 'Deleted'
      - `email` string, email — User's email address
      - `draft_email` string, email, nullable — User's pending email address
      - `draft_email_expires_at` string, date-time, nullable — Server-set expiry for the pending email change verification link (ISO 8601). Read-only.
      - `password_reset_token_hash` string, nullable — Internal: sha256 hash of the active password-reset token. Server-set, never returned in responses.
      - `password_reset_token_expires_at` string, date-time, nullable — Internal: expiry for the active password-reset token (ISO 8601). Server-set, never returned in responses.
      - `department` string, nullable — User's department
      - `phone` string, nullable — User's phone number
      - `secondary_phone` string, nullable — User's secondary phone number, preferred for communication
      - `mfa_enabled` boolean — User's multi-factor authentication status
      - `totp_enabled` boolean — Whether the user has TOTP (authenticator app) MFA enabled
      - `has_passkeys` boolean — Whether the user has any registered passkeys
      - `phone_verified` boolean — User's phone number verification status
      - `token` string — Token used to invite a user to epilot
      - `signature` string, nullable — User's email signature
      - `is_signature_enabled` boolean, nullable — Whether the user's signature is enabled
      - `preferred_language` string — User's preferred language
      - `custom_start_page` string, nullable — User's start page after login
      - `custom_navigation` string, nullable — Navigation unique identifier - a hash of the normalized navigation payload (name + configuration). Identical navigations across orgs will have the same ID.
      - `override_release_channel` 'canary' | 'rc' | 'stable' | 'null', nullable — This field is used to override the release channel for the user.
      - `feature_preferences` object, nullable — User's feature preferences
      - `image_uri` object, nullable — User's custom profile image
        - `original` string, uri
        - `thumbnail_32` string, uri
      - `favorites` object
      - `email_notification_setting` object
      - `in_app_notification_setting` object — Per-notification-type in-app delivery preferences (notification type key -> enabled). Written by the my-account notification settings UI and honored by svc-notification-api at delivery time. Absent or partial keys fall back to each notification type's configured default. Mirrors email_notification_setting for the in-app channel.
      - `properties` object[]
        - `name` string, required
        - `value` string, required
      - `tags` string[], nullable — User tags/labels assigned for classification (e.g. label slugs)
      - `crt_index` number — The index of the current assignee in the group's user list.
    - `users` UserV2[] — The list of users in the group. Only contains the full user when respective endpoint is called with a flag. Otherwise only contains the user id.
      - `id` string — User's unique identifier
      - `organization_id` string
      - `created_at` string, date-time
      - `activated_at` string, date-time
      - `display_name` string — User's display name (default: email address)
      - `status` 'Active' | 'Pending' | 'Deactivated' | 'Deleted'
      - `email` string, email — User's email address
      - `draft_email` string, email, nullable — User's pending email address
      - `draft_email_expires_at` string, date-time, nullable — Server-set expiry for the pending email change verification link (ISO 8601). Read-only.
      - `password_reset_token_hash` string, nullable — Internal: sha256 hash of the active password-reset token. Server-set, never returned in responses.
      - `password_reset_token_expires_at` string, date-time, nullable — Internal: expiry for the active password-reset token (ISO 8601). Server-set, never returned in responses.
      - `department` string, nullable — User's department
      - `phone` string, nullable — User's phone number
      - `secondary_phone` string, nullable — User's secondary phone number, preferred for communication
      - `mfa_enabled` boolean — User's multi-factor authentication status
      - `totp_enabled` boolean — Whether the user has TOTP (authenticator app) MFA enabled
      - `has_passkeys` boolean — Whether the user has any registered passkeys
      - `phone_verified` boolean — User's phone number verification status
      - `token` string — Token used to invite a user to epilot
      - `signature` string, nullable — User's email signature
      - `is_signature_enabled` boolean, nullable — Whether the user's signature is enabled
      - `preferred_language` string — User's preferred language
      - `custom_start_page` string, nullable — User's start page after login
      - `custom_navigation` string, nullable — Navigation unique identifier - a hash of the normalized navigation payload (name + configuration). Identical navigations across orgs will have the same ID.
      - `override_release_channel` 'canary' | 'rc' | 'stable' | 'null', nullable — This field is used to override the release channel for the user.
      - `feature_preferences` object, nullable — User's feature preferences
      - `image_uri` object, nullable — User's custom profile image
        - `original` string, uri
        - `thumbnail_32` string, uri
      - `favorites` object
      - `email_notification_setting` object
      - `in_app_notification_setting` object — Per-notification-type in-app delivery preferences (notification type key -> enabled). Written by the my-account notification settings UI and honored by svc-notification-api at delivery time. Absent or partial keys fall back to each notification type's configured default. Mirrors email_notification_setting for the in-app channel.
      - `properties` object[]
        - `name` string, required
        - `value` string, required
      - `tags` string[], nullable — User tags/labels assigned for classification (e.g. label slugs)
    - `image_uri` GroupImageUri, nullable — Group's profile image or gradient colors. Supports uploaded image URLs and generated gradient avatars.
      - `original` string, uri
      - `thumbnail_32` string, uri
      - `thumbnail_64` string, uri
      - `gradient_colors` string[] — Two hex color strings [base_color, accent_color] for mesh gradient avatar.
    - `abbreviation` string, nullable — A short abbreviation for the group, up to 2 characters.

---

[API](https://skmtc.net/epilot/apis/user-api.md) · [All operations](https://skmtc.net/epilot/apis/user-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/user-api/revisions/7fae886a3c99/schema)
