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

# Update Offer


> Update an existing Offer



## OpenAPI

````yaml /openapi/scx/seller.json put /v1/seller/offer
openapi: 3.0.2
info:
  title: SCX Seller API
  version: '1.0'
  x-logo:
    url: https://scx-sandbox.ui.jtl-software.com/docs/scx.png
  description: |
    SCX Seller API
servers:
  - url: https://scx-sbx.api.jtl-software.com
    description: Sandbox Environment
security: []
tags:
  - name: Account
    description: Seller account management
  - name: Offer
    description: Seller offer management
  - name: Events
    description: Channel and system events for the seller
  - name: Meta
    description: Channel meta information (categories, attributes, rules)
  - name: Order
    description: Order processing, payments, shipping, cancellations and refunds
  - name: Report
    description: Seller report generation and retrieval
  - name: Ticket
    description: Channel ticket management
paths:
  /v1/seller/offer:
    put:
      tags:
        - Offer
      summary: |
        Update Offer
      description: Update an existing Offer
      operationId: UpdateOffers
      requestBody:
        $ref: '#/components/requestBodies/OfferListRequest'
      responses:
        '201':
          $ref: '#/components/responses/Created'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '429':
          $ref: '#/components/responses/RequestThrottled'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - SellerAuth: []
components:
  requestBodies:
    OfferListRequest:
      description: >-
        List of product offers (new or updated) to be published on the
        marketplace.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProductOfferList'
  responses:
    Created:
      description: Created
    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.
    RequestThrottled:
      description: User has send to many requests
    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:
    ProductOfferList:
      description: >-
        Batch of product offers (product master data plus per-channel offer
        data) to be created or updated.
      type: object
      required:
        - offerList
      properties:
        offerList:
          type: array
          minItems: 1
          maxItems: 100
          items:
            $ref: '#/components/schemas/Offer'
    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
    Offer:
      description: >-
        A product together with one or more sales-channel offers (per-channel
        listing data such as price and stock).
      type: object
      required:
        - salesChannelOfferList
        - product
      properties:
        salesChannelOfferList:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/SalesChannelOfferBase'
              - $ref: '#/components/schemas/SalesChannelOffer'
        product:
          $ref: '#/components/schemas/Product'
    SalesChannelOfferBase:
      type: object
      properties:
        channel:
          $ref: '#/components/schemas/Channel'
    SalesChannelOffer:
      type: object
      required:
        - channel
        - sellerId
        - offerId
        - priceList
      properties:
        sellerId:
          $ref: '#/components/schemas/SellerId'
        offerId:
          $ref: '#/components/schemas/OfferId'
        parentOfferId:
          $ref: '#/components/schemas/ParentOfferId'
        channelOfferId:
          $ref: '#/components/schemas/ChannelOfferId'
        channelCategoryId:
          type: string
          example: '4355111'
        quantity:
          description: Offer Quantity
          type: string
          example: '1.0'
        taxPercent:
          type: string
          example: '19.00'
        priceList:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/PriceContainer'
        title:
          description: >
            Title used for this specific SalesChannel. If no title is provided,
            the product title should be used.
          type: string
          example: One of the best Beer in the World.
          maxLength: 512
        subTitle:
          description: >
            Subtitle used for this specific SalesChannel. If no subtitle is
            provided, the product description

            should be used.
          type: string
          example: Maybe the best!
          maxLength: 1024
        description:
          description: >
            Description used for this specific SalesChannel. If no description
            is provided, the product description

            should be used.
          type: string
          example: |
            This Offer description is for this specific SalesChannel
          maxLength: 50000
        mainPicture:
          type: string
          example: 48dd485e-bab9-48fa-8c03-3736fca1323d.png
        pictureList:
          type: array
          maxItems: 50
          items:
            type: string
            example: b61525f4-8114-4cc2-bccd-9c627ebdc077.png
        channelAttributeList:
          description: >
            A List of SalesChannel related attributes. Typically all required
            attributes need to be passed through this

            objects. Required (and also optional) attributes can be requested
            using the /meta Data API endpoints.
          type: array
          minItems: 0
          maxItems: 250
          items:
            $ref: '#/components/schemas/ChannelAttribute'
        variationList:
          type: array
          minItems: 0
          maxItems: 500
          items:
            $ref: '#/components/schemas/Variation'
    Product:
      type: object
      required:
        - sku
      properties:
        sku:
          $ref: '#/components/schemas/SKU'
        title:
          type: string
          example: Best Beer of the World
          minLength: 1
          maxLength: 512
        subTitle:
          type: string
          example: Probably the best!
          maxLength: 1024
        description:
          type: string
          example: |
            So lovely and tasty! Properly the best beer you will ever have.
            You will never stop drinking.
          maxLength: 50000
        gtin:
          type: string
          example: '4003227021106'
        mpn:
          type: string
          example: null
        isbn:
          type: string
          example: null
        brand:
          type: string
          example: null
        srp:
          $ref: '#/components/schemas/Price'
        productAttributeList:
          type: array
          items:
            $ref: '#/components/schemas/ProductAttribute'
    Channel:
      description: |
        This is the unique Channel name.
      type: string
      example: MYBESTDEALCOMDE
      pattern: ^\w{5,15}$
    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}$
    OfferId:
      description: |
        Unique Offer Id to identify an Offer on a Sales Channel.
      type: integer
      example: 5437233
      format: int64
      minimum: 1
      maxLength: 50
    ParentOfferId:
      description: >
        In case the current offer has an reference to a parent offer. This
        ParentOfferId must be used to identify the

        Parent Offer. The ParentOfferId is conditionally mandatory for variation
        Offers in case you add a new Item

        to a existing Variation Offer Listing.
      type: integer
      example: 3434223
      format: int64
      minimum: 1
      nullable: true
    ChannelOfferId:
      description: |
        Channel defined unique Offer Id to identify an Offer on a Sales Channel.
      type: string
      example: XCD233554
      minLength: 1
      maxLength: 100
    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'
    Variation:
      type: object
      properties:
        offerId:
          $ref: '#/components/schemas/OfferId'
        sku:
          $ref: '#/components/schemas/SKU'
        gtin:
          type: string
          example: '4003227021106'
        variationDimensionList:
          description: >
            A List of SalesChannel related attributes. These attributes are used
            to define variation dimensions.

            You can use up to 10 dimensions to build a multi-variation listing.
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/ChannelAttribute'
        quantity:
          description: Offer Quantity
          type: string
          example: '1.0'
        priceList:
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/PriceContainer'
        taxPercent:
          type: string
          example: '19.00'
        pictureList:
          type: array
          maxItems: 50
          items:
            type: string
            example: b61525f4-8114-4cc2-bccd-9c627ebdc077.png
        title:
          description: >
            Title used for this variation listing on SalesChannel. If no title
            is provided, the SalesChannelOffer title should be used.
          type: string
          example: One of the best Beer Variation in the Variation Listing World.
          maxLength: 512
        subTitle:
          description: >
            Subtitle used for this variation listing on SalesChannel. If no
            subtitle is provided, the SalesChannelOffer Subtitel

            should be used.
          type: string
          example: Maybe the best Variation List SubTitle!
          maxLength: 1024
        description:
          description: >
            Description used for this variation listing on SalesChannel. If no
            description is provided, the SalesChannelOffer description

            should be used.
          type: string
          example: |
            This Offer Variation description is for this specific SalesChannel
          maxLength: 50000
        channelAttributeList:
          description: >
            A List of SalesChannel related attributes. Typically all required
            attributes need to be passed through this

            objects. Required (and also optional) attributes can be requested
            using the /meta Data API endpoints.


            A Channel should merge the SalesChannelOffer channelAttributeList
            with this Attribute List. This List extends

            the Attributes from the SalesChannelOffer channelAttributeList
            property and should be overwrite existing

            Attributes.
          type: array
          minItems: 0
          maxItems: 256
          items:
            $ref: '#/components/schemas/ChannelAttribute'
      required:
        - offerId
        - sku
        - variationDimensionList
        - quantity
        - priceList
    SKU:
      description: |
        Stock keeping unit is a unique Id used to identify one product.
      type: string
      example: BEER-001
      minLength: 1
      maxLength: 150
    Price:
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          example: '14.65'
          nullable: false
        currency:
          type: string
          example: EUR
          nullable: false
    ProductAttribute:
      type: object
      properties:
        name:
          type: string
          example: Color
        value:
          type: string
          example: Red
      required:
        - name
        - value
    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'
  securitySchemes:
    SellerAuth:
      description: >
        Bearer JWT issued to a seller after they sign up for a JTL-Scx
        subscription via the JTL

        Customer Center. Usage format: `Bearer <JWT>`.
      type: http
      scheme: bearer
      bearerFormat: JWT

````