---
title: "Resubmit Failed Batch"
method: POST
path: "/v1/buckets/{bucket_identifier}/batches/{batch_id}/resubmit"
tags: ["Bucket Batches"]
---

# Resubmit Failed Batch

`POST /v1/buckets/{bucket_identifier}/batches/{batch_id}/resubmit`

## Request

- Base URL: `https://api.mixpeek.com`
- URL: `https://api.mixpeek.com/v1/buckets/{bucket_identifier}/batches/{batch_id}/resubmit`
- Auth: HTTP bearer and API key in header `X-Namespace`

Re-run a terminal (FAILED/CANCELED/COMPLETED/…) batch: resets it to DRAFT and auto-submits by default, so the verb matches the behavior. Pass auto_submit=false to only park it as DRAFT — it must then be submitted manually before the draft TTL expires.

## Path parameters

- `bucket_identifier` string, required: The unique identifier of the bucket.
- `batch_id` string, required: The unique identifier of the batch.

## Query parameters

- `from_tier` integer, nullable: Resubmit starting from this tier number (0-indexed). Tiers before from_tier are preserved as COMPLETED. Omit to resubmit all tiers from scratch.
- `auto_submit` boolean, nullable: Auto-submit after the DRAFT reset. DEFAULT TRUE — 'resubmit' means re-run the batch, so one call does both. Pass false to only reset to DRAFT (parked; you must POST /submit before the draft TTL expires or the zombie reaper cancels it). Accepted here (query) or in the JSON body as {"auto_submit": false}.
- `trigger_processing` boolean, nullable: Deprecated alias of auto_submit (kept for callers taught by the old submit-endpoint 400 hint). Accepted in query or JSON body; auto_submit wins when both are supplied.

## Request body

- object, nullable: Optional body; {"auto_submit": bool} (or the deprecated {"trigger_processing": bool}) is honored.

## Response `200`

Successful Response

- object

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-09** `61a175e8eb9a`: 1 warning, 5 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - added the optional property `success` to the response with the `422` status
  - …2 more
- **2026-08-09** `5d4c905106b4`: 1 info
  - the endpoint scheme security `BearerAuth AND NamespaceHeader` was added to the API
- **2026-07-26** `7cb051533311`: 1 breaking, 3 info
  - for the `query` request parameter `trigger_processing`, default value `false` was removed
  - added the new optional `query` request parameter `auto_submit`
  - `query` request parameter `trigger_processing` list-of-types was widened by adding types `null`
  - for the `query` request parameter `trigger_processing`, the type was generalized from `boolean` to no type

[Operation history](https://skmtc.dev/mixpeek/apis/mixpeek-api/changes/v1/buckets/:bucket_identifier/batches/:batch_id/resubmit/post.md)

---

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