{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-mutate-batch-job-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateBatchJobRequest",
  "description": "Request message for BatchJobService.MutateBatchJob.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-batchjobs-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateBatchJobRequest",
  "type": "object",
  "properties": {
    "operation": {
      "description": "Required. The operation to perform on an individual batch job.",
      "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__BatchJobOperation"
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Resources_BatchJob_BatchJobMetadata": {
      "description": "Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations.",
      "type": "object",
      "properties": {
        "startDateTime": {
          "description": "Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:30\"",
          "type": "string"
        },
        "executedOperationCount": {
          "format": "int64",
          "type": "string",
          "description": "Output only. The number of mutate operations executed by the batch job. Present only if the job has started running."
        },
        "executionLimitSeconds": {
          "format": "int32",
          "type": "integer",
          "description": "Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled."
        },
        "estimatedCompletionRatio": {
          "description": "Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.",
          "type": "number",
          "format": "double"
        },
        "operationCount": {
          "format": "int64",
          "description": "Output only. The number of mutate operations in the batch job.",
          "type": "string"
        },
        "creationDateTime": {
          "type": "string",
          "description": "Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:00\""
        },
        "completionDateTime": {
          "type": "string",
          "description": "Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: \"2018-03-05 09:16:00\""
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__BatchJob": {
      "description": "A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults.",
      "type": "object",
      "properties": {
        "longRunningOperation": {
          "type": "string",
          "description": "Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE."
        },
        "id": {
          "type": "string",
          "description": "Output only. ID of this batch job.",
          "format": "int64"
        },
        "nextAddSequenceToken": {
          "type": "string",
          "description": "Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING."
        },
        "metadata": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources_BatchJob_BatchJobMetadata",
          "description": "Output only. Contains additional information about this batch job."
        },
        "status": {
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "RUNNING",
            "DONE"
          ],
          "description": "Output only. Status of this batch job.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The job is not currently running.",
            "The job is running.",
            "The job is done."
          ]
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__BatchJobOperation": {
      "type": "object",
      "properties": {
        "create": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__BatchJob",
          "description": "Create operation: No resource name is expected for the new batch job."
        },
        "remove": {
          "description": "Remove operation: The batch job must not have been run. A resource name for the removed batch job is expected, in this format: `customers/{customer_id}/batchJobs/{batch_job_id}`",
          "type": "string"
        }
      },
      "description": "A single operation on a batch job."
    }
  }
}