---
title: "Create a prescription for an already-dispensed transaction (post-dispense flow)"
method: POST
path: "/rx/governance/post-dispense-prescription"
tags: ["RxGovernance"]
---

# Create a prescription for an already-dispensed transaction (post-dispense flow)

`POST /rx/governance/post-dispense-prescription`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/rx/governance/post-dispense-prescription`
- Auth: HTTP bearer

## Request body

- CreatePostDispensePrescriptionDto
  - `transactionId` string
  - `patientId` string
  - `providerId` string
  - `dosage` string, nullable
  - `frequency` string, nullable
  - `duration` string, nullable
  - `instructions` string, nullable
  - `refillsAllowed` union
    - integer
    - string, int32
  - `refillsPrn` boolean, nullable: PRN ("as needed") refills: unlimited fills until the Rx expires (ITE-1596).
  - `validUntil` string, date, nullable: Rx expiration override. Null = the regional default validity window.
  - `medicationExpirationDate` string, date, nullable: Medication expiration printed on the label when no dispensed lot supplies one.
  - `fulfillmentMethod` string
  - `notes` string, nullable

## Response `201`

Created

- MedicationRequestResultDto
  - `success` boolean
  - `prescriptionId` string, nullable
  - `transactionId` string, nullable
  - `patientId` string
  - `message` string
  - `invoiceLineItemId` string, nullable: Populated when the request supplied string? CreateMedicationRequestDto.InvoiceId and an estimate line item was created in the same call.
  - `invoiceId` string, nullable: The estimate the dispense was attached to — either the one the caller supplied or one auto-created/resolved server-side. Lets a client that had no estimate of its own adopt the server's estimate instead of failing to reconcile the line.
  - `estimateId` string, nullable: The estimate the request's billable line was placed on at creation (in-house / same-day requests). Null for external (non-billable) requests.
  - `estimateLineItemId` string, nullable: The Pending estimate line created for this request at creation, if any.
  - `medicationRequestId` string, nullable: The lifecycle MedicationRequest recorded for this operation. The compound endpoint applies capture → approve → dispense as far as the caller's permissions allow; string? MedicationRequestResultDto.RequestStatus says where it stopped.
  - `requestStatus` string, nullable: Lifecycle status after this call: requested | approved | dispensed.

## Other responses

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

## Changes

- **2026-10-28** `099cf36186e0`: 9 info
  - added the new optional request property `medicationExpirationDate` (media type: application/json)
  - added the new optional request property `medicationExpirationDate` (media type: text/json)
  - added the new optional request property `medicationExpirationDate` (media type: application/*+json)
  - added the new optional request property `refillsPrn` (media type: application/json)
  - …5 more

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/rx/governance/post-dispense-prescription/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)
