> ## 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.

# Modifies an existing sales order.

> Modifies an existing sales order.



## OpenAPI

````yaml /openapi/2.0.json patch /v2/sales-orders/{salesOrderId}
openapi: 3.0.0
info:
  title: JTL-WAWI API (Cloud)
  description: "JTL-Wawi-Version: 2.1.0\r\n# Introduction\r\n\r\nWelcome to the JTL-WAWI technical API documentation. This guide is here to help developers understand how our REST API works and how it can be integrated into your existing systems. We'll delve into the details of authentication and data manipulation processes, providing clear examples along the way. Whether you're a developer or an IT professional, this documentation aims to give you a practical understanding, laying the groundwork for effectively using the JTL-WAWI API to enhance your processes.\r\n\r\n# Authentication\r\n\r\nYou register your application with the API by sending a POST request with the required information and corresponding keys. You can find the exact request details at https://developer.jtl-software.com/products/erp/swagger/appregistration. This information has to include the following:\r\n\r\n* AppId\r\n* DisplayName\r\n* Description\r\n* Version\r\n* ProviderName\r\n* ProviderWebsite\r\n* MandatoryApiScopes\r\n\r\nThis data is crucial for identifying and registering your application with the API. The API uses it to generate a temporary authentication ID that allows your application to access the necessary resources. After successful validation of this information, you will receive the API key required for future authentication and API requests.\r\n\r\nBefore you can begin the registration process, you must open JTL-Wawi (new interface) and start the registration process under 'Admin->App registration'. Only at this point are you authorised to send the first API call. This step in JTL-Wawi ensures that your application is properly registered and has permission to use the API.\r\n\r\nThe API will send you an authentication ID in the form of a token. Once you have received this token and successfully completed the registration in JTL-Wawi, you will send another request to the API by including this authentication ID in the URL path.\r\n\r\nAfter successful validation of this second request by the API and confirmation of the correct information, you will be provided with the actual API key. It is important to note that this API key will not be displayed again!\r\n\r\nThis API key will be used in the future to authenticate requests to the API. It is of utmost importance that you securely store the API key upon receipt, as it cannot be retrieved from any other location in the system."
  contact:
    name: JTL-Software-GmbH
    url: https://developer.jtl-software.com/
    email: partner@jtl-software.com
  version: '2.0'
  x-application-version: 2.1.0.0
servers:
  - url: https://api.jtl-cloud.com/erp
    description: Production Environment Cloud API Gateway
