canonical: https://jentic.com/apis/azure.com/azure-migrate-hub

# Microsoft Azure Azure Migrate Hub

Jentic publishes the only available OpenAPI specification for Azure Migrate Hub, keeping it validated and agent-ready. Azure Migrate Hub is the Microsoft.Migrate resource provider for tracking and orchestrating workload migrations to Azure. It exposes 23 endpoints for managing migrate projects and the discovered assets inside them, including servers, databases, database instances, web applications, and migrate events. Agents can register solutions against a project, refresh discovered inventory summaries, and inspect machine and database details that have been collected by Azure Migrate appliances.

## For AI agents

List discovered servers, databases, and web apps inside an Azure Migrate project, register migration solutions, and inspect migration progress events for workloads moving to Azure.

## Scope

Does not handle assessment scoring, post-migration resource provisioning, or billing reconciliation - use for Azure Migrate project, discovered asset, solution, and event operations only.

## Capabilities

- Create or update Azure Migrate projects in a resource group and configure their discovered asset summaries
- List the machines, databases, database instances, and web applications discovered against a migrate project
- Register and configure migration solutions on a migrate project and retrieve their configuration with shared keys
- Read migrate event records to investigate why a discovered asset failed assessment or migration
- Refresh the inventory summary for a migrate project so that downstream tooling sees the latest discovered counts
- Delete a migrate project and clean up its associated discovery and assessment data

## Use cases

### Migration Discovery Inventory Review

Pull a consolidated view of every server, database, and web application discovered inside an Azure Migrate project so a cloud architect can plan migration waves. The API returns paginated lists of machines, databases, database instances, and web applications scoped to a single migrateProject, each with the discovery metadata captured by the on-premises appliance. This replaces manual portal browsing across hundreds of assets and runs in seconds against the Microsoft.Migrate resource provider.

Example prompt: List all machines and databases discovered against the migrate project named 'prod-datacenter-move' in resource group 'migration-rg' and return a summary count per asset type

### Register a Migration Solution

Programmatically register a partner or first-party migration solution against an existing Azure Migrate project and retrieve its shared key so an automation pipeline can post discovery data. Solutions are managed under the migrateProjects/{name}/solutions path and support PUT for create-or-update, GET for configuration retrieval, and a getConfig action that returns the credentials needed by an agent or appliance to send telemetry. This is the entry point for wiring custom discovery tooling into Azure Migrate.

Example prompt: Register a custom solution named 'inventory-bot' on the migrate project 'prod-datacenter-move' and call getConfig to retrieve its shared key

### Audit Migrate Events for Failed Discoveries

Surface the migrate event log on a project to identify discovery or assessment failures and feed them into a remediation workflow. The events endpoint returns a paged list keyed by machine, database, or web application, with a status code and message explaining why an asset could not be assessed. An agent can poll this list after each discovery cycle and open a ticket per failure rather than waiting for an operator to scan the portal.

Example prompt: Retrieve all migrate events for project 'prod-datacenter-move' where the status indicates a discovery error and emit one summary line per event

### Agent-Driven Migration Triage via Jentic

An AI agent retrieves the Azure Migrate Hub spec through Jentic and chains discovery, event, and solution operations to triage a migration wave end-to-end. The agent searches Jentic for 'list discovered servers in an Azure Migrate project', loads the matching operation schema, and then walks machines, databaseInstances, and events under the same project to produce a readiness report. Credentials are supplied as a scoped Azure AD bearer token from your Jentic One instance, never inlined in the agent's prompt.

Example prompt: Call the Jentic search for 'list discovered servers in an Azure Migrate project', execute against the migrate project 'prod-datacenter-move', then list its events and emit a triage report grouping assets by readiness state

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName} | Get a migrate project |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName} | Create or update a migrate project |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/machines | List discovered machines on a project |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/databases | List discovered databases on a project |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/solutions | List migration solutions registered on a project |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/migrateEvents | List migrate event records for a project |

## Key resources

- **MigrateProjects** — Create, read, update, and delete Microsoft.Migrate projects scoped to a resource group, and refresh their discovery summaries.
- **Machines** — List and inspect servers discovered against a migrate project, with their compute and OS metadata.
- **Databases and DatabaseInstances** — List databases and database instances inventoried by Azure Migrate appliances under a migrate project.
- **WebApplications** — Enumerate web applications discovered against a migrate project for app-tier migration planning.
- **Solutions** — Register, configure, and retrieve shared keys for migration solutions running against a migrate project.
- **MigrateEvents** — Read event records describing discovery and assessment outcomes for migrated assets.

## Why Jentic

- **Setup:** Wiring Azure Migrate Hub by hand means registering an Azure AD app, acquiring bearer tokens for the Azure Resource Manager audience at https://management.azure.com/, and writing your own paging and retry loops that honour ARM's Retry-After throttling. Through Jentic you install once, import Azure Migrate Hub from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The migrate project id travels in the URL path (/migrateProjects/{migrateProjectName}/...), so a rule can pin your agent to one project: it can list discovered machines, databases, and events for that project and nothing else. You choose the operations it may call, so destructive ones like deleting a migrate project are not included unless you add them.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived bearer token at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list discovered servers in an Azure Migrate project' or 'register a migration solution', and Jentic returns the matching Microsoft.Migrate operation with its input schema so the agent calls the right endpoint without browsing the ARM reference.

## Related APIs

- **Azure Migrate** — Adjacent Microsoft.Migrate API covering project assessment artefacts and groups.
- **Azure Resource Graph** — Run KQL queries across all Azure resources, including post-migration workloads.
- **Azure SQL Database** — Manage the Azure SQL targets that databases are migrated into.

## FAQ

### Why is there no official OpenAPI spec for Azure Migrate Hub?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Azure Migrate Hub 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 the Azure Migrate Hub API use?

The API uses Azure Active Directory OAuth 2.0 (the azure_auth scheme defined in the spec) with the user_impersonation scope on https://management.azure.com/. Through Jentic, the bearer token is fetched from your Jentic One instance and injected at call time so the agent never sees the raw client secret or refresh token.

### Can I list every server discovered by Azure Migrate using this API?

Yes. Send GET to /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/machines to page through every discovered machine in a single migrate project. Equivalent endpoints exist for /databases, /databaseInstances, and /webApplications under the same project.

### What are the rate limits for the Azure Migrate Hub API?

The spec does not declare rate limits; calls are governed by Azure Resource Manager throttling, which applies a per-subscription budget for read and write operations on Microsoft.Migrate. If you receive HTTP 429, honour the Retry-After header before resending the request.

### How do I refresh the discovered asset summary on a migrate project through Jentic?

Search Jentic for 'refresh azure migrate project summary', load the schema for the refreshSummary action under /migrateProjects/{migrateProjectName}/refreshSummary, and execute it with the subscriptionId, resourceGroupName, and migrateProjectName. Jentic injects the Azure AD token automatically.

### Is the Azure Migrate Hub API free?

There is no separate fee for control plane calls to Microsoft.Migrate; Azure Migrate itself is free for discovery and assessment, and you only pay for the underlying Azure resources you provision after migration. Outbound bandwidth and assessment-driven log storage may incur standard Azure charges.

### Can I limit what my agent is allowed to do with the Azure Migrate Hub API?

Yes. Because you run your own self-hosted Jentic One instance, your rules decide which Microsoft.Migrate operations and credentials the agent may use. Since the migrate project id travels in the URL path, you can pin the agent to a single project so it lists only that project's discovered machines, databases, database instances, web applications, and migrate events. You choose the operations it may call, so destructive ones like deleting a migrate project are excluded unless you explicitly add them.
