---
title: "List an enterprise's members."
method: GET
path: "/enterprises/{enterpriseId}/members"
tags: ["enterprises"]
---

# List an enterprise's members.

`GET /enterprises/{enterpriseId}/members`

## Request

- Base URL: `https://api.shorebird.dev/api/v1`
- URL: `https://api.shorebird.dev/api/v1/enterprises/{enterpriseId}/members`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Admins first, then by email: those it has not removed, or with
`removed=true` those it has. Each carries the organizations they are
in and their grants on single apps, and the page carries those
organizations and apps. `member_count` and `removed_count` count both
lists, whichever the page is from. Admins only.

## Query parameters

- `per_page` integer
- `cursor` string
- `page` integer
- `sort` 'person' | '-person' | 'account' | '-account' | 'role' | '-role' | 'last_sign_in' | '-last_sign_in' | 'last_active' | '-last_active' | 'removed' | '-removed' | 'removed_by' | '-removed_by'
- `removed` boolean

## Response `200`

One page of members.

- object: The paging fields of a page of an enterprise list.
  - `total_count` integer, required: How many items the whole list holds.
  - `next_cursor` string: The cursor of the next page; absent on the last page.
  - `teams` EnterpriseTeam[], required
    - `id` integer, required
    - `name` string, required
    - `member_count` integer, required
    - `app_count` integer, required
    - `default_role` 'viewer' | 'developer', required: A role a default organization joins people at.
    - `apps` EnterpriseAppSummary[], required
      - `id` string, required
      - `display_name` string, required
  - `apps` EnterpriseAppSummary[], required
    - `id` string, required
    - `display_name` string, required
  - `members` EnterpriseMember[], required
    - `user_id` integer, required
    - `email` string, nullable, required
    - `display_name` string, nullable, required
    - `kind` string, required: What kind of account it is.
    - `teams` EnterpriseTeamAccess[], required
      - `team_id` integer, required
      - `role` 'owner' | 'admin' | 'appManager' | 'developer' | 'viewer' | 'auditor' | 'scim' | 'none', required: A role that a user can have relative to an Organization or App.
    - `app_grants` EnterpriseAppGrant[], required
      - `app_id` string, required
      - `role` 'owner' | 'admin' | 'appManager' | 'developer' | 'viewer' | 'auditor' | 'scim' | 'none', required: A role that a user can have relative to an Organization or App.
    - `sign_in_method` 'google' | 'microsoft' | 'saml' | 'other', required: How a person signs in, named from their identity's issuer.
    - `signed_in_at` string, date-time, nullable, required
    - `last_active_at` string, date-time, nullable, required
    - `role` 'owner' | 'admin' | 'member' | 'billingManager', required: A person's role in an enterprise.
    - `removed_at` string, date-time, nullable, required: When the enterprise removed them, or null.
    - `removed_by_email` string, nullable, required: Who removed them, or null.
    - `external_id` string, nullable, required: The enterprise's identity provider's id for them over SCIM (`externalId`), or null when it gave none. Okta and Entra ID send one by default, but SCIM leaves it optional.
  - `member_count` integer, required: How many members it has not removed.
  - `removed_count` integer, required: How many members it has removed.

## Other responses

- `default`: Standard error response. Emitted for any non-2xx status where a body can be decoded into an [ErrorResponse].

## Changes

- **2026-11-05** `941da8871d10`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/shorebird/apis/shorebird-codepush-api/changes/enterprises/:enterpriseId/members/get.md)

---

[API](https://skmtc.dev/shorebird/apis/shorebird-codepush-api.md) - [All operations](https://skmtc.dev/shorebird/apis/shorebird-codepush-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shorebird/apis/shorebird-codepush-api/revisions/941da8871d10?raw)
