"
+ }
+ },
+ "request": {
+ "json_curl": {},
+ "json": {},
+ "html": ""
+ }
+ },
"GetTeamSync": {
"responses": {
"200": {
diff --git a/data/api/v2/full_spec.yaml b/data/api/v2/full_spec.yaml
index 86def950cf6bb..fcd5c1773e690 100644
--- a/data/api/v2/full_spec.yaml
+++ b/data/api/v2/full_spec.yaml
@@ -52449,6 +52449,205 @@ components:
required:
- data
type: object
+ TeamHierarchyLink:
+ description: Team hierarchy link
+ properties:
+ attributes:
+ $ref: '#/components/schemas/TeamHierarchyLinkAttributes'
+ id:
+ description: The team hierarchy link's identifier
+ example: b8626d7e-cedd-11eb-abf5-da7ad0900001
+ type: string
+ relationships:
+ $ref: '#/components/schemas/TeamHierarchyLinkRelationships'
+ type:
+ $ref: '#/components/schemas/TeamHierarchyLinkType'
+ required:
+ - attributes
+ - id
+ - type
+ type: object
+ TeamHierarchyLinkAttributes:
+ description: Team hierarchy link attributes
+ properties:
+ created_at:
+ description: Timestamp when the team hierarchy link was created
+ example: ''
+ format: date-time
+ type: string
+ provisioned_by:
+ description: The provisioner of the team hierarchy link
+ example: system
+ type: string
+ required:
+ - provisioned_by
+ - created_at
+ type: object
+ TeamHierarchyLinkCreate:
+ description: Team hierarchy link creation
+ properties:
+ relationships:
+ $ref: '#/components/schemas/TeamHierarchyLinkCreateRelationships'
+ type:
+ $ref: '#/components/schemas/TeamHierarchyLinkType'
+ required:
+ - relationships
+ - type
+ type: object
+ TeamHierarchyLinkCreateRelationships:
+ description: Team hierarchy link creation relationships
+ properties:
+ parent_team:
+ $ref: '#/components/schemas/TeamHierarchyLinkCreateTeamRelationship'
+ sub_team:
+ $ref: '#/components/schemas/TeamHierarchyLinkCreateTeamRelationship'
+ required:
+ - parent_team
+ - sub_team
+ type: object
+ TeamHierarchyLinkCreateRequest:
+ description: Request to create a team hierarchy link
+ properties:
+ data:
+ $ref: '#/components/schemas/TeamHierarchyLinkCreate'
+ required:
+ - data
+ type: object
+ TeamHierarchyLinkCreateTeam:
+ description: Team reference for hierarchy link creation
+ properties:
+ id:
+ description: The team's identifier
+ example: 692e8073-12c4-4c71-8408-5090bd44c9c8
+ type: string
+ type:
+ $ref: '#/components/schemas/TeamType'
+ required:
+ - id
+ - type
+ type: object
+ TeamHierarchyLinkCreateTeamRelationship:
+ description: Team relationship for hierarchy link creation
+ properties:
+ data:
+ $ref: '#/components/schemas/TeamHierarchyLinkCreateTeam'
+ required:
+ - data
+ type: object
+ TeamHierarchyLinkRelationships:
+ description: Team hierarchy link relationships
+ properties:
+ parent_team:
+ $ref: '#/components/schemas/TeamHierarchyLinkTeamRelationship'
+ sub_team:
+ $ref: '#/components/schemas/TeamHierarchyLinkTeamRelationship'
+ required:
+ - parent_team
+ - sub_team
+ type: object
+ TeamHierarchyLinkResponse:
+ description: Team hierarchy link response
+ properties:
+ data:
+ $ref: '#/components/schemas/TeamHierarchyLink'
+ included:
+ description: Included teams
+ items:
+ $ref: '#/components/schemas/TeamHierarchyLinkTeam'
+ type: array
+ type: object
+ TeamHierarchyLinkTeam:
+ description: Team information in hierarchy link context
+ properties:
+ attributes:
+ $ref: '#/components/schemas/TeamHierarchyLinkTeamAttributes'
+ id:
+ description: The team's identifier
+ example: 692e8073-12c4-4c71-8408-5090bd44c9c8
+ type: string
+ type:
+ $ref: '#/components/schemas/TeamType'
+ required:
+ - id
+ - type
+ - attributes
+ type: object
+ TeamHierarchyLinkTeamAttributes:
+ description: Team attributes in hierarchy link context
+ properties:
+ avatar:
+ description: The team's avatar
+ nullable: true
+ type: string
+ banner:
+ description: The team's banner
+ format: int64
+ type: integer
+ handle:
+ description: The team's handle
+ example: team-handle
+ type: string
+ is_managed:
+ description: Whether the team is managed
+ type: boolean
+ is_open_membership:
+ description: Whether the team has open membership
+ type: boolean
+ link_count:
+ description: The number of links for the team
+ format: int64
+ type: integer
+ name:
+ description: The team's name
+ example: Team Name
+ type: string
+ summary:
+ description: The team's summary
+ nullable: true
+ type: string
+ user_count:
+ description: The number of users in the team
+ format: int64
+ type: integer
+ required:
+ - handle
+ - name
+ type: object
+ TeamHierarchyLinkTeamRelationship:
+ description: Team hierarchy link team relationship
+ properties:
+ data:
+ $ref: '#/components/schemas/TeamHierarchyLinkTeam'
+ required:
+ - data
+ type: object
+ TeamHierarchyLinkType:
+ default: team_hierarchy_links
+ description: Team hierarchy link type
+ enum:
+ - team_hierarchy_links
+ example: team_hierarchy_links
+ type: string
+ x-enum-varnames:
+ - TEAM_HIERARCHY_LINKS
+ TeamHierarchyLinksResponse:
+ description: Team hierarchy links response
+ properties:
+ data:
+ description: Team hierarchy links response data
+ items:
+ $ref: '#/components/schemas/TeamHierarchyLink'
+ type: array
+ included:
+ description: Included teams
+ items:
+ $ref: '#/components/schemas/TeamHierarchyLinkTeam'
+ type: array
+ links:
+ $ref: '#/components/schemas/TeamsHierarchyLinksResponseLinks'
+ meta:
+ $ref: '#/components/schemas/TeamsHierarchyLinksResponseMeta'
+ type: object
TeamIncluded:
description: Included resources related to the team
oneOf:
@@ -53328,6 +53527,70 @@ components:
- LINK_COUNT
- TEAM_LINKS
- USER_TEAM_PERMISSIONS
+ TeamsHierarchyLinksResponseLinks:
+ description: Teams hierarchy links response links.
+ properties:
+ first:
+ description: Link to the first page.
+ nullable: true
+ type: string
+ last:
+ description: Link to the last page.
+ nullable: true
+ type: string
+ next:
+ description: Link to the next page.
+ nullable: true
+ type: string
+ prev:
+ description: Link to the previous page.
+ nullable: true
+ type: string
+ self:
+ description: Link to the current object.
+ type: string
+ type: object
+ TeamsHierarchyLinksResponseMeta:
+ description: Team hierarchy links response metadata.
+ properties:
+ page:
+ $ref: '#/components/schemas/TeamsHierarchyLinksResponseMetaPage'
+ type: object
+ TeamsHierarchyLinksResponseMetaPage:
+ description: Teams hierarchy links response page metadata.
+ properties:
+ first_number:
+ description: First page number.
+ format: int64
+ type: integer
+ last_number:
+ description: Last page number.
+ format: int64
+ type: integer
+ next_number:
+ description: Next page number.
+ format: int64
+ type: integer
+ number:
+ description: Page number.
+ format: int64
+ type: integer
+ prev_number:
+ description: Previous page number.
+ format: int64
+ type: integer
+ size:
+ description: Page size.
+ format: int64
+ type: integer
+ total:
+ description: Total number of results.
+ format: int64
+ type: integer
+ type:
+ description: Offset type.
+ type: string
+ type: object
TeamsResponse:
description: Response with multiple teams
properties:
@@ -83870,6 +84133,174 @@ paths:
permissions:
- teams_read
- teams_manage
+ /api/v2/team-hierarchy-links:
+ get:
+ description: Get all team hierarchy links that match the provided filters.
+ operationId: GetTeamHierarchyLinks
+ parameters:
+ - $ref: '#/components/parameters/PageNumber'
+ - $ref: '#/components/parameters/PageSize'
+ - description: Filter by parent team ID
+ in: query
+ name: filter[parent_team]
+ required: false
+ schema:
+ type: string
+ - description: Filter by sub team ID
+ in: query
+ name: filter[sub_team]
+ required: false
+ schema:
+ type: string
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TeamHierarchyLinksResponse'
+ description: OK
+ '403':
+ $ref: '#/components/responses/ForbiddenResponse'
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - teams_read
+ summary: Get team hierarchy links
+ tags:
+ - Teams
+ x-menu-order: 20
+ x-pagination:
+ limitParam: page[size]
+ pageParam: page[number]
+ resultsPath: data
+ x-permission:
+ operator: OR
+ permissions:
+ - teams_read
+ post:
+ description: Create a new team hierarchy link between a parent team and a sub
+ team.
+ operationId: AddTeamHierarchyLink
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TeamHierarchyLinkCreateRequest'
+ required: true
+ responses:
+ '201':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TeamHierarchyLinkResponse'
+ description: CREATED
+ '403':
+ $ref: '#/components/responses/ForbiddenResponse'
+ '409':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: Conflict
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - teams_read
+ - teams_manage
+ summary: Create a team hierarchy link
+ tags:
+ - Teams
+ x-menu-order: 22
+ x-permission:
+ operator: AND
+ permissions:
+ - teams_read
+ - teams_manage
+ /api/v2/team-hierarchy-links/{link_id}:
+ delete:
+ description: Remove a team hierarchy link by the given link_id.
+ operationId: RemoveTeamHierarchyLink
+ parameters:
+ - description: The team hierarchy link's identifier
+ in: path
+ name: link_id
+ required: true
+ schema:
+ type: string
+ responses:
+ '204':
+ description: No Content
+ '403':
+ $ref: '#/components/responses/ForbiddenResponse'
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - teams_read
+ - teams_manage
+ summary: Remove a team hierarchy link
+ tags:
+ - Teams
+ x-menu-order: 23
+ x-permission:
+ operator: AND
+ permissions:
+ - teams_read
+ - teams_manage
+ get:
+ description: Get a single team hierarchy link for the given link_id.
+ operationId: GetTeamHierarchyLink
+ parameters:
+ - description: The team hierarchy link's identifier
+ in: path
+ name: link_id
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TeamHierarchyLinkResponse'
+ description: OK
+ '403':
+ $ref: '#/components/responses/ForbiddenResponse'
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - teams_read
+ summary: Get a team hierarchy link
+ tags:
+ - Teams
+ x-menu-order: 21
+ x-permission:
+ operator: OR
+ permissions:
+ - teams_read
/api/v2/team/connections:
delete:
description: Delete multiple team connections.
@@ -84149,7 +84580,13 @@ paths:
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/team/{super_team_id}/member_teams:
get:
- description: Get all member teams.
+ deprecated: true
+ description: 'Get all member teams.
+
+
+ **Note**: This API is deprecated. For team hierarchy relationships (parent-child
+
+ teams), use the team hierarchy links API: `GET /api/v2/team-hierarchy-links`.'
operationId: ListMemberTeams
parameters:
- description: None
@@ -84203,14 +84640,20 @@ paths:
operator: OR
permissions:
- teams_read
+ x-sunset: '2026-06-01'
x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback,
contact [Datadog support](https://docs.datadoghq.com/help/).'
post:
+ deprecated: true
description: 'Add a member team.
Adds the team given by the `id` in the body as a member team of the super
- team.'
+ team.
+
+
+ **Note**: This API is deprecated. For creating team hierarchy links, use the
+ team hierarchy links API: `POST /api/v2/team-hierarchy-links`.'
operationId: AddMemberTeam
parameters:
- description: None
@@ -84251,12 +84694,18 @@ paths:
operator: OR
permissions:
- teams_read
+ x-sunset: '2026-06-01'
x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback,
contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/team/{super_team_id}/member_teams/{member_team_id}:
delete:
- description: Remove a super team's member team identified by `member_team_id`.
+ deprecated: true
+ description: 'Remove a super team''s member team identified by `member_team_id`.
+
+
+ **Note**: This API is deprecated. For deleting team hierarchy links, use the
+ team hierarchy links API: `DELETE /api/v2/team-hierarchy-links/{link_id}`.'
operationId: RemoveMemberTeam
parameters:
- description: None
@@ -84297,6 +84746,7 @@ paths:
operator: OR
permissions:
- teams_read
+ x-sunset: '2026-06-01'
x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback,
contact [Datadog support](https://docs.datadoghq.com/help/).'
diff --git a/data/api/v2/translate_actions.json b/data/api/v2/translate_actions.json
index d009a396a564f..20846234ad667 100644
--- a/data/api/v2/translate_actions.json
+++ b/data/api/v2/translate_actions.json
@@ -3108,6 +3108,24 @@
"request_description": "",
"request_schema_description": "Request to create a team"
},
+ "GetTeamHierarchyLinks": {
+ "description": "Get all team hierarchy links that match the provided filters.",
+ "summary": "Get team hierarchy links"
+ },
+ "AddTeamHierarchyLink": {
+ "description": "Create a new team hierarchy link between a parent team and a sub team.",
+ "summary": "Create a team hierarchy link",
+ "request_description": "",
+ "request_schema_description": "Request to create a team hierarchy link"
+ },
+ "RemoveTeamHierarchyLink": {
+ "description": "Remove a team hierarchy link by the given link_id.",
+ "summary": "Remove a team hierarchy link"
+ },
+ "GetTeamHierarchyLink": {
+ "description": "Get a single team hierarchy link for the given link_id.",
+ "summary": "Get a team hierarchy link"
+ },
"DeleteTeamConnections": {
"description": "Delete multiple team connections.",
"summary": "Delete team connections",
@@ -3135,17 +3153,17 @@
"request_schema_description": "Team sync request."
},
"ListMemberTeams": {
- "description": "Get all member teams.",
+ "description": "Get all member teams.\n\n**Note**: This API is deprecated. For team hierarchy relationships (parent-child\nteams), use the team hierarchy links API: `GET /api/v2/team-hierarchy-links`.",
"summary": "Get all member teams"
},
"AddMemberTeam": {
- "description": "Add a member team.\nAdds the team given by the `id` in the body as a member team of the super team.",
+ "description": "Add a member team.\nAdds the team given by the `id` in the body as a member team of the super team.\n\n**Note**: This API is deprecated. For creating team hierarchy links, use the team hierarchy links API: `POST /api/v2/team-hierarchy-links`.",
"summary": "Add a member team",
"request_description": "",
"request_schema_description": "Request to add a member team to super team's hierarchy"
},
"RemoveMemberTeam": {
- "description": "Remove a super team's member team identified by `member_team_id`.",
+ "description": "Remove a super team's member team identified by `member_team_id`.\n\n**Note**: This API is deprecated. For deleting team hierarchy links, use the team hierarchy links API: `DELETE /api/v2/team-hierarchy-links/{link_id}`.",
"summary": "Remove a member team"
},
"DeleteTeam": {