Skip to main content
PUT
/
orders
/
{id}
Update an order
curl --request PUT \
  --url https://api.salesive.com/api/v1/orders/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "status": "processing",
  "notes": "Packed and awaiting pickup",
  "shippingCost": 1500,
  "discount": 500
}
'
{
  "status": 200,
  "success": true,
  "message": "Order updated",
  "data": {
    "_id": "66b1f0a3c2d4e5f6a7b8c9d0",
    "orderId": 1042,
    "user": {
      "_id": "66a0c1d2e3f4a5b6c7d8e9f0",
      "name": "Ada Lovelace",
      "email": "ada@example.com",
      "phone": "+2348012345678",
      "customerId": "66a0d0e1f2a3b4c5d6e7f8a9"
    },
    "items": [
      {
        "_id": "66b1f0a3c2d4e5f6a7b8c9d1",
        "product": {
          "_id": "6699aabbccddeeff00112233",
          "name": "Wireless Earbuds",
          "images": [
            "https://cdn.salesive.com/p/earbuds.jpg"
          ]
        },
        "name": "Wireless Earbuds",
        "sku": "WE-BLK-01",
        "price": 24990,
        "quantity": 2,
        "variantAttributes": {},
        "imageUrl": "https://cdn.salesive.com/p/earbuds.jpg"
      }
    ],
    "status": "processing",
    "notes": "Packed and awaiting pickup",
    "payment": {
      "_id": "66b1f0a3c2d4e5f6a7b8c9e0",
      "status": "completed",
      "amount": 49980,
      "method": "card",
      "transactionId": "txn_9f8e7d6c"
    },
    "coupon": null,
    "shipment": null,
    "discount": 500,
    "subtotal": 49980,
    "shippingCost": 1500,
    "tax": 0,
    "source": "online",
    "paymentMethod": "card",
    "total": 50980,
    "createdAt": "2026-06-21T10:30:00.000Z",
    "updatedAt": "2026-06-21T11:20:00.000Z"
  }
}
Applies the whitelisted fields (status, notes, shippingCost, discount) and returns the re-fetched, fully populated order. Status changes notify the customer. The store is bound to your app token server-side — never send a shop id.

Authorizations

Authorization
string
header
required

Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.

Path Parameters

id
string
required

The order's id (Mongo ObjectId).

Body

application/json
status
enum<string>

New order status.

Available options:
pending,
processing,
paid,
cancelled,
refunded,
completed
notes
string

Internal order notes.

shippingCost
number

Shipping cost for the order.

discount
number

Order-level discount amount.

Response

The updated, fully populated order.

Standard Salesive response envelope. The operation-specific payload is carried in data.

status
integer
required

HTTP status code, echoed in the body.

success
boolean
required

Whether the request succeeded.

message
string
required

Human-readable result message.

data
object

A fully populated order as returned by the get-by-id and update endpoints.