{"files":{"SKILL.md":"---\nname: management-groups-api\ndescription: \"Management Groups API skill. Use when working with Management Groups for providers. Covers 13 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Management Groups API\nAPI version: 2018-03-01-preview\n\n## Auth\nOAuth2\n\n## Base URL\nhttps://management.azure.com\n\n## Setup\n1. Configure auth: OAuth2\n2. GET /providers/Microsoft.Management/managementGroups -- list management groups for the authenticated user.\n3. POST /providers/Microsoft.Management/checkNameAvailability -- create first checkNameAvailability\n\n## Endpoints\n13 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Providers\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /providers/Microsoft.Management/managementGroups | List management groups for the authenticated user. |\n| GET | /providers/Microsoft.Management/managementGroups/{groupId} | Get the details of the management group. |\n| PUT | /providers/Microsoft.Management/managementGroups/{groupId} | Create or update a management group. If a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated. |\n| PATCH | /providers/Microsoft.Management/managementGroups/{groupId} | Update a management group. |\n| DELETE | /providers/Microsoft.Management/managementGroups/{groupId} | Delete management group. If a management group contains child resources, the request will fail. |\n| GET | /providers/Microsoft.Management/managementGroups/{groupId}/descendants | List all entities that descend from a management group. |\n| PUT | /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId} | Associates existing subscription with the management group. |\n| DELETE | /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId} | De-associates subscription from the management group. |\n| GET | /providers/Microsoft.Management/operations | Lists all of the available Management REST API operations. |\n| POST | /providers/Microsoft.Management/checkNameAvailability | Checks if the specified management group name is valid and unique |\n| POST | /providers/Microsoft.Management/getEntities | List all entities (Management Groups, Subscriptions, etc.) for the authenticated user. |\n| POST | /providers/Microsoft.Management/startTenantBackfill | Starts backfilling subscriptions for the Tenant. |\n| POST | /providers/Microsoft.Management/tenantBackfillStatus | Gets tenant backfill status |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all managementGroups?\" -> GET /providers/Microsoft.Management/managementGroups\n- \"Get managementGroup details?\" -> GET /providers/Microsoft.Management/managementGroups/{groupId}\n- \"Update a managementGroup?\" -> PUT /providers/Microsoft.Management/managementGroups/{groupId}\n- \"Partially update a managementGroup?\" -> PATCH /providers/Microsoft.Management/managementGroups/{groupId}\n- \"Delete a managementGroup?\" -> DELETE /providers/Microsoft.Management/managementGroups/{groupId}\n- \"List all descendants?\" -> GET /providers/Microsoft.Management/managementGroups/{groupId}/descendants\n- \"Update a subscription?\" -> PUT /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}\n- \"Delete a subscription?\" -> DELETE /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}\n- \"List all operations?\" -> GET /providers/Microsoft.Management/operations\n- \"Create a checkNameAvailability?\" -> POST /providers/Microsoft.Management/checkNameAvailability\n- \"Create a getEntity?\" -> POST /providers/Microsoft.Management/getEntities\n- \"Create a startTenantBackfill?\" -> POST /providers/Microsoft.Management/startTenantBackfill\n- \"Create a tenantBackfillStatus?\" -> POST /providers/Microsoft.Management/tenantBackfillStatus\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Management Groups API\n@base https://management.azure.com\n@version 2018-03-01-preview\n@auth OAuth2\n@common_fields {api-version: any # Version of the API to be used with the client request. The current version is 2018-01-01-preview.}\n@endpoints 11\n@toc providers(11)\n\n@endpoint GET /providers/Microsoft.Management/managementGroups\n@desc List management groups for the authenticated user.\n@optional {Cache-Control: any # Indicates that the request shouldn't utilize any caches., $skiptoken: any # Page continuation token is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.}\n@returns(200) OK\n\n@endpoint GET /providers/Microsoft.Management/managementGroups/{groupId}\n@desc Get the details of the management group.\n@required {groupId: any # Management Group ID.}\n@optional {$expand: any # The $expand=children query string parameter allows clients to request inclusion of children in the response payload., $recurse: any # The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that  $expand=children must be passed up if $recurse is set to true., $filter: any # A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription'), Cache-Control: any # Indicates that the request shouldn't utilize any caches.}\n@returns(200) OK\n\n@endpoint PUT /providers/Microsoft.Management/managementGroups/{groupId}\n@desc Create or update a management group. If a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n@required {groupId: any # Management Group ID., createManagementGroupRequest: map # Management group creation parameters.}\n@optional {Cache-Control: any # Indicates that the request shouldn't utilize any caches.}\n@returns(200) OK\n@returns(202) Accepted\n\n@endpoint PATCH /providers/Microsoft.Management/managementGroups/{groupId}\n@desc Update a management group.\n@required {groupId: any # Management Group ID., patchGroupRequest: map # Management group patch parameters.}\n@optional {Cache-Control: any # Indicates that the request shouldn't utilize any caches.}\n@returns(200) OK\n\n@endpoint DELETE /providers/Microsoft.Management/managementGroups/{groupId}\n@desc Delete management group. If a management group contains child resources, the request will fail.\n@required {groupId: any # Management Group ID.}\n@optional {Cache-Control: any # Indicates that the request shouldn't utilize any caches.}\n@returns(202) Accepted\n@returns(204) NoContent\n\n@endpoint GET /providers/Microsoft.Management/managementGroups/{groupId}/descendants\n@desc List all entities that descend from a management group.\n@required {groupId: any # Management Group ID.}\n@optional {$skiptoken: any # Page continuation token is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls., $top: any # Number of elements to return when retrieving results. Passing this in will override $skipToken.}\n@returns(200) OK\n\n@endpoint PUT /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}\n@desc Associates existing subscription with the management group.\n@required {groupId: any # Management Group ID., subscriptionId: any # Subscription ID.}\n@optional {Cache-Control: any # Indicates that the request shouldn't utilize any caches.}\n@returns(204) NoContent\n\n@endpoint DELETE /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}\n@desc De-associates subscription from the management group.\n@required {groupId: any # Management Group ID., subscriptionId: any # Subscription ID.}\n@optional {Cache-Control: any # Indicates that the request shouldn't utilize any caches.}\n@returns(204) NoContent\n\n@endpoint GET /providers/Microsoft.Management/operations\n@desc Lists all of the available Management REST API operations.\n@returns(200) OK. The request has succeeded.\n\n@endpoint POST /providers/Microsoft.Management/checkNameAvailability\n@desc Checks if the specified management group name is valid and unique\n@required {checkNameAvailabilityRequest: map # Management group name availability check parameters.}\n@returns(200) OK. The request has succeeded.\n\n@endpoint POST /providers/Microsoft.Management/getEntities\n@desc List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.\n\n@end\n"}}