---
title: "Trigger Bed Occupancy Verification for completed jobs"
method: POST
path: "/v1/organizations/{organizationId}/printer-control/triggered-bov-batches"
tags: ["Printer Control"]
---

# Trigger Bed Occupancy Verification for completed jobs

`POST /v1/organizations/{organizationId}/printer-control/triggered-bov-batches`

Moves the printer Z axis, captures the bed, and releases only after a definitive verified-empty result.

## Path parameters

- `organizationId` string, uuid, required

## Headers

- `idempotency-key` string, required

## Request body

- object
  - `confirmation` true, required
  - `zMotionAcknowledged` true, required
  - `targets` object[], required
    - `printerId` string, uuid, required
    - `expectedCompletedJobId` integer, required
    - `targetSnapshot` object, required
      - `printerName` string, required
      - `completedJobName` string, required
      - `completedJobStatus` 'COMPLETED', required

## Response `202`

Default Response

- object
  - `batch` union, required
    - object
      - `id` string, uuid, required
      - `organizationId` string, uuid, required
      - `action` 'triggered_bov', required
      - `actorUserId` string, uuid, required
      - `idempotencyKey` string, required
      - `targetFingerprint` string, required
      - `status` 'active' | 'cancelling' | 'cancelled' | 'completed' | 'completed_with_cancelled_items' | 'completed_with_conflicts' | 'failed', required
      - `stage` string, required
      - `attempt` integer, required
      - `revision` integer, required
      - `targetCount` integer, required
      - `successCount` integer, required
      - `conflictCount` integer, required
      - `cancelledCount` integer, required
      - `cancellationRequestedAt` string, required
      - `cancellationRequestedByUserId` string, uuid, required
      - `startedAt` string, required
      - `completedAt` string, required
      - `updatedAt` string, required
      - `items` object[], required
        - `id` string, uuid, required
        - `ordinal` integer, required
        - `printerId` string, uuid, required
        - `expectedCompletedJobId` integer, required
        - `targetSnapshot` object, required
          - `printerName` string, required
          - `completedJobName` string, required
          - `completedJobStatus` 'COMPLETED', required
        - `status` 'pending' | 'queued' | 'throttled' | 'reused' | 'accepted' | 'executing' | 'released' | 'already_converged' | 'occupied' | 'inconclusive' | 'unsupported' | 'stale' | 'infrastructure_failure' | 'cancelled', required
        - `reasonCode` string, required
        - `evidenceRef` object, required
        - `executionRef` string, uuid, required
        - `watchRef` string, uuid, required
        - `attempt` integer, required
        - `startedAt` string, required
        - `completedAt` string, required
        - `updatedAt` string, required
      - `channel` 'web', required
      - `consent` object, required
        - `kind` 'triggered_bov_batch_confirmation', required
        - `confirmedAt` string, required
        - `zMotionAcknowledged` true, required
    - object
      - `id` string, uuid, required
      - `organizationId` string, uuid, required
      - `action` 'triggered_bov', required
      - `actorUserId` string, uuid, required
      - `idempotencyKey` string, required
      - `targetFingerprint` string, required
      - `status` 'active' | 'cancelling' | 'cancelled' | 'completed' | 'completed_with_cancelled_items' | 'completed_with_conflicts' | 'failed', required
      - `stage` string, required
      - `attempt` integer, required
      - `revision` integer, required
      - `targetCount` integer, required
      - `successCount` integer, required
      - `conflictCount` integer, required
      - `cancelledCount` integer, required
      - `cancellationRequestedAt` string, required
      - `cancellationRequestedByUserId` string, uuid, required
      - `startedAt` string, required
      - `completedAt` string, required
      - `updatedAt` string, required
      - `items` object[], required
        - `id` string, uuid, required
        - `ordinal` integer, required
        - `printerId` string, uuid, required
        - `expectedCompletedJobId` integer, required
        - `targetSnapshot` object, required
          - `printerName` string, required
          - `completedJobName` string, required
          - `completedJobStatus` 'COMPLETED', required
        - `status` 'pending' | 'queued' | 'throttled' | 'reused' | 'accepted' | 'executing' | 'released' | 'already_converged' | 'occupied' | 'inconclusive' | 'unsupported' | 'stale' | 'infrastructure_failure' | 'cancelled', required
        - `reasonCode` string, required
        - `evidenceRef` object, required
        - `executionRef` string, uuid, required
        - `watchRef` string, uuid, required
        - `attempt` integer, required
        - `startedAt` string, required
        - `completedAt` string, required
        - `updatedAt` string, required
      - `channel` 'hex', required
      - `consent` object, required
        - `kind` 'eve_operation_proposal', required
        - `proposalId` string, required
        - `proposalVersion` integer, required
        - `decisionReceiptId` string, required
        - `executionReceiptId` string, required
        - `targetFingerprint` string, required
        - `confirmedAt` string, required
        - `zMotionAcknowledged` true, required
  - `requestId` string, required

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `409` — Default Response
- `422` — Default Response
- `500` — Default Response

---

[API](https://skmtc.net/printhiv3d/apis/hive-api-documentation.md) · [All operations](https://skmtc.net/printhiv3d/apis/hive-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/printhiv3d/hive-api-documentation/revisions/535140848bc4/schema)
