> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Status Update

> Update status for an existing order



## OpenAPI

````yaml /openapi/scx/channel.json put /v1/channel/order/status
openapi: 3.0.2
info:
  title: JTL-Channel API
  version: 1.0.0
  x-logo:
    url: https://scx-sandbox.ui.jtl-software.com/docs/scx.png
  description: >
    JTL-Channel API is a REST-based API that helps a Channel Integrator to
    connect Marketplace with the JTL-Wawi 

    ERP System.


    # Key Features


    With the JTL-Channel API, you can:

      * Describe connected Marketplace Data Structure by providing Category and Attribute Data
      * Manage Product and Offer Listings
      * Manage Orders 
      * Handle the Post Order Process

    # Development Guide


    There is a detailed development guide available at
    [developer.jtl-software.com](https://developer.jtl-software.com/products/marketplaces/scx-channel-api/change_log).
servers:
  - url: https://scx-sbx.api.jtl-software.com
    description: Sandbox
  - url: https://scx.api.jtl-software.com
    description: Production
security: []
tags:
  - name: Seller
    description: |
      Seller Management
  - name: Channel
    description: Meta channel routes
  - name: Notification
    description: Channel notifications
  - name: Supported Prices
    description: Price type management
  - name: Meta
    description: meta
  - name: Attributes
    description: Channel attributes
  - name: Categories
    description: Channel categories
  - name: Order
    description: Orders
  - name: Return
    description: Order returns
  - name: Events
    description: SCX events
  - name: Offer
    description: Channel offers
  - name: Report
    description: SCX reports
  - name: Ticket
    description: Channel tickets
  - name: Stock Updates
    description: Stock update operations
paths:
  /v1/channel/order/status:
    put:
      tags:
        - Order
      summary: Status Update
      description: Update status for an existing order
      operationId: UpdateOrderStatus
      requestBody:
        $ref: '#/components/requestBodies/UpdateOrderStatus'
      responses:
        '200':
          $ref: '#/components/responses/OptionalErrorResponse'
        '201':
          description: Status updated sucessful
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - ChannelAuth: []
components:
  requestBodies:
    UpdateOrderStatus:
      description: >-
        List of order status changes (e.g. payment received, shipped) reported
        by the marketplace.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OrderStatusList'
  responses:
    OptionalErrorResponse:
      description: Call was overall successful but some items can be faulty
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: CHN401
                message: >-
                  Not all orders could be processed. 9 out of 10 orders were
                  stored successfully
                severity: warning
                hint: null
    AccessForbidden:
      description: Access forbidden, invalid or unknown Token was used.
    ResourceNotFound:
      description: Requested resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: GEN404
                message: Not found
                severity: error
                hint: null
    ServerError:
      description: Unexpected Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: GEN500
                message: Internal Server Error
                severity: error
                hint: null
  schemas:
    OrderStatusList:
      type: object
      required:
        - orderList
      properties:
        orderList:
          type: array
          minItems: 1
          maxItems: 1000
          items:
            $ref: '#/components/schemas/OrderStatus'
    ErrorResponseList:
      type: object
      properties:
        errorList:
          nullable: true
          type: array
          example:
            - code: GEN700
              message: Seller SELLER_4711 does not exist on channel kaufland.
              severity: error
              hint: i9n-order22
          items:
            title: Error
            type: object
            properties:
              code:
                type: string
                example: GEN700
              message:
                type: string
                example: Seller SELLER_4711 does not exist on channel kaufland.
              severity:
                type: string
                enum:
                  - error
                  - warning
                  - info
                default: error
              hint:
                type: string
                nullable: true
                example: i9n-order22
    OrderStatus:
      type: object
      required:
        - sellerId
        - orderId
        - orderStatus
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        orderId:
          $ref: '#/components/schemas/ChannelOrderId'
        orderStatus:
          $ref: '#/components/schemas/ChannelOrderStatus'
        orderItems:
          type: array
          minItems: 0
          items:
            type: object
            required:
              - orderItemId
              - itemStatus
              - paymentStatus
            properties:
              orderItemId:
                $ref: '#/components/schemas/OrderItemId'
              itemStatus:
                $ref: '#/components/schemas/OrderItemStatus'
              paymentStatus:
                $ref: '#/components/schemas/OrderItemPaymentStatus'
              shipFromCountry:
                description: >
                  Ship from country (Versandland) - ISO 3 letter country code
                  indicating the country from which the item is shipped
                type: string
                pattern: ^[A-Z]{3}$
                nullable: true
                example: DEU
    SellerId:
      description: >
        A unique Id identify a Seller on a specific SalesChannel. The SellerId
        is generated

        from the Channel itself during the Seller SignUp Process.
      type: string
      example: '4711'
      pattern: ^\w{1,50}$
    ChannelOrderId:
      type: string
      minLength: 1
      maxLength: 150
      example: 43523-43432-43532
    ChannelOrderStatus:
      description: >
        The current order status.


        * **UNACKED**: Order is created in Marketplace but a Seller acknowledge
        is required.

        * **CREATED**: Order is created but not yet completed.

        * **ACCEPTED**: Order is placed and checkout process is complete but not
        yet shipped.

        * (DEPRECATED) ~~SHIPPED~~: All items in the order have been shipped

        * (DEPRECATED) ~~PARTIALLY_SHIPPED~~: Some items (but not all) have been
        shipped.

        * (DEPRECATED) ~~CANCELED_BY_SELLER~~: Order is canceled by seller.

        * (DEPRECATED) ~~CANCELED_BY_BUYER~~: Order is canceled by buyer.
      type: string
      enum:
        - UNACKED
        - CREATED
        - ACCEPTED
        - SHIPPED
        - PARTIALLY_SHIPPED
        - CANCELED_BY_SELLER
        - CANCELED_BY_BUYER
    OrderItemId:
      description: >-
        A unique identifier to identify a order item. This ID is provided by the
        Channel itself an should be used to identify a order item id.
      type: string
      example: '5437233'
      format: string
      minLength: 1
      maxLength: 50
    OrderItemStatus:
      description: |
        The current for order item.

        * **UNSHIPPED**: Item is ready for shipping
        * **SHIPPED**: Item is sent to buyer
        * **CANCELED_BY_SELLER**: Order is canceled by seller.
        * **CANCELED_BY_BUYER**: Order is canceled by buyer.
        * **RETURNED**: Item is returned to Seller.
        * **REFUNDED**: Item was returned and refunded.
      type: string
      enum:
        - UNSHIPPED
        - SHIPPED
        - CANCELED_BY_SELLER
        - CANCELED_BY_BUYER
        - RETURNED
        - REFUNDED
    OrderItemPaymentStatus:
      description: |
        The current payment status

        * **PENDING**: Order Item is not yet paid.
        * **PAID**: Order Item is complete paid.
      type: string
      enum:
        - PENDING
        - PAID
  securitySchemes:
    ChannelAuth:
      description: >
        As a Channel Integrator you will receive a API Refresh Token. With such
        a Refresh Token you

        need to request an Access Token with a limited Lifetime (see POST
        /v1/auth). This Access Token

        must be provided as a Bearer Token in the Authorization Header with
        every request.
      type: http
      scheme: bearer
      bearerFormat: JWT

````