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

# Report

> This API route is deprecated and will be removed soon. Use `POST /v1/channel/report/{reportId}/data` instead.

Send processed report data to the Channel API. On this API route, the maximum allowed size of items is 25,000.




## OpenAPI

````yaml /openapi/scx/channel.json post /v1/channel/report/{reportId}
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/report/{reportId}:
    post:
      tags:
        - Report
      summary: Report
      description: >
        This API route is deprecated and will be removed soon. Use `POST
        /v1/channel/report/{reportId}/data` instead.


        Send processed report data to the Channel API. On this API route, the
        maximum allowed size of items is 25,000.
      operationId: CreateReport
      parameters:
        - in: path
          name: reportId
          description: Target report identifier
          required: true
          schema:
            type: string
      requestBody:
        description: >-
          Full seller inventory report payload (deprecated single-shot upload),
          either as JSON or gzipped binary.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportSellerInventory'
          application/gzip:
            schema:
              type: string
              format: binary
      responses:
        '201':
          description: Report data accepted (deprecated)
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '404':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
      deprecated: true
      security:
        - ChannelAuth: []
components:
  schemas:
    ReportSellerInventory:
      type: array
      minItems: 1
      maxItems: 100
      items:
        $ref: '#/components/schemas/SellerInventoryItem'
    SellerInventoryItem:
      type: object
      title: SellerInventoryItem
      properties:
        offerId:
          $ref: '#/components/schemas/OfferId'
        channelOfferId:
          $ref: '#/components/schemas/ChannelOfferId'
        sku:
          $ref: '#/components/schemas/SKU'
        ean:
          type: string
          example: '4003227021106'
        quantity:
          type: string
          example: '1.0'
        priceList:
          type: array
          items:
            $ref: '#/components/schemas/PriceContainer'
        title:
          type: string
          example: One of the best Beer in the World.
        channelCategoryId:
          type: string
          example: '4355111'
        channelAttributeList:
          type: array
          minItems: 0
          maxItems: 1000
          items:
            $ref: '#/components/schemas/ChannelAttribute'
    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
    OfferId:
      description: |
        Unique Offer Id to identify an Offer on a Sales Channel.
      type: integer
      example: 5437233
      format: int64
      minimum: 1
      maxLength: 50
    ChannelOfferId:
      description: |
        Channel defined unique Offer Id to identify an Offer on a Sales Channel.
      type: string
      example: XCD233554
      minLength: 1
      maxLength: 100
    SKU:
      description: |
        Stock keeping unit is a unique Id used to identify one product.
      type: string
      example: BEER-001
      minLength: 1
      maxLength: 150
    PriceContainer:
      type: object
      required:
        - id
        - quantityPriceList
      properties:
        id:
          type: string
          example: B2C
          nullable: false
        quantityPriceList:
          type: array
          minItems: 1
          maxItems: 50
          items:
            $ref: '#/components/schemas/QuantityPrice'
    ChannelAttribute:
      type: object
      required:
        - attributeId
        - value
      properties:
        attributeId:
          type: string
          example: '1332'
        value:
          type: string
          example: MyBeerBrand
        group:
          type: string
          nullable: true
          example: '1'
    QuantityPrice:
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          example: '14.65'
          nullable: false
        currency:
          type: string
          example: EUR
          nullable: false
        quantity:
          type: string
          example: '1.0'
          nullable: true
          default: '1.0'
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseList'
          example:
            errorList:
              - code: VAL100
                message: Required field sellerId not found
                severity: error
                hint: Check the field `sellerId` — it must be a non-empty string.
    AccessForbidden:
      description: Access forbidden, invalid or unknown Token was used.
    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
  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

````