security: []
tags:
  - name: Worker
    description: >-
      <p data-section-id='tag/Worker' class='beta_summary'></p>Returns the
      Available Syncs of the Worker
  - name: WMS
    description: >-
      <p data-section-id='tag/WMS' class='stable_summary'></p>Query all pick
      lists for a specific wms warehouse that are not completed.
  - name: Wawi App
    description: >-
      <p data-section-id='tag/Wawi App' class='stable_summary'></p>Get a
      specific customer
  - name: Warehouses
    description: >-
      <p data-section-id='tag/Warehouses' class='stable_summary'></p>Queries all
      storage locations for a given warehouse.
  - name: Units
    description: Development
  - name: Transaction Status
    description: >-
      <p data-section-id='tag/Transaction Status'
      class='stable_summary'></p>Queries all transaction statuses for a sales
      order.
  - name: Tax
    description: >-
      <p data-section-id='tag/Tax' class='stable_summary'></p>Returns the tax
      rate for the given item.
  - name: Inventory
    description: >-
      <p data-section-id='tag/Inventory' class='stable_summary'></p>Queries
      stocks for a specific item, warehouse or storage location.
  - name: Sales Order
    description: Planned
  - name: Sales Invoice Correction
    description: Planned
  - name: Sales Channel
    description: >-
      <p data-section-id='tag/Sales Channel' class='stable_summary'></p>Gets all
      sales channels.
  - name: Return
    description: >-
      <p data-section-id='tag/Return' class='beta_summary'></p>Create a new
      return with associated items and packages.
  - name: Item
    description: >-
      <p data-section-id='tag/Item' class='beta_summary'></p>Queries all
      responsible persons.
  - name: Refund
    description: Planned
  - name: Property
    description: >-
      <p data-section-id='tag/Property' class='stable_summary'></p>Queries all
      properties of items.
  - name: Printer
    description: >-
      <p data-section-id='tag/Printer' class='beta_summary'></p>Retrieves all
      installed printers.
  - name: Master Data
    description: >-
      <p data-section-id='tag/Master Data' class='stable_summary'></p>Queries
      all on hold reasons for sales orders.
  - name: Manufacturer
    description: Development
  - name: Label
    description: Development
  - name: Sales Invoice
    description: Planned
  - name: Info
    description: >-
      <p data-section-id='tag/Info' class='stable_summary'></p>Returns the
      status of the API.
  - name: Features
    description: >-
      <p data-section-id='tag/Features' class='stable_summary'></p>Returns the
      available feature sets with release state and API version.
  - name: Extensibility
    description: Planned
  - name: Shipment
    description: Development
  - name: Delivery Note
    description: Planned
  - name: Custom Field
    description: Development
  - name: Customer
    description: >-
      <p data-section-id='tag/Customer' class='stable_summary'></p>Deletes a
      specific customer.
  - name: Authentication
    description: >-
      <p data-section-id='tag/Authentication' class='stable_summary'></p>Send a
      registration request for an (external) application
  - name: Attribute
    description: Development
  - name: Sales Quotation
    description: >-
      <p data-section-id='tag/Sales Quotation' class='beta_summary'></p>Execute
      the printing of a sales quotation
  - name: Production
  - name: Resources
  - name: Company
  - name: Marketplace Order
  - name: Marketplace Offer
  - name: Marketplace Invoicing
  - name: Warehouse Assistant
paths:
  /v2/sales-orders/{salesOrderId}:
    patch:
      tags:
        - Sales Order
      summary: Modifies an existing sales order.
      description: Modifies an existing sales order.
      operationId: SalesOrderDomain_UpdateSalesOrder
      parameters:
        - name: salesOrderId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey'
            example: b45f6432-2462-4c6f-b00f-1d9d01000000
          x-position: 2
        - name: x-companyid
          in: header
          description: >-
            The Company-Id (int or uuid) of the company on whose behalf the
            request is executed.
          schema:
            type: string
        - name: x-tenant-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
          description: The tenant ID for the target ERP instance.
      requestBody:
        x-name: request
        description: Request parameters
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandRequest
        required: true
        x-position: 1
      responses:
        '200':
          description: SalesOrder was successfully modified.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandResponse
        '400':
          description: ''
          content:
            application/json: {}
        '401':
          description: ''
          content:
            application/json: {}
        '403':
          description: ''
          content:
            application/json: {}
        '404':
          description: ''
          content:
            application/json: {}
        '500':
          description: ''
          content:
            application/json: {}
      security:
        - oauth2-authorization-code:
            - salesorders.write
        - oauth2-client-credentials:
            - salesorders.write
