---
title: "Full prescription edit. Pre-Dispensed prescriptions are updated in place; Dispensed prescriptions require a `reason` and the change is recorded as an amendment. DEA-tracked field changes on a controlled substance are blocked — caller must cancel-and-recreate instead."
method: POST
path: "/rx/governance/{id}/correct-dispense"
tags: ["RxGovernance"]
---

# Full prescription edit. Pre-Dispensed prescriptions are updated in place; Dispensed prescriptions require a \`reason\` and the change is recorded as an amendment. DEA-tracked field changes on a controlled substance are blocked — caller must cancel-and-recreate instead.

`POST /rx/governance/{id}/correct-dispense`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/rx/governance/{id}/correct-dispense`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/rx/governance/:id/correct-dispense/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required

## Request body

- CorrectDispenseDto: Correct the quantity of an already-dispensed prescription: reverse what went out and dispense again at the right figure. Distinct from an amendment, which annotates a frozen record and deliberately cannot move stock or money.
  - `quantity` union: The quantity that should have been dispensed.
    - number, double
    - string, double
  - `reason` string: Why the original figure was wrong. Required — this is a controlled correction.
  - `lotId` string, nullable: Lot to re-dispense from. Empty defaults to the lot the original dispense drew from (lot-tracked items), so the printed label keeps its lot number and expiry.
  - `containerId` string, nullable
  - `locationId` string, nullable
  - `witnessUserId` string, nullable
  - `billingDisposition` string, nullable: How to treat the bill when the dispense is on an invoice that holds money. Absent (default): the correction is refused with `invoice_has_payment` and the remedy is refund → correct → re-bill. `"leaveAsCharged"`: perform the correction (stock, DEA, Rx — the records with legal weight) and leave the paid invoice exactly as charged, recording the divergence on the bill's audit trail and line note (ITE-680). Record truth only — never a price change. Requires string? CorrectDispenseDto.BillingReason and the Billing permission, and is rejected when the bill holds no money (the normal revert/void flows apply there).
  - `billingReason` string, nullable: Why the bill is deliberately left as charged. Required with string? CorrectDispenseDto.BillingDisposition.

## Response `200`

OK

- CorrectDispenseResultDto
  - `previousQuantity` union
    - number, double
    - string, double
  - `newQuantity` union
    - number, double
    - string, double
  - `transactionId` string, nullable: The replacement dispense's transaction.
  - `dispensesReversed` union
    - integer
    - string, int32
  - `billingLeftAsCharged` boolean: True when the correction ran in records-only mode: the paid invoice was left exactly as charged (divergence recorded on its audit trail), while stock, DEA and the prescription were corrected (ITE-680).

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `409`: Conflict

## Changes

- **2026-09-02** `061f8d95e1d1`: 9 info
  - added the new optional request property `billingDisposition` (media type: application/json)
  - added the new optional request property `billingDisposition` (media type: text/json)
  - added the new optional request property `billingDisposition` (media type: application/*+json)
  - added the new optional request property `billingReason` (media type: application/json)
  - …5 more
- **2026-08-19** `d8d7501dde48`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/rx/governance/:id/correct-dispense/post.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
