---
title: "Update an existing order"
method: POST
path: "/v1/orders/{orderId}"
tags: ["Orders"]
---

# Update an existing order

`POST /v1/orders/{orderId}`

Update order details and associated order items. Allows updating order status, metadata, and modifying order item services.

## Path parameters

- `orderId` string, required

## Request body

- object
  - `status` 'order_sent' | 'order_accepted' | 'order_refused' | 'employee_confirmed' | 'order_fulfilled' | 'order_complete'
  - `metadata` object — Arbitrary metadata to update on the order (non-indexed passthrough, <=10KB when JSON stringified)
  - `expirationDate` string, date-time — Order expiration date (ISO 8601 format). Set to null to remove the expiration date.
  - `services` object[]
    - `serviceId` string, required
    - `status` 'pending' | 'in_progress' | 'completed' | 'cancelled' | 'rejected'
    - `results` object
    - `dueDate` string, date-time
    - `expirationDate` string, date-time — Service-level expiration date

## Response `200`

Default Response

- object
  - `success` true, required
  - `message` string, required
  - `orderId` string, required
  - `orderNumber` string, required
  - `updatedFields` string[]

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response
- `500` — Default Response

---

[API](https://skmtc.net/bluehive-health/apis/bluehive-api.md) · [All operations](https://skmtc.net/bluehive-health/apis/bluehive-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bluehive-health/bluehive-api/revisions/e6e553c2594a/schema)
