# Azure Batch Service API

**Canonical:** https://apis.io/apis/microsoft-azure-batch/microsoft-azure-batch-batch-service-api/  
**Provider:** Microsoft Azure Batch — https://apis.io/providers/microsoft-azure-batch/  
**Base URL:** https://{account}.{region}.batch.azure.com  
**Documentation:** https://learn.microsoft.com/en-us/rest/api/batchservice/

Azure Batch Service API is one of 5 APIs that [Microsoft Azure Batch](https://apis.io/providers/microsoft-azure-batch/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Batch, Compute, Job Scheduling, High Performance Computing, and Pools. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

The complete Azure Batch data-plane API, exactly as Microsoft publishes it: 51 paths, 72 operations, 236 schema definitions and 101 first-party request/response examples, at api-version 2025-06-01. Covers applications, pools, compute nodes, jobs, job schedules and tasks. The callable host is per Batch account and per region (https://{account}.{region}.batch.azure.com); batch.core.windows.net is the OAuth resource identifier, not an endpoint. Harvested verbatim from github.com/Azure/azure-rest-api-specs on 2026-09-17.

## Operations (60 of 72)

| Method | Path | Summary |
|---|---|---|
| GET | `/applications` | Lists all of the applications available in the specified Account. |
| GET | `/applications/{applicationId}` | Gets information about the specified Application. |
| GET | `/jobs` | Lists all of the Jobs in the specified Account. |
| POST | `/jobs` | Creates a Job to the specified Account. |
| GET | `/jobs/{jobId}` | Gets information about the specified Job. |
| PUT | `/jobs/{jobId}` | Updates the properties of the specified Job. |
| PATCH | `/jobs/{jobId}` | Updates the properties of the specified Job. |
| DELETE | `/jobs/{jobId}` | Deletes a Job. |
| POST | `/jobs/{jobId}/addtaskcollection` | Adds a collection of Tasks to the specified Job. |
| POST | `/jobs/{jobId}/disable` | Disables the specified Job, preventing new Tasks from running. |
| POST | `/jobs/{jobId}/enable` | Enables the specified Job, allowing new Tasks to run. |
| GET | `/jobs/{jobId}/jobpreparationandreleasetaskstatus` | Lists the execution status of the Job Preparation and Job Release Task for the specified Job across the Compute Nodes where the Job has run. |
| GET | `/jobs/{jobId}/taskcounts` | Gets the Task counts for the specified Job. |
| GET | `/jobs/{jobId}/tasks` | Lists all of the Tasks that are associated with the specified Job. |
| POST | `/jobs/{jobId}/tasks` | Creates a Task to the specified Job. |
| GET | `/jobs/{jobId}/tasks/{taskId}` | Gets information about the specified Task. |
| PUT | `/jobs/{jobId}/tasks/{taskId}` | — |
| DELETE | `/jobs/{jobId}/tasks/{taskId}` | Deletes a Task from the specified Job. |
| GET | `/jobs/{jobId}/tasks/{taskId}/files` | Lists the files in a Task's directory on its Compute Node. |
| GET | `/jobs/{jobId}/tasks/{taskId}/files/{filePath}` | — |
| DELETE | `/jobs/{jobId}/tasks/{taskId}/files/{filePath}` | Deletes the specified Task file from the Compute Node where the Task ran. |
| HEAD | `/jobs/{jobId}/tasks/{taskId}/files/{filePath}` | — |
| POST | `/jobs/{jobId}/tasks/{taskId}/reactivate` | Reactivates a Task, allowing it to run again even if its retry count has been exhausted. |
| GET | `/jobs/{jobId}/tasks/{taskId}/subtasksinfo` | Lists all of the subtasks that are associated with the specified multi-instance Task. |
| POST | `/jobs/{jobId}/tasks/{taskId}/terminate` | Terminates the specified Task. |
| POST | `/jobs/{jobId}/terminate` | Terminates the specified Job, marking it as completed. |
| GET | `/jobschedules` | Lists all of the Job Schedules in the specified Account. |
| POST | `/jobschedules` | Creates a Job Schedule to the specified Account. |
| GET | `/jobschedules/{jobScheduleId}` | — |
| PUT | `/jobschedules/{jobScheduleId}` | Updates the properties of the specified Job Schedule. |
| PATCH | `/jobschedules/{jobScheduleId}` | Updates the properties of the specified Job Schedule. |
| DELETE | `/jobschedules/{jobScheduleId}` | Deletes a Job Schedule from the specified Account. |
| HEAD | `/jobschedules/{jobScheduleId}` | Checks the specified Job Schedule exists. |
| POST | `/jobschedules/{jobScheduleId}/disable` | Disables a Job Schedule. |
| POST | `/jobschedules/{jobScheduleId}/enable` | Enables a Job Schedule. |
| GET | `/jobschedules/{jobScheduleId}/jobs` | Lists the Jobs that have been created under the specified Job Schedule. |
| POST | `/jobschedules/{jobScheduleId}/terminate` | Terminates a Job Schedule. |
| GET | `/nodecounts` | — |
| GET | `/pools` | Lists all of the Pools in the specified Account. |
| POST | `/pools` | Creates a Pool to the specified Account. |
| GET | `/pools/{poolId}` | — |
| PATCH | `/pools/{poolId}` | Updates the properties of the specified Pool. |
| DELETE | `/pools/{poolId}` | Deletes a Pool from the specified Account. |
| HEAD | `/pools/{poolId}` | — |
| POST | `/pools/{poolId}/disableautoscale` | Disables automatic scaling for a Pool. |
| POST | `/pools/{poolId}/enableautoscale` | Enables automatic scaling for a Pool. |
| POST | `/pools/{poolId}/evaluateautoscale` | Gets the result of evaluating an automatic scaling formula on the Pool. |
| GET | `/pools/{poolId}/nodes` | Lists the Compute Nodes in the specified Pool. |
| GET | `/pools/{poolId}/nodes/{nodeId}` | Gets information about the specified Compute Node. |
| POST | `/pools/{poolId}/nodes/{nodeId}/deallocate` | Deallocates the specified Compute Node. |
| POST | `/pools/{poolId}/nodes/{nodeId}/disablescheduling` | Disables Task scheduling on the specified Compute Node. |
| POST | `/pools/{poolId}/nodes/{nodeId}/enablescheduling` | Enables Task scheduling on the specified Compute Node. |
| GET | `/pools/{poolId}/nodes/{nodeId}/extensions` | Lists the Compute Nodes Extensions in the specified Pool. |
| GET | `/pools/{poolId}/nodes/{nodeId}/extensions/{extensionName}` | Gets information about the specified Compute Node Extension. |
| GET | `/pools/{poolId}/nodes/{nodeId}/files` | Lists all of the files in Task directories on the specified Compute Node. |
| GET | `/pools/{poolId}/nodes/{nodeId}/files/{filePath}` | — |
| DELETE | `/pools/{poolId}/nodes/{nodeId}/files/{filePath}` | Deletes the specified file from the Compute Node. |
| HEAD | `/pools/{poolId}/nodes/{nodeId}/files/{filePath}` | — |
| POST | `/pools/{poolId}/nodes/{nodeId}/reboot` | Restarts the specified Compute Node. |
| POST | `/pools/{poolId}/nodes/{nodeId}/reimage` | Reinstalls the operating system on the specified Compute Node. |

…and 12 more operations. They are listed in full on the page.

## Machine-readable artifacts (7)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/microsoft-azure-batch/refs/heads/main/openapi/_original/microsoft-azure-batch-batch-service-openapi.json
- **OpenAPI** — https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/batch/data-plane/Batch/stable/2025-06-01/BatchService.json
- **Overlay** — https://raw.githubusercontent.com/api-evangelist/microsoft-azure-batch/refs/heads/main/overlays/microsoft-azure-batch-batch-service-overlay.yaml
- **Examples** — https://raw.githubusercontent.com/api-evangelist/microsoft-azure-batch/refs/heads/main/examples/_index.yml
- **Documentation** — https://learn.microsoft.com/en-us/rest/api/batchservice/
- **APIReference** — https://learn.microsoft.com/en-us/rest/api/batchservice/
- **APIsJSON** — https://raw.githubusercontent.com/api-evangelist/microsoft-azure-batch/refs/heads/main/apis.yml

## Other Microsoft Azure Batch APIs (4)

- [Azure Batch Management API](https://apis.io/apis/microsoft-azure-batch/microsoft-azure-batch-management-api/)
- [microsoft-azure-batch Jobs API](https://apis.io/apis/microsoft-azure-batch/microsoft-azure-batch-jobs-api/)
- [microsoft-azure-batch Pools API](https://apis.io/apis/microsoft-azure-batch/microsoft-azure-batch-pools-api/)
- [microsoft-azure-batch Tasks API](https://apis.io/apis/microsoft-azure-batch/microsoft-azure-batch-tasks-api/)

## Tags

Batch, Compute, Job Scheduling, High Performance Computing, Pools, Task, Cloud

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/microsoft-azure-batch/microsoft-azure-batch-batch-service-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/microsoft-azure-batch/.
