---
title: "Approve or cancel one canonical Hex operation proposal"
method: POST
path: "/v1/eve/operations/decide"
tags: ["Hex", "Public"]
---

# Approve or cancel one canonical Hex operation proposal

`POST /v1/eve/operations/decide`

Records one identity-only approval or cancellation. Exact retries return the durable decision receipt; conflicting transitions are refused.

## Request body

- object
  - `proposalId` string, uuid, required
  - `proposalVersion` integer, required
  - `decision` 'approved' | 'cancelled', required

## Response `200`

Default Response

- object
  - `proposal` object, required
    - `kind` 'eve.operation.proposal', required
    - `contractVersion` 1, required
    - `id` string, uuid, required
    - `version` integer, required
    - `operationType` 'set_printer_ready' | 'release_printers_batch' | 'trigger_bov_batch' | 'create_job' | 'duplicate_job' | 'restart_job' | 'filament_rotation_action', required
    - `title` string, required
    - `summary` string, required
    - `consequence` string, required
    - `risk` 'low' | 'medium' | 'high', required
    - `requiresConfirmation` true, required
    - `target` object
      - `id` string
      - `label` string
      - `type` string
    - `parameters` object[], required
      - `label` string, required
      - `value` string, required
    - `status` 'proposed' | 'approved' | 'cancelled' | 'expired' | 'claimed' | 'executed' | 'failed_before_mutation' | 'indeterminate', required
    - `createdAt` string, date-time, required
    - `expiresAt` string, date-time, required
  - `receipt` object, required
    - `id` string, uuid, required
    - `proposalId` string, uuid, required
    - `proposalVersion` integer, required
    - `decision` 'approved' | 'cancelled', required
    - `actorUserId` string, required
    - `decidedAt` string, date-time, required
    - `proposalToDecisionMs` number
    - `replayed` boolean, required
  - `replayed` boolean, required
  - `code` string, required

## Other responses

- `201` — Default Response
- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response
- `409` — Default Response
- `500` — Default Response
- `503` — Default Response

## Changes

- **2026-08-18** `64e0f1284c6f` — 2 warning
  - added the new `trigger_bov_batch` enum value to the `proposal/operationType` response property for the response status `200`
  - added the new `trigger_bov_batch` enum value to the `proposal/operationType` response property for the response status `201`
- **2026-08-17** `b987927f2996` — 2 warning
  - added the new `release_printers_batch` enum value to the `proposal/operationType` response property for the response status `200`
  - added the new `release_printers_batch` enum value to the `proposal/operationType` response property for the response status `201`
- **2026-07-26** `750c8a136307` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/printhiv3d/apis/hive-api-documentation/changes/v1/eve/operations/decide/post.md)

---

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