# Create a terminal order for a processing account and track its status.

Create a terminal order for a processing account and track its status.

1. Place the terminal order against the processing account. Sends the order items (at least one solution), optional shipping details, the per-solution setup, and an optional paymentIntent (shown here for a merchant-paid purchase). Requires the Idempotency-Key header. Returns the terminalOrderId and an initial status (usually `open`).
 [createTerminalOrder](/api/create-terminal-order)
2. OPTIONAL — re-read the terminal order by its id to track status as it moves through open -> held -> dispatched -> fulfilled (or cancelled). Poll this step, or instead subscribe to the terminalOrder.status.changed event; it is not required to complete the order.
 [getTerminalOrder](/api/get-terminal-order)

## Workflow diagram

```mermaid
flowchart TD
  step0["1. place terminal order · API"]
  step1["2. track order status · API"]
  step0 --> step1
```
