Azure Batch Service API

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 72

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. #
GET /pools/{poolId}/nodes/{nodeId}/remoteloginsettings Gets the settings required for remote login to a Compute Node. #
POST /pools/{poolId}/nodes/{nodeId}/start Starts the specified Compute Node. #
POST /pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs Upload Azure Batch service log files from the specified Compute Node to Azure Blob Storage. #
POST /pools/{poolId}/nodes/{nodeId}/users Adds a user Account to the specified Compute Node. #
PUT /pools/{poolId}/nodes/{nodeId}/users/{userName} Updates the password and expiration time of a user Account on the specified Compute Node. #
DELETE /pools/{poolId}/nodes/{nodeId}/users/{userName} Deletes a user Account from the specified Compute Node. #
POST /pools/{poolId}/removenodes Removes Compute Nodes from the specified Pool. #
POST /pools/{poolId}/resize Changes the number of Compute Nodes that are assigned to a Pool. #
POST /pools/{poolId}/stopresize Stops an ongoing resize operation on the Pool. #
POST /pools/{poolId}/updateproperties Updates the properties of the specified Pool. #
GET /poolusagemetrics Lists the usage metrics, aggregated by Pool across individual time intervals, for the specified Account. #
GET /supportedimages Lists all Virtual Machine Images supported by the Azure Batch service. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-azure-batch-batch-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-azure-batch-batch-service-openapi.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "title": "Azure Batch",
    "version": "2025-06-01",
    "description": "Azure Batch provides Cloud-scale job scheduling and compute management.",
    "x-typespec-generated": [
      {
        "emitter": "@azure-tools/typespec-autorest"
      }
    ]
  },
  "schemes": [
    "https"
  ],
  "x-ms-parameterized-host": {
    "hostTemplate": "{endpoint}",
    "useSchemePrefix": false,
    "parameters": [
      {
        "name": "endpoint",
        "in": "path",
        "description": "Batch account endpoint (for example: https://batchaccount.eastus2.batch.azure.com).",
        "required": true,
        "type": "string",
        "format": "uri",
        "x-ms-skip-url-encoding": true
      }
    ]
  },
  "produces": [
    "application/json"
  ],
  "consumes": [
    "application/json"
  ],
  "security": [
    {
      "OAuth2Auth": [
        "https://batch.core.windows.net//.default"
      ]
    }
  ],
  "securityDefinitions": {
    "OAuth2Auth": {
      "type": "oauth2",
      "flow": "implicit",
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
      "scopes": {
        "https://batch.core.windows.net//.default": ""
      }
    }
  },
  "tags": [
    {
      "name": "Applications"
    },
    {
      "name": "Pools"
    },
    {
      "name": "Jobs"
    },
    {
      "name": "Job Schedules"
    },
    {
      "name": "Tasks"
    },
    {
      "name": "Nodes"
    }
  ],
  "paths": {
    "/applications": {
      "get": {
        "operationId": "Applications_ListApplications",
        "tags": [
          "Applications"
        ],
        "summary": "Lists all of the applications available in the specified Account.",
        "description": "This operation returns only Applications and versions that are available for\nuse on Compute Nodes; that is, that can be used in an Package reference. For\nadministrator information about applications and versions that are not yet\navailable to Compute Nodes, use the Azure portal or the Azure Resource Manager\nAPI.",
        "parameters": [
          {
            "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
          },
          {
            "name": "timeOut",
            "in": "query",
            "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.\".",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "client-request-id",
            "in": "header",
            "description": "The caller-generated request identity, in the form of a GUID with no decoration\nsuch as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "clientRequestId"
          },
          {
            "name": "return-client-request-id",
            "in": "header",
            "description": "Whether the server should return the client-request-id in the response.",
            "required": false,
            "type": "boolean",
            "default": false,
            "x-ms-client-name": "returnClientRequestId"
          },
          {
            "name": "ocp-date",
            "in": "header",
            "description": "The time the request was issued. Client libraries typically set this to the\ncurrent system clock time; set it explicitly if you are calling the REST API\ndirectly.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ocpdate"
          },
          {
            "name": "maxresults",
            "in": "query",
            "description": "The maximum number of items to return in the response. A maximum of 1000\napplications can be returned.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 1000,
            "minimum": 1,
            "maximum": 1000
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/BatchApplicationListResult"
            },
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc7231",
                "description": "The time at which the resource was last modified."
              },
              "client-request-id": {
                "type": "string",
                "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true."
              },
              "request-id": {
                "type": "string",
                "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/BatchError"
            }
          }
        },
        "x-ms-examples": {
          "List applications": {
            "$ref": "./examples/Applications_ListApplications.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "odata.nextLink"
        }
      }
    },
    "/applications/{applicationId}": {
      "get": {
        "operationId": "Applications_GetApplication",
        "tags": [
          "Applications"
        ],
        "summary": "Gets information about the specified Application.",
        "description": "This operation returns only Applications and versions that are available for\nuse on Compute Nodes; that is, that can be used in an Package reference. For\nadministrator information about Applications and versions that are not yet\navailable to Compute Nodes, use the Azure portal or the Azure Resource Manager\nAPI.",
        "parameters": [
          {
            "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
          },
          {
            "name": "timeOut",
            "in": "query",
            "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.\".",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "client-request-id",
            "in": "header",
            "description": "The caller-generated request identity, in the form of a GUID with no decoration\nsuch as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "clientRequestId"
          },
          {
            "name": "return-client-request-id",
            "in": "header",
            "description": "Whether the server should return the client-request-id in the response.",
            "required": false,
            "type": "boolean",
            "default": false,
            "x-ms-client-name": "returnClientRequestId"
          },
          {
            "name": "ocp-date",
            "in": "header",
            "description": "The time the request was issued. Client libraries typically set this to the\ncurrent system clock time; set it explicitly if you are calling the REST API\ndirectly.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ocpdate"
          },
          {
            "name": "applicationId",
            "in": "path",
            "description": "The ID of the Application",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/BatchApplication"
            },
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc7231",
                "description": "The time at which the resource was last modified."
              },
              "client-request-id": {
                "type": "string",
                "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true."
              },
              "request-id": {
                "type": "string",
                "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/BatchError"
            }
          }
        },
        "x-ms-examples": {
          "Get applications": {
            "$ref": "./examples/Applications_GetApplication.json"
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "operationId": "Jobs_ListJobs",
        "tags": [
          "Jobs"
        ],
        "summary": "Lists all of the Jobs in the specified Account.",
        "description": "Lists all of the Jobs in the specified Account.",
        "parameters": [
          {
            "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
          },
          {
            "name": "timeOut",
            "in": "query",
            "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.\".",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "client-request-id",
            "in": "header",
            "description": "The caller-generated request identity, in the form of a GUID with no decoration\nsuch as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "clientRequestId"
          },
          {
            "name": "return-client-request-id",
            "in": "header",
            "description": "Whether the server should return the client-request-id in the response.",
            "required": false,
            "type": "boolean",
            "default": false,
            "x-ms-client-name": "returnClientRequestId"
          },
          {
            "name": "ocp-date",
            "in": "header",
            "description": "The time the request was issued. Client libraries typically set this to the\ncurrent system clock time; set it explicitly if you are calling the REST API\ndirectly.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ocpdate"
          },
          {
            "name": "maxresults",
            "in": "query",
            "description": "The maximum number of items to return in the response. A maximum of 1000\napplications can be returned.",
            "required": false,
            "type": "integer",
            "format": "int32",
            "default": 1000,
            "minimum": 1,
            "maximum": 1000
          },
          {
            "name": "$filter",
            "in": "query",
            "description": "An OData $filter clause. For more information on constructing this filter, see\nhttps://learn.microsoft.com/rest/api/batchservice/odata-filters-in-batch#list-jobs.",
            "required": false,
            "type": "string"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "An OData $select clause.",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv"
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "An OData $expand clause.",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/BatchJobListResult"
            },
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc7231",
                "description": "The time at which the resource was last modified."
              },
              "client-request-id": {
                "type": "string",
                "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true."
              },
              "request-id": {
                "type": "string",
                "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/BatchError"
            }
          }
        },
        "x-ms-examples": {
          "Job list": {
            "$ref": "./examples/Jobs_ListJobs.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "odata.nextLink"
        }
      },
      "post": {
        "operationId": "Jobs_CreateJob",
        "tags": [
          "Jobs"
        ],
        "summary": "Creates a Job to the specified Account.",
        "description": "The Batch service supports two ways to control the work done as part of a Job.\nIn the first approach, the user specifies a Job Manager Task. The Batch service\nlaunches this Task when it is ready to start the Job. The Job Manager Task\ncontrols all other Tasks that run under this Job, by using the Task APIs. In\nthe second approach, the user directly controls the execution of Tasks under an\nactive Job, by using the Task APIs. Also note: when naming Jobs, avoid\nincluding sensitive information such as user names or secret project names.\nThis information may appear in telemetry logs accessible to Microsoft Support\nengineers.",
        "consumes": [
          "application/json; odata=minimalmetadata"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
          },
          {
            "name": "timeOut",
            "in": "query",
            "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.\".",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "client-request-id",
            "in": "header",
            "description": "The caller-generated request identity, in the form of a GUID with no decoration\nsuch as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "clientRequestId"
          },
          {
            "name": "return-client-request-id",
            "in": "header",
            "description": "Whether the server should return the client-request-id in the response.",
            "required": false,
            "type": "boolean",
            "default": false,
            "x-ms-client-name": "returnClientRequestId"
          },
          {
            "name": "ocp-date",
            "in": "header",
            "description": "The time the request was issued. Client libraries typically set this to the\ncurrent system clock time; set it explicitly if you are calling the REST API\ndirectly.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ocpdate"
          },
          {
            "name": "job",
            "in": "body",
            "description": "The Job to be created.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchJobCreateOptions"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The request has succeeded and a new resource has been created as a result.",
            "headers": {
              "DataServiceId": {
                "type": "string",
                "description": "The OData ID of the resource to which the request applied."
              },
              "ETag": {
                "type": "string",
                "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc7231",
                "description": "The time at which the resource was last modified."
              },
              "client-request-id": {
                "type": "string",
                "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true."
              },
              "request-id": {
                "type": "string",
                "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/BatchError"
            }
          }
        },
        "x-ms-examples": {
          "Creates a basic job": {
            "$ref": "./examples/Jobs_CreateJob_Basic.json"
          },
          "Creates a complex job": {
            "$ref": "./examples/Jobs_CreateJob_Complex.json"
          }
        }
      }
    },
    "/jobs/{jobId}": {
      "get": {
        "operationId": "Jobs_GetJob",
        "tags": [
          "Jobs"
        ],
        "summary": "Gets information about the specified Job.",
        "description": "Gets information about the specified Job.",
        "parameters": [
          {
            "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
          },
          {
            "name": "timeOut",
            "in": "query",
            "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.\".",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "client-request-id",
            "in": "header",
            "description": "The caller-generated request identity, in the form of a GUID with no decoration\nsuch as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "clientRequestId"
          },
          {
            "name": "return-client-request-id",
            "in": "header",
            "description": "Whether the server should return the client-request-id in the response.",
            "required": false,
            "type": "boolean",
            "default": false,
            "x-ms-client-name": "returnClientRequestId"
          },
          {
            "name": "ocp-date",
            "in": "header",
            "description": "The time the request was issued. Client libraries typically set this to the\ncurrent system clock time; set it explicitly if you are calling the REST API\ndirectly.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ocpdate"
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "description": "A timestamp indicating the last modified time of the resource known to the\nclient. The operation will be performed only if the resource on the service has\nbeen modified since the specified time.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ifModifiedSince"
          },
          {
            "name": "If-Unmodified-Since",
            "in": "header",
            "description": "A timestamp indicating the last modified time of the resource known to the\nclient. The operation will be performed only if the resource on the service has\nnot been modified since the specified time.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ifUnmodifiedSince"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An ETag value associated with the version of the resource known to the client.\nThe operation will be performed only if the resource's current ETag on the\nservice exactly matches the value specified by the client.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "ifMatch"
          },
          {
            "name": "If-None-Match",
            "in": "header",
            "description": "An ETag value associated with the version of the resource known to the client.\nThe operation will be performed only if the resource's current ETag on the\nservice does not match the value specified by the client.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "ifNoneMatch"
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the Job.",
            "required": true,
            "type": "string"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "An OData $select clause.",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv"
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "An OData $expand clause.",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "csv"
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/BatchJob"
            },
            "headers": {
              "ETag": {
                "type": "string",
                "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc7231",
                "description": "The time at which the resource was last modified."
              },
              "client-request-id": {
                "type": "string",
                "description": "The client-request-id provided by the client during the request. This will be returned only if the return-client-request-id parameter was set to true."
              },
              "request-id": {
                "type": "string",
                "description": "A unique identifier for the request that was made to the Batch service. If a request is consistently failing and you have verified that the request is properly formulated, you may use this value to report the error to Microsoft. In your report, include the value of this request ID, the approximate time that the request was made, the Batch Account against which the request was made, and the region that Account resides in."
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/BatchError"
            }
          }
        },
        "x-ms-examples": {
          "Job get": {
            "$ref": "./examples/Jobs_GetJob.json"
          }
        }
      },
      "put": {
        "operationId": "Jobs_ReplaceJob",
        "tags": [
          "Jobs"
        ],
        "summary": "Updates the properties of the specified Job.",
        "description": "This fully replaces all the updatable properties of the Job. For example, if\nthe Job has constraints associated with it and if constraints is not specified\nwith this request, then the Batch service will remove the existing constraints.",
        "consumes": [
          "application/json; odata=minimalmetadata"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter"
          },
          {
            "name": "timeOut",
            "in": "query",
            "description": "The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.\".",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "client-request-id",
            "in": "header",
            "description": "The caller-generated request identity, in the form of a GUID with no decoration\nsuch as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "clientRequestId"
          },
          {
            "name": "return-client-request-id",
            "in": "header",
            "description": "Whether the server should return the client-request-id in the response.",
            "required": false,
            "type": "boolean",
            "default": false,
            "x-ms-client-name": "returnClientRequestId"
          },
          {
            "name": "ocp-date",
            "in": "header",
            "description": "The time the request was issued. Client libraries typically set this to the\ncurrent system clock time; set it explicitly if you are calling the REST API\ndirectly.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ocpdate"
          },
          {
            "name": "If-Modified-Since",
            "in": "header",
            "description": "A timestamp indicating the last modified time of the resource known to the\nclient. The operation will be performed only if the resource on the service has\nbeen modified since the specified time.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ifModifiedSince"
          },
          {
            "name": "If-Unmodified-Since",
            "in": "header",
            "description": "A timestamp indicating the last modified time of the resource known to the\nclient. The operation will be performed only if the resource on the service has\nnot been modified since the specified time.",
            "required": false,
            "type": "string",
            "format": "date-time-rfc7231",
            "x-ms-client-name": "ifUnmodifiedSince"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An ETag value associated with the version of the resource known to the client.\nThe operation will be performed only if the resource's current ETag on the\nservice exactly matches the value specified by the client.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "ifMatch"
          },
          {
            "name": "If-None-Match",
            "in": "header",
            "description": "An ETag value associated with the version of the resource known to the client.\nThe operation will be performed only if the resource's current ETag on the\nservice does not match the value specified by the client.",
            "required": false,
            "type": "string",
            "x-ms-client-name": "ifNoneMatch"
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The ID of the Job whose properties you want to update.",
            "required": true,
            "type": "string"
          },
          {
            "name": "job",
            "in": "body",
            "description": "A job with updated properties",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BatchJob"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request has succeeded.",
            "headers": {
              "DataServiceId": {
                "type": "string",
                "description": "The OData ID of the resource to which the request applied."
              },
              "ETag": {
                "type": "string",
                "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Modified-Since, If-Unmodified-Since, If-Match or If-None-Match headers."
              },
              "Last-Modified"

# --- truncated at 32 KB (814 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure-batch/refs/heads/main/openapi/_original/microsoft-azure-batch-batch-service-openapi.json