---
title: "Start batch operation"
method: POST
path: "/3.0/batches"
tags: ["batches"]
---

# Start batch operation

`POST /3.0/batches`

## Request

- Base URL: `https://api.mailchimp.com`
- URL: `https://api.mailchimp.com/3.0/batches`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://login.mailchimp.com/oauth2/authorize`
    - Token URL: `https://login.mailchimp.com/oauth2/token`
- TypeScript: <https://skmtc.dev/mailchimp/apis/mailchimp-api/docs/3.0/batches/post.ts> (a function with typed inputs; its response is checked against the schema)

Begin processing a batch operations request.

## Request body

- object
  - `operations` object[], required: An array of objects that describes operations to perform.
    - `body` string: A string containing the JSON body to use with the request.
    - `headers` object: Any HTTP headers to include with the request.
    - `method` 'GET' | 'get' | 'POST' | 'post' | 'PUT' | 'put' | 'PATCH' | 'patch' | 'DELETE' | 'delete', required: The HTTP method to use for the operation.
    - `operation_id` string: An optional client-supplied id returned with the operation results.
    - `params` object: Any request query parameters. Example parameters: {"count":10, "offset":0}
    - `path` string, required: The relative path to use for the operation.

## Response `200`

- object: The status of a batch request
  - `_links` object[]: A list of link types and descriptions for the API schema documents.
    - `href` string: This property contains a fully-qualified URL that can be called to retrieve the linked resource or perform the linked action.
    - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD': The HTTP method that should be used when accessing the URL defined in 'href'.
    - `rel` string: As with an HTML 'rel' attribute, this describes the type of link.
    - `schema` string: For HTTP methods that can receive bodies (POST and PUT), this is a URL representing the schema that the body should conform to.
    - `targetSchema` string: For GETs, this is a URL representing the schema that the response should conform to.
  - `completed_at` union: The date and time when all operations in the batch request completed in ISO 8601 format.
    - string, date-time
    - ''
  - `errored_operations` integer: The number of completed operations that returned an error.
  - `finished_operations` integer: The number of completed operations. This includes operations that returned an error.
  - `id` string: A string that uniquely identifies this batch request.
  - `response_body_url` string: The URL of the gzipped archive of the results of all the operations.
  - `status` 'pending' | 'preprocessing' | 'started' | 'finalizing' | 'finished': The status of the batch call. [Learn more](https://mailchimp.com/developer/marketing/guides/run-async-requests-batch-endpoint/#check-the-status-of-a-batch-operation) about the batch operation status.
  - `submitted_at` string, date-time: The date and time when the server received the batch request in ISO 8601 format.
  - `total_operations` integer: The total number of operations to complete as part of this batch request. For GET requests requiring pagination, each page counts as a separate operation.

## Other responses

- `default`: An error generated by the Mailchimp API.

---

[API](https://skmtc.dev/mailchimp/apis/mailchimp-api.md) - [All operations](https://skmtc.dev/mailchimp/apis/mailchimp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mailchimp/apis/mailchimp-api/revisions/53bf4b156855?raw)
