> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shipstream.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mass update orders

> Updates a batch of orders specified by and according to the request body.



## OpenAPI

````yaml POST /v1/shipping/orders/massUpdate
openapi: 3.0.3
info:
  title: ShipStream
  version: '1.0'
  license:
    name: Commercial (Copyright 2025 - All Rights Reserved)
    url: https://shipstream.io
  contact:
    name: ShipStream Support
    email: help@shipstream.io
  termsOfService: https://shipstream.io/legal/api-terms/
servers:
  - url: https://{base_url_domain}/api/global
    description: Direct API Url
    variables:
      base_url_domain:
        default: example.shipstream.app
        description: >-
          The fully qualified domain name for your ShipStream WMS instance. This
          is either a custom domain, or a subdomain of shipstream.app,

          and will be the same as the domain name for the page which you use to
          login to ShipStream WMS.
security:
  - ShipStream_bearerAuth: []
tags:
  - name: Warehouses
    x-displayName: Warehouses
  - name: Products
    x-displayName: Products
  - name: Locations
    x-displayName: Locations
  - name: Levels
    x-displayName: Levels
  - name: HoldReasons
    x-displayName: HoldReasons
  - name: Holds
    x-displayName: Holds
  - name: Deliveries
    description: Every thing about a Delivery Receiving
    x-displayName: Deliveries
  - name: Shipments
    x-displayName: Shipments
  - name: Orders
    x-displayName: Orders
  - name: Retailers
    x-displayName: Retailers
  - name: Users
    x-displayName: Users
  - name: User Roles
    x-displayName: User Roles
  - name: Merchants
    x-displayName: Merchants
  - name: Healthcheck
    x-displayName: Healthcheck
