---
title: "Approve Batch"
method: POST
path: "/agent-write-batches/{batch_id}/confirmations"
tags: ["approved agent writes"]
---

# Approve Batch

`POST /agent-write-batches/{batch_id}/confirmations`

## Request

- Base URL: `https://api.tickertrac.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tickertrac.com/agent-write-batches/{batch_id}/confirmations`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

## Path parameters

- `batch_id` string, uuid, required

## Request body

- ApproveBatch
  - `payload_hash` string, required
  - `state_hash` string, required
  - `confirmation_statement` 'I reviewed and approve these exact saved-record changes.', required

## Response `200`

Successful Response

- union
  - SetupBatchOut
    - `batch_id` string, uuid, required
    - `label` string, required
    - `credential_name` string, required
    - `payload_hash` string, required
    - `state_hash` string, required
    - `status` 'prepared' | 'approved' | 'applied' | 'rejected' | 'expired', required
    - `created_at` string, date-time, required
    - `expires_at` string, date-time, required
    - `approved_at` string, date-time, nullable
    - `operations` Preview[], required
      - `kind` string, required
      - `target` string, required
      - `target_label` string, nullable
      - `security_id` integer, nullable
      - `issuer_id` integer, nullable
      - `issuer_name` string, nullable
      - `security_type` string, nullable
      - `share_class` string, nullable
      - `before` string, nullable
      - `after` string, nullable
      - `expected_version` integer, nullable
      - `changed` boolean, required
      - `selection` string, required
    - `review_url` string, required
    - `receipt` SetupReceipt
      - `batch_id` string, uuid, required
      - `payload_hash` string, required
      - `applied_at` string, date-time, required
      - `records` SavedRecord[], required
        - `kind` 'watchlist' | 'company' | 'theme', required
        - `target` string, required
        - `target_label` string, nullable
        - `version` integer, nullable
        - `version_id` integer, nullable
        - `changed` boolean, required
        - `monitoring_selected` boolean, nullable
        - `content_hash` string, nullable
      - `research_started` false
      - `monitoring_selection_changed` boolean
      - `provider_calls` 0
  - BatchOut
    - `batch_id` string, uuid, required
    - `label` string, required
    - `credential_name` string, required
    - `payload_hash` string, required
    - `state_hash` string, required
    - `status` 'prepared' | 'approved' | 'applied' | 'rejected' | 'expired', required
    - `created_at` string, date-time, required
    - `expires_at` string, date-time, required
    - `approved_at` string, date-time, nullable
    - `operations` Preview[], required
      - `kind` string, required
      - `target` string, required
      - `target_label` string, nullable
      - `security_id` integer, nullable
      - `issuer_id` integer, nullable
      - `issuer_name` string, nullable
      - `security_type` string, nullable
      - `share_class` string, nullable
      - `before` string, nullable
      - `after` string, nullable
      - `expected_version` integer, nullable
      - `changed` boolean, required
      - `selection` string, required
    - `review_url` string, required
    - `receipt` WriteReceipt
      - `batch_id` string, uuid, required
      - `payload_hash` string, required
      - `applied_at` string, date-time, required
      - `records` SavedRecord[], required
        - `kind` 'watchlist' | 'company' | 'theme', required
        - `target` string, required
        - `target_label` string, nullable
        - `version` integer, nullable
        - `version_id` integer, nullable
        - `changed` boolean, required
        - `monitoring_selected` boolean, nullable
        - `content_hash` string, nullable
      - `research_started` false
      - `monitoring_selection_changed` false
      - `provider_calls` 0

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tickertrac/apis/tickerrag-api.md) · [All operations](https://skmtc.dev/tickertrac/apis/tickerrag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tickertrac/apis/tickerrag-api/revisions/3c7eb0f6425d?raw)
