Beta
Not authenticated — log in first
VendorOrders

Update Order Status

Update Order Status — vendor REST API endpoint.

PATCH/vendor/orders/:id/statusVendor bearer token required

Update Order Status

Update the fulfillment status of a vendor suborder.

What this means in plain English

Updates order status. Requires OWNER, ADMIN, or EDITOR role. Valid statuses: PENDING, CONFIRMED, PROCESSING, SHIPPED, PARTIALLY_SHIPPED, DELIVERED, BACKORDERED, CANCELLED, DECLINED, REFUNDED, TEST. Any of them can be set from any other — the API enforces no transition order.

When to use this

  • Confirming or shipping an order from your fulfillment system.

Path parameters

NameTypeRequiredDescription
idstring (UUID)YesSuborder ID.

Request body

NameTypeRequiredDescription
statusstringYesNew order status — one of PENDING, CONFIRMED, PROCESSING, SHIPPED, PARTIALLY_SHIPPED, DELIVERED, BACKORDERED, CANCELLED, DECLINED, REFUNDED, TEST.

Request example

curl -X PATCH 'https://api.next.gcommerce.glass/api/v1/vendor/orders/550e8400-e29b-41d4-a716-446655440030/status' \
  -H 'Content-Type: application/json' \
  -d '{
  "status": "SHIPPED"
}'

Response examples

200Success
{ ...order, "status": "SHIPPED" }

Status codes

200

OK

Request succeeded.

401

Unauthorized

Missing or invalid bearer token.

403

Forbidden

Insufficient permissions for this action.

400

Bad Request

Validation failed or invalid parameters.

404

Not Found

Resource not found.

429

Too Many Requests

Global rate limit exceeded (10,000 requests per 10 minutes per IP).

500

Internal Server Error

Unexpected server error.

403

Forbidden

No vendor membership, or insufficient vendor role (requires OWNER, ADMIN, or EDITOR for write operations).

`PROCESSING`, `SHIPPED` and `DELIVERED` are also set automatically from [shipment](/docs/v1/vendor/shipments/list) activity — creating a shipment moves a `PENDING`/`CONFIRMED` order to `PROCESSING`, and shipment progress drives `SHIPPED` and `DELIVERED` — so a manual update to one of those can be overwritten later by the shipment lifecycle.
`paymentStatus` is not writable here. This endpoint only changes `status`.

Try it

Uses your saved session from login. Edit values and send a live request, or copy the cURL command.