---
title: "Update order (any status allowed)"
method: PATCH
path: "/sandbox/orders/{id}"
tags: ["Sandbox"]
---

# Update order (any status allowed)

`PATCH /sandbox/orders/{id}`

## Request

- Base URL: `https://api.physikit.com/v2`
- URL: `https://api.physikit.com/v2/sandbox/orders/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required: Order ID

## Request body

- SandboxOrderUpdateRequest
  - `status` integer, required: Target order status **(sandbox only)**. In sandbox you may set **any** status code, including moving backward or skipping stages. No transition validation is applied. **Status Lifecycle (Code → Description):** - `10` → ORDERED – Order created in the system. - `11` → KIT_SHIPPED – Test kit has been shipped to the customer. - `20` → PATIENT_KIT_RECEIVED – The patient has received the test kit. - `21` → PATIENT_KIT_USED – The kit was used and prepared by the patient for return. - `22` → PATIENT_SAMPLES_SHIPPED – Samples were shipped back by the patient. - `30` → SAMPLES_RECEIVED – Samples received at the local logistics hub. - `31` → SAMPLES_SHIPPED – Samples forwarded to the lab. - `40` → LAB_SAMPLES_RECEIVED – Lab has received the samples. - `41` → LAB_SAMPLES_ANALYZED – Lab completed the analysis. - `42` → CUSTOMER_RESULTS_RETRIEVED – Results have been retrieved by the integration partner. - `98` → ARCHIVED – Order archived. - `99` → ISSUE – Order has encountered an issue.

## Response `200`

Successful Response

- OrderDetailResponse
  - `id` string, uuid, required
  - `panel_id` string, required
  - `kit_id` string, nullable, required
  - `status` 10 | 11 | 20 | 21 | 22 | 30 | 31 | 40 | 41 | 42 | 98 | 99, required
  - `note` string, nullable, required
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `email` string, nullable
  - `address_line_1` string, nullable
  - `address_line_2` string, nullable
  - `city` string, nullable
  - `zip_code` string, nullable
  - `country` string, nullable
  - `consent` boolean
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Content
- `500`: Internal Server Error

---

[API](https://skmtc.dev/physikit/apis/physikit-api.md) - [All operations](https://skmtc.dev/physikit/apis/physikit-api/llms.txt) - [OpenAPI document](https://skmtc.dev/physikit/apis/physikit-api/revisions/c997ee521963?raw)
