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

# Create Items Stock Posting Outbound

> Executes an outbound stock posting (Warenausgang) for an item in a specific warehouse. This is a relative stock change, not a target value - the provided Quantity is removed from the item's current stock in the given warehouse. Quantity must be greater than 0 and must not exceed the available stock.



## OpenAPI

````yaml /openapi/2.1.json post /v2/warehouses/{warehouseId}/items/{itemId}/stock-posting/outbound
openapi: 3.0.0
info:
  title: JTL-WAWI API (Cloud)
  description: "JTL-Wawi-Version: 2.2.0-alpha.9998+Sha.99f519f\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.1'
  x-application-version: 2.2.0.0
servers:
  - url: https://api.jtl-cloud.com/erp
    description: Production Environment Cloud API Gateway
security: []
tags:
  - 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: 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='deprecated_summary'></p>DEPRECATED seit Wawi 2.2.0: No-Op. Seit
      Wawi 2.1.0 registriert sich die Wawi selbst per JWT.
  - 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: Sales Orders
  - name: Marketplace Seller
  - name: Seller
  - name: Marketplace Order
  - name: Marketplace Offer
  - name: Marketplace Invoicing
  - name: Sales Channel
  - name: Payment
  - name: Warehouse Assistant
  - name: Worker
paths:
  /v2/warehouses/{warehouseId}/items/{itemId}/stock-posting/outbound:
    post:
      tags:
        - wawi
        - Inventory
      summary: Create Items Stock Posting Outbound
      description: >-
        Executes an outbound stock posting (Warenausgang) for an item in a
        specific warehouse. This is a relative stock change, not a target value
        - the provided Quantity is removed from the item's current stock in the
        given warehouse. Quantity must be greater than 0 and must not exceed the
        available stock.
      operationId: Stocks_ExecuteOutboundStockPosting
      parameters:
        - name: warehouseId
          in: path
          required: true
          description: Unique identifier of the warehouse the stock posting is executed in.
          schema:
            $ref: '#/components/schemas/JTL.Data.Contracts.Keys.WarenlagerKey'
        - name: itemId
          in: path
          required: true
          description: Unique identifier of the item the stock posting is executed for.
          schema:
            $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey'
        - 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: ExecuteOutboundStockPostingRequest
        description: ''
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.ExecuteOutboundStockPostingRequest
        required: true
        x-position: 1
      responses:
        '200':
          description: >-
            The outbound stock posting was executed successfully. Returns the
            item's resulting total stock in the warehouse.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockPostingResponse
        '400':
          description: >-
            The request is invalid. errorCode is one of: INVALID_QUANTITY
            (Quantity is not greater than 0), SERIAL_COUNT_MISMATCH (the number
            of serial numbers does not match the Quantity), or a malformed key.
          content:
            application/json: {}
        '401':
          description: Unauthorized.
          content:
            application/json: {}
        '403':
          description: Forbidden.
          content:
            application/json: {}
        '404':
          description: >-
            The specified item or warehouse was not found. errorCode is one of:
            ITEM_NOT_FOUND, WAREHOUSE_NOT_FOUND.
          content:
            application/json: {}
        '409':
          description: >-
            There is insufficient available stock to post the requested quantity
            out. errorCode is INSUFFICIENT_STOCK.
          content:
            application/json: {}
        '500':
          description: Internal server error.
          content:
            application/json: {}
      security:
        - oauth2-authorization-code: []
        - oauth2-client-credentials: []
components:
  schemas:
    JTL.Data.Contracts.Keys.WarenlagerKey:
      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.Warenlagerverwaltung.PublicApi.Endpoints.V2.Stocks.ExecuteOutboundStockPostingRequest:
      type: object
      description: >-
        Request model for ExecuteOutboundStockPosting command endpoint.

        Route parameters bind from the route, query parameters from the query
        string, everything else from the body.
      additionalProperties: false
      required:
        - quantity
      properties:
        quantity:
          type: number
          description: >-
            The positive quantity to be removed from the item's current stock
            (relative delta, must be greater than 0).
          format: decimal
        inventoryManagementInformation:
          $ref: >-
            #/components/schemas/JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.InventoryManagementInformation
          description: >-
            Optional inventory management information (shelf life expiration
            date, batch number and/or serial numbers) to be taken into account.
            Applicable only for items configured with detailed inventory
            management.
    JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.StockPostingResponse:
      type: object
      description: >-
        The resulting stock for the item in the warehouse after a stock posting
        has been executed. Shared by the inbound and outbound stock posting
        endpoints.
      additionalProperties: false
      required:
        - totalQuantity
      properties:
        totalQuantity:
          type: number
          description: >-
            The item's total physical stock (on-hand, including reserved) in the
            warehouse after the posting.
          format: decimal
    JTL.Wawi.Warenlagerverwaltung.PublicApi.DataTransferObjects.V2.Stocks.InventoryManagementInformation:
      type: object
      description: >-
        Inventory management information (shelf life expiration date, batch
        number and/or serial numbers) to be taken into account for a stock
        posting. Each property is applicable only when the item is configured
        with the corresponding detailed inventory management.
      additionalProperties: false
      properties:
        shelfLifeExpirationDate:
          type: string
          description: >-
            The shelf life expiration date (best-before date) of the stock to be
            posted. Applicable only for items whose inventory management is
            based on a shelf life expiration date.
          format: date-time
        batchNumber:
          type: string
          description: >-
            The batch number of the stock to be posted. Applicable only for
            items whose inventory management is based on a batch number.
        serialNumbers:
          type: array
          description: >-
            The serial numbers of the stock to be posted. Applicable only for
            items whose inventory management is based on serial numbers; the
            number of serial numbers must match the quantity to be posted.
          items:
            type: string
  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.
            saleschannels.read: Verkaufskanäle lesen
            all.read: Allows the application to read all data.
            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.
            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.
            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.
            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.
            payments.read: Ermöglicht den Lesezugriff auf Zahlungen.
            payments.write: Ermöglicht den Schreibzugriff auf Zahlungen.
            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.
            system.worker.read: Worker-Synchronisationen lesen
            system.worker.write: Worker-Synchronisationen schreiben
            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.
            marketplace.write: >-
              Grants permission to create and modify SCX marketplace data
              (sellers, orders, offers, invoicing).
            sellers.write: >-
              Grants permission to create and modify SCX marketplace sellers and
              their configuration.
            inventory.write: Bestand schreiben
            masterdata.write: Write master data
            inventory.read: Grants permission to read 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.
            saleschannels.read: Verkaufskanäle lesen
            all.read: Allows the application to read all data.
            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.
            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.
            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.
            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.
            payments.read: Ermöglicht den Lesezugriff auf Zahlungen.
            payments.write: Ermöglicht den Schreibzugriff auf Zahlungen.
            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.
            system.worker.read: Worker-Synchronisationen lesen
            system.worker.write: Worker-Synchronisationen schreiben
            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.
            marketplace.write: >-
              Grants permission to create and modify SCX marketplace data
              (sellers, orders, offers, invoicing).
            sellers.write: >-
              Grants permission to create and modify SCX marketplace sellers and
              their configuration.
            inventory.write: Bestand schreiben
            masterdata.write: Write master data
            inventory.read: Grants permission to read 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.

````