paths:
  /v1/shipping/orders/massUpdate:
    post:
      tags:
        - Orders
      summary: Mass update orders
      description: >-
        Updates a batch of orders specified by and according to the request
        body.
      operationId: massUpdate
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                orders:
                  type: object
                  description: An object containing the orders to be updated.
                  properties:
                    ids:
                      type: array
                      description: An array of order IDs.
                      items:
                        type: integer
                        format: int32
                        minimum: 1
                      minItems: 1
                      maxItems: 10000
                      uniqueItems: true
                  additionalProperties: false
                  required:
                    - ids
                actions:
                  type: object
                  description: >-
                    An object containing all of the actions to be taken on the
                    specified `Order` ids.
                  properties:
                    setValues:
                      type: object
                      description: Set the value of an order field.
                      properties:
                        order_reference:
                          type: string
                          nullable: true
                          example: O-382227
                          description: >-
                            An optional merchant-supplied reference for the
                            order. Not a unique identifier.
                        require_overbox:
                          type: boolean
                          default: false
                          description: >-
                            Flag to indicate that the order should be shipped in
                            an over-box.
                        require_signature:
                          $ref: '#/components/schemas/Shipping_API_v1_signature'
                        require_saturday_delivery:
                          type: boolean
                          default: false
                          description: >-
                            Flag to indicate whether Saturday delivery is
                            required.
                        desired_delivery_date:
                          type: string
                          format: date
                          nullable: true
                          description: >-
                            The date by which the customer desires the order to
                            be delivered. The value is only used and is required

                            when the shipping method is a Virtual Shipping
                            Method with the "Desired Delivery Date" option, such
                            as

                            the Cheapest On-Time shipping method.
                          example: '2021-02-21'
                        shipping_method:
                          type: string
                          example: ups_03
                          maxLength: 255
                          description: The Shipping Method.
                        third_party_billing_group_id:
                          type: integer
                          nullable: true
                          minimum: 0
                          description: >-
                            The ID number of a Third Party Billing Account
                            Group. If unset or null, and a default group is
                            configured,

                            the default group will be used. Set to 0 to disable
                            third party billing.
                          example: 12
                        custom_greeting:
                          type: string
                          nullable: true
                          maxLength: 65535
                          description: >-
                            If specified, this will override the configured
                            Packing Slip default greeting for a given order.
                        note:
                          type: string
                          nullable: true
                          maxLength: 65535
                          description: >-
                            The "Note" adds a status history to the order that
                            only you and the warehouse staff may see. Adding

                            a note will not affect the way the order is picked
                            and packed and is not required.
                        declared_value_service:
                          type: boolean
                          default: false
                          description: >-
                            Flag to indicate that a declared value service is
                            required. If `true` then either the `declared_value`

                            must also be set or the order items must have a
                            `unit_declared_value`.
                          example: true
                        declared_value:
                          allOf:
                            - $ref: '#/components/schemas/Shipping_API_v1_Monetary'
                          nullable: true
                          description: >-
                            If specified, `declared_value_service` must also be
                            `true`.
                        backorder_policy:
                          oneOf:
                            - type: string
                              enum:
                                - default
                                - all_or_nothing
                                - as_available
                            - type: string
                              pattern: ^up_to_\d+$
                              example: up_to_3
                          type: string
                          description: >-
                            - `default` Store's default policy.

                            - `all_or_nothing` Accept order but do not ship
                            anything until all items are in stock.

                            - `as_available` No limit to number or frequency of
                            additional shipments.

                            - `up_to_X` Same as "As Available", but changes to
                            All or Nothing before shipping Xth shipment.
                              When using up_to_X, "X" represent a positive integer number.
                          example: default
                        reason_for_export:
                          type: string
                          enum:
                            - sold
                            - not_sold
                            - gift
                            - sample
                            - repair_return
                            - personal_effects
                          default: sold
                          description: >-
                            Reason for export. Only applicable to international
                            orders.
                        priority:
                          type: integer
                          minimum: 0
                          maximum: 100
                          default: 50
                          description: >-
                            This order's priority. Setting the priority will
                            boost or suppress this order's priority in relation

                            to other orders for the same products. Lower numbers
                            are higher in priority.
                        allocation_options:
                          type: object
                          nullable: true
                          description: >-
                            The provided object will **replace** the existing
                            allocation options and `null` will unset all values.
                        requested_ship_date:
                          type: string
                          format: date-time
                          nullable: true
                          description: Date when the order was requested to be shipped.
                          example: '2021-02-21T07:00:00Z'
                        generate_sscc:
                          type: string
                          nullable: true
                          enum:
                            - pack
                            - item
                          description: Generate Serial Shipping Container Codes option.
                        other_shipping_options:
                          type: object
                          nullable: true
                          description: >-
                            The provided object will **replace** the existing
                            allocation options and `null` will unset all values.
                        batch_tag:
                          type: string
                          maxLength: 64
                          nullable: true
                          description: The "Batch Tag" property.
                          example: Smalls-CartA
                        telephone:
                          type: string
                          nullable: true
                          maxLength: 255
                          description: The "Telephone" property.
                          example: 865-971-4663
                        email:
                          type: string
                          nullable: true
                          maxLength: 255
                          description: The "Email" property.
                          example: celina.goalley@thompson-torp.com
                      additionalProperties: false
                      minProperties: 1
                    updateAllocationOptions:
                      type: object
                      description: >-
                        Modify the `allocation_options` object. To replace the
                        entire object with a new one use the `setValues` action
                        instead.
                      properties:
                        set:
                          type: object
                          description: >-
                            The top-level keys will be added and will replace
                            any existing values without modifying the other
                            keys.
                        unset:
                          type: array
                          description: >-
                            The top-level keys will be unset from the existing
                            object without modifying the other keys.
                        merge:
                          type: object
                          description: >-
                            Perform a deep merge of the provided object with the
                            existing object. All keys with null values in the
                            provided object will be unset.
                        clear:
                          type: boolean
                          description: Unset all values if `true`.
                      additionalProperties: false
                      minProperties: 1
                      example:
                        set:
                          algorithms:
                            - default
                        unset:
                          - dynamic_allocation
                    updateOtherShippingOptions:
                      type: object
                      description: >-
                        Modify the `other_shipping_options` object. To replace
                        the entire object with a new one use the `setValues`
                        action instead.
                      properties:
                        set:
                          type: object
                          description: >-
                            The top-level keys will be added and will replace
                            any existing values without modifying the other
                            keys.
                        unset:
                          type: array
                          description: >-
                            The top-level keys will be unset from the existing
                            object without modifying the other keys.
                        merge:
                          type: object
                          description: >-
                            Perform a deep merge of the provided object with the
                            existing object. All keys with null values in the
                            provided object will be unset.
                        clear:
                          type: boolean
                          description: Unset all values if `true`.
                      additionalProperties: false
                      minProperties: 1
                      example:
                        merge:
                          reference_numbers:
                            invoice: null
                    cancel:
                      type: object
                      description: Cancel order items.
                      properties:
                        items:
                          type: array
                          items:
                            anyOf:
                              - type: string
                                enum:
                                  - all
                                  - unfulfilled
                                  - backordered
                          uniqueItems: true
                          maxItems: 1
                          minItems: 1
                          description: >-
                            - `all` Cancel all order items (includes
                            `backordered` and `unfilfulled`).

                            - `unfulfilled` Cancel all unfulfilled order items
                            (inclues `backordered`).

                            - `backordered` Cancel all backordered order items.
                      additionalProperties: false
                      required:
                        - items
                    hold:
                      type: object
                      description: Place an order on hold.
                      properties:
                        until:
                          type: string
                          format: date-time
                          example: '2017-07-21T17:32:28Z'
                          nullable: true
                          description: >-
                            Set to `null` or omit to hold indefinitely. If a
                            Hold Until date is already set it will be replaced.
                        comment:
                          type: string
                          description: A comment to be added to the order history.
                          minLength: 0
                          maxLength: 65535
                      additionalProperties: false
                    unhold:
                      type: object
                      description: Release an order from hold.
                      properties:
                        comment:
                          type: string
                          description: A comment to be added to the order history.
                          minLength: 0
                          maxLength: 65535
                      additionalProperties: false
                    updatePriority:
                      type: object
                      description: >-
                        Change the order's priority in relation to other orders
                        for the same products. **Lower numbers are higher

                        in priority.** The final value is clamped between 0 and
                        100.
                      properties:
                        operation:
                          type: string
                          enum:
                            - boost
                            - suppress
                            - set
                          description: >-
                            - `boost` Increase the priority by `amount` (lowers
                            the value).

                            - `suppress` Decrease the priority by `amount`
                            (raises the value).

                            - `set` Set the priority to `amount`.
                        amount:
                          type: integer
                          description: >-
                            The amount to boost, suppress or set according to
                            the `operation`.
                          minimum: 0
                          maximum: 100
                      additionalProperties: false
                      required:
                        - operation
                        - amount
                    lockToWarehouse:
                      type: object
                      description: Restrict inventory allocation to a specific warehouse.
                      properties:
                        warehouse_id:
                          type: integer
                          description: The Warehouse ID
                          minimum: 1
                          maximum: 65535
                          example: 3
                      additionalProperties: false
                      required:
                        - warehouse_id
                    unlockFromWarehouse:
                      type: object
                      description: Release warehouse lock.
                      minProperties: 0
                      maxProperties: 0
                      additionalProperties: false
                    addComment:
                      type: object
                      description: Add a comment to the order history.
                      properties:
                        comment:
                          type: string
                          description: The descriptive comment to be added to the order.
                          minLength: 1
                          maxLength: 65535
                      additionalProperties: false
                      required:
                        - comment
                  additionalProperties: false
                  minProperties: 1
                onError:
                  type: string
                  enum:
                    - continue
                    - stop
                    - abort
                  default: continue
                  description: >-
                    The value determining how errors are to be handled.

                    - `continue` The current entity will be rolled back and any
                    remaining entities will continue to be processed.

                    - `stop` The current entity will be rolled back and the
                    request will stop processing any remaining entities.

                    - `abort` The entire request will be rolled back.
              additionalProperties: false
              required:
                - orders
                - actions
      responses:
        '200':
          description: An object with orders mass update results.
          content:
            application/json:
              schema:
                type: object
                properties:
                  loaded:
                    type: integer
                    description: The number of entities that were successfully loaded.
                    minimum: 0
                  committed:
                    type: integer
                    description: The number of entities that were successfully updated.
                    minimum: 0
                  failed:
                    type: integer
                    description: The number of entities that failed to be updated.
                    minimum: 0
                  not-found:
                    type: integer
                    description: The number of entities that were not found.
                    minimum: 0
                  results:
                    type: array
                    description: >-
                      The list of update results for the requested `Order`
                      objects.
                    minItems: 1
                    items:
                      $ref: '#/components/schemas/Shipping_API_v1_Result'
                  meta:
                    type: object
                    properties:
                      processing_time:
                        type: number
                        description: >-
                          Total time in which request is processed and response
                          is sent back.
                additionalProperties: false
                required:
                  - loaded
                  - committed
                  - failed
                  - not-found
                  - results
                  - meta
        '400':
          description: Bad Request.
        '404':
          description: The server could not find the requested resource.
        '405':
          description: The request method is not supported for the requested resource.
        '409':
          description: Unexpected error.
        '422':
          description: There was an error processing the request.
        '500':
          description: Internal server error.
