---
title: "PUT /{applicationId}/orders/{id}"
method: PUT
path: "/{applicationId}/orders/{id}"
tags: ["Order"]
---

# PUT /{applicationId}/orders/{id}

`PUT /{applicationId}/orders/{id}`

The aggregator platform should send the final order after calculating all prices based on the communicated order amendments.

## Path parameters

- `applicationId` string, required
- `id` string, required

## Request body

- FinalOrderInfo
  - `instructions` string — Instructions from the customer pertaining to the preparation of this order.
  - `items` Item[], required
    - `name` string, required — The name or description of the item to be delivered.
    - `quantity` integer, required — The quantity of the specific item to be delivered.
  - `archivedItems` ArchivedItem[]
    - `id` string, required — Unique identifying ID for the item, provided by the Grubtech.
    - `lineId` string, required — Unique identifying ID for the order line item within order, provided by the store.
    - `quantity` integer, required — Quantity of the items
    - `price` Price, required — Pricing information of the order, which contains the unit price, discounts, and total price
      - `unitPrice` integer, required — Specifies the unit price to charge for ordering the item. Price should always be an integer value (never decimals) because the price is set in the lowest denomination (e.g., cents for US currency, not dollars). Price should always be set even if the price is 0.
      - `discountAmount` integer — Specifies the unit price to charge for ordering the item. Price should always be an integer value (never decimals) because the price is set in the lowest denomination (e.g., cents for US currency, not dollars). Price should always be set even if the price is 0.
      - `totalPrice` integer, required — Specifies the unit price to charge for ordering the item. Price should always be an integer value (never decimals) because the price is set in the lowest denomination (e.g., cents for US currency, not dollars). Price should always be set even if the price is 0.
    - `archivedReason` 'ITEM_REMOVAL' | 'ITEM_SUBSTITUTION' | 'QTY_ADJUSTMENT', required — Reason for the item amendment
    - `amendItems` OrderAmends[]
      - `id` string, required — Unique identifier for the item which is related to the amendment
      - `lineId` string, required — Unique identifying ID for the order line item within the order provided by the store.
      - `quantity` integer, required — Quantity related to the item amendment
  - `payment` Payment, required
    - `mode` 'CARD' | 'CASH' | 'PREPAID', required — Specifies the method of payment for the delivery order. It indicates how the payment will be handled at the time of delivery.
    - `amount` integer, required — The total amount to be collected at delivery.
    - `currencyCode` string, required — The currency of the payment, in ISO 4217 format (e.g., USD, AED).
  - `scheduledOrder` object — Scheduled order details. This object should be included only if the order is expected to be prepared at a future time.
    - `scheduledAt` string — The time at which the order will be scheduled is represented in ISO 8601 format.
  - `status` 'PLACED' | 'APPROVED', required — Order status. This will indicate the current status of the order

## Response `204`

Successful response OK

- NoContent — unresolved $ref

## Other responses

- `400` — Bad request
- `500` — Internal server error

---

[API](https://skmtc.dev/grubtech/apis/grubtech-auth-server.md) · [All operations](https://skmtc.dev/grubtech/apis/grubtech-auth-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/grubtech/grubtech-auth-server/revisions/21688b6dcb69/schema)
