---
title: "Get team hierarchy members"
method: GET
path: "/api/v2/team/{team_id}/members"
tags: ["Teams"]
---

# Get team hierarchy members

`GET /api/v2/team/{team_id}/members`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/team/{team_id}/members`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `teams_read`
- TypeScript: <https://skmtc.dev/datadog/apis/datadog-api-v2-collection/docs/api/v2/team/:team_id/members/get.ts> (a function with typed inputs; its response is checked against the schema)

List the direct and inherited members of a team, deduplicated by user.
Members of descendant teams are included unless `filter[is_direct_only]` is true.
Datadog support users are always excluded.

Use `page[number]` and `page[size]` to paginate through the results.
Invalid query parameters return a JSON:API error with status 400.
Invalid or unknown team UUIDs return status 404.

## Path parameters

- `team_id` string, required

## Query parameters

- `filter[is_direct_only]` boolean
- `filter[include_service_accounts]` boolean
- `filter[keyword]` string
- `include` string
- `sort` string
- `page[number]` integer
- `page[size]` integer

## Response `200`

OK

- TeamHierarchyMembersResponse: Direct and inherited members of the requested team.
  - `data` TeamHierarchyMember[], required: Membership relationships for users who belong to the requested team or inherit membership through its descendant teams. Each user appears once, even if they belong to multiple teams in the hierarchy. Each relationship identifies the user and requested team, and indicates whether the user is a direct member of the requested team.
    - `attributes` TeamHierarchyMemberAttributes, required: Membership attributes relative to the requested team.
      - `direct_role` string, nullable, required: Role on the requested team: admin or member. Null for inherited members.
      - `is_direct` boolean, required: Whether the user belongs directly to the requested team.
      - `provisioned_by` string, nullable, required: Membership provisioner. Null for inherited members.
      - `provisioned_by_id` string, nullable, required: Identifier supplied by the membership provisioner. Null when unavailable or for inherited members.
    - `id` string, required: Relationship identifier containing the team UUID and user UUID.
    - `relationships` TeamHierarchyMemberRelationships, required: User and requested team linkage.
      - `team` TeamHierarchyMemberTeamRelationship, required: Linkage to the requested team.
        - `data` TeamHierarchyMemberTeamData, required: Team resource identifier.
          - `id` string, uuid, required: UUID of the team.
          - `type` 'teams', required: Requested team resource type.
      - `user` TeamHierarchyMemberUserRelationship, required: Linkage to the user.
        - `data` TeamHierarchyMemberUserData, required: User resource identifier.
          - `id` string, uuid, required: UUID of the user.
          - `type` 'users', required: Users resource type.
    - `type` 'user_team_relationship', required: Team hierarchy membership resource type.
  - `included` TeamHierarchyMemberIncluded[]: Requested users and the team. May be absent when the result is empty, even if requested.
    - union: An included user or the requested team, distinguished by resource type.
      - TeamHierarchyMemberUser: A user included in the hierarchy members response.
        - `attributes` UserAttributes, required: Attributes of user object returned by the API.
          - `created_at` string, date-time: The ISO 8601 timestamp of when the user account was created.
          - `disabled` boolean: Whether the user account is deactivated. Disabled users cannot log in.
          - `email` string: The email address of the user, used for login and notifications.
          - `handle` string: The unique handle (username) of the user, typically matching their email prefix.
          - `icon` string: URL of the user's profile icon, typically a Gravatar URL derived from the email address.
          - `last_login_time` string, date-time, nullable: The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in.
          - `mfa_enabled` boolean: Whether multi-factor authentication (MFA) is enabled for the user's account.
          - `modified_at` string, date-time: The ISO 8601 timestamp of when the user account was last modified.
          - `name` string, nullable: The full display name of the user as shown in the Datadog UI.
          - `service_account` boolean: Whether this is a service account rather than a human user. Service accounts are used for programmatic API access.
          - `status` string: The current status of the user account (for example, `Active`, `Pending`, or `Disabled`).
          - `title` string, nullable: The job title of the user (for example, "Senior Engineer" or "Product Manager").
          - `uuid` string: The globally unique identifier (UUID) of the user.
          - `verified` boolean: Whether the user's email address has been verified.
        - `id` string, uuid, required: UUID of the user.
        - `type` 'users', required: Users resource type.
      - TeamHierarchyMemberTeam: The requested team, included at most once. Descendant teams are not included.
        - `attributes` TeamHierarchyMemberTeamAttributes: Available attributes of the requested team.
          - `handle` string: Handle of the team.
          - `name` string: Name of the team.
        - `id` string, uuid, required: UUID of the requested team.
        - `type` 'teams', required: Requested team resource type.
  - `links` TeamHierarchyMembersResponseLinks, required: Page navigation links. Unavailable links are omitted.
    - `first` string: First page URL.
    - `last` string: Last page URL.
    - `next` string: Next page URL.
    - `prev` string: Previous page URL.
    - `self` string: Current page URL.
  - `meta` TeamHierarchyMembersResponseMeta, required: Pagination metadata for the filtered members.
    - `page` union, required: Pagination metadata for the selected pagination mode.
      - TeamHierarchyMembersOffsetPage: Pagination metadata using offset and limit.
        - `first_offset` integer, required: First offset.
        - `last_offset` integer, nullable, required: Last offset. Null when unavailable.
        - `limit` integer, required: Maximum number of members per page.
        - `next_offset` integer, nullable, required: Next offset. Null when unavailable.
        - `offset` integer, required: Current offset.
        - `prev_offset` integer, nullable, required: Previous offset. Null when unavailable.
        - `total` integer, required: Total number of members matching the filters.
        - `type` 'offset_limit', required: Pagination mode.
      - TeamHierarchyMembersNumberPage: Pagination metadata using number and size.
        - `first_number` integer, required: First page number.
        - `last_number` integer, nullable, required: Last page number. Null when unavailable.
        - `next_number` integer, nullable, required: Next page number. Null when unavailable.
        - `number` integer, required: Current zero-based page number.
        - `prev_number` integer, nullable, required: Previous page number. Null when unavailable.
        - `size` integer, required: Maximum number of members per page.
        - `total` integer, required: Total number of members matching the filters.
        - `type` 'number_size', required: Pagination mode.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/3f70db624329?raw)
