For Agents
Build and reorganise Azure management group hierarchies, attach subscriptions to groups, and resolve descendants so policy and RBAC can be applied tenant-wide. Useful for landing-zone automation and tenant restructuring.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Management Groups, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Management Groups API.
Create or update a management group with a parent group ID to extend the tenant hierarchy
Attach a subscription to a specific management group so inherited policies and roles apply
List the full descendant tree from a management group, paging through nested groups and subscriptions
Check name availability for a candidate management group ID before provisioning
GET STARTED
Use for: I need to build an Azure landing-zone management group hierarchy, Move a subscription from one management group to another, List all descendants of the Production management group, Check whether a management group ID is available
Not supported: Does not handle policy assignment, RBAC role definitions, or billing — use for organising Azure subscriptions into a management group hierarchy only.
Jentic publishes the only available OpenAPI document for Management Groups, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Management Groups, keeping it validated and agent-ready. The Azure Management Groups API organises subscriptions into a hierarchical tree so policy, RBAC, and cost governance can be applied at scale across a tenant. Use it to create and update management groups, move subscriptions between groups, walk the descendant tree, and check whether a group ID is available before creating it. The API is hosted on Azure Resource Manager and authenticated through Azure Active Directory OAuth 2.0.
Detach a subscription from a management group when reassigning ownership
Trigger a tenant backfill to enrol existing subscriptions into the default management group
Patterns agents use Management Groups API for, with concrete tasks.
★ Stand up an Azure landing zone hierarchy
Platform teams use the Management Groups API to provision a multi-level hierarchy that maps to their organisational structure: root, platform, landing zones, and workload groups. Each PUT call creates a child group under a chosen parent, and subsequent calls attach the relevant subscriptions. This is the foundation Azure Policy and RBAC inheritance rely on, and it can be wholly automated from a CMDB or Terraform plan.
Read the desired hierarchy from a JSON file, then for each node call PUT /providers/Microsoft.Management/managementGroups/{groupId} with the parent ID until the tree is in place.
Reorganise subscriptions during a merger
During acquisitions or business-unit changes, subscriptions need to move between management groups so the right policies apply. The API supports attaching a subscription to a new group with a single PUT call and detaching with DELETE. Walking the descendants endpoint first lets the agent build a before-and-after picture for change approval.
List descendants of the source group, identify subscriptions to move, then PUT /providers/Microsoft.Management/managementGroups/{newGroupId}/subscriptions/{subscriptionId} for each one.
Audit tenant-wide management group membership
Governance teams call the descendants endpoint at the tenant root to enumerate every group and subscription, producing a flat report that maps each subscription to its full ancestor chain. The output is used to verify that policy assignments at higher levels reach the workloads they are intended to govern.
Call GET /providers/Microsoft.Management/managementGroups/{rootGroupId}/descendants paging through all results and emit one row per subscription with its full parent chain.
Agent-driven hierarchy refactor
Through Jentic, an AI agent receives a natural-language brief such as 'create a Sandbox management group under Tenant Root and move dev subscriptions into it'. The agent searches Jentic, loads the ManagementGroups create-or-update operation, executes the call, then loops the subscription move operation. Jentic injects the Azure AD token at execution time so the agent never handles raw credentials.
Use Jentic search for 'create azure management group', load the operation, supply parent group ID and display name, execute, then chain the ManagementGroupSubscriptions_Create call for each target subscription.
13 endpoints — jentic publishes the only available openapi specification for management groups, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/providers/Microsoft.Management/managementGroups/{groupId}
Create or update a management group
/providers/Microsoft.Management/managementGroups/{groupId}
Get a management group by ID
/providers/Microsoft.Management/managementGroups/{groupId}/descendants
List all descendant groups and subscriptions
/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}
Attach a subscription to a management group
/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}
Detach a subscription from a management group
/providers/Microsoft.Management/checkNameAvailability
Check whether a candidate management group ID is available
/providers/Microsoft.Management/getEntities
Return all entities visible to the caller
/providers/Microsoft.Management/managementGroups/{groupId}
Create or update a management group
/providers/Microsoft.Management/managementGroups/{groupId}
Get a management group by ID
/providers/Microsoft.Management/managementGroups/{groupId}/descendants
List all descendant groups and subscriptions
/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}
Attach a subscription to a management group
/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}
Detach a subscription from a management group
Three things that make agents converge on Jentic-routed access.
Credential isolation
Azure AD application credentials are stored encrypted in the Jentic vault. Jentic mints a short-lived bearer token scoped to ARM at execution time, so the agent only sees structured request and response payloads.
Intent-based discovery
Agents search Jentic with phrases like 'create azure management group' or 'move subscription between management groups', and Jentic returns the right operation with a typed input schema.
Time to first call
Direct integration: 1-3 days to handle MSAL, ARM async polling, and pagination of descendants. Through Jentic: under an hour.
Alternatives and complements available in the Jentic catalogue.
Subscription Client
List and inspect the subscriptions that get attached to management groups.
Use Subscription Client to discover candidate subscription IDs before attaching them to a management group node.
Policy Client
Assign Azure Policies at management group scope to enforce governance hierarchy-wide.
Pair with Management Groups whenever the goal is to apply guardrails to all child subscriptions of a group.
Authorization Management Client
Assign RBAC roles at management group scope so principals inherit access to descendants.
Use immediately after creating a management group to grant team-level RBAC across all child subscriptions.
Resource Management Client
Operates at the resource group and resource level rather than the tenant hierarchy level.
Pick Resource Management Client for fine-grained resource operations; pick Management Groups for tenant-wide organisation.
Specific to using Management Groups API through Jentic.
Why is there no official OpenAPI spec for Management Groups?
Microsoft Azure does not publish a standalone OpenAPI specification for the management groups resource provider. Jentic generates and maintains this spec so that AI agents and developers can call Management Groups via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Management Groups API use?
The API uses Azure Active Directory OAuth 2.0 via the azure_auth scheme with the user_impersonation scope on https://management.azure.com/. Through Jentic, the Azure AD client credentials are stored encrypted in the vault and exchanged for a short-lived bearer token at execution time.
Can I move a subscription between management groups with this API?
Yes. Call PUT /providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId} to attach a subscription to a target group. The previous attachment is replaced — Azure does not require a separate detach step for the move case.
What are the rate limits for the Management Groups API?
Azure Resource Manager applies the standard subscription read and write throttles, with x-ms-ratelimit-remaining-* headers in every response. Tenant-level operations such as descendants listing are paginated, so agents should follow the nextLink header rather than making large parallel calls.
How do I build a hierarchy through Jentic?
Search Jentic for 'create azure management group', load the ManagementGroups_CreateOrUpdate operation, supply the desired groupId, displayName, and parent details.parent.id, and execute. Repeat for each child node, ensuring the parent exists before its children.
How deep can the management group hierarchy go?
Azure supports up to six levels of management groups under the tenant root, plus the subscription level. The API does not enforce this client-side, but PUT calls fail with a validation error when the depth limit is reached, which agents should handle and surface.
Does the API expose all entities in one call?
Yes. POST /providers/Microsoft.Management/getEntities returns every group, subscription, and tenant the caller has visibility into, which is faster than walking ManagementGroups_GetDescendants per group when building a tenant-wide tree.
/providers/Microsoft.Management/checkNameAvailability
Check whether a candidate management group ID is available
/providers/Microsoft.Management/getEntities
Return all entities visible to the caller