---
title: "Tier-completion invariant audit"
method: GET
path: "/v1/buckets/{bucket_identifier}/batches/{batch_id}/audit"
tags: ["Bucket Batches"]
---

# Tier-completion invariant audit

`GET /v1/buckets/{bucket_identifier}/batches/{batch_id}/audit`

Returns the per-tier completion accounting for a batch: how many objects were submitted, how many ended up in the per-object success ledger (processed_objects), how many in the per-object failure ledger (failed_documents), how many were skipped, and how many are 'lost' (submitted but absent from both per-object ledgers).

Phase 1 of INGESTION_RELIABILITY_PLAN.md. ``has_lost_objects=true`` is a smoking gun for the row-failure-swallow class of bug — the tier was marked COMPLETED but rows silently went missing. Compare against ``tier_tasks[].audit`` (persisted at completion) to see the snapshot at the time the callback fired.

## Path parameters

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

## Response `200`

Successful Response

- unknown

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.net/mixpeek/apis/mixpeek-api.md) · [All operations](https://skmtc.net/mixpeek/apis/mixpeek-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mixpeek/mixpeek-api/revisions/1c7f31821424/schema)
