---
title: "Amend an order with batch operations"
method: POST
path: "/admin/orders/{order_id}/amend"
tags: ["Orders"]
---

# Amend an order with batch operations

`POST /admin/orders/{order_id}/amend`

## Request

- Base URL: `https://api.presscart.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.presscart.com/admin/orders/{order_id}/amend`
- Auth: HTTP bearer

Apply multiple amendments to an order in a single transaction. Supports adding, updating, and removing line items. Order totals will be recalculated.

## Path parameters

- `order_id` string, uuid, required

## Request body

- object
  - `amendments` object[], required: Array of amendments to apply to the order
    - `id` string, uuid: Required for update and remove actions
    - `product_id` string, uuid: Required for add action
    - `quantity` number
    - `price` number, nullable
    - `internal_cost` number, nullable
    - `is_add_on` boolean, nullable
    - `linked_order_line_item_id` string, uuid, nullable
    - `temp_key` string: Client-generated key for linking add-ons to newly created base items
    - `linked_temp_key` string: Reference to a temp_key of a base item created in the same batch
    - `action` 'add' | 'update' | 'remove', required: The action to perform on this line item
  - `discount` number, nullable: Optional manual discount to apply (overrides existing manual discount)

## Response `200`

Order amended successfully

- AmendOrderResponse
  - `order` Order, required
    - `id` string, uuid, required
    - `profile_id` string, uuid, nullable, required
    - `client_id` string, uuid, nullable, required
    - `checkout_by_id` string, uuid, nullable, required
    - `team_id` string, uuid, nullable, required
    - `total` number, nullable, required
    - `subtotal` number, nullable, required
    - `processing_fee` number, nullable, required
    - `discount` number, nullable, required
    - `credits_applied` number, nullable, required
    - `coupon` string, nullable, required
    - `client_secret` string, required
    - `date_paid` union, required
      - string, nullable
      - string
      - unknown
    - `status` 'CREATED' | 'PAID' | 'CANCELLED', required
    - `reference_number` string, nullable, required
    - `external_reference_number` string, nullable, required
    - `customer_invoice_id` string, nullable, required
    - `customer_invoice_source` 'STRIPE' | 'BILL_COM' | 'WIRE', nullable, required
    - `customer_invoice_date` union, required
      - string, nullable
      - string
      - unknown
    - `customer_invoice_url` string, nullable, required
    - `is_guest_order` boolean, required
    - `guest_email` string, email, nullable, required
    - `account_owner_email` string, email, nullable, required
    - `guest_stripe_customer_id` string, nullable, required
    - `checkout_session_id` string, nullable, required
    - `payment_intent_id` string, nullable, required
    - `payment_status` 'NOT_STARTED' | 'OPEN' | 'PROCESSING' | 'FAILED' | 'EXPIRED' | 'PAID', required
    - `payment_expires_at` union, required
      - string, nullable
      - string
      - unknown
    - `posthog_distinct_id` string, nullable, required
    - `metadata` object, nullable, required
    - `created_at` union, required
      - string, nullable
      - string
      - unknown
    - `updated_at` union, required
      - string, nullable
      - string
      - unknown
    - `deleted_at` union, required
      - string, nullable
      - string
      - unknown
  - `added` number, required
  - `updated` number, required
  - `removed` number, required

## Other responses

- `409`: A payment for this order is being processed (code checkout_payment_in_progress)
- `502`: Stripe could not confirm the checkout session state (code CHECKOUT_SESSION_UNREACHABLE); nothing changed, retry shortly

---

[API](https://skmtc.dev/presscart/apis/presscart-prod-api.md) · [All operations](https://skmtc.dev/presscart/apis/presscart-prod-api/llms.txt) · [OpenAPI document](https://skmtc.dev/presscart/apis/presscart-prod-api/revisions/2154581d845e?raw)