components:
  schemas:
    JTL.Data.Contracts.Keys.VerkaufAuftragKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandRequest:
      type: object
      description: Modifies an existing sales order. - Request
      additionalProperties: false
      properties:
        companyId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey'
          description: Unique ID of the company.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        customerId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.KundeKey'
          description: The ID of the customer associated with the sales order.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        billingAddress:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderAddress
          description: SalesOrderBillingAddress
        shipmentAddress:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderAddress
          description: SalesOrderBillingAddress
        shippingMethodId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey'
          description: The ID of the shipping method for the sales order.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        paymentMethodId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ZahlungsartKey'
          description: The ID of the payment method for the sales order.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        lineItems:
          type: array
          description: The line items included in the sales order.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderLineItem
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateSalesOrderCommandResponse:
      type: object
      description: Modifies an existing sales order. - Response
      additionalProperties: false
      required:
        - salesOrderId
      properties:
        salesOrderId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragKey'
          description: Unique ID of the modified sales order.
    JTL.Data.Contracts.Keys.FirmaKey:
      type: string
      description: Represents a key for identifying a firm within the application.
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.KundeKey:
      type: string
      description: Represents a unique key for identifying a customer in the JTL system.
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderAddress:
      type: object
      description: address details for the sales order.
      additionalProperties: false
      properties:
        salutation:
          type: string
          description: The SalesOrderAddress Salutation
        title:
          type: string
          description: The SalesOrderAddress Title
        firstName:
          type: string
          description: The SalesOrderAddress FirstName
        lastName:
          type: string
          description: The SalesOrderAddress LastName
        company:
          type: string
          description: The SalesOrderAddress Company
        additionalCompanyLine:
          type: string
          description: The SalesOrderAddress AdditionalCompanyLine
        street:
          type: string
          description: The SalesOrderAddress Street
        additionalAddressLine:
          type: string
          description: The SalesOrderAddress AdditionalAddressLine
        city:
          type: string
          description: The SalesOrderAddress City
        postalCode:
          type: string
          description: The SalesOrderAddress PostalCode
        state:
          type: string
          description: The SalesOrderAddress State
        countryIso:
          type: string
          description: The SalesOrderAddress CountryISO
        postId:
          type: string
          description: The SalesOrderAddress PostId
        emailAddress:
          type: string
          description: The SalesOrderAddress EmailAddress
        phoneNumber:
          type: string
          description: The SalesOrderAddress PhoneNumber
        mobilePhoneNumber:
          type: string
          description: The SalesOrderAddress MobilePhoneNumber
        fax:
          type: string
          description: The SalesOrderAddress Fax
        vatId:
          type: string
          description: The SalesOrderAddress VAT ID
    JTL.Data.Contracts.Keys.VersandartKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.ZahlungsartKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.UpdateUpdateSalesOrderLineItem:
      type: object
      description: Line item details for the sales order line item to be modified.
      additionalProperties: false
      properties:
        salesOrderLineItemId:
          $ref: >-
            #/components/schemas/JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey
          description: Unique ID of the sales order line item to be modified.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        taxClassId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey'
          description: The SalesOrderLineItem TaxClassId
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        taxCodeId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey'
          description: The SalesOrderLineItem TaxCodeId
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        discountPercent:
          type: number
          description: The discount of the line item.
          format: decimal
        itemId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey'
          description: Unique ID to identify an item.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        name:
          type: string
          description: Name of the position.
        note:
          type: string
          description: The SalesOrderLineItem Note
        quantity:
          type: number
          description: The quantity of the line item.
          format: decimal
        salesPriceNet:
          type: number
          description: >-
            The net sales price of the item. Only net or gross price can be
            entered. The other price will then be calculated.
          format: decimal
        salesUnit:
          type: string
          description: The sales unit of the line item.
        sku:
          type: string
          description: SKU of the sales order line item.
        taxRate:
          type: number
          description: The tax rate of the line item.
          format: decimal
        type:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType
          type: integer
          description: The SalesOrderLineItem LineItemType
          format: int32
    JTL.Data.Contracts.Keys.VerkaufAuftragPositionKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.SteuerklasseKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.SteuerschluesselKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.ArtikelKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType:
      type: integer
      description: >-
        0 = Custom, 1 = Item, 2 = Shipping, 3 = Coupon, 4 = Voucher, 5 =
        Payment, 6 = ShippingSurcharge, 7 = NewCustomerCoupon, 8 =
        CashOnDelivery, 9 = ShippingSurchargeItem, 10 = Packing, 11 =
        GiftForFree, 12 = TrustedShops, 13 = InterestPremium, 14 =
        ProcessingFee, 15 = Carton, 16 = ReturnDelivery, 17 =
        MultiPurposeVoucher, 18 = MultiPurposeVoucherDigital, 19 =
        SinglePurposeVoucher, 20 = SinglePurposeVoucherDigital, 21 =
        SinglePurposeVoucherRedemption
      format: int32
      x-enumNames:
        - Custom
        - Item
        - Shipping
        - Coupon
        - Voucher
        - Payment
        - ShippingSurcharge
        - NewCustomerCoupon
        - CashOnDelivery
        - ShippingSurchargeItem
        - Packing
        - GiftForFree
        - TrustedShops
        - InterestPremium
        - ProcessingFee
        - Carton
        - ReturnDelivery
        - MultiPurposeVoucher
        - MultiPurposeVoucherDigital
        - SinglePurposeVoucher
        - SinglePurposeVoucherDigital
        - SinglePurposeVoucherRedemption
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
  securitySchemes:
    oauth2-authorization-code:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://auth.jtl-cloud.com/oauth2/auth
          tokenUrl: https://auth.jtl-cloud.com/oauth2/token
          scopes:
            items.read: Grants permission to read item data.
            items.write: Grants permission to create and modify item data.
            all.read: Allows the application to read all data.
            authentication.updateforeignapp: Grants permission to update registered third-party apps.
            customers.read: Grants permission to read customer data.
            customers.write: Grants permission to create and modify customer data.
            customfields.read: Grants permission to read custom fields.
            customfields.write: Grants permission to create and modify custom fields.
            deliveries.read: Grants permission to read deliveries.
            deliveries.write: Grants permission to create and modify deliveries.
            deliverynotes.print: Grants permission to print and output delivery notes.
            deliverynotes.read: Grants permission to read delivery notes.
            deliverynotes.write: Grants permission to create and modify delivery notes.
            extensibility.integration: >-
              Grants permission to manage extensions and integrations of the
              JTL-Wawi.
            foreignapps.manage: >-
              Grants permission to manage registered third-party apps
              (registration, update and removal).
            inventories.read: Grants permission to read stock levels.
            inventories.write: Grants permission to modify stock levels.
            invoices.read: Grants permission to read invoices.
            invoices.write: Grants permission to create and modify invoices.
            labels.read: Grants permission to read labels.
            labels.write: Grants permission to create and modify labels.
            masterdata.read: >-
              Read master data such as shipping methods, payment methods, color
              codes and tax classes.
            orders.read: Grants permission to read orders.
            picklists.read: Grants permission to read pick lists.
            picklists.write: Grants permission to create and modify pick lists.
            returns.read: Grants permission to read returns.
            returns.write: Grants permission to create and modify returns.
            saleschannels.read: Grants permission to read sales channels.
            salesinvoicecorrections.read: Grants permission to read invoice corrections.
            salesinvoicecorrections.write: Grants permission to create and modify invoice corrections.
            salesorders.print: Grants permission to print and output sales orders.
            salesorders.read: Grants permission to read sales orders.
            salesorders.write: Grants permission to create and modify sales orders.
            system.config.read: Grants permission to read the system configuration.
            system.config.write: Grants permission to modify the system configuration.
            system.worker.read: >-
              Grants permission to read the configuration and status of
              background workers.
            system.worker.write: Grants permission to configure and control background workers.
            taxes.read: Grants permission to read tax data.
            warehouse.read: Grants permission to read warehouse data.
            wawiapp.all: Grants access to Wawi app related operations.
            currencies.read: Grants read access to currencies.
            jera.read: Grants read access to JERA internal endpoints.
            paymentmethods.read: Grants read access to payment methods.
            salesinvoicecorrections.print: Grants permission to print and output invoice corrections.
            salesinvoices.print: Grants permission to print and output sales invoices.
            salesinvoices.read: Grants read access to sales invoices.
            salesinvoices.write: Grants write access to sales invoices.
            salesquotations.print: Grants permission to print and output sales quotations.
            salesquotations.read: Grants read access to sales quotations.
            salesquotations.write: Grants write access to sales quotations.
            suppliers.read: Grants permission to read suppliers.
            resources.read: Grants permission to read resource management data.
            resources.write: Grants permission to create and modify resource management data.
            pps.read: Grants permission to read production data.
            pps.write: Grants permission to create and modify production data.
            masterdata.write: Write master data
            inventory.read: Grants permission to read stock levels.
            inventory.write: Grants permission to modify stock levels.
            taxes.write: Grants permission to create and modify tax data.
            application.runas: >-
              Allows the application to execute requests on behalf of another
              user.
    oauth2-client-credentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.jtl-cloud.com/oauth2/token
          scopes:
            items.read: Grants permission to read item data.
            items.write: Grants permission to create and modify item data.
            all.read: Allows the application to read all data.
            authentication.updateforeignapp: Grants permission to update registered third-party apps.
            customers.read: Grants permission to read customer data.
            customers.write: Grants permission to create and modify customer data.
            customfields.read: Grants permission to read custom fields.
            customfields.write: Grants permission to create and modify custom fields.
            deliveries.read: Grants permission to read deliveries.
            deliveries.write: Grants permission to create and modify deliveries.
            deliverynotes.print: Grants permission to print and output delivery notes.
            deliverynotes.read: Grants permission to read delivery notes.
            deliverynotes.write: Grants permission to create and modify delivery notes.
            extensibility.integration: >-
              Grants permission to manage extensions and integrations of the
              JTL-Wawi.
            foreignapps.manage: >-
              Grants permission to manage registered third-party apps
              (registration, update and removal).
            inventories.read: Grants permission to read stock levels.
            inventories.write: Grants permission to modify stock levels.
            invoices.read: Grants permission to read invoices.
            invoices.write: Grants permission to create and modify invoices.
            labels.read: Grants permission to read labels.
            labels.write: Grants permission to create and modify labels.
            masterdata.read: >-
              Read master data such as shipping methods, payment methods, color
              codes and tax classes.
            orders.read: Grants permission to read orders.
            picklists.read: Grants permission to read pick lists.
            picklists.write: Grants permission to create and modify pick lists.
            returns.read: Grants permission to read returns.
            returns.write: Grants permission to create and modify returns.
            saleschannels.read: Grants permission to read sales channels.
            salesinvoicecorrections.read: Grants permission to read invoice corrections.
            salesinvoicecorrections.write: Grants permission to create and modify invoice corrections.
            salesorders.print: Grants permission to print and output sales orders.
            salesorders.read: Grants permission to read sales orders.
            salesorders.write: Grants permission to create and modify sales orders.
            system.config.read: Grants permission to read the system configuration.
            system.config.write: Grants permission to modify the system configuration.
            system.worker.read: >-
              Grants permission to read the configuration and status of
              background workers.
            system.worker.write: Grants permission to configure and control background workers.
            taxes.read: Grants permission to read tax data.
            warehouse.read: Grants permission to read warehouse data.
            wawiapp.all: Grants access to Wawi app related operations.
            currencies.read: Grants read access to currencies.
            jera.read: Grants read access to JERA internal endpoints.
            paymentmethods.read: Grants read access to payment methods.
            salesinvoicecorrections.print: Grants permission to print and output invoice corrections.
            salesinvoices.print: Grants permission to print and output sales invoices.
            salesinvoices.read: Grants read access to sales invoices.
            salesinvoices.write: Grants write access to sales invoices.
            salesquotations.print: Grants permission to print and output sales quotations.
            salesquotations.read: Grants read access to sales quotations.
            salesquotations.write: Grants write access to sales quotations.
            suppliers.read: Grants permission to read suppliers.
            resources.read: Grants permission to read resource management data.
            resources.write: Grants permission to create and modify resource management data.
            pps.read: Grants permission to read production data.
            pps.write: Grants permission to create and modify production data.
            masterdata.write: Write master data
            inventory.read: Grants permission to read stock levels.
            inventory.write: Grants permission to modify stock levels.
            taxes.write: Grants permission to create and modify tax data.
            application.runas: >-
              Allows the application to execute requests on behalf of another
              user.

````