---
title: "Changes to Record the client's acceptance of a presented plan WITHOUT converting it to an\ninvoice. The in-visit present flow uses this: the client approves the plan (consent +\noptional signature + chosen tier) up front; the bill is created later by\nconvert-to-invoice once services are performed. Sets status Accepted + tier and logs a\nPlanAccepted consent event; leaves the estimate un-converted (no InvoiceId)."
method: POST
path: "/Estimates/{id}/accept"
---

# Changes to Record the client's acceptance of a presented plan WITHOUT converting it to an
invoice. The in-visit present flow uses this: the client approves the plan (consent +
optional signature + chosen tier) up front; the bill is created later by
convert-to-invoice once services are performed. Sets status Accepted + tier and logs a
PlanAccepted consent event; leaves the estimate un-converted (no InvoiceId).

`POST /Estimates/{id}/accept`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 4 of 14 revisions.

- **2026-10-28** `099cf36186e0`: 18 info
- **2026-10-21** `85ee96c0bb96`: 6 info
- **2026-10-11** `f7ab358172d0`: 45 info
- **2026-09-30** `d58b40cfca93`: 3 info

## Changes

- **2026-10-28** `099cf36186e0`: 18 info
  - added the optional property `groups/items/isPinned` to the response with the `200` status (media type: text/plain)
  - added the optional property `groups/items/isPinned` to the response with the `200` status (media type: application/json)
  - added the optional property `groups/items/isPinned` to the response with the `200` status (media type: text/json)
  - added the optional property `groups/items/origin` to the response with the `200` status (media type: text/plain)
  - added the optional property `groups/items/origin` to the response with the `200` status (media type: application/json)
  - added the optional property `groups/items/origin` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/groupCodeId` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/groupCodeId` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/groupCodeId` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/groupCodeName` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/groupCodeName` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/groupCodeName` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/kitInstanceId` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/kitInstanceId` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/kitInstanceId` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/vatCategory` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/vatCategory` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/vatCategory` to the response with the `200` status (media type: text/json)
- **2026-10-21** `85ee96c0bb96`: 6 info
  - added the optional property `groups` to the response with the `200` status (media type: text/plain)
  - added the optional property `groups` to the response with the `200` status (media type: application/json)
  - added the optional property `groups` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/groupId` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/groupId` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/groupId` to the response with the `200` status (media type: text/json)
- **2026-10-11** `f7ab358172d0`: 45 info
  - added the new optional request property `disclaimerVersionIds` (media type: application/json)
  - added the new optional request property `disclaimerVersionIds` (media type: text/json)
  - added the new optional request property `disclaimerVersionIds` (media type: application/*+json)
  - added the optional property `items/items/appliedDiscount` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/appliedDiscount` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/appliedDiscount` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/discount` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/discount` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/discount` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/discountAmount` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/discountAmount` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/discountAmount` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/discountSetAt` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/discountSetAt` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/discountSetAt` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/discountSetById` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/discountSetById` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/discountSetById` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/discountSetByName` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/discountSetByName` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/discountSetByName` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/dispensedQuantity` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/dispensedQuantity` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/dispensedQuantity` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/isFlatRate` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/isFlatRate` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/isFlatRate` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/originalUnitPrice` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/originalUnitPrice` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/originalUnitPrice` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/priceOverriddenAt` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/priceOverriddenAt` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/priceOverriddenAt` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/priceOverriddenById` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/priceOverriddenById` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/priceOverriddenById` to the response with the `200` status (media type: text/json)
  - added the optional property `items/items/priceOverriddenByName` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/priceOverriddenByName` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/priceOverriddenByName` to the response with the `200` status (media type: text/json)
  - added the optional property `orderDiscount` to the response with the `200` status (media type: text/plain)
  - …5 more
- **2026-09-30** `d58b40cfca93`: 3 info
  - added the optional property `items/items/createdByAi` to the response with the `200` status (media type: text/plain)
  - added the optional property `items/items/createdByAi` to the response with the `200` status (media type: application/json)
  - added the optional property `items/items/createdByAi` to the response with the `200` status (media type: text/json)

---

[Operation](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/Estimates/:id/accept/post.md) - [API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [Page](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Estimates/:id/accept/post)
