---
title: "Change order status in bulk"
method: POST
path: "/v3/orders/change-status"
tags: ["Orders"]
---

# Change order status in bulk

`POST /v3/orders/change-status`

Requires the `order:change_status` scope. Change the status of multiple orders.

## Request body

- union
  - object
    - `by` string, nullable — Entity or user performing the status change
    - `financial_entity_id` integer, nullable — Financial entity ID
    - `ids` OrderPrimaryKeyInput[], required
      - union — Canonical UUIDv7 order primary key. For migrated orders, legacy numeric `core_order.id` values are still accepted as numbers or decimal strings.
        - string
        - integer
    - `payment_account_holder` string, nullable — Payment account holder name
    - `payment_account_number` string, nullable — Payment account number
    - `payment_method` 'va_bca' | 'va_bni' | 'va_bri' | 'va_mandiri' | 'va_permata' | 'va_cimb' | 'va_bsi' | 'va_maybank' | 'va_bnc' | 'va_danamon' | 'va_artha_graha' | 'va_muamalat' | 'va_btn' | 'va_ocbc' | 'va_bjb' | 'va_sahabat_sampoerna' | 'va_artajasa' | 'qris' | 'card' | 'invoice' | 'payment_link' | 'alfamart' | 'ovo' | 'dana' | 'shopeepay' | 'linkaja' | 'gopay' | 'no_payment' | 'bank_transfer' | 'marketplace' | 'cod' — Order payment method
    - `payment_status` 'unpaid' | 'paid' | 'conflict' | 'settled' — Order payment status
    - `rtsproof_url` string, nullable — Return to sender proof image URL
    - `status` 'draft' | 'pending' | 'confirmed' | 'in_process' | 'ready' | 'shipped' | 'completed' | 'canceled' | 'rts' | 'closed', required — Order status
    - `transfer_time` string, date-time, nullable — Transfer timestamp (ISO 8601 format)
    - `transferproof_url` string, nullable — Transfer proof image URL
  - object
    - `by` string, nullable — Entity or user performing the status change
    - `financial_entity_id` integer, nullable — Financial entity ID
    - `ids` OrderPrimaryKeyInput[], required
      - union — Canonical UUIDv7 order primary key. For migrated orders, legacy numeric `core_order.id` values are still accepted as numbers or decimal strings.
        - string
        - integer
    - `payment_account_holder` string, nullable — Payment account holder name
    - `payment_account_number` string, nullable — Payment account number
    - `payment_method` 'va_bca' | 'va_bni' | 'va_bri' | 'va_mandiri' | 'va_permata' | 'va_cimb' | 'va_bsi' | 'va_maybank' | 'va_bnc' | 'va_danamon' | 'va_artha_graha' | 'va_muamalat' | 'va_btn' | 'va_ocbc' | 'va_bjb' | 'va_sahabat_sampoerna' | 'va_artajasa' | 'qris' | 'card' | 'invoice' | 'payment_link' | 'alfamart' | 'ovo' | 'dana' | 'shopeepay' | 'linkaja' | 'gopay' | 'no_payment' | 'bank_transfer' | 'marketplace' | 'cod' — Order payment method
    - `payment_status` 'unpaid' | 'paid' | 'conflict' | 'settled', required — Order payment status
    - `rtsproof_url` string, nullable — Return to sender proof image URL
    - `status` 'draft' | 'pending' | 'confirmed' | 'in_process' | 'ready' | 'shipped' | 'completed' | 'canceled' | 'rts' | 'closed' — Order status
    - `transfer_time` string, date-time, nullable — Transfer timestamp (ISO 8601 format)
    - `transferproof_url` string, nullable — Transfer proof image URL

## Response `200`

Status changed successfully

- ChangeOrderStatusResponseBody — Non-paginated list payload for v3.
  - `data` OrderChangeStatus[], required
    - `id` string, uuid — Canonical UUIDv7 order primary key returned by the partitioned orders table.
    - `order_id` string — Order ID in string format
    - `public_order_url` string, uri, nullable — Public order URL built from metadata.custom_domain_full_url and secret_slug.
    - `payment_url` string, uri, nullable — Payment URL built from public_order_url with /success appended.
    - `payment_status` 'unpaid' | 'paid' | 'conflict' | 'settled' — Order payment status
    - `status` 'draft' | 'pending' | 'confirmed' | 'in_process' | 'ready' | 'shipped' | 'completed' | 'canceled' | 'rts' | 'closed' — Order status
  - `is_paginated` false, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/scalev/apis/nexus-commerce-api.md) · [All operations](https://skmtc.net/scalev/apis/nexus-commerce-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scalev/nexus-commerce-api/versions/730030bd6477/schema)
