# Microsoft Azure Batch > Azure Batch is Microsoft's managed job-scheduling and cluster-management service for > large-scale parallel and high-performance computing workloads. You describe pools of VMs, > jobs, and tasks; Batch allocates the compute, schedules the work, and tears it down. > There is no charge for Batch itself — you pay for the virtual machines, storage and > networking the pools consume. Generated by API Evangelist on 2026-09-17 from the provider's own published contracts and documentation. This is a third-party profile; it is not published by Microsoft. No /llms.txt is served by Microsoft on learn.microsoft.com, azure.microsoft.com or microsoft.com (all 404 on 2026-09-17), so this file is GENERATED, not harvested. ## Two APIs, two planes - **Data plane** — `https://{account}.{region}.batch.azure.com`. Jobs, job schedules, tasks, pools, nodes and applications. 51 paths, 72 operations, `api-version=2025-06-01`. OAuth scope `https://batch.core.windows.net//.default`. - **Management plane** — `https://management.azure.com`. Batch accounts, application packages, pool ARM resources, private endpoints. 29 paths, 42 operations, standard ARM. ## Contracts - [Batch service OpenAPI (Swagger 2.0, 2025-06-01, verbatim from Microsoft)](https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/batch/data-plane/Batch/stable/2025-06-01/BatchService.json): the data-plane contract, 72 operations, 236 schemas, 101 examples. - [Batch management OpenAPI (Swagger 2.0, 2025-06-01, verbatim from Microsoft)](https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/batch/resource-manager/Microsoft.Batch/Batch/stable/2025-06-01/openapi.json): the control-plane contract, 42 operations. - [azure-rest-api-specs — Batch](https://github.com/Azure/azure-rest-api-specs/tree/main/specification/batch): 22 stable data-plane versions, publicly version-controlled. This repository is the changelog. ## Documentation - [Batch REST API reference](https://learn.microsoft.com/en-us/rest/api/batchservice/) - [Azure Batch documentation](https://learn.microsoft.com/en-us/azure/batch/) - [Batch service workflow and resources](https://learn.microsoft.com/en-us/azure/batch/batch-service-workflow-features) - [Authenticate Batch with Microsoft Entra ID](https://learn.microsoft.com/en-us/azure/batch/batch-aad-auth) - [Efficient list queries ($filter / $select / $expand)](https://learn.microsoft.com/en-us/azure/batch/batch-efficient-list-queries) - [az batch CLI reference](https://learn.microsoft.com/en-us/cli/azure/batch) — 127 commands across 10 groups. ## What an agent needs to know before calling it - **Auth.** Microsoft Entra ID OAuth 2.0 (managed identity or service principal) is the recommended path; a legacy HMAC shared-key scheme also exists. There is no granular scope surface — one `.default` scope per plane, and real permission comes from Azure RBAC role assignments on the Batch account. - **Versioning.** `api-version` is a REQUIRED query parameter on every operation. Current is `2025-06-01`. An unrecognised value returns `UnsupportedRequestVersion` (400). - **Ids are yours.** Job, pool, task and schedule ids are caller-supplied, not server-generated. Re-creating an existing id returns a `*Exists` conflict rather than a duplicate — which is the closest thing Batch has to create idempotency. - **No Idempotency-Key.** 28 of 72 operations accept `If-Match` / `If-None-Match` for optimistic concurrency (`ConditionNotMet`, 412 on write / 304 on read). Creates have neither a conditional header nor a key. - **Errors are not RFC 9457.** The envelope is `{code, message:{lang,value}, values[]}` in `application/json`. Microsoft publishes 125 error codes across four families. - **Rate limits are quotas, not requests per minute.** Batch meters accounts, cores, jobs and pools. No `RateLimit-*` headers, no 429. Overload surfaces as `ServerBusy` (503). A brand-new account can have a dedicated-core quota of zero in some regions. - **Long-running work polls the resource.** 14 operations return 202 Accepted; the caller polls the resource `state` (`resizing` -> `steady`, `deleting`) rather than an operation-status URL. - **What can be undone.** `disable`/`enable`, `terminate`/`reactivate` (tasks) and `resize`/`stopresize` are reversible. `delete` — of a job, task, pool or node — is not, and `removenodes` destroys the nodes and any task state on them. A completed task can be reactivated only within its retention (7 days by default) and inside the 180-day maximum task lifetime. - **No events.** Batch publishes no webhooks and is not an Event Grid source. State changes are observed by polling, or by routing Batch service logs to Azure Monitor. ## SDKs - JavaScript: [`@azure/batch` 13.0.0](https://www.npmjs.com/package/@azure/batch) (2026-05-08) - Python: [`azure-batch` 15.1.0](https://pypi.org/project/azure-batch/) (2026-05-01) - .NET: [`Azure.Compute.Batch` 1.0.0](https://www.nuget.org/packages/Azure.Compute.Batch) (2026-05-01); legacy `Microsoft.Azure.Batch` 16.3.1 (2024-09-20) - Java: [`com.azure:azure-compute-batch` 1.0.0-beta.4](https://central.sonatype.com/artifact/com.azure/azure-compute-batch) (2025-03-25, still beta) - Go: [`sdk/batch/azbatch` v0.1.0](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/batch/azbatch) (2025-05-06) - Ruby: `azure_mgmt_batch` 0.18.1 (2020-06-02) — the Azure SDK for Ruby is retired. ## MCP Microsoft ships the [Azure MCP Server](https://github.com/microsoft/mcp) (`@azure/mcp`, stdio, no hosted endpoint). It has **no Azure Batch tool area** as of 2026-09-17, so there is no MCP path to Batch jobs, pools or tasks. A candidate tool surface derived from the REST contract is recorded in `mcp/microsoft-azure-batch-mcp.yml`. ## Operations, pricing and trust - [Pricing](https://azure.microsoft.com/en-us/pricing/details/batch/) — no charge for Batch; you pay for underlying VMs, storage and networking. Spot VMs are the discount lever. Reserved Instances apply only in user-subscription pool allocation mode. - [Service quotas and limits](https://learn.microsoft.com/en-us/azure/batch/batch-quota-limit) - [Status](https://azure.status.microsoft/en-us/status) - [Batch error codes](https://learn.microsoft.com/en-us/rest/api/batchservice/batch-status-and-error-codes) - [Vulnerability disclosure (MSRC)](https://www.microsoft.com/en-us/msrc/cvd) · [security.txt](https://www.microsoft.com/.well-known/security.txt) - [Microsoft Trust Center](https://www.microsoft.com/en-us/trust-center) — Azure-wide ISO 27001, SOC 2 Type 2, FedRAMP, PCI DSS, HIPAA/HITECH and GDPR programmes. ## Optional - [Certificate retirement migration guide](https://learn.microsoft.com/en-us/azure/batch/batch-certificate-migration-guide) — Batch account certificates retired 2024-02-29; use Key Vault. - [Azure Updates filtered to Batch](https://azure.microsoft.com/en-us/updates/?filters=%5B%22Batch%22%5D)