components:
  schemas:
    Shipping_API_v1_signature:
      type: string
      enum:
        - none
        - any
        - indirect
        - adult
        - default
      description: >-
        If a signature option is selected, this special service will instruct
        the carrier's driver to request a physical signature from the shipment
        recipient at the time of delivery. If it is not an available service,
        the shipping carrier will return an error when attempting to "Pack and
        Ship" the order.\
          - `none` No signature required.
          - `any` Direct signature required.
          - `indirect` Indirect signature required.
          - `adult` Adult signature required.
          - `default` The default option for the shipping method will be applied.
      example: adult
    Shipping_API_v1_Monetary:
      title: Monetary
      type: object
      nullable: true
      properties:
        amount:
          type: number
          description: This is the monetary value..
          format: float
          example: 99
        currency:
          type: string
          description: An ISO 3166-1 alpha-3 currency code.
          example: USD
    Shipping_API_v1_Result:
      title: OrderUpdateResult
      type: object
      properties:
        resource:
          type: object
          description: The entity being updated.
          properties:
            type:
              type: string
              enum:
                - Order
              description: This property describes the type of object in the response body.
            id:
              type: integer
              description: The numeric `id` of a particular resource being updated.
              minimum: 1
          additionalProperties: false
          required:
            - type
            - id
        status:
          type: string
          description: >-
            The completion status of the update action which will also notify of
            any "user-errors".
          enum:
            - committed
            - user-error
            - unexpected-error
            - not-found
        message:
          type: string
          description: A descriptive summary of the update result.
        details:
          type: object
          description: >-
            If additional details are relevant to the actions taken they may be
            specified in this field.
          properties:
            updatePriority:
              allOf:
                - $ref: '#/components/schemas/Shipping_API_v1_ActionDetails'
                - type: object
                  properties:
                    new_value:
                      type: integer
                      description: The new value after applying the update.
                - description: >-
                    The resulting change of an order's priority by specified
                    amount (`new_value`).
            lockToWarehouse:
              allOf:
                - $ref: '#/components/schemas/Shipping_API_v1_ActionDetails'
                - description: >-
                    The result of a request to lock the order(s) to a particular
                    warehouse.
            unlockFromWarehouse:
              allOf:
                - $ref: '#/components/schemas/Shipping_API_v1_ActionDetails'
                - description: >-
                    The result of a request to unlock the order(s) from a
                    particular warehouse.
            cancel:
              allOf:
                - $ref: '#/components/schemas/Shipping_API_v1_ActionDetails'
                - description: The result of a request to cancel an order(s).
            hold:
              allOf:
                - $ref: '#/components/schemas/Shipping_API_v1_ActionDetails'
                - description: The result of a request to put an order(s) on hold.
            unhold:
              allOf:
                - $ref: '#/components/schemas/Shipping_API_v1_ActionDetails'
                - description: The result of a request to take an order(s) off of hold.
          additionalProperties: false
      additionalProperties: false
      required:
        - resource
        - status
    Shipping_API_v1_ActionDetails:
      title: OrderUpdateResultActionDetails
      type: object
      properties:
        status:
          type: string
          description: The resulting action's success status.
          enum:
            - success
            - not-updated
        message:
          type: string
          description: The descriptive message regarding the update result.
      required:
        - status
  securitySchemes:
    ShipStream_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Generate a JWT access token through a Custom Global Integration and
        provide it with each request in the `Authorization` header prefixed with
        "Bearer" and then a single space.

````