canonical: https://jentic.com/apis/azure.com/azuredatamanagementclient

# Microsoft Azure AzureDataManagementClient

Jentic publishes the only available OpenAPI specification for AzureDataManagementClient, keeping it validated and agent-ready. The API registers and manages on-premises SQL Server instances as Azure Data resources, letting agents create SQL Server registrations, list registered SQL Servers under a registration, and manage individual SQL Server entries. It targets the Microsoft.AzureData resource provider on Azure Resource Manager and is intended for hybrid scenarios where on-prem SQL Server inventory needs to surface inside the Azure portal and ARM tooling.

## For AI agents

Register on-premises SQL Server instances as Azure Data resources and manage their SQL Server child entries.

## Scope

Does not run SQL queries, manage cloud Azure SQL databases, or provision Azure Arc agents - use for Microsoft.AzureData SQL Server registrations only.

## Capabilities

- Register an on-premises SQL Server group as an Azure Data resource
- List SQL Server registrations across a subscription or resource group
- Patch a SQL Server registration to update its tags or properties
- Delete a SQL Server registration to remove it from Azure
- List SQL Server entries under a registration
- Create or delete a named SQL Server child resource on a registration
- List operations exposed by the Microsoft.AzureData provider

## Use cases

### Bring on-prem SQL Server inventory into Azure

Register a group of on-premises SQL Server instances as a single Microsoft.AzureData/sqlServerRegistrations resource so the inventory shows up in the Azure portal and is reachable from ARM tooling. The PUT /sqlServerRegistrations/{name} operation accepts the registration metadata; subsequent PUT calls add named SQL Server children. Required for hybrid Azure Data workflows that span on-prem and cloud.

Example prompt: PUT /resourceGroups/{rg}/providers/Microsoft.AzureData/sqlServerRegistrations/onprem-prod and verify provisioningState=Succeeded

### Inventory audit of registered SQL Servers

Walk every registration in a subscription and list the SQL Server children attached, building a single source of truth for on-prem SQL inventory visible to Azure. The GET /sqlServerRegistrations and nested /sqlServers collection calls return the full inventory in two passes. Output supports compliance reporting and licence reconciliation.

Example prompt: GET /subscriptions/{sub}/providers/Microsoft.AzureData/sqlServerRegistrations, then for each registration GET its sqlServers collection and emit a CSV

### Add a new SQL Server to an existing registration

Attach a newly provisioned on-prem SQL Server to an existing registration so it is visible alongside its peers in Azure. The PUT /sqlServerRegistrations/{name}/sqlServers/{sqlServerName} operation creates the child resource without touching the parent registration. Standard step when bringing additional servers online into an existing hybrid estate.

Example prompt: PUT /sqlServerRegistrations/onprem-prod/sqlServers/sql-east-3 with the SQL Server properties and confirm subsequent GET returns the new child

### Decommission a registration

Remove a SQL Server registration from Azure when retiring an on-prem environment. The DELETE /sqlServerRegistrations/{name} operation removes the registration and detaches its SQL Server children. Use during data centre decommissioning or migration cleanup.

Example prompt: DELETE /resourceGroups/{rg}/providers/Microsoft.AzureData/sqlServerRegistrations/{name} and verify subsequent GET returns 404

### Agent-driven hybrid inventory

Let an AI agent maintain Azure Data registrations as servers are added and removed in the data centre, without an operator hand-coding the long ARM URL. Through Jentic the agent searches by intent, loads the registration schema, and executes the right PUT or DELETE. Removes a class of typos when constructing nested Microsoft.AzureData resource paths.

Example prompt: Search Jentic for 'register sql server with azure data', load the registration schema, and execute the PUT against the named registration

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.AzureData/sqlServerRegistrations | List registrations in a subscription |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations | List registrations in a resource group |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations/{sqlServerRegistrationName} | Create or update a SQL Server registration |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations/{sqlServerRegistrationName} | Patch tags on a registration |
| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations/{sqlServerRegistrationName} | Delete a registration |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations/{sqlServerRegistrationName}/sqlServers | List SQL Server children under a registration |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations/{sqlServerRegistrationName}/sqlServers/{sqlServerName} | Create or update a SQL Server child |
| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlServerRegistrations/{sqlServerRegistrationName}/sqlServers/{sqlServerName} | Delete a SQL Server child |

## Key resources

- **sqlServerRegistrations** — Create, read, update, or delete SQL Server registrations
- **sqlServers** — Manage individual SQL Server child resources under a registration
- **operations** — List operations exposed by the Microsoft.AzureData provider

## Why Jentic

- **Setup:** Wiring the AzureDataManagementClient API by hand means registering an Azure AD app for OAuth2 bearer auth against management.azure.com and building the nested Microsoft.AzureData path down to each SQL Server child under a registration. Through Jentic you install once, import AzureDataManagementClient from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The registration and child sit in the URL path (/sqlServerRegistrations/{sqlServerRegistrationName}/sqlServers/{sqlServerName}), so a rule can pin your agent to one registration. You choose the operations it may call, so the DELETE calls that remove a registration or detach a SQL Server child are not included unless you add them.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register an on-prem sql server with azure data' or 'list sql server registrations', and Jentic returns the matching Microsoft.AzureData sqlServerRegistrations operation with its property schema so the agent calls the right endpoint without memorising the nested ARM path.

## Related APIs

- **Azure SQL Database** — Manages PaaS Azure SQL Databases rather than registrations of on-prem SQL Servers
- **Azure SQL Server API spec** — Manages connection policy on cloud-side Microsoft.Sql servers
- **Azure Resource Graph** — Queries the registrations created here at scale across subscriptions

## FAQ

### Why is there no official OpenAPI spec for AzureDataManagementClient?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AzureDataManagementClient via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does this API use?

The API uses Azure AD OAuth 2.0 with the implicit flow, scoped to user_impersonation against management.azure.com. Through Jentic, the bearer token is held in your Jentic One instance and exchanged for a scoped access token at execution time.

### Can I register multiple SQL Servers under one registration?

Yes. A sqlServerRegistration is a parent resource; SQL Server entries are children at /sqlServerRegistrations/{name}/sqlServers/{sqlServerName}. PUT each child to add it; DELETE to detach without removing the parent.

### What are the rate limits for this API?

Azure Resource Manager applies tenant-level throttling - typically 12,000 reads and 1,200 writes per hour per subscription. Most operations on this preview API are synchronous and return 200 with the resulting resource.

### How do I create a registration through Jentic?

Run pip install jentic, then search for 'register sql server with azure data'. Jentic returns the PUT /sqlServerRegistrations/{name} operation, loads the registration property schema, and executes against the resource group you specify.

### Does this API run queries against the registered SQL Servers?

No. This API manages registration metadata only. Connecting to the registered SQL Server data plane to run queries requires a SQL client and direct network access to the on-prem instance.

### Can I limit what my agent is allowed to do with the Microsoft Azure Data SQL Server API?

Yes. Because you run Jentic One yourself, your own rules decide which Microsoft.AzureData operations and credentials the agent may use. You pick the exact calls it can make, so destructive operations like DELETE on a sqlServerRegistration or on a SQL Server child are excluded unless you explicitly add them. Since the registration and child names sit in the URL path, a rule can also pin the agent to a single registration while still allowing it to list or create the SQL Server entries beneath it.
