openapi: 3.0.0
servers:
  - url: https://api.{environment}
    variables:
      environment:
        default: allegro.pl
        enum:
          - allegro.pl                    # Production server
          - allegro.pl.allegrosandbox.pl  # Sandbox server
info:
  description:
    'https://developer.allegro.pl/about


    Documentation is generated from [this](https://developer.allegro.pl/swagger.yaml) OpenAPI 3.0 specification file.'
  version: 'latest'
  title: Allegro REST API
  termsOfService: 'https://developer.allegro.pl/rules/'
  contact:
    name: "API Support"
    url: 'https://github.com/allegro/allegro-api/issues'

tags:
  - name: Information about marketplaces
  - name: Information about user
  - name: User's offer information
  - name: Offer management
  - name: Categories and parameters
  - name: Images and attachments
  - name: Products
  - name: Batch offer modification
  - name: Price automation
  - name: Offer variants
  - name: Offer tags
    description: >-
      Tags are only available to sellers registered on allegro.pl and can only be assigned to offers with base marketplace `allegro-pl`.
  - name: Tax settings
  - name: Compatibility List
  - name: Rebates and promotions
  - name: Badge campaigns
  - name: Allegro Prices
  - name: Offer rating
  - name: Classifieds
  - name: Pricing
  - name: Order management
  - name: Payments
  - name: Disputes
  - name: Shipment management
  - name: Parcel management
  - name: Customer returns
  - name: Commission refunds
  - name: After sale services
  - name: Delivery
  - name: Additional services
  - name: Additional services translations
  - name: Size tables
  - name: Points of service
  - name: Contacts
  - name: Message Center
  - name: Billing
  - name: Auctions and Bidding
  - name: Charity
  - name: Public user information
  - name: Public offer information
  - name: Offer translations
  - name: Advance Ship Notices
  - name: Fulfillment Stock
  - name: Fulfillment Parcels
  - name: Fulfillment Products
  - name: Responsible persons

x-tagGroups:
  - name: Offer
    tags:
      - User's offer information
      - Offer management
      - Offer translations
      - Categories and parameters
      - Images and attachments
      - Products
      - Batch offer modification
      - Price automation
      - Offer variants
      - Offer tags
      - Tax settings
      - Compatibility List
      - Rebates and promotions
      - Badge campaigns
      - Allegro Prices
      - Offer rating
      - Classifieds
      - Pricing
  - name: Orders
    tags:
      - Order management
      - Payments
      - Disputes
      - Parcel management
      - Shipment management
      - Customer returns
      - Commission refunds
  - name: Sale settings
    tags:
      - After sale services
      - Delivery
      - Additional services
      - Additional services translations
      - Size tables
      - Points of service
      - Contacts
      - Responsible persons
  - name: One Fulfillment
    tags:
      - Advance Ship Notices
      - Fulfillment Stock
      - Fulfillment Parcels
      - Fulfillment Products
  - name: Others
    tags:
      - Information about user
      - Information about marketplaces
      - Message Center
      - Billing
      - Auctions and Bidding
      - Charity
      - Public user information
      - Public offer information

security:
  - bearer-token-for-user: []

paths:
  /sale/product-offers:
    post:
      tags:
        - Offer management
      summary: "Create offer based on product"
      description: >-
        Use this resource to create offer based on product. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-wystawic-oferte-z-produktem-za-pomoca-zasobu-sale-product-offers" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-list-an-offer-with-a-product-via-sale-product-offers-resource" target="_blank">EN</a>.
        Note that requests may be limited.
      operationId: createProductOffers
      responses:
        '201':
          description: Offer created successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductOfferResponseV1'
        '202':
          description: The product-offer creation request has been accepted for processing, but the processing has not been completed.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductOfferResponseV1'
          headers:
            Location:
              schema:
                type: string
              description: The location URI points to a resource that will display the status of the asynchronous processing.
            Retry-after:
              schema:
                type: integer
                minimum: 0
              description: An estimate time of when you should poll the location uri to get the status of the asynchronous processing.
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden - not allowed to access.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: object
                properties:
                  errors:
                    allOf:
                      #language=html
                      - description: >-
                          <p>The list of all the error objects explaining the error.</p>

                          <table>
                            <caption>Error metadata fields</caption>
                            <thead>
                            <tr>
                              <th>Error code</th>
                              <th>Metadata key</th>
                              <th>Description</th>
                            </tr>
                            </thead>
                            <tbody>
                            <tr>
                              <td>PARAMETER_MISMATCH</td>
                              <td>productId</td>
                              <td>ID of an existing product that was matched to your request, but has parameter differences</td>
                            </tr>
                            </tbody>
                          </table>
                      - $ref: '#/components/schemas/Errors'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SaleProductOfferRequestV1'
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  '/sale/product-offers/{offerId}':
    patch:
      tags:
        - Offer management
      summary: "Edit an offer"
      description: >-
        Use this resource to edit offer. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#edycja-pojedynczej-oferty" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#editing-single-offer" target="_blank">EN</a>.
        Note that requests may be limited.
      operationId: editProductOffers
      parameters:
        - name: offerId
          in: path
          description: The offer identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Offer edited successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductOfferResponseV1'
        '202':
          description: The request to edit product-offer has been accepted for processing, but the processing has not been completed.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductOfferResponseV1'
          headers:
            Location:
              schema:
                type: string
              description: The location URI points to a resource that will display the status of the asynchronous processing.
            Retry-after:
              schema:
                type: integer
                minimum: 0
              description: An estimate time in seconds of when you should poll the location uri to get the status of the asynchronous processing.
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden - not allowed to access.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not Found. Offer not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: Conflict. The current state of the offer does not allow to perform the request (e.g. The previous edition of the offer is still being processed).
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: object
                properties:
                  errors:
                    allOf:
                      #language=html
                      - description: >-
                          <p>The list of all the error objects explaining the error.</p>

                          <table>
                            <caption>Error metadata fields</caption>
                            <thead>
                              <tr>
                                <th>Error code</th>
                                <th>Metadata key</th>
                                <th>Description</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>PARAMETER_MISMATCH</td>
                                <td>productId</td>
                                <td>ID of an existing product that was matched to your request, but has parameter differences</td>
                              </tr>
                            </tbody>
                          </table>
                      - $ref: '#/components/schemas/Errors'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SaleProductOfferPatchRequestV1'
        required: true
    get:
      tags:
        - User's offer information
      summary: 'Get all data of the particular product-offer'
      description:
        'Use this resource to retrieve all data of the particular product-offer. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#publikacja-oferty-w-asynchronicznym-api" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#offer-publication-in-asynchronous-api" target="_blank">EN</a>.'
      operationId: getProductOffer
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Offer returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductOfferResponseV1'
        '400':
          description: Invalid offer ID format
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  '/sale/product-offers/{offerId}/operations/{operationId}':
    get:
      tags:
        - Offer management
      summary: 'Check the processing status of a POST or PATCH request'
      description:
        'The URI for the resource given by Location header of POST /sale/product-offers and PATCH /sale/product-offers/{offerId}.
        Use this resource to check processing status of a POST or PATCH request. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#publikacja-oferty-w-asynchronicznym-api" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#offer-publication-in-asynchronous-api" target="_blank">EN</a>.'
      operationId: getProductOfferProcessingStatus
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
        - name: operationId
          in: path
          description: Operation identifier provided in location header of POST or PATCH request.
          required: true
          schema:
            type: string
      responses:
        '202':
          description: The request processing has not been completed.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductOfferStatusResponse'
        '303':
          description: 'The processing of product-offer has been completed. The Location header provide information about the location of processed resource.'
        '400':
          description: Syntactically incorrect request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  /sale/offers:
    get:
      tags:
        - User's offer information
      summary: "Get seller's offers"
      description: >-
        Use this resource to get the list of the seller's offers. You can use different query parameters to filter the list. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-moje-oferty-w-rest-api" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#list-of-offers" target="_blank">EN</a>.
      operationId: searchOffersUsingGET
      parameters:
        - name: offer.id
          in: query
          description: Offer ID.
          required: false
          schema:
            type: string
        - name: name
          in: query
          description: The text to search in the offer title.
          required: false
          schema:
            type: string
        - name: sellingMode.price.amount.gte
          in: query
          description: >-
            The lower threshold of price.


            If additionally a `publication.marketplace` is provided, searches using the price on the given marketplace.
          required: false
          schema:
            type: number
            minimum: 0
            example: 9.99
        - name: sellingMode.price.amount.lte
          in: query
          description: >-
            The upper threshold of price.


            If additionally a `publication.marketplace` is provided, searches using the price on the given marketplace.
          required: false
          schema:
            type: number
            minimum: 1
            example: 125.99
        - name: publication.status
          in: query
          description: >-
            The publication status of the offer. Passing more than one value will search for offers with any of the given statuses. By default all statuses are included.
            Example: `publication.status=INACTIVE&publication.status=ACTIVE` - returns offers with status `INACTIVE` or `ACTIVE`.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - INACTIVE
                - ACTIVE
                - ACTIVATING
                - ENDED
        - name: publication.marketplace
          in: query
          required: false
          description: >-
            Either the base marketplace or an additional marketplace of the offer.


            When passing the parameter `publication.marketplace`, searches for offers with the given marketplace as either its base marketplace or one of its additional marketplaces.
            When the parameter is omitted, searches for offers with all marketplaces.


            In addition to searching, passing the parameter also influences the functionality of other query parameter by searching and sorting by data (e.g. price) on the given marketplace.
          schema:
            $ref: '#/components/schemas/MarketplaceId'
        - name: sellingMode.format
          in: query
          required: false
          description: >-
            The offer's selling format. Passing more than one value will search for offers with any of the given formats. By default all formats are included.
            Example: `sellingMode.format=BUY_NOW&sellingMode.format=ADVERTISEMENT` - returns offers with with format `BUY_NOW` or `ADVERTISEMENT`.
          schema:
            type: array
            items:
              type: string
              enum:
                - BUY_NOW
                - ADVERTISEMENT
                - AUCTION
        - name: external.id
          in: query
          description: >-
            The ID from the client's external system. Passing more than one value will search for offers with any of the given IDs. By default no ID is included.
            Example: `external.id=1233&external.id=1234` - returns offers with ID `1233` or `1234`. Single ID length shouldn't exceed 100 characters.
          required: false
          schema:
            type: array
            maxItems: 100
            items:
              type: string
              maxLength: 100
        - name: delivery.shippingRates.id
          in: query
          description: >-
            The ID of shipping rates. Returns offers with given shipping rates ID.
          schema:
            type: string
            format: uuid
        - name: delivery.shippingRates.id.empty
          in: query
          description: Allows to filter offers by existence of shipping rates ID.
          schema:
            type: boolean
        - name: sort
          in: query
          description: >-
            The results' sorting order. No prefix in the value means ascending order. `-` prefix means descending order.
            If you don't provide the sort parameter, the list is sorted by offer creation time, descending.


            If additionally a `publication.marketplace` is provided, sorts by price and `stock.sold` using the data on the given marketplace.
          required: false
          schema:
            type: string
            enum:
              - sellingMode.price.amount
              - -sellingMode.price.amount
              - stock.sold
              - -stock.sold
              - stock.available
              - -stock.available
        - name: limit
          in: query
          required: false
          description: >-
            The maximum number of offers returned in the response.
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 1000
            default: 20
        - name: offset
          in: query
          required: false
          description: Index of the first returned offer from all search results. Maximum sum of offset and limit is 10 000 000.
          schema:
            type: integer
            format: int32
            minimum: 0
            maximum: 9999999
        - name: category.id
          in: query
          description: The identifier of the category, where you want to search for offers.
          required: false
          schema:
            type: string
        - name: product.id.empty
          in: query
          description: Allows to filter offers by existence of product ID.
          required: false
          schema:
            type: boolean
        - name: productizationRequired
          in: query
          description: Allows to search for offers from categories where productization is required.
          required: false
          schema:
            type: boolean
        - name: b2b.buyableOnlyByBusiness
          in: query
          description: Allows to search for offers buyable only by businesses.
          required: false
          schema:
            type: boolean
        - name: fundraisingCampaign.id
          in: query
          description: ID of the charity fundraising campaign that benefits from this offer.
          schema:
            type: string
            format: uuid
        - name: fundraisingCampaign.id.empty
          in: query
          description: Allows to search for charity or commercial offers.
          schema:
            type: boolean
      responses:
        '200':
          description: The list of offers returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OffersSearchResultDto'
        '400':
          description: The request query parameters are invalid.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: The user has no rights to query offers or provided token is invalid.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offers/{offerId}:
    delete:
      tags:
        - Offer management
      summary: 'Delete a draft offer'
      description:
        'Use this resource to delete a draft offer. Read more: <a href="../../news/nowy-zasob-do-usuwania-draftow-ofert-aMDnGka2RuL" target="_blank">PL</a> / <a href="../../news/new-resource-draft-delete-yPy9lq6myh0" target="_blank">EN</a>.'
      operationId: deleteOfferUsingDELETE
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  '/offers/{offerId}/change-price-commands/{commandId}':
    put:
      tags:
        - Offer management
      summary: 'Modify the Buy Now price in an offer'
      description:
        'Use this resource to change the Buy Now price in a single offer. Read more: <a href="../../news/mozliwosc-zmiany-ceny-kup-teraz-2YzrKRrr3Sl" target="_blank">PL</a> / <a href="../../news/possibility-to-change-the-buy-it-now-price-q018mq8D2hW" target="_blank">EN</a>.'
      operationId: createChangePriceCommandUsingPUT
      parameters:
        - name: offerId
          in: path
          description: The offer identifier.
          required: true
          schema:
            type: string
        - name: commandId
          in: path
          description: The unique command id generated by you.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The command was created successfully and is queued for processing.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ChangePrice'
        default:
          description: >-
            An immediate error response is returned whether the command input data is not valid or there is an internal
            problem with our systems.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ChangePriceWithoutOutput'
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offers/{offerId}/translations:
    get:
      tags:
        - Offer translations
      summary: Get offer translations
      description: 'Get offer translation for given language or all present. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#tlumaczenia-ofert" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#offer-translations" target="_blank">EN</a>.'
      operationId: getOfferTranslationUsingGET
      parameters:
        - name: language
          in: query
          description: Language for translation to retrieve. If not provided, all translations as well as base content for offer will be returned.
          required: false
          schema:
            type: string
            format: BCP-47 language code
            example: 'en-US'
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
      responses:
        '200':
          description: The list of offer translations returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferTranslations'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  /sale/offers/{offerId}/translations/{language}:
    patch:
      tags:
        - Offer translations
      summary: Update offer translation
      description: 'Update manual translation for offer. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#tlumaczenia-ofert" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#offer-translations" target="_blank">EN</a>.'
      operationId: updateOfferTranslationUsingPATCH
      parameters:
        - name: language
          in: path
          description: Language of the provided translation.
          required: true
          schema:
            type: string
            format: BCP-47 language code
            example: 'en-US'
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ManualTranslationUpdateRequest'
        description: Request with manual translation for offer, must contain at least one translated offer element (title or description).
        required: true
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:write
      responses:
        '200':
          description: Update successful
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
    delete:
      tags:
        - Offer translations
      summary: Delete offer translation
      description: 'Delete single element or entire manual translation. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#tlumaczenia-ofert" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#offer-translations" target="_blank">EN</a>.'
      operationId: deleteManualTranslationUsingDELETE
      parameters:
        - name: language
          in: path
          description: Language of the translation to delete.
          required: true
          schema:
            type: string
            format: BCP-47 language code
            example: 'en-US'
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
        - name: element
          in: query
          description: Offer element for which translation should be deleted. If not provided, translations for all elements will be deleted.
          required: false
          schema:
            type: string
            enum:
              - title
              - description
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:write
      responses:
        '200':
          description: Delete successful
        '204':
          description: No Content
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  /sale/classified-seller-stats:
    get:
      tags:
        - Classifieds
      summary: "Get the seller's advertisements daily statistics"
      description: >-
        This endpoint returns daily statistics collected for a list of advertisements in a given date range for logged user. Read more: <a href="../../tutorials/jak-wystawic-i-zarzadzac-ogloszeniem-K6r3Z47dKcy#statystyki-wszystkich-ogloszen-sprzedawcy" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-classified-ads-5Ln0r6wkWs7#statistics-of-seller-s-classified-ads" target="_blank">EN</a>.
      operationId: classifiedSellerOfferStatsGET
      parameters:
        - name: date.gte
          in: query
          description: >-
            The maximum date and time from which the events will be fetched in ISO 8601 format.
            The value should be less than the current date time.
            The difference between date.gte and date.lte should be less than 3 months.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: date.lte
          in: query
          description: >-
            The minimum date and time from which the events will be fetched in ISO 8601 format.
            The value should be less than the current date time and greater than date.lte.
            The difference between date.gte and date.lte should be less than 3 months.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Returns offer's statistics list
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SellerOfferStatsResponseDto'
        '400':
          description: Syntactically incorrect request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  /sale/classified-offers-stats:
    get:
      tags:
        - Classifieds
      summary: "Get the advertisements daily statistics"
      description: >-
        This endpoint returns daily statistics collected for a list of advertisements in a given date range. Read more: <a href="../../tutorials/jak-wystawic-i-zarzadzac-ogloszeniem-K6r3Z47dKcy#statystyki-wybranych-ogloszen" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-classified-ads-5Ln0r6wkWs7#statistics-of-selected-classified-ads" target="_blank">EN</a>.
      operationId: classifiedOffersStatsGET
      parameters:
        - name: offer.id
          in: query
          description: 'List of offer Ids, maximum 50 values.'
          required: true
          allowEmptyValue: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: date.gte
          in: query
          description: >-
            The maximum date and time from which the events will be fetched in ISO 8601 format.
            The value should be less than the current date time.
            The difference between date.gte and date.lte should be less than 3 months.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: date.lte
          in: query
          description: >-
            The minimum date and time from which the events will be fetched in ISO 8601 format.
            The value should be less than the current date time and greater than date.lte.
            The difference between date.gte and date.lte should be less than 3 months.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Returns offer's statistics list
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferStatsResponseDto'
        '400':
          description: Syntactically incorrect request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  /sale/offer-publication-commands/{commandId}:
    put:
      tags:
        - Offer management
      summary: 'Batch offer publish / unpublish'
      description:
        'Use this resource to modify multiple offers publication at once. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#publikacja-oferty" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#offer-publication" target="_blank">EN</a>.
        This resource is rate limited to 250 000 offer changes per hour or 9000 offer changes per minute.'
      operationId: changePublicationStatusUsingPUT
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Command was registered
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '400':
          description: Semantically incorrect request or provided conditions not correct
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Command id was already used
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/PublicationChangeCommandDto'
        description: publicationChangeCommandDto
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Offer management
      summary: "Publish command summary"
      description:
        'Use this resource to retrieve information about the offer listing statuses. You will receive a summary with
         a number of correctly listed offers and errors. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#zestawienie-zadan" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#task-list" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getPublicationReportUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Report was generated and successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Command not found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-publication-commands/{commandId}/tasks:
    get:
      tags:
        - Offer management
      summary: 'Publish command detailed report'
      description:
        'Use this resource to retrieve information about the offer statuses on the site (Defaults: limit = 100,
         offset = 0). Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#informacje-o-publikacji" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#information-about-publication" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getPublicationTasksUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 999
      responses:
        '200':
          description: Task status successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TaskReport'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Command not found
        '422':
          description: Unprocessable Entity
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-classifieds-packages/{offerId}:
    get:
      tags:
        - Classifieds
      summary: Get classified packages assigned to an offer
      description:
        'Use this resource to retrieve classified packages currently assigned to an offer. Read more: <a href="../../tutorials/jak-wystawic-i-zarzadzac-ogloszeniem-K6r3Z47dKcy#dodatkowe-opcje-promowania" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-classified-ads-5Ln0r6wkWs7#additional-promo-options" target="_blank">EN</a>.'
      operationId: getClassifiedPackagesUsingGET
      parameters:
        - name: offerId
          in: path
          description: Offer ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Packages returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ClassifiedResponse'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Classified not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
    put:
      tags:
        - Classifieds
      summary: Assign packages to a classified
      description:
        'Use this resource to assign classified packages to an offer. Read more: <a href="../../tutorials/jak-wystawic-i-zarzadzac-ogloszeniem-K6r3Z47dKcy#dodatkowe-opcje-promowania" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-classified-ads-5Ln0r6wkWs7#additional-promo-options" target="_blank">EN</a>.'
      operationId: assignClassifiedPackagesUsingPUT
      parameters:
        - name: offerId
          in: path
          description: The offer ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Packages have been successfully assigned to the classified.
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Classified not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Validation error
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        description: Packages that should be assigned to the classified.
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ClassifiedPackages'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/classifieds-packages:
    get:
      tags:
        - Classifieds
      summary: Get configurations of packages
      description:
        'Use this resource to retrieve configurations of classifieds packages for a category. Read more: <a href="../../tutorials/jak-wystawic-i-zarzadzac-ogloszeniem-K6r3Z47dKcy#lista-pakietow-i-opcji-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-classified-ads-5Ln0r6wkWs7#list-of-promo-options" target="_blank">EN</a>.'
      operationId: getClassifiedPackageConfigurationsForCategoryUsingGET
      parameters:
        - name: category.id
          in: query
          description: The category ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Package configurations for the category returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ClassifiedPackageConfigs'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/classifieds-packages/{packageId}:
    get:
      tags:
        - Classifieds
      summary: Get the configuration of a package
      description:
        'Use this resource to retrieve the configuration of a classifieds package. Read more: <a href="../../tutorials/jak-wystawic-i-zarzadzac-ogloszeniem-K6r3Z47dKcy#lista-pakietow-i-opcji-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-classified-ads-5Ln0r6wkWs7#list-of-promo-options" target="_blank">EN</a>.'
      operationId: getClassifiedPackageConfigurationUsingGET
      parameters:
        - name: packageId
          in: path
          description: The classifieds package ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The package's configuration returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ClassifiedPackageConfig'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: The classifieds package not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /users/{userId}/ratings-summary:
    get:
      tags:
        - Public user information
      summary: "Get any user's ratings summary"
      description:
        'Use this resource to receive feedback statistics. Read more: <a href="../../news/nowe-zasoby-ktorymi-pobierzesz-informacje-o-ocenach-ZM9L1WPBbUb" target="_blank">PL</a> / <a href="../../news/new-resources-to-download-sales-feedback-d2VYERBMRiz" target="_blank">EN</a>.'
      operationId: getUserSummaryUsingGET
      parameters:
        - name: userId
          in: path
          description: The ID of the user.
          required: true
          schema:
            type: string
            example: "41846511"
      responses:
        '200':
          description: Feedback statistics returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/UserRatingSummaryResponse'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: User with the given ID not found or user is not a seller.
      security:
      - bearer-token-for-user:
        - allegro:api:profile:read
  /sale/user-ratings:
    get:
      tags:
        - Information about user
      summary: "Get the user's ratings"
      description:
        'Use this resource to receive your sales ratings sorted by last change date, starting from the latest. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-informacje-o-ocenie-sprzedazy" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-user-s-ratings-data" target="_blank">EN</a>.'
      operationId: getUserRatingsUsingGET
      parameters:
        - name: recommended
          in: query
          description: Filter by recommended.
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: lastChangedAt.gte
          in: query
          description: >-
            Last change (creation or latest edition) date time in ISO 8601 format.
            The lower bound of date time range from which ratings will be fetched.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: lastChangedAt.lte
          in: query
          description: >-
            Last change (creation or latest edition) date time in ISO 8601 format.
            The upper bound of date time range from which ratings will be fetched.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 0
            maximum: 20000
            default: 0
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 20
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/UserRatingListResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:ratings

  /sale/user-ratings/{ratingId}:
    get:
      tags:
        - Information about user
      summary: "Get the user's rating by given rating id"
      description:
        'Use this resource to receive your sales rating by given rating id. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-informacje-o-ocenie-sprzedazy" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-user-s-ratings-data" target="_blank">EN</a>.'
      operationId: getUserRatingUsingGET
      parameters:
        - name: ratingId
          in: path
          description: The ID of the rating.
          required: true
          schema:
            type: string
            example: "41846511"
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/UserRating'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
        - bearer-token-for-user:
            - allegro:api:ratings
  /sale/user-ratings/{ratingId}/answer:
    put:
      tags:
        - Information about user
      summary: "Answer for user's rating"
      description:
        'Use this resource to answer for received rating. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-dodac-odpowiedz-na-ocene" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-answer-for-user-rating" target="_blank">EN</a>.'
      operationId: answerUserRatingUsingPUT
      parameters:
        - name: ratingId
          in: path
          description: ID of the rating.
          required: true
          schema:
            type: string
            example: "5df0a6d1ef437e00255572a1"
      responses:
        '201':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Answer'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        $ref: '#/components/requestBodies/UserRatingAnswerRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:ratings
  /sale/user-ratings/{ratingId}/removal:
    put:
      tags:
        - Information about user
      summary: "Request removal of user's rating"
      description:
        'Use this resource to request removal of received rating. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-wyslac-prosbe-o-usuniecie-oceny" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-send-a-request-to-remove-user-rating" target="_blank">EN</a>.'
      operationId: userRatingRemovalUsingPUT
      parameters:
        - name: ratingId
          in: path
          description: ID of the rating.
          required: true
          schema:
            type: string
            example: "5df0a6d1ef437e00255572a1"
      responses:
        '201':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Removal'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        $ref: '#/components/requestBodies/UserRatingRemovalRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:ratings
  /me:
    get:
      tags:
        - Information about user
      summary: "Get basic information about user"
      description:
        'Use this resource when you need basic information about authenticated user. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#informacje-o-uzytkowniku" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#information-about-user" target="_blank">EN</a>.'
      operationId: meGET
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/MeResponse'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden - when token is without user context
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:profile:read
  /sale/offer-additional-services/groups:
    post:
      tags:
        - Additional services
      summary: 'Create additional services group'
      description:
        'Use this resource to create a group of additional services. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-nowa-grupe-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-a-new-additional-service-group" target="_blank">EN</a>.'
      operationId: createAdditionalServicesGroupUsingPOST
      responses:
        '201':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalServicesGroupResponse'
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
      requestBody:
        $ref: '#/components/requestBodies/AdditionalServicesGroupRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
    get:
      tags:
        - Additional services
      summary: "Get the user's additional services groups"
      description:
        'Use this resource to retrieve a list of groups with additional services available to a given user which you
         may assign to offers. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-liste-grup-uslug-dodatkowych-na-koncie" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-a-list-of-additional-services-groups-for-the-account" target="_blank">EN</a>.'
      operationId: getListOfAdditionalServicesGroupsUsingGET
      parameters:
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalServicesGroups'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
  /sale/loyalty/promotions:
    post:
      tags:
        - Rebates and promotions
      summary: "Create a new promotion"
      description: >-
        This endpoint creates a new promotion.
        You can create promotions only if your base marketplace is `allegro-pl`.
        Created promotions are visible only on the `allegro-pl` marketplace.
        You can define the following types of promotions:

        1. Large order discount
        <br>
        Only company users will see and be eligible for this type of promotion.
        In order to create a large order discount, you also have to be a company user. Furthermore, you are allowed to have only one active order discount at a time.
        Define a promotion with a single benefit of type **LARGE_ORDER_DISCOUNT** and a single criterion of type **ALL_OFFERS**.
        The benefit specification should contain a list of order value based discount thresholds.
        Threshold's order value defines the minimum total value of an order for which the threshold is applicable (`lowerBound`).
        Threshold's discount defines the discount percentage applied when the threshold is applied. The percentage's fractional part must be equal to 0.
        Only the highest applicable threshold (if any) will be applied to the total value of the order.
        A threshold with a higher order value than another threshold in the order discount must also have a higher discount.
        Large order discount is assigned automatically to all seller's offers. Moreover, it will be assigned to all newly added seller's offers once activated.
        Please note that it may take some time to propagate this type of promotion to all of your offers. Read more: <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#dodaj-rabat" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#add-large-order-discount" target="_blank">EN</a>.

        2. Wholesale price list
        <br>
        Only company users will see and be eligible for this type of promotion.
        In order to create a wholesale price list, you also have to be a company user. Define a promotion with a single benefit
        of type **WHOLESALE_PRICE_LIST** and a single criterion of type **OFFERS_ASSIGNED_EXTERNALLY**.
        The benefit specification should contain a name (it will be visible to you only) and a list of quantity based discount thresholds.
        Threshold's quantity defines the minimum number of units of an offer for which the threshold is applicable (`lowerBound`).
        Threshold's discount defines the discount percentage applied when the threshold is applied. The percentage's fractional part must be equal to 0.
        Only the highest applicable threshold (if any) will be applied to the total price of units of the offer bought.
        A threshold with a higher quantity than another threshold in the price list must also have a higher discount.
        In order to assign offers to a wholesale price list, use `discounts` field in <a href="#operation/modificationCommandUsingPUT">batch offer modification</a>. Read more: <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#dodaj-cennik-hurtowy" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#add-wholesale-price-list" target="_blank">EN</a>.

        3. Bundle
        <br>
        In order to create a new bundle, you have to define a
         promotion with a single benefit of type **ORDER_FIXED_DISCOUNT** and a single criterion of type **CONTAINS_OFFERS**. In the benefit specification you have to declare the discount amount that you want to be deducted from the sum of bundled offers prices. In the offer criterion you need to pass a list of offers that are to be grouped as a bundle. For each offer you have to define a fixed quantity (that many pieces of your offer will be part of the bundle) and you also have to set a promotionEntryPoint flag (offers with this flag set to true will have a section that allows the users to purchase your bundle). Read more: <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#dodaj-promocyjny-zestaw" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#add-promotional-set-of-offers" target="_blank">EN</a>

        4. Multipack
        <br>
        In order to create a new multipack, you have to define a promotion with a single benefit of type **UNIT_PERCENTAGE_DISCOUNT** and a single criterion of type **CONTAINS_OFFERS**. The benefit specification should contain a configuration section with a percentage which indicates the specific discount for the discounted offer. This percentage should be an integer value greater than 15 for quantity 2, greater than 30 for quantity 3, greater than 40 for quantity 4, greater than 50 for quantity 5 and lower than or equal to 100. The specification should also contain a trigger section with a field forEachQuantity that defines the amount of items in the multipack which is necessary to trigger the benefit. Additionally, the discountedNumber field must be set to 1 by default as you can only discount one unit in a multipack. Finally, the offer criterion specifies the offer for which the multipack promotion will take effect. Read more: <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#dodaj-rabat-ilosciowy" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#add-quantitative-discount" target="_blank">EN</a>

        5. Cross-offer multipack
        <br>
        A cross-offer multipack is created in the same fashion as a standard multipack. The only difference is that you need to pass
        more than 1 offer in the offer criterion section. This group of offers is then considered as a pool from which users can
        pick and choose forEachQuantity offers and the cheapest of them gets a discount.

      operationId: createPromotionUsingPOST_1
      responses:
        '201':
          description: Successfully created the requested promotion
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SellerRebateDto'
              examples:
                large-order-discount:
                  summary: Large Order Discount
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: LARGE_ORDER_DISCOUNT
                          thresholds:
                            - orderValue:
                                lowerBound:
                                  amount: "1000.00"
                                  currency: "PLN"
                              discount:
                                percentage: "5"
                            - orderValue:
                                lowerBound:
                                  amount: "1500.00"
                                  currency: "PLN"
                              discount:
                                percentage: "8"
                    offerCriteria:
                      - type: ALL_OFFERS
                wholesale-price-list:
                  summary: Wholesale Price List
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: WHOLESALE_PRICE_LIST
                          name: "Cardboard boxes"
                          thresholds:
                            - quantity:
                                lowerBound: 2000
                              discount:
                                percentage: "5"
                            - quantity:
                                lowerBound: 4000
                              discount:
                                percentage: "10"
                            - quantity:
                                lowerBound: 6000
                              discount:
                                percentage: "15"
                    offerCriteria:
                      - type: OFFERS_ASSIGNED_EXTERNALLY
                bundle:
                  summary: Bundle
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: ORDER_FIXED_DISCOUNT
                          value:
                            amount: '10.00'
                            currency: PLN
                    offerCriteria:
                      - type: CONTAINS_OFFERS
                        offers:
                          - id: '1122334455'
                            quantity: 2
                            promotionEntryPoint: true
                          - id: '2233445566'
                            quantity: 1
                            promotionEntryPoint: false
                multipack:
                  summary: Multipack
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: UNIT_PERCENTAGE_DISCOUNT
                          configuration:
                            percentage: 100
                          trigger:
                            forEachQuantity: 3
                            discountedNumber: 1
                    offerCriteria:
                      - type: CONTAINS_OFFERS
                        offers:
                          - id: '1122334455'
                cross-offer-multipack:
                  summary: Cross-offer Multipack
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: UNIT_PERCENTAGE_DISCOUNT
                          configuration:
                            percentage: 100
                          trigger:
                            forEachQuantity: 3
                            discountedNumber: 1
                    offerCriteria:
                      - type: CONTAINS_OFFERS
                        offers:
                          - id: '1122334455'
                          - id: '2233445566'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: >-
            Forbidden action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Offer/Offers not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '412':
          description: >-
            Validation failed – request had correct syntax, but promotion properties exceeds acceptable limits
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: >-
            Validation failed – request had correct syntax, but violated validation rules
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SellerCreateRebateRequestDto'
            examples:
              large-order-discount:
                summary: Large Order Discount
                value:
                  benefits:
                    - specification:
                        type: LARGE_ORDER_DISCOUNT
                        thresholds:
                          - orderValue:
                              lowerBound:
                                amount: "1000.00"
                                currency: "PLN"
                            discount:
                              percentage: "5.00"
                          - orderValue:
                              lowerBound:
                                amount: "1500.00"
                                currency: "PLN"
                            discount:
                              percentage: "8.00"
                  offerCriteria:
                    - type: ALL_OFFERS
              wholesale-price-list:
                summary: Wholesale Price List
                value:
                  benefits:
                    - specification:
                        type: WHOLESALE_PRICE_LIST
                        name: "Cardboard boxes"
                        thresholds:
                          - quantity:
                              lowerBound: 2000
                            discount:
                              percentage: "5"
                          - quantity:
                              lowerBound: 4000
                            discount:
                              percentage: "10"
                          - quantity:
                              lowerBound: 6000
                            discount:
                              percentage: "15"
                  offerCriteria:
                    - type: OFFERS_ASSIGNED_EXTERNALLY
              bundle:
                summary: Bundle
                value:
                  benefits:
                    - specification:
                        type: ORDER_FIXED_DISCOUNT
                        value:
                          amount: '10.00'
                          currency: PLN
                  offerCriteria:
                    - type: CONTAINS_OFFERS
                      offers:
                        - id: '1122334455'
                          quantity: 2
                          promotionEntryPoint: true
                        - id: '2233445566'
                          quantity: 1
                          promotionEntryPoint: false
              multipack:
                summary: Multipack
                value:
                  benefits:
                    - specification:
                        type: UNIT_PERCENTAGE_DISCOUNT
                        configuration:
                          percentage: 100
                        trigger:
                          forEachQuantity: 3
                          discountedNumber: 1
                  offerCriteria:
                    - type: CONTAINS_OFFERS
                      offers:
                        - id: '1122334455'
              cross-offer-multipack:
                summary: Cross-offer Multipack
                value:
                  benefits:
                    - specification:
                        type: UNIT_PERCENTAGE_DISCOUNT
                        configuration:
                          percentage: 100
                        trigger:
                          forEachQuantity: 3
                          discountedNumber: 1
                  offerCriteria:
                    - type: CONTAINS_OFFERS
                      offers:
                        - id: '1122334455'
                        - id: '2233445566'
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Rebates and promotions
      summary: "Get the user's list of promotions"
      description: >-
        <p>Get a list of promotions defined by the authorized user and filtered by promotion type.</p>

        <p>Restrictions:</p>
        <p>Filtering by promotion type is required.</p>

        <p>Sum of limit and offset must be equal to or lower than 50000. Limit must be equal to or lower than 5000.</p>
        <p>Example:</p>
        <p>offset = 49950 and limit = 50 will return promotions</p>
        <p>offset = 49950 and limit = 51 will return 422 http error</p>
        <p>offset = 0 and limit = 5000 will return promotions</p>
        <p>offset = 0 and limit = 5001 will return 422 http error</p>

        <p>Read more about: Large order discount <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-dostepne-rabaty" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#retrieve-large-order-discount" target="_blank">EN</a>, Wholesale price list <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-dostepne-cenniki" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#retrieve-wholesale-price-lists" target="_blank">EN</a>, Bundles and Multipack <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-dostepne-rabaty-ilosciowe" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#retrieve-promotional-sets" target="_blank">EN</a>.</p>

      operationId: listSellerPromotionsUsingGET_1
      parameters:
        - name: limit
          in: query
          description: Limit of promotions per page.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 5000
            default: 50
        - name: offset
          in: query
          description: Distance between the beginning of the document and the point from which promotions are returned.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 0
            maximum: 49999
            default: 0
        - name: offer.id
          in: query
          description: Filter by offer id. No promotions with `OFFERS_ASSIGNED_EXTERNALLY` or `ALL_OFFERS` criteria will be returned if this parameter is present.
          schema:
            type: string
          example: "8226673525"
        - name: promotionType
          in: query
          description: Filter by promotion type.
          required: true
          schema:
            type: string
            enum:
              - BUNDLE
              - MULTIPACK
              - CROSS_MULTIPACK
              - LARGE_ORDER_DISCOUNT
              - WHOLESALE_PRICE_LIST
      responses:
        '200':
          description: Successfully returned the requested list of promotions
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SellerRebatesDto'
        '400':
          description: Bad request
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '422':
          description: Restrictions were not satisfied
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/loyalty/promotions/{promotionId}:
    get:
      tags:
        - Rebates and promotions
      summary: "Get a promotion data by id"
      description:
        'Use this resource to returns the requested promotion. You need to use its unique id.
         Read more about: Large order discount <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-informacje-o-rabacie" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#retrieve-information-about-large-order-discount" target="_blank">EN</a>, Wholesale price list <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-informacje-o-cenniku" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#retrieve-information-about-wholesale-price-list" target="_blank">EN</a>, Bundles <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-informacje-o-promocyjnym-zestawie" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#retrieve-information-about-a-promotional-set-of-offers" target="_blank">EN</a>, Multipack <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#pobierz-informacje-o-rabacie-ilosciowym" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#information-about-an-quantitative-discount" target="_blank">EN</a>.'

      operationId: getPromotionUsingGET
      parameters:
        - name: promotionId
          in: path
          description: Promotion identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully returned the requested promotion
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SellerRebateDto'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Promotion not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
    put:
      tags:
        - Rebates and promotions
      summary: "Modify a promotion"
      description: >-
        Use this resource to update a promotion by its unique id.
        It supports editing bundle's discount, wholesale price lists and large order discounts. Amount of the discount in a bundle can be edited, but cannot change the offers a bundle consists of.
        Read more about: Bundles <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#dodaj-promocyjny-zestaw" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#add-promotional-set-of-offers" target="_blank">EN</a>, Large order discount <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#edytuj-progi-rabatowe" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#edit-discount-thresholds" target="_blank">EN</a>, Wholesale price list <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#edytuj-cennik" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#edit-wholesale-price-list" target="_blank">EN</a>.
      operationId: updatePromotionUsingPUT
      parameters:
        - name: promotionId
          in: path
          description: Promotion identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully updated the requested promotion
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SellerRebateDto'
              examples:
                bundle:
                  summary: Bundle
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: ORDER_FIXED_DISCOUNT
                          value:
                            amount: '10.00'
                            currency: PLN
                    offerCriteria:
                      - type: CONTAINS_OFFERS
                        offers:
                          - id: '1122334455'
                            quantity: 2
                            promotionEntryPoint: true
                          - id: '2233445566'
                            quantity: 1
                            promotionEntryPoint: false
                large-order-discount:
                  summary: Large Order Discount
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: LARGE_ORDER_DISCOUNT
                          thresholds:
                            - orderValue:
                                lowerBound:
                                  amount: "1000.00"
                                  currency: "PLN"
                              discount:
                                percentage: "5"
                            - orderValue:
                                lowerBound:
                                  amount: "1500.00"
                                  currency: "PLN"
                              discount:
                                percentage: "8"
                            - orderValue:
                                lowerBound:
                                  amount: "2000.00"
                                  currency: "PLN"
                              discount:
                                percentage: "10"
                    offerCriteria:
                      - type: ALL_OFFERS
                wholesale-price-list:
                  summary: Wholesale Price List
                  value:
                    status: "ACTIVE"
                    createdAt: "2019-05-12T10:02:31.123Z"
                    id: "72c40ffb-6127-4719-a473-867bf5775601"
                    benefits:
                      - specification:
                          type: WHOLESALE_PRICE_LIST
                          name: "Cardboard boxes - new version"
                          thresholds:
                            - quantity:
                                lowerBound: 1500
                              discount:
                                percentage: "6"
                            - quantity:
                                lowerBound: 3000
                              discount:
                                percentage: "11"
                            - quantity:
                                lowerBound: 4500
                              discount:
                                percentage: "16"
                    offerCriteria:
                      - type: OFFERS_ASSIGNED_EXTERNALLY
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: >-
            Forbidden action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Promotion not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: >-
            Validation failed – request had correct syntax, but violated validation rules
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SellerCreateRebateRequestDto'
            examples:
              bundle:
                summary: Bundle
                value:
                  benefits:
                    - specification:
                        type: ORDER_FIXED_DISCOUNT
                        value:
                          amount: '10.00'
                          currency: PLN
                  offerCriteria:
                    - type: CONTAINS_OFFERS
                      offers:
                        - id: '1122334455'
                          quantity: 2
                          promotionEntryPoint: true
                        - id: '2233445566'
                          quantity: 1
                          promotionEntryPoint: false
              large-order-discount:
                summary: Large Order Discount
                value:
                  benefits:
                    - specification:
                        type: LARGE_ORDER_DISCOUNT
                        thresholds:
                          - orderValue:
                              lowerBound:
                                amount: "1000.00"
                                currency: "PLN"
                            discount:
                              percentage: "5.00"
                          - orderValue:
                              lowerBound:
                                amount: "1500.00"
                                currency: "PLN"
                            discount:
                              percentage: "8.00"
                          - orderValue:
                              lowerBound:
                                amount: "2000.00"
                                currency: "PLN"
                            discount:
                              percentage: "10.00"
                  offerCriteria:
                    - type: ALL_OFFERS
              wholesale-price-list:
                summary: Wholesale Price List
                value:
                  benefits:
                    - specification:
                        type: WHOLESALE_PRICE_LIST
                        name: "Cardboard boxes - new version"
                        thresholds:
                          - quantity:
                              lowerBound: 1500
                            discount:
                              percentage: "6"
                          - quantity:
                              lowerBound: 3000
                            discount:
                              percentage: "11"
                          - quantity:
                              lowerBound: 4500
                            discount:
                              percentage: "16"
                  offerCriteria:
                    - type: OFFERS_ASSIGNED_EXTERNALLY
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    delete:
      tags:
        - Rebates and promotions
      summary: "Deactivate a promotion by id"
      description:
        'Use this resource to deactivate the requested promotion. You need to use its unique id.
         Read more about: Large order discount <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#usun-rabat" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#remove-large-order-discount" target="_blank">EN</a>, Wholesale price list <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#usun-cennik" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#remove-wholesale-price-list" target="_blank">EN</a>, Bundles <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#usun-promocyjny-zestaw" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#remove-a-promotional-set-of-offers" target="_blank">EN</a>, Multipack <a href="../../tutorials/jak-zarzadzac-rabatami-promocjami-yPya2mj6zUP#usun-rabat-ilosciowy" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-rebates-and-promotions-g05avdL0vT4#remove-an-quantitative-discount" target="_blank">EN</a>.'
      operationId: deactivatePromotionUsingDELETE
      parameters:
        - name: promotionId
          in: path
          description: Promotion identifier.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successfully deactivated the requested promotion
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Promotion not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /pricing/offer-fee-preview:
    post:
      tags:
        - Pricing
      summary: 'Calculate fee and commission for an offer'
      description:
        'Provides information about fee and commission for an offer. Read more: <a href="../../tutorials/jak-sprawdzic-oplaty-nn9DOL5PASX#kalkulator-oplat" target="_blank">PL</a> / <a href="../../tutorials/how-to-check-the-fees-3An6Wame3Um#fee-calculator" target="_blank">EN</a>.'
      operationId: calculateFeePreviewUsingPOST
      responses:
        '200':
          description: Fee calculated successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/FeePreviewResponse'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/PublicOfferPreviewRequest'
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offer-modification-commands/{commandId}:
    put:
      tags:
        - Batch offer modification
      summary: 'Batch offer modification'
      description:
        'Use this resource to modify multiple offers at once. Read more: <a href="../../news/grupowa-edycja-ofert-poszerzamy-mozliwosci-zasobu-lLAyEaqE7fE" target="_blank">PL</a> / <a href="../../news/bulk-editing-of-offers-new-features-0A2lDegElHd" target="_blank">EN</a>.
        This resource is rate limited to 250 000 offer changes per hour or 9000 offer changes per minute.'
      operationId: modificationCommandUsingPUT
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Command was registered
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '400':
          description: Semantically incorrect request or provided conditions not correct
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Command id was already used
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/OfferChangeCommand'
        description: offerChangeCommandDto
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Batch offer modification
      summary: "Modification command summary"
      description:
        'Use this resource to find out how many offers were edited within one {commandId}. You will receive a summary
         with a number of successfully edited offers. Read more: <a href="../../news/grupowa-edycja-ofert-poszerzamy-mozliwosci-zasobu-lLAyEaqE7fE" target="_blank">PL</a> / <a href="../../news/bulk-editing-of-offers-new-features-0A2lDegElHd" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getGeneralReportUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: report was generated and successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Command not found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-modification-commands/{commandId}/tasks:
    get:
      tags:
        - Batch offer modification
      summary: "Modification command detailed report"
      description:
        'Use this resource to retrieve a detailed summary of changes introduced within one {commandId} (defaults:
         limit = 100, offset = 0). Read more: <a href="../../news/grupowa-edycja-ofert-poszerzamy-mozliwosci-zasobu-lLAyEaqE7fE" target="_blank">PL</a> / <a href="../../news/bulk-editing-of-offers-new-features-0A2lDegElHd" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getTasksUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 999
      responses:
        '200':
          description: Task status successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TaskReport'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Command not found
        '422':
          description: Unprocessable Entity
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-price-change-commands/{commandId}:
    put:
      tags:
        - Batch offer modification
      summary: "Batch offer price modification"
      operationId: priceModificationCommandUsingPUT
      description: >-
        Change price of offers. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#cena" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#price" target="_blank">EN</a>.
        This resource is rate limited to 250 000 offer changes per hour or 9000 offer changes per minute.
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Command was registered
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '400':
          description: Semantically incorrect request or provided conditions not correct
        '401':
          description: Unauthorized
        '409':
          description: Command id was already used
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/OfferPriceChangeCommand'
        description: offerPriceChangeCommandDto
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Batch offer modification
      summary: "Change price command summary"
      description:
        'Returns status and summary of particular command execution. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#cena" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#price" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getPriceModificationCommandStatusUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: report was generated and successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '401':
          description: Unauthorized
        '404':
          description: Command not found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-price-change-commands/{commandId}/tasks:
    get:
      tags:
        - Batch offer modification
      summary: "Change price command detailed report"
      description:
        'Defaults: limit = 100, offset = 0. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#cena" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#price" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getPriceModificationCommandTasksStatusesUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 999
      responses:
        '200':
          description: Task status successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TaskReport'
        '401':
          description: Unauthorized
        '404':
          description: Command not found
        '422':
          description: Unprocessable Entity
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-quantity-change-commands/{commandId}:
    put:
      tags:
        - Batch offer modification
      summary: "Batch offer quantity modification"
      description: >-
        Change quantity of multiple offers. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#liczba-przedmiotow" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#quantity" target="_blank">EN</a>.
        This resource is rate limited to 250 000 offer changes per hour or 9000 offer changes per minute.
      operationId: quantityModificationCommandUsingPUT
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Command was registered
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '400':
          description: Semantically incorrect request or provided conditions not correct
        '401':
          description: Unauthorized
        '409':
          description: Command id was already used
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/OfferQuantityChangeCommand'
        description: offerQuantityChangeCommandDto
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Batch offer modification
      summary: "Change quantity command summary"
      description:
        'Returns status and summary of the command. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#liczba-przedmiotow" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#quantity" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getQuantityModificationCommandStatusUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Report was generated and successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '401':
          description: Unauthorized
        '404':
          description: Command not found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-quantity-change-commands/{commandId}/tasks:
    get:
      tags:
        - Batch offer modification
      summary: 'Change quantity command detailed report'
      description:
        'Defaults: limit = 100, offset = 0. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#liczba-przedmiotow" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#quantity" target="_blank">EN</a>.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getQuantityModificationCommandTasksStatusesUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 999
      responses:
        '200':
          description: Task status successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TaskReport'
        '401':
          description: Unauthorized
        '404':
          description: Command not found
        '422':
          description: Unprocessable Entity
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-price-automation-commands:
    post:
      tags:
        - Batch offer modification
      summary: "Batch offer price automation rules modification"
      description:
        'Use this resource to modify the price automation rules of multiple offers at the same time.
        This resource is rate limited to 250 000 offer changes per hour or 9000 offer changes per minute.'
      operationId: offerPriceAutomationModificationCommandUsingPOST
      responses:
        '201':
          description: Command was registered
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '400':
          description: Semantically incorrect request or provided conditions not correct
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Command id was already used
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/OfferPriceAutomationCommand'
        description: OfferPriceAutomationCommand
        required: true
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:write
  /sale/offer-price-automation-commands/{commandId}:
    get:
      tags:
        - Batch offer modification
      summary: "Price automation command summary"
      description:
        'Returns status and summary of the offer-price-automation-command.
        This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getofferPriceAutomationModificationCommandStatusUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: report was generated and successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GeneralReport'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Command not found
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  /sale/offer-price-automation-commands/{commandId}/tasks:
    get:
      tags:
        - Batch offer modification
      summary: 'Price automation command detailed report'
      description:
        'Defaults: limit = 100, offset = 0. Returns status and report of the offer-price-automation-command.
         This resource is rate limited to retrieving information about 270 000 offer changes per minute.'
      operationId: getofferPriceAutomationModificationCommandTasksStatusesUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 999
      responses:
        '200':
          description: Task status successfully returned
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TaskReport'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Command not found
        '422':
          description: Unprocessable Entity
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  '/sale/price-automation/rules':
    get:
      tags:
        - Price automation
      summary: "Get price automation rules"
      description:
        'Use this resource to get price automation rules.
        This resource is rate limited to 5 requests per second.'
      operationId: getPriceAutomationRulesUsingGET
      responses:
        '200':
          description: The list of price automation rules returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Rules'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  '/sale/price-automation/offers/{offerId}/rules':
    get:
      tags:
        - Price automation
      summary: "Get price automation rules assigned to the offer"
      description:
        'Use this resource to get price automation rules for offer.
        This resource is rate limited to 5 requests per second.'
      operationId: getPriceAutomationRulesForOfferUsingGET
      parameters:
        - name: offerId
          in: path
          description: The offer identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The list of price automation rules assigned to offer returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferRules'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  /sale/categories:
    get:
      tags:
        - Categories and parameters
      summary: 'Get IDs of Allegro categories'
      description: >-
        Use this resource to traverse the Allegro categories tree. It returns the list of the given category's children
        or a list of the main Allegro categories. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#uzupelnij-kategorie-i-parametry" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#provide-category-and-parameters" target="_blank">EN</a>.
      operationId: getCategoriesUsingGET
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - name: parent.id
          in: query
          description: >-
            The ID of the category which children should be returned. If omitted, the list of main Allegro categories
            will be returned.
          required: false
          schema:
            type: string
            default: 954b95b6-43cf-4104-8354-dea4d9b10ddf
      responses:
        '200':
          description: The list of categories returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoriesDto'
        '404':
          description: The category with the given ID does not exist.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  '/sale/categories/{categoryId}':
    get:
      tags:
        - Categories and parameters
      summary: 'Get a category by ID'
      description: >-
        Use this resource to get the details of a specific category. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-utworzyc-nowy-produkt" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-create-a-product" target="_blank">EN</a>.
      operationId: getCategoryUsingGET_1
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - name: categoryId
          in: path
          description: The category ID.
          required: true
          schema:
            type: string
            example: "6061"
      responses:
        '200':
          description: The details of a category returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryDto'
        '404':
          description: The category with the given ID does not exist.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  '/sale/categories/{categoryId}/parameters':
    get:
      tags:
        - Categories and parameters
      summary: 'Get parameters supported by a category'
      description: >-
        Use this resource to get the list of parameters that are supported by the given category.
        Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#parametry-ofertowe" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#offer-parameters" target="_blank">EN</a>.
      operationId: getFlatParametersUsingGET_2
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - name: categoryId
          in: path
          description: The category ID.
          required: true
          schema:
            type: string
            example: "709"
      responses:
        '200':
          description: The list of parameters for the category returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryParameterList'
              examples:
                integer:
                  summary: Integer
                  value:
                    parameters:
                      - id: "202877"
                        name: "Liczba rdzeni procesora"
                        type: "integer"
                        required: true
                        requiredForProduct: false
                        requiredIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1"]
                          parametersWithoutValue: []
                        displayedIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1", "202870_2"]
                        unit: null
                        options:
                          variantsAllowed: true
                          variantsEqual: false
                          ambiguousValueId: null
                          dependsOnParameterId: "202870"
                          describesProduct: false
                          customValuesEnabled: false
                        restrictions:
                          min: 0
                          max: 1000000
                          range: false
                string_single:
                  summary: String single
                  value:
                    parameters:
                      - id: "224017"
                        name: "Kod producenta"
                        type: "string"
                        required: true
                        requiredForProduct: true
                        requiredIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1"]
                          parametersWithoutValue: []
                        displayedIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1", "202870_2"]
                        unit: null
                        options:
                          variantsAllowed: false
                          variantsEqual: false
                          ambiguousValueId: null
                          dependsOnParameterId: "202870"
                          describesProduct: false
                          customValuesEnabled: false
                        restrictions:
                          minLength: 2
                          maxLength: 35
                          allowedNumberOfValues: 1
                dictionary:
                  summary: Dictionary
                  value:
                    parameters:
                      - id: "11323"
                        name: "Stan"
                        type: "dictionary"
                        required: true
                        requiredForProduct: false
                        requiredIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1"]
                          parametersWithoutValue: []
                        displayedIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1", "202870_2"]
                        unit: null
                        options:
                          variantsAllowed: false
                          variantsEqual: true
                          ambiguousValueId: null
                          dependsOnParameterId: "202870"
                          describesProduct: false
                          customValuesEnabled: false
                        dictionary:
                          - id: "11323_1"
                            value: "Nowy"
                            dependsOnValueIds:
                              - "202870_1"
                          - id: "11323_2"
                            value: "Używany"
                            dependsOnValueIds:
                              - "202870_2"
                          - id: "11323_238066"
                            value: "Po zwrocie"
                            dependsOnValueIds:
                              - "202870_1"
                              - "202870_2"
                          - id: "11323_238058"
                            value: "Powystawowy"
                            dependsOnValueIds:
                              - "202870_1"
                          - id: "11323_238062"
                            value: "Uszkodzony"
                            dependsOnValueIds:
                              - "202870_1"
                          - id: "11323_246534"
                            value: "Odnowiony przez producenta"
                            dependsOnValueIds:
                              - "202870_2"
                        restrictions:
                          multipleChoices: false
                float:
                  summary: Float
                  value:
                    parameters:
                      - id: "17448"
                        name: "Waga (z opakowaniem)"
                        type: "float"
                        required: true
                        requiredForProduct: false
                        requiredIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1"]
                          parametersWithoutValue: []
                        displayedIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1", "202870_2"]
                        unit: "kg"
                        options:
                          variantsAllowed: false
                          variantsEqual: false
                          ambiguousValueId: null
                          dependsOnParameterId: "202870"
                          describesProduct: false
                          customValuesEnabled: false
                        restrictions:
                          min: 0
                          max: 1000000
                          range: false
                          precision: 3
                float_range:
                  summary: Float range
                  value:
                    parameters:
                      - id: "211966"
                        name: "Zakres regulacji wysokości koszenia"
                        type: "float"
                        required: true
                        requiredForProduct: false
                        requiredIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1"]
                          parametersWithoutValue: []
                        displayedIf:
                          parametersWithValue:
                            - id: "202870"
                              oneOfValueIds: ["202870_1", "202870_2"]
                        unit: "cm"
                        options:
                          variantsAllowed: false
                          variantsEqual: false
                          ambiguousValueId: null
                          dependsOnParameterId: "202870"
                          describesProduct: true
                          customValuesEnabled: false
                        restrictions:
                          min: 0
                          max: 1000
                          range: true
                          precision: 2
        '404':
          description: The category with the given ID does not exist.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  '/sale/categories/{categoryId}/product-parameters':
    get:
      tags:
        - Products
      summary: 'Get product parameters available in given category'
      description: >-
        Use this resource to get the list of product parameters available in given category.
        You can use these parameters to create a new product.
        Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-utworzyc-nowy-produkt" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-create-a-product" target="_blank">EN</a>.
      operationId: getFlatProductParametersUsingGET
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - name: categoryId
          in: path
          description: The category ID.
          required: true
          schema:
            type: string
            example: "709"
      responses:
        '200':
          description: 'The list of product parameters for the category returned successfully.'
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryProductParameterList'
              examples:
                integer:
                  summary: Integer
                  value:
                    parameters:
                      - id: "202877"
                        name: "Liczba rdzeni procesora"
                        type: "integer"
                        required: false
                        unit: null
                        restrictions:
                          min: 0
                          max: 1000000
                          range: false
                string_single:
                  summary: String single
                  value:
                    parameters:
                      - id: "224017"
                        name: "Kod producenta"
                        type: "string"
                        required: false
                        unit: null
                        restrictions:
                          minLength: 2
                          maxLength: 35
                          allowedNumberOfValues: 1
                dictionary:
                  summary: Dictionary
                  value:
                    parameters:
                      - id: "11323"
                        name: "Stan"
                        type: "dictionary"
                        required: false
                        unit: null
                        dictionary:
                          - id: "11323_1"
                            value: "Nowy"
                          - id: "11323_2"
                            value: "Używany"
                          - id: "11323_238066"
                            value: "Po zwrocie"
                          - id: "11323_238058"
                            value: "Powystawowy"
                          - id: "11323_238062"
                            value: "Uszkodzony"
                          - id: "11323_246534"
                            value: "Odnowiony przez producenta"
                        restrictions:
                          multipleChoices: false
                float:
                  summary: Float
                  value:
                    parameters:
                      - id: "17448"
                        name: "Waga (z opakowaniem)"
                        type: "float"
                        required: false
                        unit: "kg"
                        restrictions:
                          min: 0
                          max: 1000000
                          range: false
                          precision: 3
                float_range:
                  summary: Float range
                  value:
                    parameters:
                      - id: "211966"
                        name: "Zakres regulacji wysokości koszenia"
                        type: "float"
                        required: false
                        unit: "cm"
                        restrictions:
                          min: 0
                          max: 1000
                          range: true
                          precision: 2
        '404':
          description: The category with the given ID does not exist.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  '/sale/category-parameters-scheduled-changes':
    get:
      tags:
        - Categories and parameters
      summary: 'Get planned changes in category parameters'
      description: >-
        Use this resource to get information about planned changes in category parameters.
        Please note that in some cases, the returned events may finally not happen in the future.

        At present we support the following changes:
        - REQUIREMENT_CHANGE - the parameter will be required in the category. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-sprawdzic-przyszle-zmiany-w-parametrach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-check-future-changes-in-parameters" target="_blank">EN</a>.

      operationId: getCategoryParametersScheduledChangesUsingGET_1
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - name: scheduledFor.gte
          in: query
          description: >-
            The minimum date and time from which the change will be effective from in ISO 8601 format.
            Should be greater than the current date time and less than 3 months from the current date.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: scheduledFor.lte
          in: query
          description: >-
            The maximum date and time from which the change will be effective from in ISO 8601 format.
            Should be greater than the current date time and less than 3 months from the current date.
          required: false
          example: "2020-11-13T12:45:20.818Z"
          schema:
            type: string
            format: date-time
        - name: scheduledAt.gte
          in: query
          description: >-
            The minimum date and time at which the change was scheduled in ISO 8601 format.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: scheduledAt.lte
          in: query
          description: >-
            The maximum date and time at which the change was scheduled in ISO 8601 format.
          required: false
          example: "2020-11-13T12:45:20.818Z"
          schema:
            type: string
            format: date-time
        - in: query
          name: type
          required: false
          description: >-
            The types of changes that will be returned in the response. All types of changes are returned by default.
          schema:
            type: array
            items:
              type: string
              enum:
                - REQUIREMENT_CHANGE
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
      responses:
        '200':
          description: Category parameters changes returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryParametersScheduledChangesResponse'
              examples:
                CategoryParameterChange:
                  summary: Category parameter requirement change
                  value:
                    scheduledChanges:
                    - scheduledAt: "2019-06-26T15:26:43.891Z"
                      scheduledFor: "2019-07-26T15:26:43.891Z"
                      type: "REQUIREMENT_CHANGE"
                      category:
                        id: "165"
                      parameter:
                        id: "11323"
        '400':
          description: Invalid parameters supplied in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
  /sale/category-events:
    get:
      tags:
        - Categories and parameters
      summary: 'Get changes in categories'
      description: >-
        Use this resource to get information about changes in categories. It returns changes that occurred in the last 3 months.

        At present we support the following changes:
          - CATEGORY_CREATED - new category was created.
          - CATEGORY_RENAMED - category name has been changed.
          - CATEGORY_MOVED - category has been moved to a different place in category tree, category parent id field is changed.
          - CATEGORY_DELETED - category is no longer available, category from redirectCategory field should be used instead.

          Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#dziennik-zmian-w-kategoriach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#event-journal-in-categories" target="_blank">EN</a>.

      operationId: getCategoryEventsUsingGET_1
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - in: query
          name: from
          required: false
          description: The ID of the last seen event. Changes that occurred after the given event will be returned.
          schema:
            type: string
            example: "MTEzMjQzODU3NA"
            maxLength: 256
        - in: query
          name: limit
          required: false
          description: The number of events that will be returned in the response.
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 1000
        - in: query
          name: type
          required: false
          description: >-
            The types of events that will be returned in the response. All types of events are returned by default.
          schema:
            type: array
            items:
              type: string
              enum:
                - CATEGORY_CREATED
                - CATEGORY_RENAMED
                - CATEGORY_MOVED
                - CATEGORY_DELETED
      responses:
        '200':
          description: The list of category changes returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryEventsResponse'
              examples:
                CategoryCreatedEvent:
                  summary: Category created event
                  value:
                    events:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "CATEGORY_CREATED"
                      category:
                        id: "165"
                        name: "Smartphones and Cell Phones"
                        parent:
                          id: "4"
                        leaf: false
                CategoryRenamedEvent:
                  summary: Category renamed event
                  value:
                    events:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "CATEGORY_RENAMED"
                      category:
                        id: "165"
                        name: "Smartphones and Cell Phones Renamed"
                        parent:
                          id: "4"
                        leaf: false
                CategoryMovedEvent:
                  summary: Category moved event
                  value:
                    events:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "CATEGORY_MOVED"
                      category:
                        id: "165"
                        name: "Smartphones and Cell Phones"
                        parent:
                          id: "7"
                        leaf: false
                CategoryDeletedEvent:
                  summary: Category deleted event
                  value:
                    events:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "CATEGORY_DELETED"
                      category:
                        id: "165"
                        name: "Smartphones and Cell Phones"
                        parent:
                          id: "4"
                        leaf: false
                      redirectCategory:
                        id: "7"
        '400':
          description: Invalid parameters supplied in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
  /sale/offer-additional-services/categories:
    get:
      tags:
        - Additional services
      summary: "Get the additional services definitions by categories"
      description:
        'Use this resource to get additional services definitions, grouped by additional services categories, available on given marketplace. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-liste-dostepnych-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-a-list-of-available-additional-services" target="_blank">EN</a>.'
      operationId: getListOfAdditionalServicesDefinitionsCategoriesUsingGET
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:read
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoriesResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /sale/shipping-rates:
    get:
      tags:
        - Delivery
      summary: "Get the user's shipping rates"
      description:
        'Use this resource to get a list of seller''s shipping rates. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-cennik-dostaw" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-shipping-rates" target="_blank">EN</a>.'
      operationId: getListOfShippingRatestUsingGET
      parameters:
        - name: marketplace
          in: query
          description: Allows to filter shipping rates by marketplace that they are qualified for.
          example: "allegro-cz"
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: object
                properties:
                  shippingRates:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Shipping rate ID
                        name:
                          type: string
                          description: User defined name of the shipping rates set
                        marketplaces:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Marketplace ID
                          description: List of marketplace ids where these shipping rates are qualified for. The list is calculated based on the delivery methods added to the shipping rates.
              examples:
                response:
                  value:
                    shippingRates:
                      - id: 758fcd59-fbfa-4453-ae07-4800d72c2ca0
                        name: Cennik z wysyłką do Czech
                        marketplaces:
                          - id: "allegro-pl"
                          - id: "allegro-cz"
        '401':
          description: Authentication required
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    post:
      tags:
        - Delivery
      summary: "Create a new shipping rates set"
      description:
        'Use this resource to create a new seller''s shipping rates set. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-dodac-cennik-dostaw" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-add-shipping-rates" target="_blank">EN</a>.'
      operationId: createShippingRatesSetUsingPOST
      requestBody:
        description: Shipping rates set
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ShippingRatesSet'
      responses:
        '201':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ShippingRatesSet"
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '401':
          description: Authentication required
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '422':
          description: The user has reached the limit of shipping rates sets. Information on the limit will be returned in the error message.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /sale/shipping-rates/{id}:
    get:
      tags:
        - Delivery
      summary: 'Get the details of a shipping rates set'
      description:
        'Use this resource to get details of the given shipping rates set. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-cennik-dostaw" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-shipping-rates" target="_blank">EN</a>.'
      operationId: getShippingRatesSetUsingGET
      parameters:
        - name: id
          in: path
          description: Shipping rates set identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ShippingRatesSet"
              examples:
                response:
                  value:
                    id: 758fcd59-fbfa-4453-ae07-4800d72c2ca6
                    name: Mój cennik
                    rates:
                      - deliveryMethod:
                          id: 758fcd59-fbfa-4453-ae07-4800d72c2ca5
                        maxQuantityPerPackage: 6
                        maxPackageWeight:
                          value: '19.000'
                          unit: 'KILOGRAM'
                        firstItemRate:
                          amount: '12.00'
                          currency: PLN
                        nextItemRate:
                          amount: '2.50'
                          currency: PLN
                        shippingTime:
                          from: P1D
                          to: P20D
                    lastModified: '2018-04-05T12:20:23.974Z'
        '401':
          description: Authentication required
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Shipping rates set with given ID not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - Delivery
      summary: "Edit a user's shipping rates set"
      description:
        'Use this resource to edit a new seller''s shipping rates set. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-edytowac-cennik-dostaw" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-modify-shipping-rates" target="_blank">EN</a>.'
      operationId: modifyShippingRatesSetUsingPUT
      parameters:
        - name: id
          in: path
          description: Shipping rates set identifier.
          required: true
          schema:
            type: string
      requestBody:
        description: Shipping rates set
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: "#/components/schemas/ShippingRatesSet"
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ShippingRatesSet"
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Authentication required
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Set with given id does not exist
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /sale/delivery-settings:
    get:
      tags:
        - Delivery
      summary: "Get the user's delivery settings"
      description: >-
        Use this resource to get the delivery settings declared by the seller. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-ustawienia-dostawy" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-get-delivery-settings" target="_blank">EN</a>.
      operationId: getSaleDeliverySettings
      parameters:
        - name: marketplace.id
          in: query
          description: >-
            Marketplace for which delivery settings will be returned.
            By default (if the marketplace parameter is not set) the marketplace on which the seller has registered is used.
            However, we recommend that the marketplace.id query parameter should always be explicitly set.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DeliverySettingsResponse'
        '401':
          description: Authentication required.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden - not allowed to access user data.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity - not supported marketplace.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - Delivery
      summary: "Modify the user's delivery settings"
      description: >-
        Use this resource to modify the delivery settings declared by the seller. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-edytowac-ustawienia-dostawy" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-edit-delivery-settings" target="_blank">EN</a>.
      operationId: putSaleDeliverySettings
      requestBody:
        description: Delivery settings set
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: "#/components/schemas/DeliverySettingsRequest"
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DeliverySettingsResponse'
        '401':
          description: Authentication required.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden - not allowed to access user data.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity - wrong amount, wrong currency, wrong join policy strategy, unsupported marketplace, attempt to modify marketplace allegro-business-* - modifying the settings for such a marketplace should be done by modifying the allegro-* marketplace.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /points-of-service:
    post:
      tags:
        - Points of service
      summary: 'Create a point of service'
      description:
        'Use this resource to create a point of service. Read more: <a href="../../news/punkty-odbioru-osobistego-8dmlj8qk7ik" target="_blank">PL</a> / <a href="../../news/points-of-service-Rdoz09ZE7sW" target="_blank">EN</a>.'
      operationId: createPOSUsingPOST
      responses:
        '201':
          description: Created
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Pos'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: Conflict - similar Point of Service already exists. Url of the existing POS is provided in the HTTP Location header field of the response.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        $ref: '#/components/requestBodies/Pos'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
    get:
      tags:
        - Points of service
      summary: "Get the user's points of service"
      description:
        'Use this resource to get a list of points of service by seller ID. Read more: <a href="../../news/punkty-odbioru-osobistego-8dmlj8qk7ik" target="_blank">PL</a> / <a href="../../news/points-of-service-Rdoz09ZE7sW" target="_blank">EN</a>.'
      operationId: getPOSListUsingGET
      parameters:
        - name: seller.id
          in: query
          description: User identifier.
          required: true
          schema:
            type: string
        - name: countryCode
          in: query
          description: Country code identifier in ISO format. In case of incorrect or unsupported country code, empty list is returned. If missing, list of all defined points is returned. If present, correct and supported, list of all points with given country code for the user is returned.
          example: "PL"
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SearchResult'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
  /points-of-service/{id}:
    get:
      tags:
        - Points of service
      summary: "Get the details of a point of service"
      description:
        'Use this resource to get a details of a point of service for a given ID. Read more: <a href="../../news/punkty-odbioru-osobistego-8dmlj8qk7ik" target="_blank">PL</a> / <a href="../../news/points-of-service-Rdoz09ZE7sW" target="_blank">EN</a>.'
      operationId: getPOSDataUsingGET
      parameters:
        - name: id
          in: path
          description: Point of service ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Pos'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - Points of service
      summary: 'Modify a point of service'
      description:
        'Use this resource to modify a point of service. Read more: <a href="../../news/punkty-odbioru-osobistego-8dmlj8qk7ik" target="_blank">PL</a> / <a href="../../news/points-of-service-Rdoz09ZE7sW" target="_blank">EN</a>.'
      operationId: modifyPOSUsingPUT
      parameters:
        - name: id
          in: path
          description: >-
            Point of service ID. Must match values with 'id' property from the
            body.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Pos'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: Conflict - similar Point of Service already exists. Url of the existing POS is provided in the HTTP Location header field of the response.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        $ref: '#/components/requestBodies/Pos'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
    delete:
      tags:
        - Points of service
      summary: 'Delete a point of service'
      description:
        'Use this resource to delete a point of service. Read more: <a href="../../news/punkty-odbioru-osobistego-8dmlj8qk7ik" target="_blank">PL</a> / <a href="../../news/points-of-service-Rdoz09ZE7sW" target="_blank">EN</a>.'
      operationId: deletePOSUsingDELETE
      parameters:
        - name: id
          in: path
          description: Point of service ID.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /sale/offer-contacts:
    post:
      tags:
        - Contacts
      summary: 'Create a new contact'
      description:
        'Use this resource to create a new contact. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-utworzyc-nowy-kontakt" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-create-new-contact" target="_blank">EN</a>.'
      operationId: createContactUsingPOST
      responses:
        '201':
          description: Created
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ContactResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ContactRequest'
        description: New contact
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
    get:
      tags:
        - Contacts
      summary: "Get the user's contacts"
      description:
        'Use this resource to get details of many contacts. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-liste-kontaktow" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-a-list-of-contacts" target="_blank">EN</a>.'
      operationId: getListOfContactsUsingGET
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ContactResponseList'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
  /sale/offer-contacts/{id}:
    get:
      tags:
        - Contacts
      summary: "Get contact details"
      description:
        'Use this resource to get contact details. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-szczegoly-danego-kontaktu" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-contact-details" target="_blank">EN</a>.'
      operationId: getContactUsingGET
      parameters:
        - name: id
          in: path
          description: Contact identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ContactResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - Contacts
      summary: "Modify contact details"
      description:
        'Use this resource to modify contact details. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-zmienic-dane-kontaktu" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-change-contact-data" target="_blank">EN</a>.'
      operationId: modifyContactUsingPUT
      parameters:
        - name: id
          in: path
          description: Contact identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ContactResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ContactRequest'
        description: Contact
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /sale/responsible-persons:
    get:
      tags:
        - Responsible persons
      summary: "Get the list of responsible persons"
      description:
        'Use this resource to get a list of responsible persons for the compliance of the product with EU regulations. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#osoba-odpowiedzialna-za-zgodnosc-produktu-z-przepisami-unijnymi" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#responsible-persons-for-the-compliance-of-the-product-with-eu-regulations" target="_blank">EN</a>.'
      operationId: responsiblePersonsGET
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: object
                properties:
                  responsiblePersons:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResponsiblePersonResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      tags:
        - Responsible persons
      summary: "Create responsible person"
      description:
        'Use this resource to create a new responsible person for the compliance of the product with EU regulations. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#osoba-odpowiedzialna-za-zgodnosc-produktu-z-przepisami-unijnymi" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#responsible-persons-for-the-compliance-of-the-product-with-eu-regulations" target="_blank">EN</a>.'
      operationId: responsiblePersonsPOST
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:write
      responses:
        '201':
          description: Created
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ResponsiblePersonResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CreateResponsiblePersonRequest'
        required: true
  /sale/responsible-persons/{id}:
    put:
      tags:
        - Responsible persons
      summary: "Update responsible person"
      description:
        'Use this resource to update the responsible person for the compliance of the product with EU regulations. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#osoba-odpowiedzialna-za-zgodnosc-produktu-z-przepisami-unijnymi" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#responsible-persons-for-the-compliance-of-the-product-with-eu-regulations" target="_blank">EN</a>.'
      operationId: responsiblePersonsPUT
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:write
      parameters:
        - name: id
          in: path
          description: Responsible person ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ResponsiblePersonResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/UpdateResponsiblePersonRequest'
        required: true
  /sale/delivery-methods:
    get:
      tags:
        - Delivery
      summary: "Get the list of delivery methods"
      description:
        'Use this resource to get a list of all delivery methods currently available on the platform, as well as those that have already been discontinued. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-dodac-cennik-dostaw" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-add-shipping-rates" target="_blank">EN</a>.'
      operationId: getListOfDeliveryMethodsUsingGET
      parameters:
        - name: marketplace
          in: query
          description: Allows to filter delivery methods by marketplace id.
          example: "allegro-pl"
          required: false
          schema:
            type: string
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: object
                properties:
                  deliveryMethods:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Delivery method id.
                        name:
                          type: string
                          description: >-
                            Delivery method name. Please note that only method ids are unique, not method names.
                            For duplicate names, check the marketplaces, paymentPolicy and allegroEndorsed properties as well.
                        marketplaces:
                          type: array
                          items:
                            type: string
                          description: List of marketplace ids where this delivery method is available for buyers.
                        paymentPolicy:
                          type: string
                          enum:
                            - IN_ADVANCE
                            - CASH_ON_DELIVERY
                          description: Whether the payment is to be collected in advance or on delivery.
                        allegroEndorsed:
                          type: boolean
                          description: >-
                            Indicates Allegro signed delivery method, which allows to easily distinguish similar delivery methods
                            with various restrictions, e.g. Allegro Paczkomaty 24/7 InPost from Paczkomaty 24/7.
                        shippingRatesConstraints:
                          type: object
                          description: Rules for the delivery method, i.e. price, quantity, shipping time, etc.
                          properties:
                            allowed:
                              type: boolean
                              description: Indicates whether delivery method can be used when adding or modifying shipping rates.
                            maxQuantityPerPackage:
                              type: object
                              description: Rules for the quantity per parcel.
                              properties:
                                max:
                                  type: integer
                                  description: Upper limit for quantity per package.
                                  minimum: 1
                                  maximum: 999999
                                  example: 999999
                            maxPackageWeight:
                              type: object
                              description: Rules for the maximum weight of a package.
                              properties:
                                supported:
                                  type: boolean
                                  description: Indicates whether the maximum package weight can be set in shipping rates for the delivery method.
                                  example: true
                                min:
                                  type: string
                                  description: Lower limit for the maximum package weight, provided in a string format to avoid rounding errors.
                                  nullable: true
                                  example: "15.000"
                                max:
                                  type: string
                                  description: Upper limit for the maximum package weight, provided in a string format to avoid rounding errors.
                                  nullable: true
                                  example: "20.000"
                                unit:
                                  type: string
                                  description: Weight unit. Currently only `KILOGRAM` is supported.
                                  nullable: true
                                  example: "KILOGRAM"
                            firstItemRate:
                              type: object
                              description: Rules for the shipping cost for the first item in the parcel.
                              properties:
                                min:
                                  type: string
                                  description: Lower limit for the rate.
                                  example: "0.00"
                                  maxLength: 15
                                max:
                                  type: string
                                  description: Upper limit for the rate.
                                  example: "8.99"
                                  maxLength: 15
                                currency:
                                  type: string
                                  description: ISO 4217 currency code.
                                  example: "PLN"
                            nextItemRate:
                              type: object
                              description: Rules for the shipping cost of another item in the parcel.
                              properties:
                                min:
                                  type: string
                                  description: Lower limit for the rate.
                                  example: "0.00"
                                  maxLength: 15
                                max:
                                  type: string
                                  description: Upper limit for the rate.
                                  example: "8.99"
                                  maxLength: 15
                                currency:
                                  type: string
                                  description: ISO 4217 currency code.
                                  example: "PLN"
                            shippingTime:
                              type: object
                              description: Rules for the shipping time.
                              properties:
                                default:
                                  type: object
                                  description: Default shipping time.
                                  properties:
                                    from:
                                      type: string
                                      description: ISO 8601 duration format.
                                      example: "PT24H"
                                    to:
                                      type: string
                                      description: ISO 8601 duration format.
                                      example: "PT48H"
                                customizable:
                                  type: boolean
                                  description: Indicates if custom shipping time can be set when adding or modifying shipping rates.
              examples:
                response:
                  value:
                    deliveryMethods:
                      - id: 758fcd59-fbfa-4453-ae07-4800d72c2ca5
                        name: List polecony priorytetowy
                        marketplaces:
                          - "allegro-pl"
                        paymentPolicy: IN_ADVANCE
                        allegroEndorsed: false
                        shippingRatesConstraints:
                          allowed: true
                          maxQuantityPerPackage:
                            max: 999999
                          maxPackageWeight:
                            supported: true
                            min: '1.000'
                            max: '30.000'
                            unit: 'KILOGRAM'
                          firstItemRate:
                            min: '0.00'
                            max: '100000000.00'
                            currency: PLN
                          nextItemRate:
                            min: '0.00'
                            max: '100000000.00'
                            currency: PLN
                          shippingTime:
                            default:
                              from: PT24H
                              to: PT48H
                            customizable: true
        '401':
          description: Authentication required.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
  '/sale/offer-additional-services/groups/{groupId}':
    get:
      tags:
        - Additional services
      summary: "Get the details of an additional services group"
      description:
        'Use this resource to get additional services group for a given ID. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-wybrana-grupe-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-a-group-of-additional-services-for-a-given-id" target="_blank">EN</a>.'
      operationId: getAdditionalServicesGroupUsingGET
      parameters:
        - name: groupId
          in: path
          description: Additional Service Group ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalServicesGroupResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - Additional services
      summary: "Modify an additional services group"
      description:
        'Use this resource to modify existing additional service group. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-zaktualizowac-grupe-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-update-additional-service-group" target="_blank">EN</a>.'
      operationId: modifyAdditionalServicesGroupUsingPUT
      parameters:
        - name: groupId
          in: path
          description: Additional service group ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalServicesGroupResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      requestBody:
        $ref: '#/components/requestBodies/AdditionalServicesGroupRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /sale/offer-additional-services/groups/{groupId}/translations:
    get:
      tags:
        - Additional services translations
      summary: 'Get translations for specified group'
      description:
        'Use this resource to get translations for additional service group. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#tlumaczenia-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#additional-services-translations" target="_blank">EN</a>.'
      operationId: getAdditionalServiceGroupTranslations
      parameters:
        - name: groupId
          in: path
          description: Additional Service Group ID.
          required: true
          schema:
            type: string
        - name: language
          in: query
          description: 'IETF language tag. When provided, the response will contain translations in only that language (if exists).'
          example: en-US
          required: false
          schema:
            type: string
            minLength: 5
            maxLength: 5
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalServiceGroupTranslationResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:read

  /sale/offer-additional-services/groups/{groupId}/translations/{language}:
    patch:
      tags:
        - Additional services translations
      summary: 'Create/Update translations for specified group and language'
      description:
        'Use this resource to create/update translation for additional service group and specified language. It is allowed to provide an incomplete list of services that belong to the group. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#tlumaczenia-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#additional-services-translations" target="_blank">EN</a>.'
      operationId: updateAdditionalServiceGroupTranslation
      parameters:
        - name: groupId
          in: path
          description: Additional Service Group ID.
          required: true
          schema:
            type: string
        - name: language
          in: path
          description: IETF Language tag.
          required: true
          schema:
            type: string
            minLength: 5
            maxLength: 5
          example: pl-PL
      requestBody:
        description: Additonal service group translation.
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/AdditionalServicesGroupTranslationRequest'
      responses:
        '200':
          description: 'Translation created/updated for group and language.'
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalServiceGroupTranslationPatchResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:write
    delete:
      tags:
        - Additional services translations
      summary: 'Delete a translation for a specified group and language'
      description: >-
        Use this resource to delete the translation for specified additional service group and language. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#tlumaczenia-uslug-dodatkowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#additional-services-translations" target="_blank">EN</a>.
      operationId: deleteAdditionalServiceGroupTranslation
      parameters:
        - name: groupId
          in: path
          description: Additional service group ID.
          required: true
          schema:
            type: string
        - name: language
          in: path
          description: IETF Language tag.
          required: true
          schema:
            type: string
            minLength: 5
            maxLength: 5
          example: pl-PL
      responses:
        '204':
          description: Translation deleted successfully
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Additional service group or translation not found
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:write

  /sale/size-tables/{tableId}:
    get:
      tags:
        - Size tables
      summary: 'Get a size table'
      description:
        'Use this resource to get selected size table. Read more: <a href="../../news/tabele-rozmiarow-w-rest-api-LRV05q2dGtV" target="_blank">PL</a> / <a href="../../news/size-tables-in-rest-api-D7KP4DE1BH3" target="_blank">EN</a>.'
      operationId: getTableUsingGET
      parameters:
        - name: tableId
          in: path
          description: Table identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Size table returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PublicTableDto'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - Size tables
      summary: 'Update a size table'
      description:
        'Use this resource to update selected size table. Read more: <a href="../../news/tabele-rozmiarow-zmieniamy-istniejacy-zasob-i-dodajemy-nowe-zasoby-do-ich-obslugi-k1nyd21A4fP" target="_blank">PL</a> / <a href="../../news/size-tables-we-change-the-existing-resource-and-add-new-resources-to-handle-them-jn91bynlbC9" target="_blank">EN</a>.'
      operationId: modifyTableUsingPUT
      parameters:
        - name: tableId
          in: path
          description: Table identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Size table updated successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PublicTableDto'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        description: Size table details
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SizeTablePutRequest'
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:write
  /sale/size-tables:
    get:
      tags:
        - Size tables
      summary: "Get the user's size tables"
      description:
        'Use this resource to get all size tables assigned to a seller account.
           Read more: <a href="../../news/tabele-rozmiarow-w-rest-api-LRV05q2dGtV" target="_blank">PL</a> / <a href="../../news/size-tables-in-rest-api-D7KP4DE1BH3" target="_blank">EN</a>.'
      operationId: getTablesUsingGET
      responses:
        '200':
          description: Size tables returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PublicTablesDto'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    post:
      tags:
        - Size tables
      summary: 'Create a size table'
      description:
        'Use this resource to create size table. Read more: <a href="../../news/tabele-rozmiarow-zmieniamy-istniejacy-zasob-i-dodajemy-nowe-zasoby-do-ich-obslugi-k1nyd21A4fP" target="_blank">PL</a> / <a href="../../news/size-tables-we-change-the-existing-resource-and-add-new-resources-to-handle-them-jn91bynlbC9" target="_blank">EN</a>.'
      operationId: createTableUsingPOST
      responses:
        '201':
          description: Size table created successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PublicTableDto'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      requestBody:
        description: Size table details
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SizeTablePostRequest'
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:write
  /sale/size-tables-templates:
    get:
      tags:
        - Size tables
      summary: "Get the size tables templates"
      description:
        'Use this resource to get all size tables templates.
             Read more: <a href="../../news/tabele-rozmiarow-zmieniamy-istniejacy-zasob-i-dodajemy-nowe-zasoby-do-ich-obslugi-k1nyd21A4fP" target="_blank">PL</a> / <a href="../../news/size-tables-we-change-the-existing-resource-and-add-new-resources-to-handle-them-jn91bynlbC9" target="_blank">EN</a>.'
      operationId: getTablesTemplatesUsingGET
      responses:
        '200':
          description: Size tables templates returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SizeTableTemplatesResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - bearer-token-for-user:
            - allegro:api:sale:settings:read
  /after-sales-service-conditions/return-policies:
    get:
      tags:
        - After sale services
      summary: "Get the user's return policies"
      description:
        'Use this resource to get seller return policies listing. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-warunki-zwrotow-przypisane-do-konta" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-return-policies-assigned-to-the-account" target="_blank">EN</a>.'
      operationId: getPublicSellerListingUsingGET_1
      parameters:
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 60
            minimum: 1
            maximum: 60
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 59
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ReturnPoliciesList_ReturnPolicyBasic_'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    post:
      tags:
        - After sale services
      summary: "Create new user's return policy"
      description:
        'Use this resource to create a return policy definition. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-informacje-o-warunkach-zwrotow" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-return-policy-information" target="_blank">EN</a>.'
      operationId: createAfterSalesServiceReturnPolicyUsingPOST
      responses:
        '201':
          description: Created
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ReturnPolicyResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        description: Return Policy
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ReturnPolicyRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/return-policies/{returnPolicyId}:
    get:
      tags:
        - After sale services
      summary: "Get the user's return policy"
      description:
        'Use this resource to get a return policy details. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-warunki-zwrotow-przypisane-do-konta" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-return-policies-assigned-to-the-account" target="_blank">EN</a>.'
      operationId: getAfterSalesServiceReturnPolicyUsingGET
      parameters:
        - name: returnPolicyId
          in: path
          description: The ID of the return policy.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ReturnPolicyResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - After sale services
      summary: "Change the user's return policy"
      description:
        'Use this resource to modify the return policy details. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-edytowac-informacje-o-warunkach-zwrotu" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-update-return-policy-information" target="_blank">EN</a>.'
      operationId: updateAfterSalesServiceReturnPolicyUsingPUT
      parameters:
        - name: returnPolicyId
          in: path
          description: The ID of the return policy.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ReturnPolicyResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      requestBody:
        description: Return Policy
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ReturnPolicyRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/implied-warranties:
    get:
      tags:
        - After sale services
      summary: "Get the user's implied warranties"
      description:
        'Use this resource to get seller implied warranties listing. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-warunki-reklamacji-przypisane-do-konta" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-implied-warranties-assigned-to-the-account" target="_blank">EN</a>.'
      operationId: getPublicSellerListingUsingGET
      parameters:
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 60
            minimum: 1
            maximum: 60
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 59
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/ImpliedWarrantiesList_ImpliedWarrantyBasic_
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    post:
      tags:
        - After sale services
      summary: "Create new user's implied warranty"
      description:
        'Use this resource to create an implied warranty definition. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-informacje-o-warunkach-reklamacji" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-implied-warranty-information" target="_blank">EN</a>.'
      operationId: createAfterSalesServiceImpliedWarrantyUsingPOST
      responses:
        '201':
          description: Created
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ImpliedWarrantyResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        description: Implied warranty
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ImpliedWarrantyRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/implied-warranties/{impliedWarrantyId}:
    get:
      tags:
        - After sale services
      summary: "Get the user's implied warranty"
      description:
        'Use this resource to get an implied warranty details. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-warunki-reklamacji-przypisane-do-konta" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-implied-warranties-assigned-to-the-account" target="_blank">EN</a>.'
      operationId: getAfterSalesServiceImpliedWarrantyUsingGET
      parameters:
        - name: impliedWarrantyId
          in: path
          description: The ID of the implied warranty.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ImpliedWarrantyResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - After sale services
      summary: "Change the user's implied warranty"
      description:
        'Use this resource to modify the implied warranty details. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-edytowac-informacje-o-warunkach-reklamacji" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-update-implied-warranty-information" target="_blank">EN</a>.'
      operationId: updateAfterSalesServiceImpliedWarrantyUsingPUT
      parameters:
        - name: impliedWarrantyId
          in: path
          description: The ID of the implied warranty.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ImpliedWarrantyResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      requestBody:
        description: Implied warranty
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ImpliedWarrantyRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/warranties:
    get:
      tags:
        - After sale services
      summary: "Get the user's warranties"
      description:
        'Use this resource to get seller warranties listing. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-informacje-o-gwarancjach-przypisanych-do-konta" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-warranties-assigned-to-the-account" target="_blank">EN</a>.'
      operationId: getPublicSellerListingUsingGET_2
      parameters:
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 60
            minimum: 1
            maximum: 60
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
            maximum: 59
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/WarrantiesList_WarrantyBasic_'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    post:
      tags:
        - After sale services
      summary: "Create new user's warranty"
      description:
        'Use this resource to create a warranty definition. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-informacje-o-gwarancjach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-warranty-information" target="_blank">EN</a>.'
      operationId: createAfterSalesServiceWarrantyUsingPOST
      responses:
        '201':
          description: Created
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/WarrantyResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        description: Warranty
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/WarrantyRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/warranties/{warrantyId}:
    get:
      tags:
        - After sale services
      summary: "Get the user's warranty"
      description:
        'Use this resource to get a warranty details. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-informacje-o-gwarancjach-przypisanych-do-konta" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-warranties-assigned-to-the-account" target="_blank">EN</a>.'
      operationId: getAfterSalesServiceWarrantyUsingGET
      parameters:
        - name: warrantyId
          in: path
          description: The ID of the warranty.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/WarrantyResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
    put:
      tags:
        - After sale services
      summary: "Change the user's warranty"
      description:
        'Use this resource to modify the warranty details. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-edytowac-informacje-o-gwarancjach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-update-warranty-information" target="_blank">EN</a>.'
      operationId: updateAfterSalesServiceWarrantyUsingPUT
      parameters:
        - name: warrantyId
          in: path
          description: The ID of the warranty.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/WarrantyResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      requestBody:
        description: Warranty
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/WarrantyRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/attachments:
    post:
      tags:
        - After sale services
      summary: "Create a warranty attachment metadata"
      description: >-
        You can attach PDF files to warranties.

        Uploading attachments flow:
          1. Create an attachment object to receive an upload URL (*POST /after-sales-service-conditions/attachments*),
          2. Use the upload URL to submit the PDF file (*PUT /after-sales-service-conditions/attachments/{attachmentId}*),
          3. Create (or update) warranty with attachment (*POST /after-sales-service-conditions/warranties*).

          Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-zalacznik-do-informacji-o-gwarancjach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-attachment-to-warranty-information" target="_blank">EN</a>.

      operationId: createAfterSalesServiceConditionsAttachmentUsingPOST
      responses:
        '201':
          description: Attachment created successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AfterSalesServicesAttachment'
        '400':
          description: Syntactically incorrect request.
        '401':
          description: Invalid or missing bearer token.
        '403':
          description: Forbidden
        '415':
          description: Unsupported media type.
        '422':
          description: Unprocessable Entity.
      requestBody:
        description: After sale services attachment
        required: true
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: uploaded_file.pdf
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /after-sales-service-conditions/attachments/{attachmentId}:
    put:
      tags:
        - After sale services
      summary: "Upload an warranty attachment"
      description: >-
        Upload an after sale services attachment.

        This operation should be used after creating an offer attachment with *POST /sale/offer-attachments*

        **Important!** You can find the URL address to upload the file to our server in the *Location* response header of *POST /after-sales-service-conditions/attachments*.
        The URL is unique and one-time. As its format may change in time, you should always use the address from the header.
        Do not compose the address on your own. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-zalacznik-do-informacji-o-gwarancjach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-attachment-to-warranty-information" target="_blank">EN</a>.
      operationId: uploadAfterSalesServiceConditionsAttachmentUsingPUT
      parameters:
        - name: attachmentId
          in: path
          description: The ID of the attachment.
          required: true
          schema:
            type: string
      servers:
        - url: https://upload.{environment}
          variables:
            environment:
              default: allegro.pl
              enum:
                - allegro.pl
                - allegro.pl.allegrosandbox.pl
      requestBody:
        content:
          application/pdf:
            schema:
              type: string
              format: binary
              description: File in a binary format
      responses:
        '200':
          description: File uploaded correctly.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AfterSalesServicesAttachment'
        '400':
          description: Syntactically incorrect request.
        '401':
          description: Invalid or missing bearer token.
        '403':
          description: Forbidden
        '404':
          description: Not found.
        '413':
          description: Payload too large.
        '422':
          description: Invalid file content.
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /pricing/offer-quotes:
    get:
      tags:
        - Pricing
      summary: "Get the user's current offer quotes"
      description: >-
        This endpoint returns current offer quotes (listing and promo fees)
        cycles for authenticated user and list of offers.
        Read more: <a href="../../tutorials/jak-sprawdzic-oplaty-nn9DOL5PASX#data-naliczenia-kolejnej-oplaty" target="_blank">PL</a> / <a href="../../tutorials/how-to-check-the-fees-3An6Wame3Um#check-when-a-fee-is-charged" target="_blank">EN</a>.
      operationId: offerQuotesPublicUsingGET
      parameters:
        - name: offer.id
          in: query
          description: 'List of offer Ids, maximum 20 values.'
          required: true
          allowEmptyValue: false
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Returns current offer quotes
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferQuotesDto'
        '400':
          description: Invalid request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Full authentication is required to access this resource
        '403':
          description: Forbidden
        '503':
          description: Service is currently unavailable. Please try again later.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:billing:read
  /sale/offer-variants:
    post:
      tags:
        - Offer variants
      summary: 'Create variant set'
      description: >-
        Use this resource to create variant set.

         A valid variant set must consist of three required elements:
         - name:
           - it can't be blank and must not be longer than 75 characters
         - parameters:
           - it should contain parameter identifiers used for offer grouping
           - parameter identifiers from the offers and special `color/pattern` value (for grouping via image) are permitted
           - it must contain at least one element (up to 2)
         - offers:
           - it must contain at least 2 offers (500 at most)
           - `colorPattern` value must be set for every offer if `color/pattern` parameter is used
           - `colorPattern` value can't be blank and must not be longer than 50 characters
           - `colorPattern` can take arbitrary string value like `red`, `b323592c-522f-4ec1-b9ea-3764538e0ac4` (UUID), etc.
           - offers having the same image should have identical `colorPattern` value
           - offers must have `publication.marketplaces.base` equal to `allegro-pl`


         Let's assume we have 4 offers:
           - offer with id 2 having an image of a red t-shirt and S as a value of parameter with id 21
           - offer with id 3 having an image of a red t-shirt and M as a value of parameter with id 21
           - offer with id 4 having an image of a blue t-shirt and S as a value of parameter with id 21
           - offer with id 5 having an image of a blue t-shirt and M as a value of parameter with id 21


         You can build a variant set by grouping offers using combination of available parameters - examples are available in <i>Request samples</i>.


         More general information about variant sets can be found [here](https://allegro.pl/pomoc/faq/wielowariantowosc-jak-polaczyc-oferty-xGgaOByGgTb#dodatkowe-informacje). Read more: <a href="../../tutorials/jak-utworzyc-oferte-wielowariantowa-oA6ZYBg5XFo#utworz-oferte-wielowariantowa" target="_blank">PL</a> / <a href="../../tutorials/how-to-create-a-multi-variant-offer-nn9DOL3nXs2#create-a-multi-variant-offer" target="_blank">EN</a>.
      operationId: createVariantSet
      responses:
        '201':
          description: Variant set created successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/VariantSetResponse'

        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        $ref: '#/components/requestBodies/VariantSetRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Offer variants
      summary: "Get the user's variant sets"
      description: >-
        Use this resource to get created variant sets.
        The returned variant sets are ordered by name.
        Read more: <a href="../../tutorials/jak-utworzyc-oferte-wielowariantowa-oA6ZYBg5XFo#pobierz-liste-ofert-wielowariantowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-create-a-multi-variant-offer-nn9DOL3nXs2#retrieve-a-multi-variant-offer" target="_blank">EN</a>.
      operationId: getVariantSets
      parameters:
        - name: offset
          in: query
          description: Index of first returned variant set.
          required: false
          schema:
            type: integer
            default: 0
            minimum: 0
            maximum: 9950
        - name: limit
          in: query
          description: Maximum number of returned variant sets.
          required: false
          schema:
            type: integer
            default: 10
            minimum: 1
            maximum: 50
        - name: query
          in: query
          description: Filter variant sets by name or offer id.
          required: false
          schema:
            type: string
            maxLength: 50
      responses:
        '200':
          description: Variant sets returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/VariantSets'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offer-variants/{setId}:
    put:
      tags:
        - Offer variants
      summary: 'Update variant set'
      description: >-
        Use this resource to edit variant set.

         A valid variant set must consist of three required elements:
         - name:
           - it can't be blank and must not be longer than 75 characters
         - parameters:
           - it should contain parameter identifiers used for offer grouping
           - parameter identifiers from the offers and special `color/pattern` value (for grouping via image) are permitted
           - it must contain at least one element (up to 2)
         - offers:
           - it must contain at least 2 offers (500 at most)
           - `colorPattern` value must be set for every offer if `color/pattern` parameter is used
           - `colorPattern` value can't be blank and must not be longer than 50 characters
           - `colorPattern` can take arbitrary string value like `red`, `b323592c-522f-4ec1-b9ea-3764538e0ac4` (UUID), etc.
           - offers having the same image should have identical `colorPattern` value
           - offers must have `publication.marketplaces.base` equal to `allegro-pl`


         Let's assume we have 4 offers:
           - offer with id 2 having an image of a red t-shirt and S as a value of parameter with id 21
           - offer with id 3 having an image of a red t-shirt and M as a value of parameter with id 21
           - offer with id 4 having an image of a blue t-shirt and S as a value of parameter with id 21
           - offer with id 5 having an image of a blue t-shirt and M as a value of parameter with id 21


         You can build a variant set by grouping offers using combination of available parameters - examples are available in <i>Request samples</i>.


         More general information about variant sets can be found [here](https://allegro.pl/pomoc/faq/wielowariantowosc-jak-polaczyc-oferty-xGgaOByGgTb#dodatkowe-informacje). Read more: <a href="../../tutorials/jak-utworzyc-oferte-wielowariantowa-oA6ZYBg5XFo#edytuj-oferte-wielowariantowa" target="_blank">PL</a> / <a href="../../tutorials/how-to-create-a-multi-variant-offer-nn9DOL3nXs2#update-a-multi-variant-offer" target="_blank">EN</a>.
      operationId: updateVariantSet
      parameters:
        - name: setId
          in: path
          description: Variant set identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Variant set updated successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/VariantSetResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        $ref: '#/components/requestBodies/VariantSetRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Offer variants
      summary: 'Get a variant set'
      description:
        'Use this resource to get variant set by set id. Read more: <a href="../../tutorials/jak-utworzyc-oferte-wielowariantowa-oA6ZYBg5XFo#edytuj-oferte-wielowariantowa" target="_blank">PL</a> / <a href="../../tutorials/how-to-create-a-multi-variant-offer-nn9DOL3nXs2#update-a-multi-variant-offer" target="_blank">EN</a>.'
      operationId: getVariantSet
      parameters:
        - name: setId
          in: path
          description: Variant set identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Variant set returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/VariantSetResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
    delete:
      tags:
        - Offer variants
      summary: 'Delete a variant set'
      description: >-
        Use this resource to delete variant set by id.
        Offers included in variant set will not be stopped or modified by this operation.
        Read more: <a href="../../tutorials/jak-utworzyc-oferte-wielowariantowa-oA6ZYBg5XFo#usun-oferte-wielowariantowa" target="_blank">PL</a> / <a href="../../tutorials/how-to-create-a-multi-variant-offer-nn9DOL3nXs2#remove-a-multi-variant-offer" target="_blank">EN</a>.
      operationId: deleteVariantSet
      parameters:
        - name: setId
          in: path
          description: Variant set identifier.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Variant set deleted successfully
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Variant set not found
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/images:
    post:
      tags:
        - Images and attachments
      summary: "Upload an offer image"
      description: >-
        Upload image to our servers.

        You can choose from two upload options:
          * \- provide a link and we will download an image for you
          * \- send an image as binary data

        **Important!** Remember to use dedicated domain for upload, i.e.
          * \- https://upload.allegro.pl for Production
          * \- https://upload.allegro.pl.allegrosandbox.pl for Sandbox

        Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#zdjecia" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#images" target="_blank">EN</a>.

        More information about rules for photos in an offer's gallery and description you will find
        <a href="https://allegro.pl/dla-sprzedajacych/nowe-zasady-dla-zdjec-w-galerii-i-w-opisie-YLlAAa2oXf7" target="_blank">here</a>.
      operationId: uploadOfferImageUsingPOST
      servers:
        - url: https://upload.{environment}
          variables:
            environment:
              default: allegro.pl
              enum:
                - allegro.pl
                - allegro.pl.allegrosandbox.pl
      responses:
        '201':
          description: Image uploaded correctly
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferImageUploadResponse'
        '400':
          description: Syntactically incorrect request
        '401':
          description: Invalid or missing bearer token
        '403':
          description: Authorization problem
        '413':
          description: Image is too big
        '415':
          description: Unsupported media type
        '422':
          description: Unprocessable entity (problem with image server)
      requestBody:
        $ref: '#/components/requestBodies/OfferImageUploadRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-attachments:
    post:
      tags:
        - Images and attachments
      summary: "Create an offer attachment"
      description: >-
        You can attach pdf, jpeg or png files to your offers.
        We will present them under the offer description in the Additional information section.

        You can attach up to 9 files to one offer – one per each type from the list:
          * Guide (MANUAL). Allowed media types: PDF
          * Special offer terms (SPECIAL_OFFER_RULES). Allowed media types: PDF
          * Competition terms (COMPETITION_RULES). Allowed media types: PDF
          * Book excerpt (BOOK_EXCERPT). Allowed media types: PDF
          * Manual (USER_MANUAL). Allowed media types: PDF
          * Installation manual (INSTALLATION_INSTRUCTIONS). Allowed media types: PDF
          * Game manual (GAME_INSTRUCTIONS). Allowed media types: PDF
          * Energy label (ENERGY_LABEL). Allowed media types: JPEG, JPG, PNG
          * Product information sheet (PRODUCT_INFORMATION_SHEET). Allowed media types: PDF
          * Tire label (TIRE_LABEL). Allowed media types: JPEG, JPG, PNG
          * Safety information manual (SAFETY_INFORMATION_MANUAL). Allowed media types: PDF

        Uploading attachments flow:
          1. Create an attachment object to receive an upload URL (*POST /sale/offer-attachments*),
          2. Use the upload URL to submit the file (*PUT /sale/offer-attachments/{attachmentId}*),
          3. Add attachments to the offer (*PUT /sale/offers/{offerId}*).

        Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#zalaczniki" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#attachments" target="_blank">EN</a>.

      operationId: createOfferAttachmentUsingPOST
      responses:
        '201':
          description: Attachment created successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferAttachment'
        '400':
          description: Syntactically incorrect request
        '401':
          description: Invalid or missing bearer token
        '415':
          description: Unsupported media type
        '422':
          description: Unprocessable Entity
      requestBody:
        $ref: '#/components/requestBodies/OfferAttachmentRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/offer-attachments/{attachmentId}:
    put:
      tags:
        - Images and attachments
      summary: "Upload an offer attachment"
      description: >-
        Upload an offer attachment.

        This operation should be used after creating an offer attachment with *POST /sale/offer-attachments*

        **Important!** You can find the URL address to upload the file to our server in the *Location* response header of *POST /sale/offer-attachments*.
        The URL is unique and one-time. As its format may change in time, you should always use the address from the header.
        Do not compose the address on your own. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#zalaczniki" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#attachments" target="_blank">EN</a>.
      operationId: uploadOfferAttachmentUsingPUT
      parameters:
        - name: attachmentId
          in: path
          description: The ID of the attachment.
          required: true
          schema:
            type: string
            format: uuid
      servers:
        - url: https://upload.{environment}
          variables:
            environment:
              default: allegro.pl
              enum:
                - allegro.pl
                - allegro.pl.allegrosandbox.pl
      requestBody:
        content:
          application/pdf:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/jpeg:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/png:
            schema:
              type: string
              format: binary
              description: File in a binary format
      responses:
        '200':
          description: File uploaded correctly
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferAttachment'
        '400':
          description: Syntactically incorrect request
        '401':
          description: Invalid or missing bearer token
        '415':
          description: Unsupported media type
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /offers/listing:
    get:
      tags:
        - Public offer information
      summary: "Search offers"
      description: >-
        <a href="../../listing/" target="_blank">Access for verified applications only</a>.
        Use this resource to get a list of offers based on the provided query parameters.
        At least one of: phrase, seller.id or category.id is required.
        Additional available parameters vary depending on category.id. The
        parameters are defined in the filters entity.

        Changing the marketplace, country of delivery, currency or language may impact the availability of offers and filters.
        Note that requests for closed offers and searching by descriptions may be limited.


        Read more: <a href="../../tutorials/jak-wyszukiwac-przegladac-oferty-ZM9YAKAwgfk" target="_blank">PL</a> / <a href="../../tutorials/how-to-search-and-browse-offers-XxWm2ykMYHl" target="_blank">EN</a>.
      operationId: getListing
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - name: category.id
          in: query
          description: The identifier of the category, where you want to search for offers.
          required: false
          schema:
            type: string
        - name: phrase
          in: query
          description: >-
            The search phrase. The phrase is searched in different fields of the offers depending on the value of the
            `searchMode` parameter.
          required: false
          schema:
            type: string
        - name: seller.id
          in: query
          description: >-
            The identifier of a seller, to limit the results to offers from this seller. May be provided more than once.
            Should not be provided when seller.login is given.
          required: false
          schema:
            type: string
        - name: seller.login
          in: query
          description: >-
            The login of a seller, to limit the results to offers from this seller. May be provided more than once.
            Should not be provided when seller.id is given.
          required: false
          schema:
            type: string
        - name: marketplaceId
          in: query
          description:  >-
            Id of a marketplace where offers are visible.

            *Acceptable values* : `allegro-pl`, `allegro-cz`, `allegro-sk`.
          required: false
          schema:
            type: string
            default: allegro-pl
        - name: shipping.country
          in: query
          description:  >-
            Limits the result to offers with specified delivery country.

            *Default value* : depends on marketplace, for allegro-pl: `PL`, for allegro-cz: `CZ`, for allegro-sk: `SK`.

            Check endpoint GET /marketplaces for acceptable values.
          required: false
          example: PL
          schema:
            type: string
            description: ISO 3166-1 alpha-2 format
        - name: currency
          in: query
          description:  >-
            Currency of the offer prices.

            *Default value* : depends on marketplace, for allegro-pl: `PLN`, for allegro-cz: `CZK`, for allegro-sk: `EUR`.

            Check endpoint GET /marketplaces for acceptable currency values.
          required: false
          example: PLN
          schema:
            type: string
            format: ISO 4217 currency code
        - name: Accept-Language
          in: header
          required: false
          description:  >-
            Limits offers to the only translated to specified language. Also expected language of messages.

            *Default value* : depends on marketplace, for allegro-pl: `pl-PL`, for allegro-cz: `cs-CZ`, for allegro-sk: `sk-SK`.

            Check endpoint GET /marketplaces for acceptable language values.
          example: pl-PL
          schema:
            type: string
            format: BCP-47 language code
        - name: searchMode
          in: query
          description: >-
            Defines where the given phrase should be searched in. Allowed values:

              - *REGULAR* - searching for a phrase in the title,
              - *DESCRIPTIONS* - searching for a phrase in the title and the descriptions,
              - *CLOSED* - searching for a phrase in the title of closed offers. Available only for `allegro-pl` marketplace.
          required: false
          schema:
            type: string
            enum:
              - REGULAR
              - DESCRIPTIONS
              - CLOSED
            default: REGULAR
        - name: offset
          in: query
          description: >-
            Index of the first returned offer from all search results. Max offset is `600 - <limit>`.
          required: false
          schema:
            type: integer
            minimum: 0
            maximum: 599
            default: 0
        - name: limit
          in: query
          description: >-
            The maximum number of offers in a response.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 60
            default: 60
        - name: sort
          in: query
          description: >-
            Search results sorting order. `+` or no prefix in the value means ascending order. `-` prefix means
            descending order.
          required: false
          schema:
            type: string
            enum:
              - relevance
              - +price
              - -price
              - +withDeliveryPrice
              - -withDeliveryPrice
              - +endTime
              - -startTime
            default: relevance
        - name: include
          in: query
          description: >-
            Specify parts of the response that should be included in the output. Allowed values are the names of top
            level entities and *all* as an alias to all entities. By default, all top level entities are included.
            Use `-` prefix to exclude an entity.

            Example:

            `include=-all&include=filters&include=sort` - returns only filters and sort entities.
          required: false
          schema:
            type: string
        - name: fallback
          in: query
          description: >-
            Defines the behaviour of the search engine when no results with exact phrase match are found:

              - *true* - related (not exact) results are returned,
              - *false* - empty results are returned.
          required: false
          schema:
            type: boolean
            default: true
        - name: "Dynamic filters"
          in: query
          description: >-
            You can filter and customize your search results to find exactly what you need by applying filters ids and their dictionary values to query according to the flowing pattern: id=value.
            When the filter definition looks like:
              ````
                {
                  "id": "parameter.11323",
                  "type": "MULTI",
                  "name": "Stan",
                  "values": [{
                      "value": "11323_1",
                      "name": "nowe",
                      "count": 21,
                      "selected": false
                    },
                    {
                      "value": "11323_2",
                      "name": "używane",
                      "count": 157,
                      "selected": false
                    },
                    {
                      "value": "11323_238066",
                      "name": "po zwrocie",
                      "count": 1,
                      "selected": false
                    }
                  ]
                }
              ````
            You can use 'Stan' filter to query results, i.e.:
              * `parameter.11323=11323_1` for "nowe"
              * `parameter.11323=11323_2` for "używane"
              * `parameter.11323=11323_238066` for "po zwrocie".
          required: false
          schema:
            type: object
            additionalProperties:
              x-additionalPropertiesName: filter's id
              type: string
              description: Filter value.
      responses:
        '200':
          description: The request successfully returns the search result.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ListingResponse'
        '400':
          description: Bad request. Check if all necessary parameters are provided.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '403':
          description: >-
            Access is denied. Application verification required.
            Read more: <a href="../../listing/" target="_blank">PL</a> / <a href="../../en/listing/" target="_blank">EN</a>
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '404':
          description: Given category was not found. Check category.id parameter.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '422':
          description: >-
            One of parameters have invalid value or given parameters combination
            is forbidden.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '429':
          description: >-
            Request was rejected because the limit was exceeded.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '500':
          description: Internal service error.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '502':
          description: Error caused by upstream service failure.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
  '/order/events':
    get:
      tags:
        - Order management
      summary: 'Get order events'
      description: >-
        Use this resource to return events that allow you to monitor actions which clients perform, i.e.
        making a purchase, filling in the checkout form (FOD), finishing payment process, making a surcharge. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#dziennik-zdarzen" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#event-log" target="_blank">EN</a>.
      operationId: getOrderEventsUsingGET
      parameters:
        - name: from
          in: query
          description: 'You can use the event ID to retrieve subsequent chunks of events.'
          required: false
          schema:
            type: string
        - name: type
          in: query
          description: >-
            Specify array of event types for filtering.
            Allowed values are:
              * `BOUGHT`: purchase without checkout form filled in
              * `FILLED_IN`: checkout form filled in but payment is not completed yet so data could still change
              * `READY_FOR_PROCESSING`: payment completed. Purchase is ready for processing
              * `BUYER_CANCELLED`: purchase was cancelled by buyer
              * `FULFILLMENT_STATUS_CHANGED`: fulfillment status changed
              * `AUTO_CANCELLED`: purchase was cancelled automatically by Allegro.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: limit
          in: query
          description: 'The maximum number of events returned in the response.'
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 1000
            default: 100
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OrderEventsList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity - Returned when query parameters are incorrect.
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
  /order/event-stats:
    get:
      tags:
        - Order management
      summary: 'Get order events statistics'
      description: >-
        Use this resource to returns object that contains event id and occurrence date of the latest event.
        It gives you current starting point for reading events. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-znalezc-najnowsze-zdarzenie" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-find-the-newest-event" target="_blank">EN</a>.
      operationId: getOrderEventsStatisticsUsingGET
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OrderEventStats'
        '401':
          description: Unauthorized
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
  /order/checkout-forms:
    get:
      tags:
        - Order management
      summary: "Get the user's orders"
      description: >-
        Use this resource to get an order list. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#lista-zamowien" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#order-list" target="_blank">EN</a>.
      operationId: getListOfOrdersUsingGET
      parameters:
        - name: offset
          in: query
          description: Index of first returned checkout-form from all search results.
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: limit
          in: query
          description: >-
            Maximum number of checkout-forms in response.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 100
        - name: status
          in: query
          schema:
            type: string
          description: >-
            Specify status value that checkout-forms must have to be included in the output.
            Allowed values are:
              * `BOUGHT`: purchase without checkout form filled in.
              * `FILLED_IN`: checkout form filled in but payment is not completed yet so data could still change.
              * `READY_FOR_PROCESSING`: payment completed. Purchase is ready for processing.
              * `CANCELLED`: purchase cancelled by buyer.
        - name: fulfillment.status
          in: query
          schema:
            type: string
          description: >-
            Specify seller status value that checkout-forms must have to be included in the output.
            Allowed values are:
              * `NEW`
              * `PROCESSING`
              * `READY_FOR_SHIPMENT`
              * `READY_FOR_PICKUP`
              * `SENT`
              * `PICKED_UP`
              * `CANCELLED`
              * `SUSPENDED`.
        - name: fulfillment.shipmentSummary.lineItemsSent
          in: query
          schema:
            type: string
          description: >-
            Specify filter for line items sending status.
            Allowed values are:
              * `NONE`: none of line items have tracking number specified
              * `SOME`: some of line items have tracking number specified
              * `ALL`: all of line items have tracking number specified.
        - name: lineItems.boughtAt.lte
          in: query
          schema:
            type: string
            format: date-time
          description: Latest line item bought date. The upper bound of date time range from which checkout forms will be taken.
        - name: lineItems.boughtAt.gte
          in: query
          schema:
            type: string
            format: date-time
          description: Latest line item bought date. The lower bound of date time range from which checkout forms will be taken.
        - name: payment.id
          in: query
          schema:
            type: string
          description: Find checkout-forms having specified payment id.
        - name: surcharges.id
          in: query
          schema:
            type: string
          description: Find checkout-forms having specified surcharge id.
        - name: delivery.method.id
          in: query
          schema:
            type: string
          description: Find checkout-forms having specified delivery method id.
        - name: buyer.login
          in: query
          schema:
            type: string
          description: Find checkout-forms having specified buyer login.
        - name: marketplace.id
          in: query
          schema:
            type: string
          description: Find checkout-forms of orders purchased on specified marketplace.
        - name: updatedAt.lte
          in: query
          schema:
            type: string
            format: date-time
          description: Checkout form last modification date. The upper bound of date time range from which checkout forms will be taken.
        - name: updatedAt.gte
          in: query
          schema:
            type: string
            format: date-time
          description: Checkout form last modification date. The lower bound of date time range from which checkout forms will be taken.
        - name: sort
          in: query
          description: >-
            The results' sorting order. No prefix in the value means ascending order. `-` prefix means descending order.
            If you don't provide the sort parameter, the list is sorted by line item boughtAt date, descending.
          required: false
          schema:
            type: string
            enum:
              - lineItems.boughtAt
              - -lineItems.boughtAt
              - updatedAt
              - -updatedAt
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CheckoutForms'
        '400':
          description: >
            Bad Request - Returned when request parameters contains illegal values.
        '401':
          description: Unauthorized
        '422':
          description: >
            Unprocessable Entity - Returned when limit or offset value is outside an acceptable range
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
  /order/checkout-forms/{id}:
    get:
      tags:
        - Order management
      summary: "Get an order's details"
      description: >-
        Use this resource to get an order details. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#szczegoly-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#order-details" target="_blank">EN</a>.
      operationId: getOrdersDetailsUsingGET
      parameters:
        - name: id
          in: path
          description: Checkout form identifier.
          required: true
          schema:
            type: string
            format: uuid
          example: "29738e61-7f6a-11e8-ac45-09db60ede9d6"
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CheckoutForm'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '422':
          description: >
            Unprocessable Entity - Returned when order id is malformed UUID.
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
  /order/carriers:
    get:
      tags:
        - Order management
      summary: "Get a list of available shipping carriers"
      description: >-
        Shipping carriers are essential to provide accurate tracking experience for customers.
        Use this resource to get a list of all available shipping carriers.


        The response of this resource can be stored in accordance with returned caching headers. Read more: <a href="../../news/nowy-zasob-do-pobrania-identyfikatorow-przewoznikow-8dmljjGRGUE" target="_blank">PL</a> / <a href="../../news/new-resource-to-retrieve-available-delivery-company-id-VL6zDDdr4hk" target="_blank">EN</a>.
      operationId: getOrdersCarriersUsingGET
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      responses:
        '200':
          description: List of available shipping carriers.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OrdersShippingCarriersResponse'
              examples:
                order-carriers:
                  summary: Order carriers
                  value:
                    carriers:
                      - id: 'POCZTA_POLSKA'
                        name: 'Poczta Polska'
                      - id: 'DHL'
                        name: 'DHL'
                      - id: 'YUN_EXPRESS'
                        name: 'Yun Express'
                      - id: 'OTHER'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
  '/order/checkout-forms/{id}/shipments':
    get:
      tags:
        - Order management
      summary: "Get a list of parcel tracking numbers"
      description: >-
        Get a list of parcel tracking numbers currently assigned to the order.
        Orders can be retrieved using REST API resource GET /order/checkout-forms.
        Please note that the shipment list may contain parcel tracking numbers added
        through other channels such as Moje Allegro or by the carrier that delivers the parcel. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-numery-przesylek-dodane-do-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#retrieving-tracking-numbers" target="_blank">EN</a>.
      operationId: getOrderShipmentsUsingGET
      parameters:
        - name: id
          in: path
          description: Order identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            Returns a list of parcel tracking numbers (shipments)
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CheckoutFormOrderWaybillResponse'
        '401':
          description: Authentication failed, e.g. token is expired
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Order not found or doesn’t belong to the seller
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
    post:
      tags:
        - Order management
      summary: "Add a parcel tracking number"
      description: >-
        Add a parcel tracking number (shipment) to given order line items. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-dodac-numer-przesylki-do-przedmiotu-w-zamowieniu" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#add-tracking-number-to-order" target="_blank">EN</a>.
      operationId: createOrderShipmentsUsingPOST
      parameters:
        - name: id
          in: path
          description: Order identifier.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CheckoutFormAddWaybillRequest'
        description: request
        required: true
      responses:
        '201':
          description: The request is OK and the parcel tracking number will be assigned to the order
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CheckoutFormAddWaybillCreated'
        '400':
          description: Missing required field or invalid value in the request (e.g. unknown carrier id, carrier name too long, invalid tracking number structure)
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Authentication failed, e.g. token is expired
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Order not found or doesn’t belong to the seller
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: Maximum waybill usage exceeded (e.g. used in too many orders)
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Some of the provided data is invalid, e.g. line item doesn’t belong to the order
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
  /order/checkout-forms/{id}/fulfillment:
    put:
      tags:
        - Order management
      summary: "Set seller order status"
      description: >-
        Use to set seller order status. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#zmiana-statusu-realizacji-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#order-fulfillment-status-change" target="_blank">EN</a>.
      operationId: setOrderFulfillmentUsingPUT
      parameters:
        - name: id
          in: path
          description: Order identifier.
          required: true
          schema:
            type: string
        - name: checkoutForm.revision
          in: query
          description: Checkout form revision.
          required: false
          schema:
            type: string
          example: "819b5836"
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CheckoutFormFulfillment'
        description: request
        required: true
      responses:
        '204':
          description: Fulfillment set successfully
        '401':
          description: Authentication failed, e.g. token is expired
        '404':
          description: Order not found or doesn’t belong to the seller
        '409':
          description: Conflict. Provided revision is outdated.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Some of the provided data is invalid, e.g. unrecognized status value
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
  /order/checkout-forms/{id}/invoices:
    get:
      tags:
        - Order management
      summary: "Get order invoices details"
      description: 'Use to get invoices details including antivirus scan results and EPT invoice verification status. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-informacje-o-fakturach-dodanych-do-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#retrieve-information-about-invoices" target="_blank">EN</a>.'
      operationId: getOrderInvoicesDetails
      parameters:
        - name: id
          in: path
          description: Order identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Invoices fetched successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CheckoutFormsOrderInvoices'
        '403':
          description: You do not have permission to access this order
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Order with given id does not exist
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
    post:
      tags:
        - Order management
      summary: "Post new invoice"
      description: 'Use to add new invoice metadata. Before you send an invoice file, you need to initialize the invoice instance with the required parameters. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-dodac-fakture-do-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#add-an-invoice-to-the-order" target="_blank">EN</a>.'
      operationId: addOrderInvoicesMetadata
      parameters:
        - name: id
          in: path
          description: Order identifier.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CheckFormsNewOrderInvoice'
        description: request
        required: true
      responses:
        '201':
          description: Invoice created successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CheckFormsNewOrderInvoiceId'
        '403':
          description: You do not have permission to access this order
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Order with given id does not exist
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: Order with given id already has seller invoice
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Some of the provided data is invalid or order does not allow an invoice or order's payment is rejected or previously uploaded file is still in scanning.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '429':
          description: You're trying to add another metadata too fast. Upload a file to previously added metadata or wait a few seconds before adding next metadata.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  /order/checkout-forms/{id}/invoices/{invoiceId}/file:
    put:
      tags:
        - Order management
      summary: "Upload invoice file"
      description: 'Use to upload invoice file to match created invoice metadata. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-dodac-fakture-do-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#add-an-invoice-to-the-order" target="_blank">EN</a>.'
      operationId: uploadOrderInvoiceFile
      parameters:
        - name: id
          in: path
          description: Order identifier.
          required: true
          schema:
            type: string
        - name: invoiceId
          in: path
          description: Invoice identifier.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/pdf:
            schema:
              type: string
              format: binary
              description: File in a binary format
      responses:
        '200':
          description: Invoice file uploaded successfully
        '403':
          description: You do not have permission to access this order
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Order or invoice with given id does not exist
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: Invoice with given id already has invoice file uploaded
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '413':
          description: The file is too large. Max file size is 3MB
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Uploaded file is empty or order's payment is rejected
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  '/order/carriers/ALLEGRO/points':
    get:
      tags:
        - Order management
      summary: "Get Allegro pickup drop off points"
      description: >-
        Get a list of Allegro pickup drop off points. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-liste-punktow-allegro" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-list-of-allegro-pickup-drop-off-points" target="_blank">EN</a>.
      operationId: getAllegroPickupDropOffPointsGET
      parameters:
        - name: carriers
          in: query
          description: 'List of carrier ids to filter the drop off/pick up points to only the ones where any of the listed carriers operate.
                        In case of an empty list, all points are returned.'
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AllegroCarrier'
        - name: If-Modified-Since
          in: header
          description: 'Date of last data modification. If data has been modified after specified date,
                              full set of data is returned. If header is not specified, full set of data
                              is returned. Date has to be provided in HTTP-date format.
                              Information about date (the same HTTP-date format) of last modified data is
                              available in response - `Last-Modified`.'
          required: false
          schema:
            type: string
            format: '<day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT'
            example: 'Sat, 01 Dec 2018 10:00:00 GMT'
      responses:
        '200':
          description: >-
            Returns a list of Allegro pickup drop off points
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AllegroPickupDropOffPointsResponse'
        '304':
          description: 'Data has not been modified after the date provided in If-Modified-Since header.'
        '400':
          description: 'Bad request. Invalid query parameters.'
        '401':
          description: Authentication failed, e.g. token is expired
      security:
        - bearer-token-for-application: [ ]
        - bearer-token-for-user: [ ]
  '/order/carriers/{carrierId}/tracking':
    get:
      tags:
        - Order management
      summary: "Get carrier parcel tracking history"
      description: >-
        Get tracking history for parcels. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-historie-statusow-przesylek" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-parcels-statuses-history" target="_blank">EN</a>.
      operationId: getParcelTrackingUsingGET
      parameters:
        - name: carrierId
          in: path
          description: Carrier identifier.
          required: true
          schema:
            type: string
        - name: waybill
          in: query
          description: >-
            Waybill number (parcel tracking number).
            Example: `waybill=AAA0000E5D201&waybill=BBB00000E5D202` - returns parcel tracking history for `AAA0000E5D201` as well as for `BBB00000E5D202`.
          required: true
          schema:
            type: array
            maxItems: 20
            items:
              type: string
      responses:
        '200':
          description: >-
            Returns parcel tracking history for given waybills
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CarrierParcelTrackingResponse'
        '400':
          description: Bad request, e.g. unknown carrier id, missing or too many waybills in query parameter
        '401':
          description: Unauthorized, e.g. token is expired
      security:
        - bearer-token-for-application: [ ]
        - bearer-token-for-user: [ ]
  /sale/disputes:
    get:
      tags:
        - Disputes
      summary: "Get the user's disputes"
      description: >-
        Use this resource to get the list of your disputes ordered by descending opened date.
        Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#dyskusje-na-koncie" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#all-discussions" target="_blank">EN</a>.
      operationId: getListOfDisputesUsingGET
      parameters:
        - name: checkoutForm.id
          in: query
          description: Checkout form identifier.
          required: false
          schema:
            type: string
            format: uuid
          example: "29738e61-7f6a-11e8-ac45-09db60ede9d6"
        - name: limit
          in: query
          description: The maximum number of disputes in a response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 10
        - name: offset
          in: query
          description: Index of first returned dispute.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - name: status
          in: query
          description: Filter disputes with given set of statuses.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - CLOSED
                - ONGOING
                - UNRESOLVED
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DisputeListResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '422':
          description: Unprocessable Entity
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
  /sale/disputes/{disputeId}:
    get:
      tags:
        - Disputes
      summary: "Get a single dispute"
      description: >-
        Use this resource to get a single dispute. Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#szczegolowe-informacje-o-dyskusji" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#information-about-a-particular-discussion" target="_blank">EN</a>.
      operationId: getDisputeUsingGET
      parameters:
        - name: disputeId
          in: path
          description: Dispute identifier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Dispute'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
  /sale/disputes/{disputeId}/messages:
    get:
      tags:
        - Disputes
      summary: "Get the messages within a dispute"
      description: >-
        Use this resource to get the list of messages within dispute. Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#wiadomosci-z-dyskusji" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#all-messages-within-a-discussion" target="_blank">EN</a>.
      operationId: getMessagesFromDisputeUsingGET
      parameters:
        - name: disputeId
          in: path
          description: Dispute identifier.
          required: true
          schema:
            type: string
            format: uuid
        - name: limit
          in: query
          description: The maximum number of messages within dispute returned in a response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 10
        - name: offset
          in: query
          description: Index of first returned message within dispute.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DisputeMessageList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
    post:
      tags:
        - Disputes
      summary: "Add a message to a dispute"
      parameters:
        - name: disputeId
          in: path
          description: Dispute identifier.
          required: true
          schema:
            type: string
            format: uuid
      description: >-
        Use this resource to post a message in certain dispute. At least one of fields: 'text', 'attachment' has to
        be present. Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#nowa-wiadomosc-w-dyskusji" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#add-a-new-message-in-the-discussion" target="_blank">EN</a>.
      operationId: addMessageToDisputeUsingPOST
      responses:
        '201':
          description: CREATED
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DisputeMessage'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Dispute is in a state that forbids adding new messages
        '422':
          description: Unprocessable Entity
      requestBody:
        $ref: '#/components/requestBodies/MessageRequest'
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
  /sale/dispute-attachments:
    post:
      tags:
        - Disputes
      summary: "Create an attachment declaration"
      description: >-
        Use this resource to post an attachment declaration. Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#deklaracja-zalacznika" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#attachment-declaration" target="_blank">EN</a>.
      operationId: createAnAttachmentUsingPOST
      responses:
        '201':
          description: CREATED
          headers:
            Location:
              schema:
                type: string
              description: Use this URL to perform PUT request with binary data file coherent with the attachment declaration.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DisputeAttachmentId'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Unprocessable Entity
      requestBody:
        $ref: '#/components/requestBodies/AttachmentDeclaration'
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
  /sale/dispute-attachments/{attachmentId}:
    put:
      tags:
        - Disputes
      summary: "Upload a dispute message attachment"
      description: >-
        Upload a dispute message attachment.

        This operation should be used after creating an attachment declaration with *POST /sale/dispute-attachments*

        **Important!** You can find the URL address to upload the file to our server in the *Location* response header of *POST /sale/dispute-attachments*.
        The URL is unique and one-time. As its format may change in time, you should always use the address from the header.
        Do not compose the address on your own. Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#dodanie-zalacznika" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#adding-an-attachment" target="_blank">EN</a>.

      operationId: uploadDisputeAttachmentUsingPUT
      parameters:
        - name: attachmentId
          in: path
          required: true
          description: Attachment identifier.
          schema:
            type: string
            format: uuid
      servers:
        - url: https://upload.{environment}
          variables:
            environment:
              default: allegro.pl
              enum:
                - allegro.pl
                - allegro.pl.allegrosandbox.pl
      responses:
        '200':
          description: File uploaded correctly
        '400':
          description: Syntactically incorrect request
        '401':
          description: Invalid or missing bearer token
        '413':
          description: File is too big
        '415':
          description: Unsupported media type
        '422':
          description: Unprocessable Entity
      requestBody:
        required: true
        content:
          image/png:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/gif:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/bmp:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/tiff:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/jpeg:
            schema:
              type: string
              format: binary
              description: File in a binary format
          application/pdf:
            schema:
              type: string
              format: binary
              description: File in a binary format
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
    get:
      tags:
        - Disputes
      summary: "Get an attachment"
      description: >-
        Use this resource to get an attachment. Read more: <a href="../../tutorials/jak-zarzadzac-dyskusjami-E7Zj6gK7ysE#pobranie-zalacznika" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-discussions-VL6Yr40e5t5#attachment-related-to-the-discussion" target="_blank">EN</a>.
      operationId: getAttachmentUsingGET
      parameters:
        - name: attachmentId
          in: path
          description: Attachment identifier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:disputes
  /sale/offer-tags:
    post:
      tags:
        - Offer tags
      summary: "Create a tag"
      description: >-
        Use this resource to create a new tag. You can create up to 100 tags. Read more: <a href="../../news/nowe-zasoby-zarzadzaj-tagami-i-zalacznikami-w-ofertach-1nzlmKLPyHl" target="_blank">PL</a> / <a href="../../news/new-resources-manage-tags-and-attachments-in-offers-WvGz12BXrHL" target="_blank">EN</a>.
      operationId: createTagPOST_1
      responses:
        '200':
          description: Successfully created the requested tag
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TagId'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: >-
            Validation failed - your request was correct, but the tag
            could not be created.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: User is not brandzone user and doesn't have tags subscription
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/TagRequest'
        description: request
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
    get:
      tags:
        - Offer tags
      summary: "Get the user's tags"
      description: >-
        Use this resource to get a list of tags defined by the specified user (Defaults: limit = 1000, offset = 0). Read more: <a href="../../news/nowe-zasoby-zarzadzaj-tagami-i-zalacznikami-w-ofertach-1nzlmKLPyHl" target="_blank">PL</a> / <a href="../../news/new-resources-manage-tags-and-attachments-in-offers-WvGz12BXrHL" target="_blank">EN</a>.
      operationId: listSellerTagsGET_1
      parameters:
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 1000
            minimum: 1
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
      responses:
        '200':
          description: Successfully returned the requested list of tags
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TagListResponse'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: User is not brandzone user and doesn't have tags subscription
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'

      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:read
  /sale/offer-tags/{tagId}:
    delete:
      tags:
        - Offer tags
      summary: "Delete a tag"
      description: >-
        Use this resource to delete the tag. Read more: <a href="../../news/nowe-zasoby-zarzadzaj-tagami-i-zalacznikami-w-ofertach-1nzlmKLPyHl" target="_blank">PL</a> / <a href="../../news/new-resources-manage-tags-and-attachments-in-offers-WvGz12BXrHL" target="_blank">EN</a>.
      operationId: deleteTagUsingDELETE
      parameters:
        - name: tagId
          in: path
          description: Tag identifier.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successfully deleted tag
        '404':
          description: Tag not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: User is not brandzone user and doesn't have tags subscription
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
    put:
      tags:
        - Offer tags
      summary: "Modify a tag"
      description: >-
        Use this resource to update a tag. Read more: <a href="../../news/nowe-zasoby-zarzadzaj-tagami-i-zalacznikami-w-ofertach-1nzlmKLPyHl" target="_blank">PL</a> / <a href="../../news/new-resources-manage-tags-and-attachments-in-offers-WvGz12BXrHL" target="_blank">EN</a>.
        This resource is rate limited to 1 million changes per hour.
      operationId: updateTagPUT
      parameters:
        - name: tagId
          in: path
          description: Tag identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully updated the requested tag
        '422':
          description: >-
            Validation failed - your request was correct, but the tag could not be updated.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: User is not brandzone user and doesn't have tags subscription
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Tag not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/TagRequest'
        description: request
        required: true

      security:
      - bearer-token-for-user:
        - allegro:api:sale:settings:write
  /sale/offers/{offerId}/tags:
    post:
      tags:
        - Offer tags
      summary: "Assign tags to an offer"
      description: >-
        Use this resource to assign a tag to offer. Read more: <a href="../../news/nowe-zasoby-zarzadzaj-tagami-i-zalacznikami-w-ofertach-1nzlmKLPyHl" target="_blank">PL</a> / <a href="../../news/new-resources-manage-tags-and-attachments-in-offers-WvGz12BXrHL" target="_blank">EN</a>.
      operationId: assignTagToOfferPOST
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully assigned tag to offer
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: Forbidden - offer is created by someone else or user is not brandzone user or doesn't have tags subscription
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: >-
            Validation failed - your request was correct, but the tag
            could not be assigned.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Offer not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/TagIdsRequest'
        description: request
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Offer tags
      summary: "Get tags assigned to an offer"
      description: >-
        Use this resource to get a list of tags assigned to offer. Read more: <a href="../../news/nowe-zasoby-zarzadzaj-tagami-i-zalacznikami-w-ofertach-1nzlmKLPyHl" target="_blank">PL</a> / <a href="../../news/new-resources-manage-tags-and-attachments-in-offers-WvGz12BXrHL" target="_blank">EN</a>.
      operationId: listAssignedOfferTagsGET
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully returned list of assigned tags
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/TagListResponse'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: User is not brandzone user and doesn't have tags subscription
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offers/{offerId}/rating:
    get:
      tags:
        - Offer rating
      summary: "Get offer rating"
      description: 'Use this resource to get offer rating. Read more: <a href="../../news/nowy-zasob-do-pobrania-oceny-produktu-q018mmPe0H7" target="_blank">PL</a> / <a href="../../news/new-resource-to-retrieve-product-rating-q018mmPrWUX" target="_blank">EN</a>.'
      operationId: offerRatingGET
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          example: "9991337999"
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferRating'
        '403':
          description: Offer access denied.
        '404':
          description: Offer not found.
        '401':
          description: Unauthorized action.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'

      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offer-promotion-packages:
    get:
      tags:
        - Offer management
      summary: 'Get all available offer promotion packages'
      description:
        'Use this resource to retrieve all available offer promotion packages. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-dostepne-opcje-promowania" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-available-promo-options" target="_blank">EN</a>.'
      operationId: getAvailableOfferPromotionPackages
      responses:
        '200':
          description: Offer promotion packages returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AvailablePromotionPackages'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
  /sale/offers/{offerId}/promo-options-modification:
    post:
      tags:
        - Offer management
      summary: 'Modify offer promotion packages'
      description:
        'Use this resource to modify offer promotion packages. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-lub-zmienic-opcje-promowania-w-pojedynczej-ofercie" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-or-change-promo-options-in-a-single-offer" target="_blank">EN</a>.'
      operationId: modifyOfferPromoOptionsUsingPOST
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          example: "9991337999"
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Offer promotion packages modified successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferPromoOptions'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Offer does not belong to seller.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Offer does not exist or unsupported package name or unsupported change type.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/PromoOptionsModifications'
        description: request
        required: true
      security:
      - bearer-token-for-user:
         - allegro:api:sale:offers:write
  /sale/offers/{offerId}/promo-options:
    get:
      tags:
        - Offer management
      summary: 'Get offer promotion packages'
      description:
        'Use this resource to get promotion packages assigned to an offer. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-opcje-promowania-przypisane-do-oferty" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-promo-options-assigned-to-an-offer" target="_blank">EN</a>.'
      operationId: getOfferPromoOptionsUsingGET
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          example: "9991337999"
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Offer promotion packages returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferPromoOptions'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Offer does not belong to seller.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offers/promo-options:
    get:
      tags:
        - Offer management
      summary: "Get promo options for seller's offers"
      description: 'Use this resource to retrieve promo options for seller offers. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-pobrac-opcje-promowania-dla-wielu-ofert" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-retrieve-available-promo-options-for-multiple-offers" target="_blank">EN</a>.'
      operationId: getPromoOptionsForSellerOffersUsingGET
      parameters:
        - name: limit
          in: query
          description: Limit of promo options per page.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 5000
            default: 5000
        - name: offset
          in: query
          description: Distance between the beginning of the document and the point from which promo options are returned.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
            default: 0
      responses:
        '200':
          description: Promo options for seller offers successfully returned.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/OfferPromoOptionsForSeller'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
      security:
        - bearer-token-for-user:
          - allegro:api:sale:offers:read
  /sale/offers/promo-options-commands/{commandId}:
    put:
      tags:
        - Offer management
      summary: 'Batch offer promotion package modification'
      description:
        'Use this resource to modify promotion packages on multiple offers at once. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-lub-edytowac-opcje-promowania-na-wielu-ofertach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-or-change-promo-options-in-multiple-offers" target="_blank">EN</a>.'
      operationId: promoModificationCommandUsingPUT
      parameters:
        - name: commandId
          in: path
          description: Command identifier. Must be a UUID.
          example: "aca8103b-14eb-4855-b9b3-de5bef06bd30"
          required: true
          schema:
            type: string
      responses:
        '201':
          description: Command was registered
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PromoGeneralReport'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '409':
          description: Command id already in use.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Size of batch should be between 1 and 1000 offers or unsupported modification time.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        $ref: '#/components/requestBodies/PromoOptionsCommand'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
    get:
      tags:
        - Offer management
      summary: 'Modification command summary'
      description:
        'Use this resource to find out how many offers were edited within one {commandId}. You will receive a summary
        with a number of successfully edited offers and errors. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-dodac-lub-edytowac-opcje-promowania-na-wielu-ofertach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-add-or-change-promo-options-in-multiple-offers" target="_blank">EN</a>.'
      operationId: getPromoModificationCommandResultUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Summary successfully returned.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PromoGeneralReport'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Batch modification command does not belong to seller.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Batch modification command does not exist.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offers/promo-options-commands/{commandId}/tasks:
    get:
      tags:
        - Offer management
      summary: 'Modification command detailed result'
      description:
        'Use this resource to retrieve the result of an offer modification command. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-sprawdzic-szczegolowy-raport-zadania" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-check-a-detailed-report-of-your-task" target="_blank">EN</a>.'
      operationId: getPromoModificationCommandDetailedResultUsingGET
      parameters:
        - name: commandId
          in: path
          description: Command identifier.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: 'The limit of returned items.'
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
        - name: offset
          in: query
          description: 'The offset of returned items.'
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
      responses:
        '200':
          description: Report successfully returned.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PromoModificationReport'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Batch modification command does not belong to seller.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Batch modification command does not exist.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/offers/{offerId}/smart:
    get:
      tags:
        - User's offer information
      summary: "Get Smart! classification report of the particular offer"
      description: >-
        Use this resource to get a full Smart! offer classification report of one of your offers.
        Please keep in mind you have to meet Smart! seller conditions first - for more details, use *GET /sale/smart*.
        To learn more about Smart! offer requirements, see our knowledge base article: [PL](https://allegro.pl/pomoc/dla-sprzedajacych/informacje-dla-sprzedajacych/co-zrobic-aby-moje-oferty-byly-oznaczone-ikona-allegro-smart-lDkP8VbKncV) / [EN](https://allegro.pl/help/for-sellers/allegro-smart-for-sellers/how-can-i-make-my-offers-be-marked-with-the-allegro-smart-badge-rKD1RV30jFM). Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#kwalifikacja-oferty" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#offer-qualification" target="_blank">EN</a>.
      operationId: getOfferSmartClassificationGET
      parameters:
        - name: offerId
          in: path
          description: Offer identifier.
          required: true
          schema:
            type: string
        - name: marketplaceId
          in: query
          description: >-
            Marketplace for which offer classification report will be returned.
            If not specified, the result of the offer's base marketplace will be returned.
          required: false
          schema:
            type: string
            example: allegro-pl
      responses:
        '200':
          description: Successfully returned offer Smart! classification report
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SmartOfferClassificationReport'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Offer does not belong to seller
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: |
            Unprocessable entity
            - The offer is being created in our system and we are not able to process it yet. Try again later.
            - Provided marketplaceId is not supported.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/products:
    get:
      tags:
        - Products
      summary: "Get search products results"
      description: >-
        Use this resource to get a list of products according to provided parameters.
        At least ean or phrase parameter is required. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-znalezc-produkt" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-find-a-product" target="_blank">EN</a>.
        This resource is limited with Leaky Bucket mechanism, read more <a href="../../tutorials/informacje-podstawowe-b21569boAI1#ograniczenie-liczby-zapytan-limity" target="_blank">PL</a> / <a href="../../tutorials/basic-information-VL6YelvVKTn#limiting-the-number-of-queries-limits" target="_blank">EN</a>.
      operationId: getSaleProducts
      parameters:
        - name: ean
          in: query
          description: The EAN values can include EAN, ISBN, and UPC identifier types. Parameter is depracated and will be removed in the future. Please use combination of phrase and mode (`GTIN`) parameters instead.
          required: false
          deprecated: true
          schema:
            type: string
            maxLength: 18
        - name: phrase
          in: query
          description: Search phrase.
          required: false
          schema:
            type: string
            maxLength: 1024
        - name: mode
          in: query
          required: false
          description: >-
            Search mode. If not specified, we are searching by GTIN, MPN, product's name, parameters, etc.
             - `GTIN` - restricts the search filtering to GTINs (Global Trade Item Number), e.g. EAN, ISBN, UPC.
             - `MPN` - restricts the search filtering to MPNs (Manufacturer Part Number).
          schema:
            type: string
            enum:
              - GTIN
              - MPN
        - name: language
          in: query
          description: >-
            Language indicates the language for searching products. Allows to specify the language of the given phrase. At present we support: "pl-PL" and "cs-CZ".
          required: false
          schema:
            type: string
            format: BCP-47 language code
            example: 'en-US'
        - name: category.id
          in: query
          description: The category identifier to filter results. This can only be used when searching by phrase.
          required: false
          schema:
            type: string
        - name: "Dynamic filters"
          in: query
          description: >-
            You can filter and customize your search results to find exactly what you need by applying filters ids and their dictionary values to query according to the flowing pattern: id=value.
            When the filter definition looks like:
              ````
              {
                "id": "127448",
                "name": "Kolor",
                "type": "SINGLE",
                "values": [
                  {
                    "name": "biały",
                    "value": "2"
                  },
                  {
                    "name": "czarny",
                    "value": "1" }
                ]
              }
              ````
            You can use 'Kolor' filter to query results, i.e.:
              * `127448=2` for "biały"
              * `127448=1` for "czarny".
          required: false
          schema:
            type: object
            additionalProperties:
              x-additionalPropertiesName: filter's id
              type: string
              description: Filter value.
        - name: page.id
          in: query
          description: A "cursor" to the next set of results.
          required: false
          schema:
            type: string
        - name: searchFeatures
          in: query
          description: >-
            Enables additional search options:
            - *SIMILAR_CATEGORIES* - searching in the indicated category (category.id) and in 'similar categories' (works only if category.id is a leaf category).
          required: false
          schema:
            type: string
            enum:
              - SIMILAR_CATEGORIES
        - name: includeDrafts
          in: query
          description: Include products in draft state.
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: Successful operation.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GetSaleProductsResponse'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '422':
          description: >-
            One of parameters have invalid value.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/products/{productId}:
    get:
      tags:
        - Products
      summary: 'Get all data of the particular product'
      description: >-
        Use this resource to retrieve all data of the particular product.
        Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-pobrac-pelne-dane-o-produkcie" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-retrieve-product-data" target="_blank">EN</a>.
        This resource is limited with <a href="../../tutorials/basic-information-VL6YelvVKTn#limiting-the-number-of-queries-limits" target="_blank">Leaky Bucket</a> mechanism.
      operationId: getSaleProduct
      parameters:
        - name: productId
          in: path
          description: The product identifier.
          required: true
          schema:
            type: string
        - name: category.id
          in: query
          description: The similar category identifier. You can choose a category from 'similar categories' to filter the list of parameters available in the category context.
          required: false
          schema:
            type: string
        - name: includeDrafts
          in: query
          description: Return also if product is in draft state.
          required: false
          schema:
            type: boolean
        - name: language
          in: query
          description: >-
            The language version of product. You can indicate the language for the returned product data. At present we support: "pl-PL", "cs-CZ", "en-US" and "uk-UA".
          required: false
          schema:
            type: string
            format: BCP-47 language code
            example: 'en-US'
      responses:
        '200':
          description: Product returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SaleProductDto'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: A product's not found or language version of the product is currently unavailable.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: One of parameters have invalid value.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/product-proposals:
    post:
      tags:
        - Products
      summary: "Propose a product"
      description: >-
        Use this resource to propose a product. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-utworzyc-nowy-produkt" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-create-a-product" target="_blank">EN</a>.
      operationId: proposeSaleProduct
      responses:
        '201':
          description: Product proposed successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ProductProposalsResponse'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden - not allowed to access.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '409':
          description: >-
            Product already exists. Url of the existing product is provided in the HTTP Location header field of the response.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ProductProposalsRequest'
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:write
  /sale/products/{productId}/change-proposals:
    post:
      tags:
        - Products
      summary: "Propose changes in product"
      description: >-
        Use this resource to propose changes in product. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-zglosic-blad-w-produkcie" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-report-incorrect-data-in-a-product" target="_blank">EN</a>. This resource is limited to 100 suggestions per day for a single user.
      operationId: productChangeProposal
      parameters:
        - name: productId
          in: path
          description: The product identifier.
          required: true
          schema:
            type: string
        - name: Accept-Language
          in: header
          required: false
          description: Expected language of messages.
          example: "pl-PL"
          schema:
            type: string
            format: BCP-47 language code
            default: "en-US"
      responses:
        '201':
          description: Product changes proposed successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ProductChangeProposalDto'
          headers:
            Location:
              schema:
                type: string
              description: Url of the created product change proposal is provided in the HTTP Location header field of the response.
        '400':
          description: Bad request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Product with the given Id not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ProductChangeProposalRequest'
        required: true
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:write
  /sale/products/change-proposals/{changeProposalId}:
    get:
      tags:
        - Products
      summary: 'Get all data of the particular product changes proposal'
      description: 'Use this resource to retrieve all data of the particular product changes proposal. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#jak-zglosic-blad-w-produkcie" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#how-to-report-incorrect-data-in-a-product" target="_blank">EN</a>.'
      operationId: getProductChangeProposal
      parameters:
        - name: changeProposalId
          in: path
          description: The product changes proposal identifier.
          required: true
          schema:
            type: string
        - name: Accept-Language
          in: header
          required: false
          description: Expected language of messages.
          example: "pl-PL"
          schema:
            type: string
            format: BCP-47 language code
            default: "en-US"
      responses:
        '200':
          description: Product changes proposal returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ProductChangeProposalDto'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: You do not have permission to access change proposal that not belong to you
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not Found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
        - bearer-token-for-user:
            - allegro:api:sale:offers:read
  '/sale/offers/unfilled-parameters':
    get:
      tags:
        - Offer management
      summary: 'Get offers with missing parameters'
      description: >-
        Use this resource to get information about required parameters or parameters scheduled to become required that are not filled in offers. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-sprawdzic-nieuzupelnione-parametry-w-ofertach" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-check-unfilled-parameters-in-offers" target="_blank">EN</a>.
      operationId: getOffersUnfilledParametersUsingGET_1
      parameters:
        - name: offer.id
          in: query
          description: 'List of offer ids. If empty all offers with unfilled parameters will be returned.'
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: parameterType
          in: query
          description: Filter by parameter type.
          schema:
            type: string
            enum:
              - REQUIRED
              - REQUIREMENT_PLANNED
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
            minimum: 0
        - name: limit
          in: query
          description: The limit of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 1000
      responses:
        '200':
          description: Unfilled offer parameters were returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/UnfilledParametersResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/compatibility-list/supported-categories:
    get:
      tags:
      - Compatibility List
      summary: 'Get list of categories where compatibility list is supported'
      description: 'Compatibility list is available in particular categories, this resource allows to get the list of these categories with additional details. Read more: <a href="../../tutorials/jak-zarzadzac-sekcja-pasuje-do-E7Zj6gAEGil#jak-sprawdzic-czy-w-danej-kategorii-moge-dodac-sekcje-pasuje-do-do-oferty" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-compatibility-section-v8WbL1wV0Hz#which-categories-support-compatibility-section" target="_blank">EN</a>.'
      operationId: "getCategoriesThatSupportCompatibilityList"
      responses:
        '200':
          description: 'Configuration of supported categories.'
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CompatibilityListSupportedCategoriesDto'
        '401':
          description: Unauthorized
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/compatibility-list-suggestions:
    get:
      tags:
        - Compatibility List
      summary: 'Get suggested compatibility list.'
      description: 'Resource allows to fetch compatibility list suggestion for given offer or product. Read more: <a href="../../tutorials/jak-zarzadzac-sekcja-pasuje-do-E7Zj6gAEGil#jak-wyszukac-sugerowana-sekcje-compatibilitylist" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-compatibility-section-v8WbL1wV0Hz#how-to-search-for-the-suggested-compatibility-section" target="_blank">EN</a>.'
      operationId: "getCompatibilityListSuggestion"
      parameters:
        - name: offer.id
          in: query
          description: 'Offer id on the basis of which we will return the suggested compatibility list.'
          required: false
          schema:
            type: string
        - name: product.id
          in: query
          description: 'Product id on the basis of which we will return the suggested compatibility list.'
          required: false
          schema:
            type: string
        - name: language
          in: query
          description: 'Locale on the basis of which we will return the suggested compatibility list. For product-based suggestions if missing pl-PL will be used. For offer-based suggestions if missing offer language will be used.'
          required: false
          example: "pl-PL"
          schema:
            type: string
      responses:
        '200':
          description: 'Compatibility list suggestion returned successfully.'
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CompatibilityList'
        '400':
          description: 'Bad request.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: 'Unauthorized.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: 'Suggestion was not found.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  '/sale/compatible-products/groups':
    get:
      tags:
      - Compatibility List
      summary: 'Get list of compatible product groups'
      description: 'Compatible products are organized in groups, this resource allows to browse these groups. Read more: <a href="../../tutorials/jak-zarzadzac-sekcja-pasuje-do-E7Zj6gAEGil#jak-zarzadzac-sekcja-pasuje-do-zintegrowana-z-baza-pojazdow" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-compatibility-section-v8WbL1wV0Hz#managing-the-compatibility-section-compatibilitylist-integrated-vehicle-database" target="_blank">EN</a>.'
      operationId: 'getCompatibleProductsGroups'
      parameters:
        - name: If-Modified-Since
          in: header
          description: 'Date of last data modification. If data has been modified after specified date,
                        full set of data is returned. If header is not specified, full set of data
                        is returned. Date has to be provided in HTTP-date format.'
          required: false
          schema:
            type: string
            format: '<day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT'
            example: 'Sat, 01 Dec 2018 10:00:00 GMT'
        - name: type
          in: query
          description: 'Type of compatible products. You can find available types in the response
                        for the GET <a href="/documentation/#tag/Compatibility-List/paths/~1sale~1compatibility-list~1supported-categories/get">supported-categories</a> resource.
                        You can use value provided in `itemsType`, for categories where `inputType=ID`.'
          required: true
          schema:
            type: string
            example: 'CAR'
        - name: limit
          in: query
          description: 'The limit of returned items.'
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 200
        - name: offset
          in: query
          description: 'The offset of returned items.'
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
      responses:
        '200':
          description: 'Groups of compatible products returned successfully.'
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CompatibleProductsGroupsDto'
        '304':
          description: 'Data has not been modified after the date provided in If-Modified-Since header.'
        '400':
          description: 'Bad request'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '422':
          description: 'Validation failed - for example type that was used is not supported'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/compatible-products:
    get:
      tags:
      - Compatibility List
      summary: 'Get list of compatible products'
      description: 'Resource allows to fetch compatible products of given type. Read more: <a href="../../tutorials/jak-zarzadzac-sekcja-pasuje-do-E7Zj6gAEGil#jak-zarzadzac-sekcja-pasuje-do-zintegrowana-z-baza-pojazdow" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-compatibility-section-v8WbL1wV0Hz#managing-the-compatibility-section-compatibilitylist-integrated-vehicle-database" target="_blank">EN</a>.'
      operationId: "getCompatibleProducts"
      parameters:
      - name: If-Modified-Since
        in: header
        description: 'Date of last data modification. If data has been modified after specified date,
                      full set of data is returned. If header is not specified, full set of data
                      is returned. Date has to be provided in HTTP-date format.
                      Header is ignored if `phrase` parameter is used.'
        required: false
        schema:
          type: string
          format: '<day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT'
          example: 'Sat, 01 Dec 2018 10:00:00 GMT'
      - name: type
        in: query
        description: 'Type of compatible products. You can find available types in the response
                     for the GET <a href="/documentation/#tag/Compatibility-List/paths/~1sale~1compatibility-list~1supported-categories/get">supported-categories</a> resource.
                     You can use value provided in `itemsType`, for categories where `inputType=ID`.'
        required: true
        schema:
          type: string
          example: 'CAR'
      - name: group.id
        in: query
        description: 'Group identifier from `/sale/compatible-products/groups` resource.
                      Parameter is required when parameter `tecdoc.kTypNr` or `tecdoc.nTypNr` or `phrase` is not specified.'
        required: false
        schema:
          type: string
      - name: tecdoc.kTypNr
        in: query
        description: 'Identifier of passenger vehicle (kTypNr) from TecDoc database.
                      When used, `group.id` parameter is ignored.'
        required: false
        schema:
          type: string
      - name: tecdoc.nTypNr
        in: query
        description: 'Identifier of commercial vehicle (nTypNr) from TecDoc database.
                      When used, `group.id` parameter is ignored.'
        required: false
        schema:
          type: string
      - name: phrase
        in: query
        description: 'Query for compatible products.
                      When used, parameters: `group.id`, `limit`, `offset` and header `If-Modified-Since` are ignored.'
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: 'The limit of returned items. If `phrase` parameter is present,
                      parameter is ignored and maximum value is set to `200`.'
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 200
          default: 200
      - name: offset
        in: query
        description: 'The offset of returned items. If `phrase` parameter is present, parameter is ignored.'
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
      responses:
        '200':
          description: 'Compatible products returned successfully.'
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CompatibleProductsListDto'
        '304':
          description: 'Data has not been modified after the date provided in If-Modified-Since header.'
        '400':
          description: 'Bad request'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '422':
          description: 'Validation failed - for example invalid format of If-Modified-Since header was passed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /account/additional-emails:
    get:
      tags:
        - Information about user
      summary: "Get user's additional emails"
      description: 'Use this resource to get a list of all additional email addresses assigned to account. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-adresy-e-mail" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-email-addresses" target="_blank">EN</a>.'
      operationId: getListOfAdditionalEmailsUsingGET
      responses:
        '200':
          description: List of user's additional emails returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalEmailsResponse'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AuthError'
      security:
      - bearer-token-for-user:
        - allegro:api:profile:read
    post:
      tags:
        - Information about user
      summary: "Add a new additional email address to user's account"
      description: 'Use this resource to add a new additional email address to account. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-dodac-adres-e-mail" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-add-an-additional-email" target="_blank">EN</a>.'
      operationId: addAdditionalEmailUsingPOST
      responses:
        '201':
          description: Additional email added successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalEmail'
        '400':
          description: Bad request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AuthError'
        '422':
          description: Email address provided in the request is not valid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/AdditionalEmailRequest'
        description: request
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:profile:write
  /account/additional-emails/{emailId}:
    get:
      tags:
        - Information about user
      summary: "Get information about a particular additional email"
      description: 'Use this resource to retrieve a single additional email. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-pobrac-szczegolowe-informacje-o-adresie-e-mail" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-retrieve-e-mail-details" target="_blank">EN</a>.'
      operationId: getAdditionalEmailUsingGET
      parameters:
        - name: emailId
          in: path
          description: Id of the additional email.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Additional email returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdditionalEmail'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Additional email not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:profile:read
    delete:
      tags:
        - Information about user
      summary: "Delete an additional email address"
      description: 'Use this resource to delete one of additional emails. Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#jak-usunac-adres-e-mail" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#how-to-remove-e-mail" target="_blank">EN</a>.'
      operationId: deleteAdditionalEmailUsingDELETE
      parameters:
        - name: emailId
          in: path
          description: Id of the additional email to be deleted.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successfully deleted additional email
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Additional email not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:profile:write
  /payments/payment-operations:
    get:
      tags:
        - Payments
      summary: Payment operations history
      description: 'Use this endpoint to get the list of the seller payment operations. Read more: <a href="../../tutorials/jak-sprawdzic-oplaty-nn9DOL5PASX#historia-operacji-platniczych" target="_blank">PL</a> / <a href="../../tutorials/how-to-check-the-fees-3An6Wame3Um#payment-operations" target="_blank">EN</a>.'
      operationId: getPaymentsOperationHistory
      parameters:
        - name: wallet.type
          in: query
          description: >-
            Type of the wallet:
            * AVAILABLE - operations available for payout.
            * WAITING - operations temporarily suspended for payout.
          required: false
          schema:
            type: string
            default: AVAILABLE
            enum:
              - AVAILABLE
              - WAITING
        - name: wallet.paymentOperator
          in: query
          description: >-
            Payment operator:
            * PAYU - operations processed by PAYU operator.
            * P24 - operations processed by PRZELEWY24 operator.
            * AF - operations processed by Allegro Finance operator.
          required: false
          schema:
            type: string
            enum:
              - PAYU
              - P24
              - AF
        - name: payment.id
          in: query
          description: The payment ID.
          required: false
          schema:
            type: string
            format: uuid
        - name: participant.login
          in: query
          description: >-
            Login of the participant. In case of REFUND_INCREASE operation this is the login of the seller,
            in other cases, of the buyer.
          required: false
          schema:
            type: string
        - name: occurredAt.gte
          in: query
          description: The minimum date and time of operation occurrence in ISO 8601 format.
          example: "2019-05-08T09:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: occurredAt.lte
          in: query
          description: The maximum date and time of operation occurrence in ISO 8601 format.
          required: false
          example: "2019-05-08T09:45:20.818Z"
          schema:
            type: string
            format: date-time
        - name: group
          in: query
          description: >-
            Group of operation types:
            * INCOME - CONTRIBUTION, SURCHARGE, CORRECTION, DEDUCTION_INCREASE, COMPENSATION.
            * OUTCOME - PAYOUT, PAYOUT_CANCEL, DEDUCTION_CHARGE.
            * REFUND - REFUND_CHARGE, REFUND_CANCEL, REFUND_INCREASE, CORRECTION.
            * BLOCKADES - BLOCKADE, BLOCKADE_RELEASE.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - INCOME
                - OUTCOME
                - REFUND
                - BLOCKADES
        - name: marketplaceId
          in: query
          description: >-
            The marketplace ID where operation was made.
            When the parameter is omitted, searches for operations with all marketplaces.
            Note, that there are operations not assigned to any marketplace.
          required: false
          schema:
            type: string
            enum:
              - allegro-pl
              - allegro-cz
            example: allegro-pl
        - name: currency
          in: query
          description: Currency of the operations.
          required: false
          schema:
            type: string
          example: 'PLN'
        - name: limit
          in: query
          required: false
          description: Number of returned operations.
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 50
            default: 50
        - name: offset
          in: query
          required: false
          description: Index of the first returned payment operation from all search results.
          schema:
            type: integer
            format: int32
            minimum: 0
            maximum: 10000
            default: 0
      responses:
        '401':
          description: Unauthorized
        '200':
          description: The payment operations history for given search criteria returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PaymentOperations'
        '422':
          description: >-
            Returned when any of the given search parameters have an invalid value or when the search result reached
            the limit of found operations - 10000.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:payments:read
  /bidding/offers/{offerId}/bid:
    put:
      tags:
      - Auctions and Bidding
      operationId: placeBid
      summary: 'Place a bid in an auction'
      description: 'Place a bid in an auction. Read more: <a href="../../news/nowe-zasoby-zloz-oferte-kupna-w-licytacji-q018m02vDT1" target="_blank">PL</a> / <a href="../../news/new-resources-place-a-bid-in-an-auction-rjWwEj1e7sG" target="_blank">EN</a>.'
      parameters:
      - name: offerId
        in: path
        required: true
        description: The offer ID.
        schema:
          type: string
      requestBody:
        content:
          'application/vnd.allegro.public.v1+json':
            schema:
              type: object
              title: BidRequest
              description: The bid request.
              required:
              - maxAmount
              properties:
                maxAmount:
                  $ref: '#/components/schemas/MaxPrice'
      responses:
        '200':
          description: Bid succesfully placed
          content:
            'application/vnd.allegro.public.v1+json':
              schema:
                $ref: '#/components/schemas/MyBidResponse'
        '400':
          description: Bad request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Auction not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: If bidding was not allowed (see message for explanation).
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:bids
    get:
      tags:
        - Auctions and Bidding
      operationId: getBid
      summary: "Get current user's bid information"
      description: 'Get current user''s bid information. Read more: <a href="../../news/nowe-zasoby-zloz-oferte-kupna-w-licytacji-q018m02vDT1" target="_blank">PL</a> / <a href="../../news/new-resources-place-a-bid-in-an-auction-rjWwEj1e7sG" target="_blank">EN</a>.'
      parameters:
        - name: offerId
          in: path
          required: true
          description: The offer ID.
          schema:
            type: string
      responses:
        '200':
          description: Bid information succesfully found.
          content:
            'application/vnd.allegro.public.v1+json':
              schema:
                $ref: '#/components/schemas/MyBidResponse'
        '404':
          description: Auction not found or user did not bid in the auction.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:bids
  /sale/offer-events:
    get:
      tags:
        - User's offer information
      summary: "Get events about the seller's offers"
      description: >-
        Use this endpoint to get events concerning changes in the authorized seller's offers.

        At present we support the following events:
          - OFFER_ACTIVATED - offer is visible on site and available for purchase, occurs when offer status changes from ACTIVATING to ACTIVE.
          - OFFER_CHANGED - occurs when offer's fields has been changed e.g. description or photos.
          - OFFER_ENDED - offer is no longer available for purchase, occurs when offer status changes from ACTIVE to ENDED.
          - OFFER_STOCK_CHANGED - stock in an offer was changed either via purchase or by seller.
          - OFFER_PRICE_CHANGED - occurs when price in an offer was changed.
          - OFFER_ARCHIVED - offer is no longer available on listing and has been archived.
          - OFFER_BID_PLACED - bid was placed on the offer
          - OFFER_BID_CANCELED - bid for offer was canceled
          - OFFER_TRANSLATION_UPDATED - translation of offer was updated
          - OFFER_VISIBILITY_CHANGED - visibility of offer was changed on marketplaces

        Returned events may occur by actions made via browser or API.
        The resource allows you to get events concerning active offers and offers scheduled for activation (status ACTIVE and ACTIVATING). Returned events do not concern offers in INACTIVE and ENDED status (the exception is OFFER_ARCHIVED event).
        External id is returned for all event types except OFFER_BID_PLACED and OFFER_BID_CANCELED.
        Please note that one change may result in more than one event. Read more: <a href="../../tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#dziennik-zdarzen-w-ofertach-sprzedawcy" target="_blank">PL</a> / <a href="../../tutorials/how-to-process-list-of-offers-m09BKA5v8H3#event-journal-concerning-changes-in-seller-s-offers" target="_blank">EN</a>.

      operationId: getOfferEvents
      parameters:
        - in: query
          name: from
          required: false
          description: The ID of the last seen event. Events that occured after the given event will be returned.
          schema:
            type: string
            example: "MTEzMjQzODU3NA"
            maxLength: 256
        - in: query
          name: limit
          required: false
          description: The number of events that will be returned in the response.
          schema:
            type: integer
            default: 100
            minimum: 1
            maximum: 1000
        - in: query
          name: type
          required: false
          description: >-
            The types of events that will be returned in the response. All types of events are returned by default.
          schema:
            type: array
            items:
              type: string
              enum:
                - OFFER_ACTIVATED
                - OFFER_CHANGED
                - OFFER_ENDED
                - OFFER_STOCK_CHANGED
                - OFFER_PRICE_CHANGED
                - OFFER_ARCHIVED
                - OFFER_BID_PLACED
                - OFFER_BID_CANCELED
                - OFFER_TRANSLATION_UPDATED
                - OFFER_VISIBILITY_CHANGED
      responses:
        '200':
          description: The list of offer events returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SellerOfferEventsResponse'
              examples:
                offerEvent:
                  summary: offer event
                  value:
                    offerEvents:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "OFFER_ACTIVATED"
                      offer:
                        id: "2865624934"
                        external:
                          id: "externalId"
                offerEndedEvent:
                  summary: offer ended event
                  value:
                    offerEvents:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "OFFER_ENDED"
                      offer:
                        id: "2865624934"
                        publication:
                          endedBy: "USER"
                        external:
                          id: "externalId"
                offerBidPlaced:
                  summary: offer bid placed event
                  value:
                    offerEvents:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "OFFER_BID_PLACED"
                      offer:
                        id: "2865624934"
                offerBidCanceled:
                  summary: offer bid canceled event
                  value:
                    offerEvents:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "OFFER_BID_CANCELED"
                      offer:
                        id: "2865624934"
                translationChanged:
                  summary: offer translation updated event
                  value:
                    offerEvents:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "OFFER_TRANSLATION_UPDATED"
                      offer:
                        id: "2865624934"
                        external:
                          id: "externalId"
                      translations:
                        - language: "en-US"
                        - language: "pl-PL"
                visibilityChanged:
                  summary: offer visibility on marketplaces changed event
                  value:
                    offerEvents:
                    - id: "MTEzMjQzODU3NA"
                      occurredAt: "2019-06-26T15:26:43.891Z"
                      type: "OFFER_VISIBILITY_CHANGED"
                      offer:
                        id: "2865624934"
                        external:
                          id: "externalId"
                        publication:
                          marketplaces:
                            base: "allegro-pl"
                            additional:
                              - id: "allegro-cz"
                                status:
                                  type: "string"
                                  enum:
                                    - APPROVED
                                    - IN_PROGRESS
                                    - REFUSED
                                refusalReasons:
                                - code: "001"
                                  parameters:
                                    parameter-1-name:
                                      - "First parameter one value"
                                      - "Second parameter one value"
                                    parameter-2-name:
                                      - "First parameter two value"
                                      - "Secon parameter two value"
                                  relatedReasons:
                                    - code: "001-related"
                                      parameters:
                                        parameter-1-name:
                                          - "First parameter one value"
                                          - "Second parameter one value"
                                        parameter-2-name:
                                          - "First parameter two value"
                                          - "Secon parameter two value"
                          updatedMarketplaces:
                            - "allegro-pl"
                            - "allegro-cz"
        '400':
          description: >-
            Invalid parameters supplied in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
      security:
      - bearer-token-for-user:
        - allegro:api:sale:offers:read
  /sale/badge-campaigns:
    get:
      tags:
        - Badge campaigns
      summary: "Get a list of available badge campaigns"
      description: >-
        Badge campaigns are another way to promote your offers.
        You can apply for a badge, which - depending on a type - will be displayed on your offer page of on the list of offers.

        First - use this resource to get a list of all available badge campaigns at the moment, then use *POST /sale/badges* to apply for badge.
        Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#lista-dostepnych-kampanii" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#list-of-available-campaigns" target="_blank">EN</a>.
      operationId: badgeCampaigns_get_all
      responses:
        '200':
          description: List of available badge campaigns.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/GetBadgeCampaignsList'
              examples:
                badge-campaigns:
                  summary: Badge campaigns
                  value:
                    badgeCampaigns:
                      - id: 'BARGAIN'
                        name: 'Strefa okazji'
                        marketplace:
                          id: 'allegro-pl'
                        type: "DISCOUNT"
                        eligibility:
                          eligible: true
                          refusalReasons: []
                        application:
                          type: 'ALWAYS'
                        visibility:
                          type: 'WITHIN'
                          from: '2018-01-01T23:00:00Z'
                          to: '2020-10-04T23:00:00Z'
                        publication:
                          type: 'UNTIL'
                          to": '2020-10-03T23:00:00Z'
                        regulationsLink: 'https://na.allegro.pl/regulamin-kampania-BARGAIN'
                      - id: 'HIT'
                        name: 'Hit'
                        marketplace:
                          id: 'allegro-pl'
                        type: 'STANDARD'
                        eligibility:
                          eligible: false
                          refusalReasons:
                            - code: 'BB1'
                              messages:
                                - text: 'The account does not meet the quality criteria'
                                  link: null
                        application:
                          type: 'NEVER'
                        visibility:
                          type: 'ALWAYS'
                        publication:
                          type: 'SINCE'
                          from: '2018-11-04T23:00:00Z'
                        regulationsLink: 'https://na.allegro.pl/regulamin-kampania-HIT'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: The account is not a Business Account.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account.'
                  value:
                    errors:
                    - code: BB2
                      details:
                      message: 'The account is not a Business Account.'
                      path:
                      userMessage: 'The account is not a Business Account.'
      security:
      - bearer-token-for-user:
        - allegro:api:campaigns
  /sale/badges:
    post:
      tags:
        - Badge campaigns
      summary: "Apply for badge in selected offer"
      description: >-
        This resource allows you to apply for a badge. Most badges involve additional fee charged.

        Your badge application will be verified and you will be notified about the verification status via e-mail.
        You can use *Location* provided in header of the response to track your application status.
        Application will be removed after 30 days when status of the application was changed form PROCESSED or DECLINED.

        Fees will be charged in accordance with Annex No. 1 to the
          <a href="https://allegro.pl/regulaminy/regulamin-strefy-okazji-9dGVAPB69In"
            target="_blank">Daily deals zone terms and conditions</a>.

        By using this resource you agree to the
          <a href="https://allegro.pl/regulaminy/regulamin-strefy-okazji-9dGVAPB69In"
            target="_blank">Daily deals zone terms and conditions</a>
        or
          <a href="https://allegro.pl/regulaminy/regulamin-programu-bonusowego-prowizja-nawet-0-5-0KPkAE7wkcv"
            target="_blank">Commission discount terms and conditions</a>.
        Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#zglos-oferte-do-kampanii" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#submit-offer-to-a-campaign" target="_blank">EN</a>.
      operationId: postBadges
      responses:
        '202':
          description: Successfully applied for a badge.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/BadgeApplication'
              examples:
                discountResponse:
                  summary: 'Discount badge application'
                  value:
                    id: '01234567-89ab-0123-456789ab'
                    createdAt: '2011-12-03T10:15:30Z'
                    updatedAt: '2011-12-03T10:15:30Z'
                    campaign:
                      id: 'BARGAIN'
                    offer:
                      id: '987654321'
                    prices:
                      market:
                        amount: '11.23'
                        currency: 'PLN'
                      bargain:
                        amount: '10.00'
                        currency: 'PLN'
                    process:
                      status: 'REQUESTED'
                      rejectionReasons: []
                limitResponse:
                  summary: 'Discount badge application with purchase limit'
                  value:
                    id: '01234567-89ab-0123-456789ab'
                    createdAt: '2011-12-03T10:15:30Z'
                    updatedAt: '2011-12-03T10:15:30Z'
                    campaign:
                      id: 'BARGAIN'
                    offer:
                      id: '987654321'
                    prices:
                      market:
                        amount: '11.23'
                        currency: 'PLN'
                      bargain:
                        amount: '10.00'
                        currency: 'PLN'
                    purchaseConstraints:
                      limit:
                        perUser:
                          maxItems: 1
                    process:
                      status: 'REQUESTED'
                      rejectionReasons: []
        '400':
          description: Syntactically incorrect request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: The account is not a Business Account.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account.'
                  value:
                    errors:
                      - code: 'BB2'
                        details: null
                        message: 'The account is not a Business Account.'
                        path: null
                        userMessage: 'The account is not a Business Account.'
        '422':
          description: Validation error. Invalid parameters provided in the request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                unprocessable-request:
                  summary: 'Amount is not a valid number.'
                  value:
                    errors:
                      - code: 'BB5'
                        details: null
                        message: "Currency not supported."
                        path: 'prices.bargain.currency'
                        userMessage: "Currency not supported."
                      - code: 'BB6'
                        details: null
                        message: 'One of the numerical values is not a number.'
                        path: 'prices.bargain.amount'
                        userMessage: 'One of the numerical values is not a number.'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/BadgeApplicationRequest'
            examples:
              discount:
                summary: 'Discount'
                value:
                  campaign:
                    id: 'BARGAIN'
                  offer:
                    id: '12345678'
                  prices:
                    bargain:
                      amount: '9.99'
                      currency: 'PLN'
              standard:
                summary: 'Standard'
                value:
                  campaign:
                    id: 'HIT'
                  offer:
                    id: '12345678'
              sourcing:
                summary: 'Sourcing'
                value:
                  campaign:
                    id: 'SOURCING_CAMPAIGN'
                  offer:
                    id: '12345678'
                  prices:
                    bargain:
                      amount: '9.99'
                      currency: 'PLN'
              limit:
                summary: 'Discount with purchase limit'
                value:
                  campaign:
                    id: 'BARGAIN'
                  offer:
                    id: '12345678'
                  prices:
                    bargain:
                      amount: '9.99'
                      currency: 'PLN'
                  purchaseConstraints:
                    limit:
                      perUser:
                        maxItems: 1
      security:
      - bearer-token-for-user:
        - allegro:api:campaigns
    get:
      tags:
        - Badge campaigns
      summary: 'Get a list of badges'
      description: >-
        Use this resource to get a list of badges in authorized seller's offers.
        Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#kampanie-przypisane-do-ofert" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#check-badges-assigned-to-offers" target="_blank">EN</a>.
      operationId: getBadges
      parameters:
        - name: offer.id
          in: query
          description: 'Offer ID.'
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: 'Offset.'
          required: false
          schema:
            type: integer
            minimum: 0
        - name: limit
          in: query
          description: 'The maximum number of badges returned in the response.'
          required: false
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000
      responses:
        '200':
          description: Successfully returned list of badges.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/BadgesList'
              examples:
                badges:
                  summary: 'List of badges'
                  value:
                    badges:
                      - offer:
                          id: '4814482399'
                        campaign:
                          id: 'BARGAIN'
                          name: 'Strefa okazji'
                        publication: null
                        prices:
                          market:
                            amount: '20.00'
                            currency: 'PLN'
                        process:
                          status: 'IN_VERIFICATION'
                          rejectionReasons: []
                      - offer:
                          id: '2091846836'
                        campaign:
                          id: 'SUBSIDY'
                          name: 'Allegro Cena'
                        publication:
                          type: 'SINCE'
                          from: '2019-05-08T05:54:46.966Z'
                          to: null
                        prices:
                          subsidy:
                            targetPrice:
                              amount: '10.00'
                              currency: 'PLN'
                            sellerPrice:
                              amount: '15.00'
                              currency: 'PLN'
                        process:
                          status: 'WAITING_FOR_PUBLICATION'
                          rejectionReasons: [ ]
                      - offer:
                          id: '7386670824'
                        campaign:
                          id: 'HIT'
                          name: 'Hit'
                        publication:
                          type: 'WITHIN'
                          from: '2019-05-08T05:54:46.966Z'
                          to: '2025-05-01T10:00:00Z'
                        prices: null
                        process:
                          status: 'FINISHED'
                          rejectionReasons: []
                      - offer:
                          id: '5303917450'
                        campaign:
                          id: 'NOVELTY'
                          name: 'Nowość'
                        publication: null
                        prices: null
                        process:
                          status: 'DECLINED'
                          rejectionReasons:
                            - code: 'BA26'
                              messages:
                                - text: 'This offer does not meet the badge criteria.'
                                  link:  null
                                - text: 'See requirements'
                                  link: 'https://allegro.pl/pomoc/dla-sprzedajacych/promowanie-ofert/specjalne-oznaczenia-ofert-na-listach-YL8zKmBRktz'
        '400':
          description: Invalid values supplied in the query parameters.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                invalid-parameters:
                  summary: 'Invalid values supplied in the query parameters.'
                  value:
                    errors:
                      - code: 'BB9'
                        details: null
                        message: 'Invalid [limit] parameter value.'
                        path: 'limit'
                        userMessage: 'Invalid [limit] parameter value.'
                      - code: 'BB10'
                        details: null
                        message: 'Invalid [offset] parameter value.'
                        path: 'offset'
                        userMessage: 'Invalid [offset] parameter value.'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: The account is not a Business Account.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account.'
                  value:
                    errors:
                    - code: BB2
                      details:
                      message: 'The account is not a Business Account.'
                      path:
                      userMessage: 'The account is not a Business Account.'
      security:
      - bearer-token-for-user:
        - allegro:api:campaigns
  /sale/badge-applications/{applicationId}:
    get:
      tags:
        - Badge campaigns
      summary: 'Get a badge application details'
      description: >-
        Use this resource to get a badge application details.
        Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#pobierz-dane-zgloszenie" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#retrieve-campaign-application" target="_blank">EN</a>.
      operationId: badgeApplications_get_one
      parameters:
        - name: applicationId
          in: path
          description: 'Badge application ID.'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully returned badge application.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/BadgeApplication'
              examples:
                processed:
                  summary: Processed
                  value:
                    id: '81ff5e67-d00b-4141-a79a-68636755df95'
                    createdAt: '2019-05-16T12:49:17.347Z'
                    updatedAt: '2019-05-16T12:49:17.530Z'
                    campaign:
                      id: 'BARGAIN'
                    offer:
                      id: '12345678'
                    prices:
                      bargain:
                        amount: '14.00'
                        currency: 'PLN'
                    process:
                      status: 'PROCESSED'
                      rejectionReasons: []
                requested:
                  summary: Requested
                  value:
                    id: '34ff2a86-6d1a-4607-ae22-3a81de4c8dd1'
                    createdAt: '2019-05-16T12:49:17.347Z'
                    updatedAt: '2019-05-16T12:49:17.530Z'
                    campaign:
                      id: 'HIT'
                    offer:
                      id: '12345678'
                    prices: null
                    process:
                      status: 'REQUESTED'
                      rejectionReasons: []
                declined:
                  summary: Declined
                  value:
                    id: '893d055c-ba0c-4996-94a0-93d593fdd483'
                    createdAt: '2019-05-16T12:49:17.347Z'
                    updatedAt: '2019-05-16T12:49:17.530Z'
                    campaign:
                      id: 'BARGAIN'
                    offer:
                      id: '12345678'
                    prices:
                      bargain: null
                    process:
                      status: 'DECLINED'
                      rejectionReasons:
                        - code: 'BA2'
                          messages:
                            - text: 'The discount price or suggested market price is not defined'
                              link: null
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: The account is not a Business Account.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account'
                  value:
                    errors:
                      - code: 'BB2'
                        details: null
                        message: 'The account is not a Business Account'
                        path: null
                        userMessage: 'The account is not a Business Account'
        '404':
          description: Badge application not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                application-not-found:
                  summary: 'Badge application not found.'
                  value:
                    errors:
                    - code: BB8
                      details:
                      message: Submission does not exist.
                      path:
                      userMessage: Submission does not exist.
      security:
      - bearer-token-for-user:
        - allegro:api:campaigns
  /sale/badge-applications:
    get:
      tags:
        - Badge campaigns
      summary: 'Get a list of badge applications'
      description: >-
        Use this resource to get a list of badge applications.
        Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#pobierz-swoje-zgloszenia" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#retrieve-all-campaign-applications" target="_blank">EN</a>.
      operationId: badgeApplications_get_all
      parameters:
        - name: campaign.id
          in: query
          description: 'Campaign ID.'
          required: false
          schema:
            type: string
        - name: offer.id
          in: query
          description: 'Offer ID.'
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: 'Offset.'
          required: false
          schema:
            type: integer
            minimum: 0
        - name: limit
          in: query
          description: 'The maximum number of applications returned in the response.'
          required: false
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000
      responses:
        '200':
          description: Successfully returned badge applications list.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/BadgeApplications'
              examples:
                badgeApplications:
                  summary: "List of badge applications."
                  value:
                    badgeApplications:
                      - id: '81ff5e67-d00b-4141-a79a-68636755df95'
                        createdAt: '2019-05-16T12:49:17.347Z'
                        updatedAt: '2019-05-16T12:49:17.530Z'
                        campaign:
                          id: 'BARGAIN'
                        offer:
                          id: '12345678'
                        prices:
                          bargain:
                            amount: '14.00'
                            currency: 'PLN'
                        process:
                          status: 'PROCESSED'
                          rejectionReasons: []
                      - id: '34ff2a86-6d1a-4607-ae22-3a81de4c8dd1'
                        createdAt: '2019-05-16T12:49:17.347Z'
                        updatedAt: '2019-05-16T12:49:17.530Z'
                        campaign:
                          id: 'HIT'
                        offer:
                          id: '12345678'
                        prices: null
                        process:
                          status: 'REQUESTED'
                          rejectionReasons: []
                      - id: '893d055c-ba0c-4996-94a0-93d593fdd483'
                        createdAt: '2019-05-16T12:49:17.347Z'
                        updatedAt: '2019-05-16T12:49:17.530Z'
                        campaign:
                          id: 'BARGAIN'
                        offer:
                          id: '12345678'
                        prices:
                          bargain: null
                        process:
                          status: 'DECLINED'
                          rejectionReasons:
                            - code: 'BA2'
                              messages:
                                - text: 'The discount price or suggested market price is not defined.'
                                  link: null
        '400':
          description: Invalid values supplied in the query parameters.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                invalid-parameters:
                  summary: 'Invalid values supplied in the query parameters.'
                  value:
                    errors:
                      - code: 'BB9'
                        details: null
                        message: 'Invalid [limit] parameter value.'
                        path: 'limit'
                        userMessage: 'Invalid [limit] parameter value.'
                      - code: 'BB10'
                        details: null
                        message: 'Invalid [offset] parameter value.'
                        path: 'offset'
                        userMessage: 'Invalid [offset] parameter value.'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: The account is not a Business Account.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account'
                  value:
                    errors:
                    - code: 'BB2'
                      details:
                      message: 'The account is not a Business Account.'
                      path:
                      userMessage: 'The account is not a Business Account.'
      security:
      - bearer-token-for-user:
        - allegro:api:campaigns
  /sale/badge-operations/{operationId}:
    get:
      tags:
        - Badge campaigns
      summary: 'Get badge operation details'
      description: >-
        Use this resource to get badge operation details.
        Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#zmiana-ceny-i-zakonczenie-oznaczenia" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#change-price-and-finish-badge" target="_blank">EN</a>.
      operationId: badgeOperations_get_one
      parameters:
        - name: operationId
          in: path
          description: 'Badge operation ID.'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully returned badge operation details.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/BadgeOperation'
              examples:
                processed:
                  summary: Processed
                  value:
                    id: '81ff5e67-d00b-4141-a79a-68636755df95'
                    type: 'FINISH'
                    createdAt: '2019-05-16T12:49:17.347Z'
                    updatedAt: '2019-05-16T12:49:17.530Z'
                    campaign:
                      id: 'BARGAIN'
                    offer:
                      id: '12345678'
                    process:
                      status: 'PROCESSED'
                      rejectionReasons: [ ]
                requested:
                  summary: Requested
                  value:
                    id: '34ff2a86-6d1a-4607-ae22-3a81de4c8dd1'
                    type: 'UPDATE'
                    createdAt: '2019-05-16T12:49:17.347Z'
                    updatedAt: '2019-05-16T12:49:17.530Z'
                    campaign:
                      id: 'HIT'
                    offer:
                      id: '12345678'
                    prices: null
                    process:
                      status: 'REQUESTED'
                      rejectionReasons: [ ]
                declined:
                  summary: Declined
                  value:
                    id: '893d055c-ba0c-4996-94a0-93d593fdd483'
                    type: 'UPDATE'
                    createdAt: '2019-05-16T12:49:17.347Z'
                    updatedAt: '2019-05-16T12:49:17.530Z'
                    campaign:
                      id: 'BARGAIN'
                    offer:
                      id: '12345678'
                    process:
                      status: 'DECLINED'
                      rejectionReasons:
                        - code: 'BA2'
                          messages:
                            - text: 'The discount price or suggested market price is not defined.'
                              link: null
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: You don't have permission to access this resource.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account'
                  value:
                    errors:
                      - code: 'BB2'
                        details: null
                        message: 'The account is not a Business Account.'
                        path: null
                        userMessage: 'The account is not a Business Account.'
        '404':
          description: Badge operation not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                application-not-found:
                  summary: 'Badge operation not found.'
                  value:
                    errors:
                      - code: 'BB14'
                        details:
                        message: 'Operation does not exist.'
                        path:
                        userMessage: 'Operation does not exist.'
      security:
        - bearer-token-for-user:
            - allegro:api:campaigns
  /sale/badges/offers/{offerId}/campaigns/{campaignId}:
    patch:
      tags:
        - Badge campaigns
      summary: "Update campaign badge for the given offer"
      description: >-
       This resource allows you to update a campaign badge for the given offer.
       You can use *Location* provided in header of the response to track your update status.
       Update offer price in a campaign or finish marking an offer in a campaign.

       Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#zmiana-ceny-i-zakonczenie-oznaczenia" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#change-price-and-finish-badge" target="_blank">EN</a>.

      operationId: patchBadge
      parameters:
        - name: offerId
          in: path
          description: 'Offer ID.'
          required: true
          schema:
            type: string
        - name: campaignId
          in: path
          description: 'Campaign ID.'
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Successfully requested badge update.
          headers:
            Location:
              schema:
                type: string
              description: The location URI points to a resource that will display the status of the asynchronous processing.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Operation Id
              examples:
                response:
                  summary: Update was successfully requested
                  value:
                    id: "154179f0-ed4c-4b84-9260-302d2dec3801"
        '400':
          description: Syntactically incorrect request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: You don't have permission to access this resource.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                not-business-account:
                  summary: 'The account is not a Business Account.'
                  value:
                    errors:
                      - code: 'BB2'
                        details: null
                        message: 'The account is not a Business Account'
                        path: null
                        userMessage: 'The account is not a Business Account'
        '404':
          description: Resource not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                offer-not-found:
                  summary: 'Offer not found.'
                  value:
                    errors:
                      - code: 'BA4'
                        details:
                        message: 'This offer does not exist.'
                        path:
                        userMessage: 'This offer does not exist.'
                campaign-not-found:
                  summary: 'Campaign not found.'
                  value:
                    errors:
                      - code: 'BA10'
                        details:
                        message: 'This campaign does not exist.'
                        path:
                        userMessage: 'This campaign does not exist.'
        '409':
          description: Asynchronous badge operation for this offer already exists in status REQUESTED.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                operation-already-exists:
                  summary: Operation already exists in status REQUESTED.
                  value:
                    errors:
                      - code: 'BB12'
                        details: null
                        message: 'The operation already exists and has a REQUESTED status. Please wait until the status changes to PROCESSED or DECLINED.'
                        path: null
                        userMessage: 'The operation already exists and has a REQUESTED status. Please wait until the status changes to PROCESSED or DECLINED.'
        '422':
          description: Validation error. Invalid parameters provided in the request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
              examples:
                unprocessable-request:
                  summary: 'Invalid currency and amount is not a valid number.'
                  value:
                    errors:
                      - code: 'BB5'
                        details: null
                        message: 'Currency not supported.'
                        path: 'prices.bargain.currency'
                        userMessage: 'Currency not supported.'
                      - code: 'BB6'
                        details: null
                        message: 'One of the numerical values is not a number.'
                        path: 'prices.bargain.amount'
                        userMessage: 'One of the numerical values is not a number.'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/BadgePatchRequest'
            examples:
              price-update:
                summary: 'Price update for the given offer in the given campaign'
                value:
                  prices:
                    bargain:
                      value:
                        amount: '9.99'
                        currency: 'PLN'
              remove-badge:
                summary: 'Remove campaign badge from the given offer'
                value:
                  process:
                    status: 'FINISHED'
      security:
        - bearer-token-for-user:
            - allegro:api:campaigns
  /payments/refunds:
    post:
      tags:
        - Payments
      summary: Initiate a refund of a payment
      description: 'Use this endpoint to initiate a refund of a payment. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-wykonac-zwrot-platnosci" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-refund-a-payment" target="_blank">EN</a>.'
      operationId: "initiateRefund"
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/InitializeRefund'
      responses:
        '200':
          description: Refund request created successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/RefundDetails'
        '400':
          description: Syntactically incorrect request.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '422':
          description: Unprocessable Entity.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Payment not found.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:payments:write
    get:
      tags:
        - Payments
      summary: 'Get a list of refunded payments'
      description: 'Get a list of refunded payments. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-liste-zwrotow-platnosci" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-retrieve-a-list-of-refunded-payment" target="_blank">EN</a>.'
      operationId: 'getRefundedPayments'
      parameters:
        - name: limit
          in: query
          required: false
          description: Number of returned operations.
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 50
        - name: offset
          in: query
          required: false
          description: Index of the first returned payment operation from all search results.
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
        - name: id
          in: query
          description: ID of the refund.
          required: false
          schema:
            type: string
            format: uuid
        - name: payment.id
          in: query
          description: ID of the payment.
          required: false
          schema:
            type: string
            format: uuid
        - name: occurredAt.gte
          in: query
          description: Minimum date and time when the refund occurred provided in ISO 8601 format.
          example: "2019-05-08T09:45:43.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: occurredAt.lte
          in: query
          description: Maximum date and time when the refund occurred provided in ISO 8601 format.
          required: false
          example: "2019-05-08T09:45:32.818Z"
          schema:
            type: string
            format: date-time
        - name: status
          in: query
          description: Current status of payment refund.
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - WAITING
                - IN_PROGRESS
                - SUCCESS
                - CANCELED
                - PARTIAL
      responses:
        '200':
          description: List of payments refunds returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  refunds:
                    type: array
                    description: Collection of payments refunds.
                    items:
                      $ref: '#/components/schemas/RefundDetails'
                  count:
                    type: integer
                    format: int32
                    minimum: 0
                    description: Number of payment operations returned in search result for the given parameters.
                    example: 50
                  totalCount:
                    type: integer
                    format: int32
                    minimum: 0
                    description: Total number of payment operations for the given parameters.
                    example: 123
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '422':
          description: Unprocessable Entity. Returned when any of the given search parameters have an invalid value.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:payments:read
  /billing/billing-entries:
    get:
      tags:
        - Billing
      summary: 'Get a list of billing entries'
      description: 'The billing entries are sorted in a descending order (newest first) by date on which they occurred. Read more: <a href="../../tutorials/jak-sprawdzic-oplaty-nn9DOL5PASX#historia-operacji-billingowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-check-the-fees-3An6Wame3Um#billing-operations" target="_blank">EN</a>.'
      operationId: "getBillingEntries"
      parameters:
        - name: marketplaceId
          in: query
          required: false
          description: The marketplace ID where operation was made. By default the marketplace ID where the user is registered.
          example: "allegro-pl"
          schema:
            type: string
        - name: occurredAt.gte
          in: query
          required: false
          description: Date from which billing entries are filtered. If occurredAt.lte is also set, occurredAt.gte cannot be later.
          example: "2019-05-08T09:45:32.818Z"
          schema:
            type: string
            format: date-time
        - name: occurredAt.lte
          in: query
          required: false
          description: Date to which billing entries are filtered. If occurredAt.gte is also set, occurredAt.lte cannot be earlier.
          example: "2019-05-08T09:45:32.818Z"
          schema:
            type: string
            format: date-time
        - name: type.id
          in: query
          required: false
          description: List of billing types by which billing entries are filtered.
          example: ["LIS", "SUC"]
          schema:
            type: array
            items:
              type: string
        - name: offer.id
          in: query
          required: false
          description: Offer ID by which billing entries are filtered.
          example: "12345"
          schema:
            type: string
        - name: order.id
          in: query
          required: false
          description: Order UUID by which billing entries are filtered.
          example: "29738e61-7f6a-11e8-ac45-09db60ede9d6"
          schema:
            type: string
            format: uuid
        - name: limit
          in: query
          required: false
          description: Number of returned operations.
          example: 10
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 100
        - name: offset
          in: query
          required: false
          description: Index of the first returned payment operation from all search results.
          example: 10
          schema:
            type: integer
            format: int32
            minimum: 0
            maximum: 10000
            default: 0
      responses:
        '200':
          description: List of billing entries returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/BillingEntries'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '406':
          description: Not Acceptable
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:billing:read
  /billing/billing-types:
    get:
      tags:
        - Billing
      summary: 'Get a list of billing types'
      description: 'List of all billing types. Type names are localized according to "Accept-Language" header. Read more: <a href="../../tutorials/jak-sprawdzic-oplaty-nn9DOL5PASX#historia-operacji-billingowych" target="_blank">PL</a> / <a href="../../tutorials/how-to-check-the-fees-3An6Wame3Um#billing-operations" target="_blank">EN</a>.'
      operationId: "getBillingTypes"
      security:
        - bearer-token-for-application: []
        - bearer-token-for-user: []
      parameters:
        - in: header
          name: Accept-Language
          required: false
          description: Expected language of name translations.
          example: "pl-PL"
          schema:
            type: string
            format: string
      responses:
        '200':
          description: List of billing types returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: array
                description: List of billing types.
                items:
                  $ref: '#/components/schemas/BillingType'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
  '/order/refund-claims/{claimId}':
    get:
      tags:
        - Commission refunds
      summary: 'Get a refund application details'
      description: 'Use this resource to get refund application details. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-pojedynczy-wniosek-o-rabat-transakcyjny" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-retrieve-single-sale-commission-refund" target="_blank">EN</a>.'
      operationId: 'getRefundApplication'
      parameters:
        - name: claimId
          in: path
          description: 'Refund application ID.'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully returned refund application.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/RefundClaim'
        '401':
          description: Unauthorized
        '403':
          description: Refund application does not belong to you.
        '404':
          description: Refund application not found.
        '406':
          description: Not Acceptable
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
    delete:
      tags:
        - Commission refunds
      summary: 'Cancel a refund application'
      description: 'Use this resource to cancel a refund application. This cannot be undone. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-anulowac-wniosek-o-rabat-transakcyjny" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-cancel-sale-commission-refund" target="_blank">EN</a>.'
      operationId: 'cancelRefundApplication'
      parameters:
        - name: claimId
          in: path
          description: 'Refund application ID.'
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Refund application was cancelled successfully.
        '401':
          description: Unauthorized
        '403':
          description: Refund application does not belong to you.
        '404':
          description: Refund application not found.
        '406':
          description: Not Acceptable
        '422':
          description: Refund application has already been processed.
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
  /order/refund-claims:
    get:
      tags:
        - Commission refunds
      summary: 'Get a list of refund applications'
      description: 'Use this resource to get a list of refund applications based on the provided query parameters. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-liste-utworzonych-wnioskow-o-rabat-transakcyjny" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-retrieve-list-of-sale-commission-refunds" target="_blank">EN</a>.'
      operationId: 'getRefundApplications'
      parameters:
        - name: lineItem.offer.id
          in: query
          required: false
          description: ID of the offer associated with the refund application.
          schema:
            type: string
        - name: buyer.login
          in: query
          required: false
          description: Login of the buyer that made the purchase associated with the refund application.
          schema:
            type: string
        - name: status
          in: query
          required: false
          description: Status of the refund application.
          schema:
            type: string
            enum:
              - "IN_PROGRESS"
              - "WAITING_FOR_PAYMENT_REFUND"
              - "GRANTED"
              - "REJECTED"
              - "REJECTED_AFTER_APPEAL"
              - "CANCELLED"
              - "APPEALED"
        - name: limit
          in: query
          required: false
          description: Maximum number of returned refund applications in response.
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 100
            default: 25
        - name: offset
          in: query
          required: false
          description: Index of the first returned refund application from all search results.
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
      responses:
        '200':
          description: Successfully returned list of refund applications.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  refundClaims:
                    type: array
                    description: Collection of refund applications.
                    items:
                      $ref: '#/components/schemas/RefundClaim'
                  count:
                    type: integer
                    minimum: 0
                    format: int32
                    description: Count of refund applications returned.
        '401':
          description: Unauthorized
        '403':
          description: Refund application does not belong to you.
        '406':
          description: Not Acceptable
        '422':
          description: Unprocessable Entity
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
    post:
      tags:
        - Commission refunds
      summary: 'Create a refund application'
      description: 'Use this resource to create a refund application. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-utworzyc-wniosek-o-rabat-transakcyjny" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-create-a-sale-commission-refund-application" target="_blank">EN</a>.'
      operationId: 'createRefundApplication'
      responses:
        '201':
          description: The refund application was created successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/RefundClaimResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '406':
          description: Not Acceptable
        '422':
          description: Unprocessable Entity
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/RefundClaimRequest'
        required: true
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
  /charity/fundraising-campaigns:
    get:
      tags:
        - Charity
      summary: Search fundraising campaigns
      description: 'Use this resource to search fundraising campaigns. Read more: <a href="../../news/wystaw-oferte-charytatywna-na-allegro-MR87PBxZySY" target="_blank">PL</a> / <a href="../../news/list-a-charity-offer-on-allegro-LRV0572GOhr" target="_blank">EN</a>.'
      operationId: searchFundraisingCampaigns
      parameters:
        - name: limit
          in: query
          description: Maximum number of returned results.
          required: true
          allowEmptyValue: false
          schema:
            maximum: 100
            exclusiveMaximum: false
            minimum: 1
            exclusiveMinimum: false
            type: integer
            format: int32
        - name: phrase
          in: query
          description: Fundraising campaign name or it's Organization name prefix to search for.
          required: true
          allowEmptyValue: false
          schema:
            type: string
      responses:
        '200':
          description: The request successfully returns the search result.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/FundraisingCampaigns'
        '400':
          description: Invalid or missing query parameters.
          content: {}
        '401':
          description: Unauthorized
          content: {}
        '403':
          description: Forbidden
          content: {}
      deprecated: false
  /shipment-management/delivery-services:
    get:
      tags:
        - Shipment management
      summary: Get available delivery services
      description: >-
        Use this resource to get delivery services available for user. It returns services provided by Allegro and contracts with carriers owned by user and configured by GUI. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-liste-uslug-dostawy" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-a-list-of-delivery-services" target="_blank">EN</a>.
      operationId: getDeliveryServices
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/DeliveryServicesDto
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/shipments/create-commands:
    post:
      tags:
        - Shipment management
      summary: Create new shipment
      description:
        'Use this resource to create shipment for delivery. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-utworzyc-nowa-paczke" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-create-a-new-shipment" target="_blank">EN</a>.'
      operationId: createNewShipment
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: >-
                #/components/schemas/ShipmentCreateCommandDto
        required: true
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/ShipmentCreateCommandDto
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/shipments/create-commands/{commandId}:
    get:
      tags:
        - Shipment management
      summary: Get shipment creation command status
      description:
        'Use this resource to get shipment creation status. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-status-utworzenia-paczki" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-the-creation-status-of-a-shipment" target="_blank">EN</a>.'
      operationId: getShipmentCreationStatus
      parameters:
        - name: commandId
          in: path
          required: true
          schema:
            type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID.
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/CreateShipmentCommandStatusDto
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/shipments/cancel-commands:
    post:
      tags:
        - Shipment management
      summary: Cancel shipment
      description: 'Use this resource to cancel parcel. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-anulowac-paczke" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-cancel-a-shipment" target="_blank">EN</a>.'
      operationId: cancelShipment
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: >-
                #/components/schemas/ShipmentCancelCommandDto
        required: true
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/ShipmentCancelCommandDto
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/shipments/cancel-commands/{commandId}:
    get:
      tags:
        - Shipment management
      summary: Get shipment cancellation status
      description: 'Use this resource to get parcel cancellation status. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-status-anulowania-paczki" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-shipment-cancellation-status" target="_blank">EN</a>.'
      operationId: getShipmentCancellationStatus
      parameters:
        - name: commandId
          in: path
          required: true
          schema:
            type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID.
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/CancelShipmentCommandStatusDto
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/shipments/{shipmentId}:
    get:
      tags:
        - Shipment management
      summary: Get shipment details
      description: 'Use this resource to get parcel details. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-szczegolowe-informacje-o-paczce" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-shipment-details" target="_blank">EN</a>.'
      operationId: getShipmentDetails
      parameters:
        - name: shipmentId
          in: path
          required: true
          description: Shipment id.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/ShipmentDto
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:read
  /shipment-management/label:
    post:
      tags:
        - Shipment management
      summary: Get shipments labels
      description: >-
        Use this resource to get label for created shipment.
        <br/>Returned content type depends on created shipment. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-utworzyc-etykiete-na-paczke" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-create-a-label-for-shipment" target="_blank">EN</a>.
      operationId: getShipmentLabels
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: >-
                #/components/schemas/LabelRequestDto
        required: true
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: File in a binary format
        '204':
          description: No Label For Given Parcel
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Shipment Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:read
  /shipment-management/protocol:
    post:
      tags:
        - Shipment management
      summary: Get shipments protocol
      description: >-
        Protocol availability depends on Carrier.
        Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-protokol-nadania-przesylek" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-shipment-protocol" target="_blank">EN</a>.
      operationId: getShipmentProtocol
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: >-
                #/components/schemas/ShipmentIdsDto
        required: true
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
                description: File in a binary format
        '204':
          description: No Protocol For Given Parcels
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Shipment Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:read
  /shipment-management/pickup-proposals:
    post:
      tags:
        - Shipment management
      summary: Get shipments pickup proposals
      description: >-
        Use this resource to get parcels pickup date proposals. Pickup takes place, when courier arrives to take parcels for shipment. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-proponowana-date-odbioru-paczek-przez-kuriera" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-pickup-date-proposals" target="_blank">EN</a>.
      operationId: getPickupProposals
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: >-
                #/components/schemas/PickupProposalsRequestDto
        required: true
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/PickupProposalsResponseDto
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/pickups/create-commands:
    post:
      tags:
        - Shipment management
      summary: Request shipments pickup
      description: 'Use this resource to request a pickup of shipments. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-zamowic-odbior-paczek-przez-kuriera" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-request-shipment-pickup-by-a-courier" target="_blank">EN</a>.'
      operationId: createPickup
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: >-
                #/components/schemas/PickupCreateCommandDto
        required: true
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/PickupCreateCommandDto
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  /shipment-management/pickups/create-commands/{commandId}:
    get:
      tags:
        - Shipment management
      summary: Create pickup command status
      description: 'Use this resource to get pickup request status. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-status-zamowienia-odbioru-paczek" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-shipment-pickup-request-status" target="_blank">EN</a>.'
      operationId: createPickupStatus
      parameters:
        - name: commandId
          in: path
          required: true
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID.
          schema:
            type: string
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: >-
                  #/components/schemas/CreatePickupCommandStatusDto
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
        - bearer-token-for-user:
            - allegro:api:shipments:write
  '/parcel-management/delivery-services':
    get:
      tags:
        - Parcel management
      summary: "Get available delivery services"
      description: >-
        Use this resource to get delivery services available for user. It returns services provided by Allegro and contracts with carriers owned by user and configured by GUI. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-liste-uslug-dostawy" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-a-list-of-delivery-services" target="_blank">EN</a>.
      operationId: getAvailableDeliveryServices
      deprecated: true
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/DeliveryServices'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
        - allegro:api:shipments:read
  /parcel-management/parcel-create-commands/{commandId}:
    put:
      tags:
        - Parcel management
      summary: "Create a new parcel"
      description:
        'Use this resource to create parcel for delivery. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-utworzyc-nowa-paczke" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-create-a-new-parcel" target="_blank">EN</a>.'
      operationId: createNewParcel
      deprecated: true
      parameters:
        - name: commandId
          in: path
          description: Command UUID.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ParcelCreationParameters'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  id:
                    type: string
                    description: The unique command UUID provided in the input.
                    example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
                  input:
                    $ref: '#/components/schemas/ParcelCreationParameters'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
        - allegro:api:shipments:write
    get:
      tags:
        - Parcel management
      summary: "Get parcel creation status"
      description:
        'Use this resource to get parcel creation status. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-status-utworzenia-paczki" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-parcel-creation-status" target="_blank">EN</a>.'
      operationId: getParcelCreationStatus
      deprecated: true
      parameters:
        - name: commandId
          in: path
          description: Command UUID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  id:
                    type: string
                    description: Sent command UUID.
                    example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
                  parcelId:
                    type: string
                    description: Id of created parcel.
                    example: "259b5c7a-9056-4c74-80ec-9bb2978cf293"
                  status:
                    type: string
                    description: Parcel creation status.
                    enum:
                      - "IN_PROGRESS"
                      - "SUCCESS"
                      - "ERROR"
                    example: "ERROR"
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error200'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
        - allegro:api:shipments:write
  /parcel-management/parcels/{parcelId}:
    get:
      tags:
        - Parcel management
      summary: "Get parcel details"
      description:
        'Use this resource to get parcel details. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-szczegolowe-informacje-o-paczce" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-parcel-details" target="_blank">EN</a>.'
      operationId: getParcelDetails
      deprecated: true
      parameters:
        - name: parcelId
          in: path
          description: Id of parcel.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ParcelDetails'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
        - allegro:api:shipments:read
  /parcel-management/pickup-date-proposals:
    get:
      tags:
        - Parcel management
      summary: 'Get parcels pickup date proposals'
      description: >-
        Use this resource to get parcels pickup date proposals. Pickup takes place, when courier arrives to take parcels for shipment. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-proponowana-date-odbioru-paczek-przez-kuriera" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-pickup-date-proposals" target="_blank">EN</a>.
      operationId: getParcelsPickupDateProposals
      deprecated: true
      parameters:
        - name: parcelId
          in: query
          description: >-
            Ids of parcels. Passing more than one value will search pickup dates for all of them separately.
            Example: `parcelId=adc05c84-a9eb-4981-bbc0-773d8c0017e7&parcelId=adc05c84-a9eb-4981-bbc0-773d8c0017e8` - will return pickup date proposals for parcels with ID `adc05c84-a9eb-4981-bbc0-773d8c0017e7` and `adc05c84-a9eb-4981-bbc0-773d8c0017e8`.
          required: true
          schema:
            type: array
            maxItems: 100
            items:
              type: string
              maxLength: 100
        - name: readyDate
          in: query
          description: Date when parcels will be ready.
          example: "2020-01-01"
          schema:
            type: string
            format: date
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/PickupDateParcelsProposals'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '414':
          description: URI Too Long
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
        - allegro:api:shipments:read
  /parcel-management/parcel-pickup-request-commands/{commandId}:
    put:
      tags:
        - Parcel management
      summary: "Request parcel pickup"
      description:
        'Use this resource to request pickup for parcels. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-zamowic-odbior-paczek-przez-kuriera" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-request-parcel-pickup-by-a-courier" target="_blank">EN</a>.'
      operationId: requestParcelPickup
      deprecated: true
      parameters:
        - name: commandId
          in: path
          description: Command UUID.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/PickupParcelParameters'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  id:
                    type: string
                    description: The unique command UUID provided in the input.
                    example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
                  input:
                    $ref: '#/components/schemas/PickupParcelParameters'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
        - allegro:api:shipments:write
    get:
      tags:
        - Parcel management
      summary: "Get parcel pickup status"
      description:
        'Use this resource to get parcel pickup status. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-status-zamowienia-odbioru-paczek" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-parcel-pickup-request-status" target="_blank">EN</a>.'
      operationId: getParcelPickupStatus
      deprecated: true
      parameters:
        - name: commandId
          in: path
          description: Command UUID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  id:
                    type: string
                    description: Sent command UUID.
                    example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
                  status:
                    type: string
                    description: Parcel pickup status.
                    enum:
                      - "IN_PROGRESS"
                      - "SUCCESS"
                      - "PARTIAL_SUCCESS"
                      - "ERROR"
                    example: "ERROR"
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error200'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
        - allegro:api:shipments:write
  /parcel-management/parcels/label:
    get:
      tags:
        - Parcel management
      summary: 'Get parcel label'
      description: >-
        Use this resource to get label for created parcel.
        <br/>Returned content type depends on created parcel. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-utworzyc-etykiete-na-paczke" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-create-a-label-for-parcel" target="_blank">EN</a>.
      operationId: getParcelLabel
      deprecated: true
      parameters:
        - name: parcelId
          in: query
          description: Id of parcel.
          required: true
          schema:
            type: string
        - name: pageFormat
          in: query
          description: Label page format. Only for PDF file.
          required: false
          schema:
            type: string
            enum:
              - A4
              - A6
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
                description: File in a binary format
            text/plain:
              schema:
                type: string
                format: text
                description: File in a text format
        '204':
          description: No Label For Given Parcel
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Parcel Not Found or Parcel Label Is Not Ready Yet
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
        - allegro:api:shipments:read
  /parcel-management/parcels/protocol:
    get:
      tags:
        - Parcel management
      summary: 'Get parcels protocol'
      description: >-
        Use this resource to get parcels protocol. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-pobrac-protokol-nadania-przesylek" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-retrieve-parcel-protocol" target="_blank">EN</a>.
      operationId: getParcelsProtocol
      deprecated: true
      parameters:
        - name: parcelId
          in: query
          description: >-
            Ids of parcels. Passing more than one value will generate protocol for all of them.
            Example: `parcelId=2c6d5ca1-e892-455f-ae24-89ba7c12abcd&parcelId=2c6d5ca1-e892-455f-ae24-89ba7c12abc1` - returns protocol for parcels with ID `2c6d5ca1-e892-455f-ae24-89ba7c12abcd` and `2c6d5ca1-e892-455f-ae24-89ba7c12abc1`.
          required: true
          schema:
            type: array
            maxItems: 100
            items:
              type: string
              maxLength: 100
      responses:
        '200':
          description: OK
          content:
            application/pdf:
              schema:
                type: string
                format: binary
                description: File in a binary format
        '204':
          description: No Protocol For Given Parcels
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Parcels Not Found or Parcels Protocol Is Not Ready Yet
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error404'
        '414':
          description: URI Too Long
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:read
        - allegro:api:shipments:read
  /parcel-management/parcel-cancel-commands/{commandId}:
    put:
      tags:
        - Parcel management
      summary: "Cancel parcel"
      description:
        'Use this resource to cancel parcel. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-anulowac-paczke" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-cancel-a-parcel" target="_blank">EN</a>.'
      operationId: cancelParcel
      deprecated: true
      parameters:
        - name: commandId
          in: path
          description: Command UUID.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CancelParcelParameters'
        required: true
      responses:
        '201':
          description: Created
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  id:
                    type: string
                    description: The unique command UUID provided in the input.
                    example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
                  input:
                    $ref: '#/components/schemas/CancelParcelParameters'
        '400':
          description: Bad request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
        - allegro:api:shipments:write
    get:
      tags:
        - Parcel management
      summary: "Get parcel cancellation status"
      description:
        'Use this resource to get parcel cancellation status. Read more: <a href="../../tutorials/jak-zarzadzac-przesylkami-przez-wysylam-z-allegro-LRVjK7K21sY#jak-sprawdzic-status-anulowania-paczki" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-parcels-via-ship-with-allegro-ZM9YAyGKWTV#how-to-check-parcel-cancellation-status" target="_blank">EN</a>.'
      operationId: getParcelCancellationStatus
      deprecated: true
      parameters:
        - name: commandId
          in: path
          description: Command UUID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          headers:
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Suggested time interval (in seconds) between follow-up command status queries.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  id:
                    type: string
                    description: Sent command UUID.
                    example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
                  status:
                    type: string
                    description: Cancelation status.
                    enum:
                      - "IN_PROGRESS"
                      - "SUCCESS"
                      - "ERROR"
                    example: "ERROR"
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error200'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error400'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
        '504':
          description: Gateway Timeout
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                properties:
                  errors:
                    type: array
                    description: Array of errors.
                    items:
                      $ref: '#/components/schemas/Error504'
      security:
      - bearer-token-for-user:
        - allegro:api:orders:write
        - allegro:api:shipments:write
  /sale/matching-categories:
    get:
      tags:
        - Categories and parameters
      summary: "Get categories suggestions"
      description:
        'Use this resource to receive suggested categories for given phrase. Read more: <a href="../../news/udostepnilismy-nowy-zasob-dzieki-ktoremu-sprawdzisz-sugerowane-kategorie-dla-podanej-frazy-4RAl9jwX1FW" target="_blank">PL</a> / <a href="../../news/we-have-introduced-a-new-resource-that-allows-you-to-retrieve-the-suggested-categories-for-the-given-phrase-v8Wdy1EOyF0" target="_blank">EN</a>.'
      operationId: categorySuggestionUsingGET
      parameters:
        - name: name
          in: query
          description: Product name for which you want to get suggested categories.
          required: true
          schema:
            type: string
            example: "bmw x3"
      responses:
        '200':
          description: Category suggestion returned successfully.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategorySuggestionResponse'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '406':
          description: Not Acceptable
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  /sale/tax-settings:
    get:
      tags:
        - Tax settings
      summary: 'Get all tax settings for category'
      description: >-
        Use this resource to receive tax settings for given category.
        Based on received settings you may set VAT tax settings for your offers. Read more: <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#opcje-faktury-i-stawki-vat" target="_blank">PL</a> / <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#invoice-and-vat-settings" target="_blank">EN</a>.
      operationId: getTaxSettingsForCategory
      parameters:
        - name: category.id
          in: query
          description: An identifier of a category for which all available tax settings will be returned.
          required: true
          schema:
            type: string
            example: "316194"
        - name: countryCode
          in: query
          description: Country code for which tax settings will be returned. If not provided settings for all countries will be returned.
          required: false
          explode: true
          example: ["PL"]
          schema:
            type: array
            items:
              type: string
              enum:
                - PL
                - CZ
                - SK
      responses:
        '200':
          description: Tax settings for given category returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryTaxSettings'
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/CategoryTaxSettings'
        '400':
          description: Bad Request
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '406':
          description: Not Acceptable
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
  /sale/allegro-prices-offer-consents/{offerId}:
    get:
      tags:
        - Allegro Prices
      operationId: getAllegroPricesConsentForOffer
      summary: "Get the current consents' state for an offer"
      description: 'Use this resource to get the current Allegro Prices consent value for the offer on each of the available marketplaces. Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#allegro-ceny-jak-zarzadzac-zgodami-na-uczestnictwo-w-programie" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#allegro-prices-how-to-manage-program-participation-consents" target="_blank">EN</a>.'
      parameters:
        - name: "offerId"
          description: "The offer ID."
          in: "path"
          required: true
          schema:
            type: "string"
      responses:
        '200':
          description: "Consent value returned successfully."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/AllegroPricesOfferConsentChangeResponse"
              example:
                status: "ALLOWED"
                additionalMarketplaces:
                  allegro-cz:
                    status: "ALLOWED"
                  allegro-xy:
                    status: "ALLOWED"
        '401':
          description: "Unauthorized."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '403':
          description: "Offer does not belong to seller."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '404':
          description: "Offer not found."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
    put:
      tags:
        - Allegro Prices
      operationId: updateAllegroPricesConsentForOffer
      summary: "Update consents for an offer"
      description: 'Use this resource to update the Allegro Prices consent value for the offer on chosen marketplaces. Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#allegro-ceny-jak-zarzadzac-zgodami-na-uczestnictwo-w-programie" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#allegro-prices-how-to-manage-program-participation-consents" target="_blank">EN</a>.'
      parameters:
        - name: "offerId"
          description: "The offer ID."
          in: "path"
          required: true
          schema:
            type: "string"
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: "#/components/schemas/AllegroPricesOfferChangeRequest"
            example:
              status: "DENIED"
              additionalMarketplaces:
                allegro-cz:
                  status: "DENIED"
        required: true
      responses:
        '200':
          description: "Allegro Prices consents' state for the offer updated successfully."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/AllegroPricesOfferConsentChangeResponse"
              example:
                status: "DENIED"
                additionalMarketplaces:
                  allegro-cz:
                    status: "DENIED"
                  allegro-xy:
                    status: "ALLOWED"
        '400':
          description: "Bad request."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '401':
          description: "Unauthorized."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '403':
          description: "Offer does not belong to seller."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '404':
          description: "Offer not found."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '422':
          description: "Unprocessable Entity."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
  /sale/allegro-prices-account-eligibility:
    get:
      tags:
        - Allegro Prices
      operationId: "getAllegroPricesEligibilityForAccount"
      summary: "Get the current eligibility information for the account"
      description: 'Use this resource to get the current Allegro Prices eligibility information for the account on each of the available marketplaces. Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#allegro-ceny-jak-zarzadzac-zgodami-na-uczestnictwo-w-programie" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#allegro-prices-how-to-manage-program-participation-consents" target="_blank">EN</a>.'
      responses:
        '200':
          description: "Allegro Prices eligibility information for the account returned successfully."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/AllegroPricesEligibilityResponse"
              example:
                consent: "ALLOWED"
                qualification:
                  status: "QUALIFIED"
                additionalMarketplaces:
                  allegro-cz:
                    consent: "ALLOWED"
                    qualification:
                      status: "QUALIFIED"
                  allegro-xy:
                    consent: "ALLOWED"
                    qualification:
                      status: "QUALIFIED"
        '401':
          description: "Unauthorized."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
  /sale/allegro-prices-account-consent:
    put:
      tags:
        - Allegro Prices
      operationId: "updateAllegroPricesConsentForAccount"
      summary: "Update consents for the account"
      description: 'Use this resource to update the Allegro Prices consent value for the account on chosen marketplaces. Read more: <a href="../../tutorials/jak-przypisac-oferte-kampanii-GRaj0q6Gwuy#allegro-ceny-jak-zarzadzac-zgodami-na-uczestnictwo-w-programie" target="_blank">PL</a> / <a href="../../tutorials/how-to-submit-offers-to-campaigns-AgGjd6EmyH4#allegro-prices-how-to-manage-program-participation-consents" target="_blank">EN</a>.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AllegroPricesAccountChangeRequest"
            example:
              status: "ALLOWED"
              additionalMarketplaces:
                allegro-cz:
                  status: "DENIED"
        required: true
      responses:
        '200':
          description: "Allegro Prices consents' state for the account was updated successfully."
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/AllegroPricesAccountConsentChangeResponse"
              example:
                status: "ALLOWED"
                additionalMarketplaces:
                  allegro-cz:
                    status: "DENIED"
                  allegro-xy:
                    status: "ALLOWED"
        '400':
          description: "Bad request"
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '401':
          description: "Unauthorized"
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
        '422':
          description: "Unprocessable Entity"
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: "#/components/schemas/ErrorsHolder"
  /sale/smart:
    get:
      tags:
        - Information about user
      summary: "Get Smart! seller classification report"
      description: >-
        Use this resource to get a full Smart! seller classification report.
        Read more: <a href="../../tutorials/jak-zarzadzac-kontem-danymi-uzytkownika-ZM9YAKgPgi2#kwalifikacja-sprzedawcy" target="_blank">PL</a> / <a href="../../tutorials/account-and-user-data-management-jn9vBjqjnsw#seller-qualification" target="_blank">EN</a>.
      operationId: getSellerSmartClassificationGET
      parameters:
        - name: marketplaceId
          in: query
          description: >-
            Marketplace for which seller classification report will be returned.
            If not specified, the classification result for the seller's registration marketplace will be returned.
          required: false
          schema:
            type: string
            example: allegro-pl
      responses:
        '200':
          description: Successfully returned seller Smart! classification report
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SmartSellerClassificationReport'
        '401':
          description: Unauthorized action
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '404':
          description: Not Found
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable entity
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
      - bearer-token-for-user:
        - allegro:api:profile:read
  /marketplaces:
    get:
      tags:
        - Information about marketplaces
      summary: "Get details for all marketplaces in allegro"
      description: 'Use this resource to get information about all the marketplaces on the platform. Read more: <a href="../../tutorials/wystawianie-i-zarzadzanie-oferta-w-serwisach-zagranicznych-wwzjP4M8gTZ#serwis-bazowy-uzytkownika-oraz-lista-dostepnych-serwisow" target="_blank">PL</a> / <a href="../../tutorials/listing-and-managing-offers-on-foreign-marketplaces-7GndGjeAATn#user-s-base-marketplace-and-list-of-available-marketplaces" target="_blank">EN</a>.'
      operationId: marketplacesGET
      responses:
        '200':
          description: Successfully returned all available marketplaces in allegro
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AllegroMarketplaces'
  /messaging/threads:
    get:
      tags:
        - Message Center
      summary: 'List user threads'
      description: 'Use this resource to get the list of user threads sorted by last message date, starting from newest. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#lista-watkow-na-koncie" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#list-of-threads" target="_blank">EN</a>.'
      operationId: listThreadsGET
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: limit
          in: query
          description: The maximum number of threads returned in the response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 20
            default: 20
        - name: offset
          in: query
          description: Index of the first returned thread from all results.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
            maximum: 15000000
            default: 0
      responses:
        '200':
          description: OK
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ThreadsList'
        '401':
          description: User not authorized
        '422':
          description: Incorrect limit or offset
  '/messaging/threads/{threadId}':
    get:
      tags:
        - Message Center
      summary: 'Get user thread'
      description: 'Use this resource to get thread with provided identifier. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#szczegolowe-informacje-o-danym-watku" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#information-about-a-particular-thread" target="_blank">EN</a>.'
      operationId: getThreadGET
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: threadId
          in: path
          description: Identifier of thread to get.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Thread returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Thread'
        '401':
          description: User not authorized
        '404':
          description: Thread not found

  '/messaging/threads/{threadId}/read':
    put:
      tags:
        - Message Center
      summary: 'Mark a particular thread as read'
      description: 'Use this resource to mark thread with provided identifier as read. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#szczegolowe-informacje-o-wiadomosci" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#information-about-a-particular-message" target="_blank">EN</a>.'
      operationId: changeReadFlagOnThreadPUT
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      responses:
        '200':
          description: Thread marked as read successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Thread'
        '401':
          description: User not authorized
        '403':
          description: User not allowed to update thread read flag
        '404':
          description: Thread not found
        '422':
          description: Validation errors - missing flag in the request body
      parameters:
        - name: threadId
          in: path
          description: Identifier of thread to be marked.
          required: true
          schema:
            type: string
      requestBody:
        required: true
        description: Updated read flag
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/ThreadReadFlag'
  /messaging/messages:
    post:
      tags:
        - Message Center
      summary: 'Write a new message'
      description: 'Use this resource to write new message to recipient. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#nowa-wiadomosc" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#add-a-new-message" target="_blank">EN</a>.'
      operationId: newMessagePOST
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      requestBody:
        required: true
        description: Object representing new message.
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/NewMessage'
      responses:
        '201':
          description: Message successfully written
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          description: Authentication required
        '422':
          description: Validation errors
  '/messaging/threads/{threadId}/messages':
    get:
      tags:
        - Message Center
      summary: 'List messages in thread'
      description: 'Use this resource to list messages in thread with provided identifier. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#lista-wiadomosci-dla-wybranego-watku" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#list-of-the-messages-for-the-particular-thread" target="_blank">EN</a>.'
      operationId: listMessagesGET
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: threadId
          in: path
          description: Identifier of thread to get messages from.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The maximum number of messages returned in the response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            maximum: 20
            default: 20
        - name: offset
          in: query
          description: Index of the first returned message from all results.
          required: false
          schema:
            type: integer
            format: int64
            minimum: 0
            maximum: 15000
            default: 0
        - name: before
          in: query
          description: Message creation date before filter parameter (exclusive) - cannot be used with offset.
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
        - name: after
          in: query
          description: Message creation date after filter parameter (exclusive).
          example: "2020-11-13T12:45:20.818Z"
          required: false
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Thread message list returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/MessagesList'
        '401':
          description: User not authorized
        '403':
          description: User not allowed to list messages in selected thread
        '404':
          description: Thread not found
        '422':
          description: Incorrect limit, offset, after or before
    post:
      tags:
        - Message Center
      summary: 'Write a new message in thread'
      description: 'Use this resource to write new message in existing thread. This resource is rate limited to 1 request per second for a user. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#nowa-wiadomosc" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#add-a-new-message" target="_blank">EN</a>.'
      operationId: newMessageInThreadPOST
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: threadId
          in: path
          description: Identifier of thread to write message to.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/NewMessageInThread'
        required: true
      responses:
        '201':
          description: Message in thread successfully written
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          description: User not authorized
        '403':
          description: User not allowed to list messages in selected thread
        '404':
          description: Thread not found
        '422':
          description: Validation errors
  '/messaging/messages/{messageId}':
    get:
      tags:
        - Message Center
      summary: 'Get single message'
      description: 'Use this resource to get message with provided identifier. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#szczegolowe-informacje-o-wiadomosci" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#information-about-a-particular-message" target="_blank">EN</a>.'
      operationId: getMessageGET
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: messageId
          in: path
          description: Identifier of message to be returned.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Message returned successfully
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/Message'
        '401':
          description: User not authorized
        '404':
          description: Message not found
    delete:
      tags:
        - Message Center
      summary: 'Delete single message'
      description: 'Use this resource to delete message with provided identifier. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#usuniecie-wiadomosci" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#delete-a-message" target="_blank">EN</a>.'
      operationId: deleteMessageDELETE
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: messageId
          in: path
          description: Identifier of the message to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Message successfully deleted
        '401':
          description: User not authorized
        '403':
          description: User not allowed to delete particular message
        '404':
          description: Message not found
  /messaging/message-attachments:
    post:
      tags:
        - Message Center
      summary: 'Add attachment declaration'
      description: 'Use this resource to add attachment declaration before uploading. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#deklaracja-zalacznika" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#attachment-declaration" target="_blank">EN</a>.'
      operationId: newAttachmentDeclarationPOST
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/NewAttachmentDeclaration'
        required: true
      responses:
        '201':
          description: Attachment declaration successfully added
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/MessageAttachmentId'
        '401':
          description: User not authorized
        '415':
          description: Unsupported mime type
        '422':
          description: Validation errors
  '/messaging/message-attachments/{attachmentId}':
    put:
      tags:
        - Message Center
      summary: 'Upload attachment binary data'
      description: 'Use this resource to upload attachment using identifier that was declared. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#dodanie-zalacznika" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#add-an-attachment" target="_blank">EN</a>.'
      operationId: uploadAttachmentPUT
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: attachmentId
          in: path
          description: The identifier of attachment that will be uploaded.
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          image/png:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/gif:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/bmp:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/tiff:
            schema:
              type: string
              format: binary
              description: File in a binary format
          image/jpeg:
            schema:
              type: string
              format: binary
              description: File in a binary format
          application/pdf:
            schema:
              type: string
              format: binary
              description: File in a binary format
      responses:
        '200':
          description: Attachment succesfully uploaded.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/MessageAttachmentId'
        '401':
          description: User not authorized
        '403':
          description: User does not have
        '404':
          description: Attachment declaration not found
        '413':
          description: Exceeded size limit
        '415':
          description: Unsupported mime type
    get:
      tags:
        - Message Center
      summary: 'Download attachment'
      description: 'Use this resource to download attachment with provided identifier. Read more: <a href="../../tutorials/jak-zarzadzac-centrum-wiadomosci-XxWm2K890Fk#pobranie-zalacznika" target="_blank">PL</a> / <a href="../../tutorials/how-to-manage-the-message-center-g05avyGlZUW#attachment-related-to-the-message" target="_blank">EN</a>.'
      operationId: downloadAttachmentGET
      security:
        - bearer-token-for-user:
            - allegro:api:messaging
      parameters:
        - name: attachmentId
          in: path
          description: Identifier of the attachment that will be downloaded.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Attachment file returned successfully
          headers:
            Content-Disposition:
              schema:
                type: string
            Content-Type:
              schema:
                type: string
          content:
            '*/*':
              schema:
                type: string
                format: binary
        '401':
          description: User not authorized
        '404':
          description: Attachment not found
  /order/customer-returns:
    get:
      tags:
        - Customer returns
      summary: '[BETA] Get customer returns by provided query parameters'
      description: 'Use this resource to get all customer returns filtered by query parameters. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-liste-zwrotow" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-retrieve-customer-returns-list" target="_blank">EN</a>.'
      operationId: getCustomerReturns
      parameters:
        - name: customerReturnId
          in: query
          description: One or more customer return id's.
          required: false
          schema:
            type: string
        - name: orderId
          in: query
          description: One or more order id's.
          required: false
          schema:
            type: string
        - name: buyer.email
          in: query
          description: One or more buyer emails.
          required: false
          schema:
            type: string
        - name: buyer.login
          in: query
          description: One or more buyer logins.
          required: false
          schema:
            type: string
        - name: items.offerId
          in: query
          description: One or more returned item offer id's.
          required: false
          schema:
            type: string
        - name: items.name
          in: query
          description: One or more item names.
          required: false
          schema:
            type: string
        - name: parcels.waybill
          in: query
          description: One or more waybill id's.
          required: false
          schema:
            type: string
        - name: parcels.carrierId
          in: query
          description: One or more carrier id's.
          required: false
          schema:
            type: string
        - name: parcels.sender.phoneNumber
          in: query
          description: One or more phone numbers.
          required: false
          schema:
            type: string
        - name: referenceNumber
          in: query
          description: One or more reference numbers.
          required: false
          schema:
            type: string
        - name: from
          in: query
          description: The ID of the last seen customer return. Customer returns created after the given customer return will be returned.
          required: false
          schema:
            type: string
        - name: createdAt.gte
          in: query
          description: Date of the return in ISO 8601 format to search by greater or equal.
          required: false
          schema:
            type: string
        - name: createdAt.lte
          in: query
          description: Date of the return in ISO 8601 format to search by lower or equal.
          required: false
          schema:
            type: string
        - name: marketplaceId
          in: query
          description: The marketplace ID where operation was made. When the parameter is omitted, searches for operations with all marketplaces.
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: >-
            Current return timeline statuses.
            The allowed values are:
              * CREATED
              * DISPATCHED
              * IN_TRANSIT
              * DELIVERED
              * FINISHED
              * REJECTED
              * COMMISSION_REFUND_CLAIMED
              * COMMISSION_REFUNDED
              * WAREHOUSE_DELIVERED
              * WAREHOUSE_VERIFICATION.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: Limit of customer returns per page.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 1
            default: 100
            maximum: 1000
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            format: int32
            minimum: 0
            default: 0
      responses:
        '200':
          description: Successfully retrieved customer returns.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/CustomerReturnResponse'
        '400':
          description: Bad request.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '406':
          description: Not Acceptable
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
        - bearer-token-for-user:
            - allegro:api:orders:read
  /order/customer-returns/{customerReturnId}:
    get:
      tags:
        - Customer returns
      summary: '[BETA] Get customer return by id'
      description: 'Use this resource to get customer returns by its identifier. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-pobrac-szczegolowe-informacje-o-zwrocie" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-retrieve-detailed-information-about-customer-return" target="_blank">EN</a>.'
      operationId: getCustomerReturnById
      parameters:
        - name: customerReturnId
          in: path
          description: Id of the customer return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully retrieved customer return.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/CustomerReturn'
        '400':
          description: Bad request.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '404':
          description: Not found
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '406':
          description: Not Acceptable
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
        - bearer-token-for-user:
            - allegro:api:orders:read
  /order/customer-returns/{customerReturnId}/rejection:
    post:
      tags:
        - Customer returns
      summary: '[BETA] Reject customer return refund'
      description: 'Use this resource to reject customer return refund with provided reason. Read more: <a href="../../tutorials/jak-obslugiwac-zamowienia-GRaj0qyvwtR#jak-odmowic-zwrotu-wplaty" target="_blank">PL</a> / <a href="../../tutorials/process-orders-PgPMlWDr8Cv#how-to-reject-customer-return-refund" target="_blank">EN</a>.'
      requestBody:
        content:
          application/vnd.allegro.beta.v1+json:
            schema:
              $ref: '#/components/schemas/CustomerReturnRefundRejectionRequest'
        required: true
      operationId: rejectCustomerReturnRefund
      parameters:
        - name: customerReturnId
          in: path
          description: Id of the customer return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully rejected customer return.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/CustomerReturn'
        '400':
          description: Bad request.
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '403':
          description: Forbidden
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '406':
          description: Not Acceptable
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '422':
          description: Unprocessable Entity. Might occur when customer return has already been rejected
          content:
            application/vnd.allegro.beta.v1+json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      security:
        - bearer-token-for-user:
            - allegro:api:orders:write
  /fulfillment/advance-ship-notices:
    get:
      summary: 'Get list of Advance Ship Notices'
      description: >-
        Use this resource to get a list of Advance Ship Notices. The list is ordered by **createdAt** property.
        Default **offset** is 0, default **limit** is 50.
        A list can be filtered by statuses. Multiple status query parameters are allowed.
        In such cases, filters are joined with **OR** logical operator. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#jak-przegladac-utworzone-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#how-to-get-created-advance-ship-notices" target="_blank">EN</a>.
      tags:
        - Advance Ship Notices
      responses:
        '200':
          description: Returns list of Advance Ship Notices that belong to a seller.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdvanceShipNoticeList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: getAdvanceShipNotices
      parameters:
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: limit
          in: query
          description: Maximum number of elements in response.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
        - name: status
          in: query
          description: A status of the Advance Ship Notices in the response.
          style: form
          required: false
          explode: true
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AdvanceShipNoticeStatus'
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
    post:
      summary: 'Create an Advance Ship Notice'
      description: 'Use this resource to create an Advance Ship Notice. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#utworz-draft-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#create-a-draft-of-the-advance-ship-notice" target="_blank">EN</a>.'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CreateAdvanceShipNoticeRequest'
        required: true
      responses:
        '201':
          description: Advance Ship Notice created.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CreateAdvanceShipNoticeResponse'
          headers:
            location:
              description: The location of created Advance Ship Notice (URI).
              schema:
                type: string
              example: 'https://api.allegro.pl/fulfillment/advance-ship-notices/a1520fab-7801-4832-9ccd-fb068c707a74'
            etag:
              description: A current version of ASN. Use this value in combination with If-Match header to update ASN.
              schema:
                type: string
              example: '123456'
        '400':
          description: Invalid request body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Advance Ship Notice cannot be created due to improper input data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      tags:
        - Advance Ship Notices
      operationId: createAdvanceShipNotice
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:write
  /fulfillment/advance-ship-notices/{id}:
    get:
      summary: 'Get single Advance Ship Notice'
      description: 'Use this resource to get an Advance Ship Notice. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#jak-przegladac-utworzone-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#how-to-get-created-advance-ship-notices" target="_blank">EN</a>.'
      tags:
        - Advance Ship Notices
      responses:
        '200':
          description: Returns single Advance Ship Notice.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdvanceShipNoticeResponse'
          headers:
            etag:
              description: A current version of ASN. Use this value in combination with If-Match header to update ASN.
              schema:
                type: string
              example: '123456'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      operationId: getAdvanceShipNotice
      parameters:
        - name: id
          in: path
          description: The identifier of returned Advance Ship Notice.
          required: true
          schema:
            type: string
            format: uuid
          example: 84529ad2-2265-4e15-b76b-c17025d848f6
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
    put:
      summary: 'Update Advance Ship Notice'
      description: >-
        Use this resource to update an Advance Ship Notice. Any content property update will clear labels property.
        Use Create labels command to create new labels for provided content.

        If a client wants to update read-only property, an error is returned (only in cases when sent value will be
        different than actual on the server). Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#uzupelnij-dane-o-awizo" target="_blank">PL</a> / <a href="../../one-fulfillment-by-allegro-4R9dXyMPlc9#complete-the-data-of-advance-ship-notice" target="_blank">EN</a>.
      parameters:
        - name: id
          in: path
          description: An identifier of Advance Ship Notice.
          required: true
          schema:
            type: string
            format: uuid
          example: 84529ad2-2265-4e15-b76b-c17025d848f6
        - name: if-match
          in: header
          description: A current version of Advance Ship Notice (e.g. from etag header obtained via get).
          required: true
          schema:
            type: string
          example: '123456'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/AdvanceShipNotice'
        required: true
      responses:
        '200':
          description: Advance Ship Notice updated
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdvanceShipNoticeResponse'
          headers:
            etag:
              description: A current version of ASN. Use this value in combination with If-Match header to update ASN.
              schema:
                type: string
              example: '123456'
        '400':
          description: If-match header missing
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '412':
          description: Concurrent modification of ASN
        '422':
          description: ASN is invalid or attempting to update read-only property
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      tags:
        - Advance Ship Notices
      operationId: updateAdvanceShipNotice
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:write
    delete:
      summary: 'Delete Advance Ship Notice'
      description: 'Use this resource to delete an Advance Ship Notice. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#jak-usunac-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#how-to-delete-advance-ship-notice" target="_blank">EN</a>.'
      parameters:
        - name: id
          in: path
          description: An identifier of the Advance Ship Notice to delete.
          required: true
          schema:
            type: string
            format: uuid
            default: 0b488a23-bc99-470d-8842-0c585adf2479
      responses:
        '204':
          description: Advance Ship Notice was deleted.
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '422':
          description: ASN cannot be deleted - it is not in DRAFT status.
      tags:
        - Advance Ship Notices
      operationId: deleteAdvanceShipNotice
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:write
  /fulfillment/advance-ship-notices/{id}/labels:
    get:
      summary: 'Get labels for Advance Ship Notice'
      description: 'Use this resource to get labels for Advance Ship Notice after being created with "create labels command". Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#wygeneruj-oznaczenia-na-kartony" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#create-labels-for-boxes" target="_blank">EN</a>.'
      tags:
        - Advance Ship Notices
      operationId: getAdvanceShipNoticeLabels
      parameters:
        - name: id
          in: path
          description: An identifier of the Advance Ship Notice.
          required: true
          schema:
            type: string
            format: uuid
          example: 84529ad2-2265-4e15-b76b-c17025d848f6
        - name: accept
          in: header
          description: Content-type of generated labels.
          required: true
          schema:
            type: string
            enum:
              - application/pdf
              - x-application/zpl
      responses:
        '200':
          description: Returns PDF or ZPL file with labels.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
            x-application/zpl:
              schema:
                type: string
                format: text
          headers:
            content-disposition:
              description: The header contains filename directive with indicative file name.
              schema:
                type: string
              example: 'inline; filename="labels-A-210825-0000001.pdf"'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
  /fulfillment/create-labels-commands/{command-id}:
    put:
      summary: 'Create labels'
      description: 'Use this resource to create labels for the Advance Ship Notice. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#wygeneruj-oznaczenia-na-kartony" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#create-labels-for-boxes" target="_blank">EN</a>.'
      tags:
        - Advance Ship Notices
      responses:
        '201':
          description: >-
            Returns command output with status and possible errors.

            The command could fail with following error codes:
              * ASN_NOT_FOUND - Cannot find ASN with id given in command input.
              * COMMAND_FORBIDDEN - Requester has no access to run commands on given ASN.
              * INVALID_ASN_STATE - Such command cannot be run on current ASN state e.g. ASN has empty content.
              * COMMAND_FAILED - Any other error.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CreateLabelsCommand'
              examples:
                runningCommand:
                  summary: running command
                  value:
                    id: '712fa46c-7d4a-4ba0-b094-b5d1d4f6155d'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'RUNNING'
                successfulCommand:
                  summary: successful command
                  value:
                    id: '712fa46c-7d4a-4ba0-b094-b5d1d4f6155d'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'SUCCESSFUL'
                      labels:
                        fileUrl: 'https://api.allegro.pl/fulfillment/advance-ship-notices/cc05cce0-3f6a-4f13-9c28-ea0d01faea86/labels'
                failedCommand:
                  summary: failed command
                  value:
                    id: '712fa46c-7d4a-4ba0-b094-b5d1d4f6155d'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'FAILED'
                      errors:
                        - code: INVALID_ASN_STATE
                          message: 'Invalid ASN state'
                          details: null
                          path: null
                          userMessage: 'Invalid ASN state'
          headers:
            location:
              description: A location to created command (URI).
              schema:
                type: string
              example: 'https://api.allegro.pl/fulfillment/create-labels-commands/4b215fa1-0cba-4a2a-9fb3-db740de4bbe1'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: createLabelsCommand
      deprecated: true
      parameters:
        - name: command-id
          in: path
          description: The identifier of the command.
          required: true
          schema:
            type: string
            format: uuid
            default: 712fa46c-7d4a-4ba0-b094-b5d1d4f6155d
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/CreateLabelsCommandOnlyInput'
        required: true
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:write
    get:
      summary: 'Get labels'
      description: 'Use this resource to check the status of the "create labels command" and get the URL to download labels. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#wygeneruj-oznaczenia-na-kartony" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#create-labels-for-boxes" target="_blank">EN</a>.'
      parameters:
        - name: command-id
          in: path
          description: An identifier of the command.
          required: true
          schema:
            type: string
            format: uuid
            default: 882202c8-15ab-4a83-aeef-29ea505bf0d0
      tags:
        - Advance Ship Notices
      responses:
        '200':
          description: Returns command output with status and possible errors.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/CreateLabelsCommand'
              examples:
                runningCommand:
                  summary: running command
                  value:
                    id: '712fa46c-7d4a-4ba0-b094-b5d1d4f6155d'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'RUNNING'
                successfulCommand:
                  summary: successful command
                  value:
                    id: '712fa46c-7d4a-4ba0-b094-b5d1d4f6155d'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'SUCCESSFUL'
                      labels:
                        fileUrl: 'https://api.allegro.pl/fulfillment/advance-ship-notices/cc05cce0-3f6a-4f13-9c28-ea0d01faea86/labels'
                failedCommand:
                  summary: failed command
                  value:
                    id: '712fa46c-7d4a-4ba0-b094-b5d1d4f6155d'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'FAILED'
                      errors:
                        - code: INVALID_ASN_STATE
                          message: 'Invalid ASN state'
                          details: null
                          path: null
                          userMessage: 'Invalid ASN state'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: getLabelCommand
      deprecated: true
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
  /fulfillment/submit-commands/{command-id}:
    put:
      summary: 'Submit the Advance Ship Notice'
      description: >-
        Use this resource to submit the Advance Ship Notice. After this operation, updates of the Advance Ship Notice are limited to selected properties only. See <a href="../../documentation#operation/updateSubmittedAdvanceShipNotice">PUT /fulfillment/advance-ship-notices/{id}/submitted</a>.
        Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#zakoncz-edycje-i-wyslij-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#finish-editing-and-submit-the-advance-ship-notice" target="_blank">EN</a>.
      parameters:
        - name: command-id
          in: path
          description: The identifier of the command.
          required: true
          schema:
            type: string
            format: uuid
            default: 725432a9-ae9e-43de-b8c5-7430606a81a4
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/SubmitCommand'
        required: true
      responses:
        '201':
          description: >-
            Returns command output with status and possible errors.

            The command could fail with following error codes:
              * ASN_NOT_FOUND - Cannot find ASN with id given in command input.
              * COMMAND_FORBIDDEN - Requester has no access to run commands on given ASN.
              * INVALID_ASN_STATE - Such command cannot be run on current ASN state e.g. ASN has no shipping information.
              * COMMAND_FAILED - Any other error.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SubmitCommand'
              examples:
                runningCommand:
                  summary: running command
                  value:
                    id: '71529ad2-2265-4e15-b76b-c17025d848f7'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'RUNNING'
                successfulCommand:
                  summary: successful command
                  value:
                    id: '71529ad2-2265-4e15-b76b-c17025d848f7'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'SUCCESSFUL'
                failedCommand:
                  summary: failed command
                  value:
                    id: '71529ad2-2265-4e15-b76b-c17025d848f7'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'FAILED'
                      errors:
                        - code: 'ASN_NOT_FOUND'
                          message: 'ASN not found'
                          details: null
                          path: null
                          userMesssage: 'ASN not found'
          headers:
            location:
              description: A location to created command (URI).
              schema:
                type: string
              example: 'https://api.allegro.pl/fulfillment/advance-ship-notices/a1520fab-7801-4832-9ccd-fb068c707a74'
        '401':
          description: Unauthorized
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: submitCommand
      tags:
        - Advance Ship Notices
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:write
    get:
      summary: 'Get submit status'
      description: 'Use this resource to get submit status of the Advance Ship Notice. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#zakoncz-edycje-i-wyslij-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#finish-editing-and-submit-the-advance-ship-notice" target="_blank">EN</a>.'
      parameters:
        - name: command-id
          in: path
          description: An identifier of the command.
          required: true
          schema:
            type: string
            format: uuid
            default: 882202c8-15ab-4a83-aeef-29ea505bf0d0
      tags:
        - Advance Ship Notices
      responses:
        '200':
          description: Returns command output with status and possible errors.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/SubmitCommand'
              examples:
                runningCommand:
                  summary: running command
                  value:
                    id: '71529ad2-2265-4e15-b76b-c17025d848f7'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'RUNNING'
                successfulCommand:
                  summary: successful command
                  value:
                    id: '71529ad2-2265-4e15-b76b-c17025d848f7'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'SUCCESSFUL'
                failedCommand:
                  summary: failed command
                  value:
                    id: '71529ad2-2265-4e15-b76b-c17025d848f7'
                    input:
                      advanceShipNoticeId: '123a08d7-ab9b-460d-b9cb-d6ed64b3a018'
                    output:
                      status: 'FAILED'
                      errors:
                        - code: 'ASN_NOT_FOUND'
                          message: 'ASN not found'
                          details: null
                          path: null
                          userMesssage: 'ASN not found'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: getSubmitCommand
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
  /fulfillment/advance-ship-notice/{id}/submitted:
    put:
      summary: 'Update submitted Advance Ship Notice'
      description: >-
        Use this resource to update already submitted Advance Ship Notice. Update is allowed only when Advance Ship Notice is in "IN_TRANSIT" status.
        Modifications are limited to:
          - changing items quantity
          - removing items
          - changing handling unit amount
          - changing shipping tracking number or vehicle licence plate or third party delivery details (depending on the selected shipping method in the submitted advance ship notice)
        Handling unit's amount property update clears labels property. Use Create labels command to create new labels for provided content. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#edytuj-zakonczone-awizo" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#edit-advance-ship-notice" target="_blank">EN</a>.
      operationId: updateSubmittedAdvanceShipNotice
      parameters:
        - name: id
          in: path
          description: An identifier of Advance Ship Notice.
          required: true
          schema:
            type: string
            format: uuid
          example: 84529ad2-2265-4e15-b76b-c17025d848f6
        - name: if-match
          in: header
          description: A current version of Advance Ship Notice (e.g. from etag header obtained via get).
          required: true
          schema:
            type: string
          example: '123456'
      requestBody:
        content:
          application/vnd.allegro.public.v1+json:
            schema:
              $ref: '#/components/schemas/UpdateSubmittedAdvanceShipNoticeRequest'
        required: true
      responses:
        '200':
          description: Advance Ship Notice updated
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AdvanceShipNoticeResponse'
          headers:
            etag:
              description: A current version of ASN. Use this value in combination with If-Match header to update ASN.
              schema:
                type: string
              example: '123456'
        '400':
          description: If-match header missing
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '412':
          description: Concurrent modification of ASN
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      tags:
        - Advance Ship Notices
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:write
  /fulfillment/stock:
    get:
      summary: 'Get available stock'
      description: 'Use this resource to get a list of the products belonging to the seller, which are in Allegro Warehouse. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#jak-pobrac-aktualne-stany-magazynowe" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#get-available-stock" target="_blank">EN</a>.'
      parameters:
        - name: Accept-Language
          in: header
          required: false
          description: Expected language of product name translation.
          example: "en-US"
          schema:
            type: string
            format: BCP-47 language code
            default: "en-US"
            enum:
              - "en-US"
              - "pl-PL"
              - "uk-UA"
        - name: offset
          in: query
          description: The offset of elements in the response. Ignored for text/csv content type.
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: limit
          in: query
          description: Maximum number of elements in response. Ignored for text/csv content type.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 50
        - name: phrase
          in: query
          description: Filtering search results by product name.
          required: false
          schema:
            type: string
            minLength: 3
        - name: sort
          in: query
          description: >-
            Defines how elements are sorted in response. Minus sign can be added to imply descending sort order.
            Ignored for text/csv content type.

            Possible values for the "sort" parameter:
              * -available - sorting by quantity of available products (descending)
              * available - sorting by quantity of available products (ascending)
              * -unfulfillable - sorting by quantity of unfulfillable products (descending)
              * unfulfillable - sorting by quantity of unfulfillable products (ascending)
              * -name - sorting by product’s name (descending)
              * name - sorting by product’s name (ascending)
              * lastWeekSalesAverage - sorting by product last week average sales (ascending)
              * -lastWeekSalesAverage - sorting by product last week average sales (descending)
              * reserve - sorting by reserve.outOfStockIn field (ascending)
              * -reserve - sorting by reserve.outOfStockIn field (descending)
              * lastThirtyDaysSalesSum - sorting by product last month sum sales (ascending)
              * -lastThirtyDaysSalesSum - sorting by product last month sum sales (descending)
              * storageFee - sorting by storage fee (ascending). The order by fee status is: NOT_APPLICABLE, then INCLUDED_IN_STORAGE_FEE, then PREDICTION, then CHARGED ordered by amountGross ascending.
              * -storageFee - sorting by storage fee (descending). The order by fee status is: CHARGED ordered by amountGross descending, then PREDICTION, then INCLUDED_IN_STORAGE_FEE, then NOT_APPLICABLE.
          required: false
          schema:
            type: string
            default: "name"
            enum:
              - "available"
              - "-available"
              - "unfulfillable"
              - "-unfulfillable"
              - "name"
              - "-name"
              - "lastWeekSalesAverage"
              - "-lastWeekSalesAverage"
              - "reserve"
              - "-reserve"
              - "lastThirtyDaysSalesSum"
              - "-lastThirtyDaysSalesSum"
              - "storageFee"
              - "-storageFee"
        - name: productId
          in: query
          description: Filtering search results by fulfillment product identifier. Ignored for text/csv content type.
          required: false
          schema:
            type: string
            format: uuid
        - name: productAvailability
          in: query
          description: Filtering search results by availability.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - "SUFFICIENT"
                - "UNAVAILABLE"
                - "LOW"
        - name: productStatus
          in: query
          description: Filtering search results by status.
          required: false
          schema:
            type: string
            enum:
              - "UNFULFILLABLE"
        - name: storageFee
          in: query
          description: >-
            Filtering search results storage fee. Two values are possible:
            FREE - products storage fee is included in basic fee or merchant is in grace period
            PAID - products for which an extra storage fee is calculated
            TO_BE_PAID_SOON - products for which storage will soon be payable.
          required: false
          schema:
            type: string
            enum:
              - "FREE"
              - "PAID"
              - "TO_BE_PAID_SOON"
        - name: asnStatus
          in: query
          description: >-
            Filtering search results by ASN status. Following values are allowed:
            SUBMITTED - Advanced Ship Notice document has been submitted and it contains a particular product. Only the products that have ASN with products on it are returned.
            NOT_FOUND - Advanced Ship Notice that contains a particular product was not found. It has not been submitted, may be expired, or products have already been delivered to the warehouse. Only the products that don't have related ASN with products on it are returned.
          required: false
          schema:
            type: string
            enum:
              - "SUBMITTED"
              - "NOT_FOUND"
        - name: outOfStockInFrom
          in: query
          description: Filter by products with outOfStockIn greater than or equal.
          required: false
          schema:
            type: integer
        - name: outOfStockInTo
          in: query
          description: Filter by products with outOfStockIn less than or equal.
          required: false
          schema:
            type: integer
      tags:
        - Fulfillment Stock
      responses:
        '200':
          description: Returns available stock for the seller.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/StockProductList'
            text/csv:
              schema:
                type: string
              example: |
                Product ID,Product name,GTIN,Offer ID,Total quantity,Available,Reserved,Unfulfillable,Sales in last 30 days,Avg. daily sales,Out of stock in,Pending delivery,Daily storage fee (PLN),Number of items with storage fee,Fee charge date,Predicted upcoming storage fee (PLN),Predicted number of items with upcoming storage fee,Storage fee start date
                1e435bb7-9fcd-4b70-b7d4-e4126d48502d,Apple Watch 3 42mm,7016489270639,7679273578,0,0,0,0,1,3,0,Yes,12.34,21,2023-02-13,,,
                21554f43-7800-4a95-be6c-889f1b703899,Huawei ShotX,9743272547507,7679273582,20,15,2,3,203,1,20,No,43.21,12,2023-02-14,,,
                52d3ee6b-330e-4924-a4a9-8b8d315c86de,Xiaomi Redmi Note 10,"1859832948338",7679273579,10,5,3,2,0,0,not enough data,No,included in service price,0,2023-02-14,,,
                1bdffdc8-3a8a-4c64-b363-1645d14dc3de,WITTCHEN Walizka kabinowa,"2746650558857,1859832948337",7679273578,10,5,3,2,0,0,not enough data,No,-,0,2023-02-14,,,
                31554f43-4b9x-6j59-6bc5-262hvg151nhb,iPad 6,4152861518618,2352342316,10,10,0,0,0,0,0,Yes,included in service price,0,2023-02-14,14.90,10,2023-02-21,10
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: getFulfillmentStock
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
  /fulfillment/orders/{orderId}/parcels:
    get:
      summary: "Get list of shipped parcels"
      description: 'Use this resource to get list of parcels and included items for a given order. Items include detailed information such as expiration dates and serial numbers. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#jak-obslugiwac-zamowienia" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#how-to-handle-orders" target="_blank">EN</a>.'
      parameters:
          - name: orderId
            in: path
            description: The Allegro's platform order identifier.
            required: true
            schema:
              type: string
              format: uuid
      tags:
          - Fulfillment Parcels
      responses:
          '200':
              description: Returns list of parcels shipped by warehouse in a given order.
              content:
                  application/vnd.allegro.public.v1+json:
                      schema:
                          $ref: '#/components/schemas/FulfillmentOrder'
          '404':
              description: Not Found
          '401':
              description: User not authenticated or token is expired
      operationId: getFulfillmentOrderParcels
      security:
          - bearer-token-for-user:
              - allegro:api:fulfillment:read
  /fulfillment/available-products:
    get:
      summary: 'Get list of available products'
      description: >-
        Use this resource to get a list of products that can be added to Advance Ship Notice.
        The list contains products for which the seller has created offers and is ordered by product's name. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#sprawdz-dostepne-produkty-do-awizacji" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#check-available-products-for-asn" target="_blank">EN</a>.
      parameters:
        - name: Accept-Language
          in: header
          required: false
          description: Expected language of product name translation.
          example: "pl-PL"
          schema:
            type: string
            format: BCP-47 language code
            default: "en-US"
            enum:
              - "en-US"
              - "pl-PL"
              - "uk-UA"
        - name: offset
          in: query
          description: The offset of elements in the response.
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: limit
          in: query
          description: Maximum number of elements in response.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
      tags:
        - Fulfillment Products
      responses:
        '200':
          description: Returns list of products that can be added to Advance Ship Notice.
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/AvailableProductsList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsHolder'
      operationId: getAvailableProducts
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read
  /fulfillment/advance-ship-notices/{id}/receiving-state:
    get:
      summary: 'Check current state and details of Advance Ship Notice receiving'
      description: >-
        Use this resource to check the state of Advance Ship Notice receiving in Fulfillment Center in real time. The response contains a receiving progress and information about particular items - their quantities and conditions.
        While the Advance Ship Notice is in UNPACKING state, report is updated dynamically,
        which might result in different responses even at short time intervals. Read more: <a href="../../tutorials/one-fulfillment-by-allegro-0ADwgOLqWSw#sprawdz-postep-odbioru-awizo-przez-magazyn" target="_blank">PL</a> / <a href="../../tutorials/one-fulfillment-by-allegro-4R9dXyMPlc9#check-current-state-and-details-of-advance-ship-notice-receiving" target="_blank">EN</a>.
      tags:
        - Advance Ship Notices
      parameters:
        - name: id
          in: path
          description: An identifier of advance ship notice.
          required: true
          schema:
            type: string
            format: uuid
            default: 712fa46c-7d4a-4ba0-b094-b5d1d4f6155d
      responses:
        '200':
          description: Returns the state of Advance Ship Notice receiving in Fulfillment Center
          content:
            application/vnd.allegro.public.v1+json:
              schema:
                $ref: '#/components/schemas/ReceivingState'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found (ASN doesn't exist or is in state DRAFT or IN_TRANSIT)
      operationId: getAdvanceShipNoticeReceivingState
      security:
        - bearer-token-for-user:
            - allegro:api:fulfillment:read

components:
  securitySchemes:
    bearer-token-for-user:
      type: oauth2
      description: >-
        For more information <a href="../../tutorials/uwierzytelnianie-i-autoryzacja-zlq9e75GdIR#authorization-code-flow" target="_blank">PL</a> / <a href="../../tutorials/authentication-and-authorization-m09BlVyo7iY#authorization-code-flow" target="_blank">EN</a> to read about authorization code flow
        or <a href="../../tutorials/uwierzytelnianie-i-autoryzacja-zlq9e75GdIR#device-flow" target="_blank">PL</a> / <a href="../../tutorials/authentication-and-authorization-m09BlVyo7iY#device-flow" target="_blank">EN</a> to read about the device code flow.
      flows:
        authorizationCode:
          authorizationUrl: https://allegro.pl/auth/oauth/authorize
          tokenUrl: https://allegro.pl/auth/oauth/token
          scopes: {}
        x-deviceCode:
          authorizationUrl: https://allegro.pl/skojarz-aplikacje
          tokenUrl: https://allegro.pl/auth/oauth/token
          scopes: {}
    bearer-token-for-application:
      type: oauth2
      description: For more information, see <a href="../../tutorials/uwierzytelnianie-i-autoryzacja-zlq9e75GdIR#clientcredentials-flow" target="_blank">PL</a> / <a href="../../tutorials/authentication-and-authorization-m09BlVyo7iY#clientcredentials-flow" target="_blank">EN</a>.
      flows:
        clientCredentials:
          tokenUrl: https://allegro.pl/auth/oauth/token
          scopes: {}
  requestBodies:
    Pos:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/Pos'
      description: Point of service
      required: true
    OfferAttachmentRequest:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/OfferAttachmentRequest'
      description: offer attachment
      required: true
    AdditionalServicesGroupRequest:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/AdditionalServicesGroupRequest'
      description: Additional service group body
      required: true
    VariantSetRequest:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/VariantSet'
          examples:
            offerParameterOnly:
              summary: 'offer parameter only'
              value:
                name: 't-shirt'
                offers:
                  - id: '2'
                  - id: '3'
                parameters:
                  - id: '21'
            colorPatternParameterOnly:
              summary: 'color/pattern parameter only'
              value:
                name: 't-shirt'
                offers:
                  - id: '2'
                    colorPattern: 'red'
                  - id: '4'
                    colorPattern: 'blue'
                parameters:
                  - id: 'color/pattern'
            offerAndColorPatternParameters:
              summary: 'offer and color/pattern parameters'
              value:
                name: 't-shirt'
                offers:
                  - id: '2'
                    colorPattern: 'red'
                  - id: '3'
                    colorPattern: 'red'
                  - id: '4'
                    colorPattern: 'blue'
                  - id: '5'
                    colorPattern: 'blue'
                parameters:
                  - id: 'color/pattern'
                  - id: '21'
      required: true
    MessageRequest:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/MessageRequest'
      description: Message request
      required: true
    AttachmentDeclaration:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/AttachmentDeclaration'
      description: A detailed declaration of a file to be uploaded
      required: true
    OfferImageUploadRequest:
      required: true
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/OfferImageLinkUploadRequest'
        image/jpeg:
          schema:
            type: string
            format: binary
            description: File in a binary format
        image/png:
          schema:
            type: string
            format: binary
            description: File in a binary format
        image/webp:
          schema:
            type: string
            format: binary
            description: File in a binary format
    UserRatingAnswerRequest:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/UserRatingAnswerRequest'
      description: 'User rating answer request.'
      required: true
    UserRatingRemovalRequest:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/UserRatingRemovalRequest'
      description: 'User rating removal request.'
      required: true
    PromoOptionsCommand:
      content:
        application/vnd.allegro.public.v1+json:
          schema:
            $ref: '#/components/schemas/PromoOptionsCommand'
      description: 'Promo packages modification command request.'
      required: true
  schemas:
    BillingEntries:
      type: object
      properties:
        billingEntries:
          type: array
          description: List of billing types.
          items:
            $ref: '#/components/schemas/BillingEntry'
    BillingEntry:
      properties:
        id:
          type: string
          format: uuid
          description: ID of the returned billing entry.
          example: '09f0b4cc-7880-11e9-8f9e-2a86e4085a59'
        occurredAt:
          type: string
          format: date-time
          description: Date of billing entry.
          example: '2019-05-08T09:45:32.818Z'
        type:
          type: object
          properties:
            id:
              type: string
              description: Three-letter code of the billing type of the returned billing entry.
              example: 'LIS'
            name:
              type: string
              description: Billing type of the returned billing entry.
                This type is translated based on the value of the "Accept-Language" header.
                By default a message in English is returned.
              example: 'Listing fee'
        offer:
          type: object
          description: Offer associated with the returned billing entry.
          properties:
            id:
              type: string
              description: ID of the offer associated with the billing entry.
              example: '12345678'
            name:
              type: string
              description: Name of the offer associated with the billing entry.
              example: 'offer name'
        value:
          type: object
          description: Money value of the returned billing entry.
          properties:
            amount:
              type: string
              description: Monetary amount of the returned billing entry.
              example: '100.00'
            currency:
              type: string
              description: Three-letter currency code (ISO-4217) of the returned billing entry.
              example: 'PLN'
        tax:
          type: object
          description: Tax rate applied to the returned billing entry.
            Optional field percentage is present if the returned billing entry is subject to tax.
            In this case, annotation is not returned.
            Optional field annotation is present if the returned billing entry
            is exempt from tax or tax is not applicable; the possible value is "OUT_OF_SCOPE".
            In this case, percentage is not returned.
          properties:
            percentage:
              type: string
              description: Optional tax rate shown as a number in the range 0-100.
              example: '0'
            annotation:
              type: string
              description: Optional annotation explaining the tax rate.
              example: 'OUT_OF_SCOPE'
        balance:
          type: object
          description: User account balance calculated on billing date.
          properties:
            amount:
              type: string
              description: Monetary amount of the balance calculated for the returned billing entry.
              example: '100.00'
            currency:
              type: string
              description: Three-letter currency code (ISO-4217) of the balance of the returned billing entry.
              example: 'PLN'
        order:
          type: object
          description: Order associated with the returned billing entry.
          properties:
            id:
              type: string
              description: Order id
              format: uuid
              example: '09f0b4cc-7880-11e9-8f9e-2a86e4085a59'
    BillingType:
      properties:
        id:
          type: string
          format: string
          description: ID of the billing type.
          example: 'SUC'
        description:
          type: string
          format: string
          description: Localized type name.
          example: 'Prowizja od sprzedaży'
    InitializeRefund:
      required:
        - payment
        - reason
      properties:
        payment:
          $ref: '#/components/schemas/RefundPayment'
        reason:
          type: string
          description: Reason for a payment refund.
          enum:
            - "REFUND"
            - "COMPLAINT"
            - "PRODUCT_NOT_AVAILABLE"
            - "PAID_VALUE_TOO_LOW"
            - "OVERPAID"
            - "CANCELLED_BY_BUYER"
            - "NOT_COLLECTED"
        lineItems:
          type: array
          description: List of order's line items which can be refunded.
          items:
            $ref: '#/components/schemas/RefundLineItem'
        delivery:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/RefundDeliveryValue'
          description: Payment refund for delivery.
        overpaid:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/RefundOverpaidValue'
          description: Payment refund for overpaid.
        surcharges:
          type: array
          description: List of surcharges for payment which can be refunded.
          items:
            $ref: '#/components/schemas/PaymentsSurcharge'
        additionalServices:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/RefundAdditionalServicesValue'
          description: Payment refund for additional services.
        sellerComment:
          type: string
          description: Sellers optional justification for refund.
          maxLength: 250
          example: 'Example seller comment.'
    RefundClaim:
      type: object
      description: Detailed information about the refund application.
      properties:
        id:
          type: string
          format: uuid
          description: ID of the returned refund application.
          example: '09f0b4cc-7880-11e9-8f9e-2a86e4085a59'
        status:
          type: string
          description: >-
            Status of the returned refund application.
            - `IN_PROGRESS` - the application is being processed or awaits user or admin action.
            - `WAITING_FOR_PAYMENT_REFUND` - the application is being processed and awaits payment refund to buyer.
            - `GRANTED` - the application was accepted and a commission refund was granted as requested,
              or the application was rejected and the seller successfully appealed.
            - `REJECTED` - the application was rejected and no commission was refunded.
            - `REJECTED_AFTER_APPEAL` - the application was initially rejected and the seller unsuccessfully appealed.
            - `CANCELLED` - the application was cancelled by the seller.
            - `APPEALED` - the application was rejected and the seller appealed, but the appeal has not yet finished processing.
          enum:
            - "IN_PROGRESS"
            - "WAITING_FOR_PAYMENT_REFUND"
            - "GRANTED"
            - "REJECTED"
            - "REJECTED_AFTER_APPEAL"
            - "CANCELLED"
            - "APPEALED"
        quantity:
          type: integer
          minimum: 1
          format: int32
          description: Quantity of product for which the seller filed the refund application.
        commission:
          type: object
          description: Money value of the returned refund application.
          properties:
            amount:
              type: number
              description: Monetary amount of the returned refund application.
              example: 100.00
            currency:
              type: string
              description: Three-letter currency code (ISO-4217) of the returned refund application.
              example: 'PLN'
        buyer:
          type: object
          description: Buyer associated with the refund application.
          properties:
            id:
              type: string
              description: ID of the buyer associated with the refund application.
              example: '12345678'
            login:
              type: string
              description: Login of the buyer associated with the refund application.
              example: 'JanKowalski'
        createdAt:
          type: string
          format: date-time
          description: Date when the refund application was created.
        lineItem:
          type: object
          description: Purchase associated with the refund application.
          properties:
            id:
              type: string
              description: ID of the purchase associated with the refund application.
              example: '09f0b4cc-7880-11e9-8f9e-2a86e4085a59'
            quantity:
              type: integer
              minimum: 1
              format: int32
              description: Total quantity of product purchased by the buyer.
                Equal to or greater than quantity for which the seller filed the refund application.
            boughtAt:
              type: string
              format: date-time
              description: Date when the purchase was made.
            offer:
              type: object
              description: Offer associated with the purchase.
              properties:
                id:
                  type: string
                  description: ID of the offer associated with the purchase.
                  example: '12345678'
                name:
                  type: string
                  description: Name of the offer associated with the purchase.
        type:
          type: string
          description: >-
            Type of commission refund application.
            - `MANUAL` - the application was created manually by the seller.
            - `AUTOMATIC` - the application was created automatically.
          enum:
            - "MANUAL"
            - "AUTOMATIC"
    RefundClaimRequest:
      type: object
      properties:
        lineItem:
          type: object
          description: Purchase for which a refund application will be created.
          properties:
            id:
              type: string
              description: ID of the purchase for which a refund application will be created.
        quantity:
          type: integer
          minimum: 1
          format: int32
          description: Quantity of product for which the refund application will be created. Must be greater than zero.
    RefundClaimResponse:
      type: object
      properties:
        id:
          type: string
          description: ID of created claim.
    RefundDetails:
      type: object
      description: Detailed information about the refund.
      required:
        - id
        - payment
        - reason
        - status
        - createdAt
        - totalValue
      properties:
        id:
          type: string
          format: uuid
          description: The payment refund identifier.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
        payment:
          $ref: '#/components/schemas/RefundPayment'
        reason:
          type: string
          description: Reason for a payment refund.
          enum:
            - "REFUND"
            - "COMPLAINT"
            - "PRODUCT_NOT_AVAILABLE"
            - "PAID_VALUE_TOO_LOW"
            - "OVERPAID"
            - "CANCELLED_BY_BUYER"
            - "NOT_COLLECTED"
        status:
          type: string
          description: Current status of payment refund.
          enum:
            - "SUCCESS"
            - "CANCELED"
            - "PARTIAL"
            - "IN_PROGRESS"
            - "VALIDATED"
            - "VALIDATE_FAILED"
            - "NEW"
        createdAt:
          type: string
          format: date-time
          example: '2017-05-17T08:36:57.292+02:00'
          description: Date and time when the refund was created provided in ISO 8601 format.
        totalValue:
          $ref: '#/components/schemas/RefundTotalValue'
        lineItems:
          type: array
          description: List of order's line items which can be refunded.
          items:
            $ref: '#/components/schemas/RefundLineItem'
        delivery:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/RefundDeliveryValue'
          description: Payment refund for delivery.
        overpaid:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/RefundOverpaidValue'
          description: Payment refund for overpaid.
        surcharges:
          type: array
          description: List of surcharges for payment which can be refunded.
          items:
            $ref: '#/components/schemas/PaymentsSurcharge'
        additionalServices:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/RefundAdditionalServicesValue'
          description: Payment refund for additional services.
        sellerComment:
          type: string
          description: Sellers optional justification for refund.
          maxLength: 250
          example: 'Example seller comment.'
    RefundLineItem:
      type: object
      required:
        - id
        - type
      properties:
        id:
          type: string
          format: uuid
          description: The line-item identifier.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
        type:
          type: string
          description: Type for line items refund. QUANTITY is provided when you can refund one or more items. AMOUNT is provided when you can refund a partial price.
          example: QUANTITY
          enum:
            - "AMOUNT"
            - "QUANTITY"
        quantity:
          type: number
          minimum: 0
          example: 5
          description: This field is provided for QUANTITY type only. It specifies how many items will be refunded.
        value:
          required:
            - amount
            - currency
          type: object
          nullable: true
          description: This field is available for AMOUNT type only and specifies the amount refunded to the customer.
          example: null
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
            currency:
              type: string
              description: The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217).
    RefundPayment:
        type: object
        description: Payment affected by refund operation.
        title: RefundPayment
        properties:
          id:
            type: string
            format: uuid
            description: The payment identifier.
            example: a6bee8b2-8b4e-11e9-8918-07b31163120a
    CustomerReturnRefundRejectionRequest:
      type: object
      required:
        - rejection
      properties:
        rejection:
          type: object
          description: Refund rejection
          required:
            - code
          properties:
            code:
              type: string
              description: Refund rejection code
              enum:
                - REFUND_REJECTED
                - NEW_ITEM_SENT
                - ITEM_FIXED
                - MISSING_PART_SENT
            reason:
              type: string
              description: Refund rejection reason, required when code is REFUND_REJECTED
              example: Returned item is damaged.
              minLength: 1
              maxLength: 250
    CustomerReturnResponse:
      type: object
      required:
        - count
        - customerReturns
      properties:
        count:
          type: integer
          format: int64
          example: 1
        customerReturns:
          type: array
          description: List of matching customer returns.
          items:
            $ref: '#/components/schemas/CustomerReturn'
    CustomerReturn:
      type: object
      properties:
        id:
          type: string
          example: 'a3405c27-b01c-4357-9bea-e13925708b46'
        createdAt:
          type: string
          format: date-time
          example: '2020-01-11T09:36:57.00Z'
        referenceNumber:
          type: string
          example: '1234/Z04A'
        orderId:
          type: string
          example: 'a3405c27-b01c-4357-9bea-e13925708b46'
        buyer:
          $ref: '#/components/schemas/CustomerReturnBuyer'
        items:
          type: array
          description: List of returned items.
          items:
            $ref: '#/components/schemas/CustomerReturnItem'
        refund:
          $ref: '#/components/schemas/CustomerReturnRefund'
        parcels:
          type: array
          description: List of returned parcels.
          items:
            $ref: '#/components/schemas/CustomerReturnReturnParcel'
        rejection:
          $ref: '#/components/schemas/CustomerReturnRejection'
        marketplaceId:
          type: string
          description: The marketplace ID where operation was made.
          example: 'allegro-pl'
        status:
          type: string
          description: >-
            Current return timeline statuses.
            The allowed values are:
              * CREATED - The return has been declared,
              * DISPATCHED - The returned items have been dispatched,
              * IN_TRANSIT - The returned items are in transit,
              * DELIVERED - The returned items have been delivered,
              * FINISHED - The payment has been refunded, return process is finished,
              * REJECTED - The return has been rejected,
              * COMMISSION_REFUND_CLAIMED - The sales commission refund (transaction rebate) application has been claimed,
              * COMMISSION_REFUNDED - The sales commission was refunded,
              * WAREHOUSE_DELIVERED - The returned items have been delivered to Allegro Warehouse,
              * WAREHOUSE_VERIFICATION - The returned items are under verification.
          example: 'DELIVERED'
    CustomerReturnRejection:
      type: object
      properties:
        code:
          type: string
          description: Refund rejection code
          enum:
            - REFUND_REJECTED
            - NEW_ITEM_SENT
            - ITEM_FIXED
            - MISSING_PART_SENT
        reason:
          type: string
          description: Reason of refund cancellation.
          example: Returned item is damaged.
        createdAt:
          type: string
          format: date-time
          example: '2020-01-11T09:36:57.663+01:00'
    CustomerReturnBuyer:
      type: object
      properties:
        email:
          type: string
          example: 'user-email@allegro.pl'
        login:
          type: string
          example: 'User_Login'
    CustomerReturnItem:
      type: object
      properties:
        offerId:
          type: string
          example: '3e895572-9297-4d80-b151-353deb95bff6'
        quantity:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: 'Product name'
        price:
          $ref: '#/components/schemas/Price'
        url:
          type: string
          example: 'https://allegro.pl/oferta/item-name-7678887152'
        reason:
          $ref: '#/components/schemas/CustomerReturnItemReason'
    CustomerReturnRefund:
      type: object
      properties:
        bankAccount:
          $ref: '#/components/schemas/CustomerReturnRefundBankAccount'
    CustomerReturnReturnParcel:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
          example: '2020-01-11T09:36:57.663+01:00'
        waybill:
          type: string
          example: '627350807040020111873644'
        carrierId:
          type: string
          example: 'INPOST'
        sender:
          $ref: '#/components/schemas/CustomerReturnParcelSender'
    CustomerReturnItemReason:
      type: object
      properties:
        type:
          type: string
          description: 'Possible values: "NONE", "MISTAKE", "TRANSPORT", "DAMAGED", "NOT_AS_DESCRIBED", "DONT_LIKE_IT", "OVERDUE_DELIVERY", "INCOMPLETE", "HIDDEN_FLAW", "OTHER_FLAW", "DIFFERENT".'
          example: 'MISTAKE'
        userComment:
          type: string
          example: 'Purchased by mistake'
    CustomerReturnRefundBankAccount:
      type: object
      properties:
        owner:
          type: string
          example: '0000001abc'
        accountNumber:
          type: string
          example: '40114000003382916456018050'
        iban:
          type: string
          example: 'PL40114000003382916456018050'
        swift:
          type: string
          example: 'ALBPPLPW'
        address:
          $ref: '#/components/schemas/CustomerReturnRefundBankAccountAddress'
    CustomerReturnRefundBankAccountAddress:
      type: object
      properties:
        street:
          type: string
          example: 'Jasna'
        city:
          type: string
          example: 'Warsaw'
        postCode:
          type: string
          example: '24-200'
        countryCode:
          type: string
          example: 'PL'
    CustomerReturnParcelSender:
      type: object
      properties:
        phoneNumber:
          type: string
          example: '333444555'
    PaymentsSurcharge:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The payment identifier.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
        value:
          $ref: '#/components/schemas/RefundSurchargeValue'
    AdditionalServiceDefinitionRequest:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          example: GIFT_WRAP
    AdditionalServiceRequest:
      type: object
      required:
        - configurations
        - definition
        - description
      properties:
        definition:
          $ref: '#/components/schemas/AdditionalServiceDefinitionRequest'
        description:
          type: string
          maxLength: 1000
        configurations:
          type: array
          items:
            $ref: '#/components/schemas/Configuration'
    AdditionalServiceResponse:
      type: object
      properties:
        configurations:
          type: array
          items:
            $ref: '#/components/schemas/Configuration'
        definition:
          $ref: '#/components/schemas/BasicDefinitionResponse'
        description:
          type: string
          description: 'This is a description provided by merchant while configuring additional service group.'
          example: Wrap as a gift in pretty colours paper
    AdditionalServicesGroup:
      type: object
      properties:
        id:
          type: string
          description: Id of additional service group
    AdditionalServicesGroupRequest:
      type: object
      required:
        - additionalServices
        - name
        - language
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 100
          description: 'Name of the group provided by merchant, invisible for buyers.'
          example: Gift wrap only
        language:
            type: string
            minLength: 5
            maxLength: 5
            example: pl-PL
            description: >-
              IETF language tag. Must be equal to main language for given marketplace: 'pl-PL' on allegro.pl and 'cs-CZ' on allegro.cz while creating new group.<br/>
              Cannot change the language of already created group while modifying existing group.
        additionalServices:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalServiceRequest'
    AdditionalServicesGroupResponse:
      type: object
      properties:
        additionalServices:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalServiceResponse'
        createdAt:
          type: string
          format: date-time
        id:
          type: string
        updatedAt:
          type: string
          format: date-time
        name:
          type: string
          description: 'Name of the group provided by merchant, invisible for buyers.'
          example: Gift wrap only
        seller:
          $ref: '#/components/schemas/Reference'
        language:
            type: string
            minLength: 5
            maxLength: 5
            example: pl-PL
            description: IETF language tag.
            nullable: true
    AdditionalServicesGroups:
      type: object
      properties:
        additionalServicesGroups:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalServicesGroupResponse'

    AdditionalServicesGroupTranslationRequest:
      type: object
      properties:
        additionalServices:
          $ref: '#/components/schemas/AdditionalServicesGroupTranslationWrapper'

    AdditionalServicesGroupTranslationWrapper:
      type: object
      properties:
        translation:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalServiceTranslation'

    AdditionalServiceTranslation:
      type: object
      properties:
        definition:
          $ref: '#/components/schemas/AdditionalServiceDefinitionRequest'
        description:
          type: string
          description: 'Description of an additional service - provided by merchants and visible by customers.'
          example: Wrap product in a nice colours paper.

    AdditionalServiceGroupTranslationResponse:
      type: object
      properties:
        translations:
          "type": array
          "items":
            $ref: '#/components/schemas/AdditionalServiceGroupTranslation'

    AdditionalServiceGroupTranslation:
      type: object
      properties:
        language:
          type: string
          example: pl-PL
          description: IETF language tag.
        additionalServices:
          $ref: '#/components/schemas/AdditionalServicesGroupTranslationWrapperWithType'

    AdditionalServicesGroupTranslationWrapperWithType:
      type: object
      properties:
        translation:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalServiceTranslation'
        type:
          type: string
          description: Type of translation.
          enum:
            - 'MANUAL'
            - 'AUTO'

    AdditionalServiceGroupTranslationPatchResponse:
      type: object
      properties:
        language:
          type: string
          example: pl-PL
          description: IETF language tag.
        additionalServices:
          $ref: '#/components/schemas/AdditionalServicesGroupTranslationWrapperWithType'

    Address:
      type: object
      required:
        - city
        - countryCode
        - state
        - zipCode
      properties:
        street:
          type: string
          maxLength: 80
        city:
          type: string
          maxLength: 40
        zipCode:
          type: string
          maxLength: 10
        state:
          type: string
          maxLength: 40
        countryCode:
          type: string
          format: ISO format
          example: "PL"
        coordinates:
          $ref: '#/components/schemas/Coordinates'
#    AdditionalMarketplaces:
#      type: object
#      description: Settings for each additional marketplace.
#      additionalProperties:
#        x-additionalPropertiesName: marketplace id
#        $ref: '#/components/schemas/OfferAdditionalMarketplace'
#      example: {
#        'allegro-cz': {
#          'publication': {
#            'status': 'APPROVED'
#          },
#          'sellingMode': {
#            'price': {
#              'amount': '639.37',
#              'currency': 'CZK'
#            }
#          }
#        }
#      }
    OfferAdditionalMarketplace:
      type: object
      description: Additional marketplace settings.
      properties:
        publication:
          $ref: '#/components/schemas/AdditionalMarketplacePublication'
        sellingMode:
          $ref: '#/components/schemas/AdditionalMarketplaceSellingMode'
    AdditionalMarketplacePublication:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/AdditionalMarketplacePublicationStatus'
    AdditionalMarketplacePublicationStatus:
      type: string
      description: >-
        The publication status of the offer on additional marketplace. The possible values:

          - *NOT_REQUESTED* - seller has not declared a willingness to list this offer on given marketplace
          - *PENDING* - seller declared a willingness to list this offer on given marketplace, but the process has not started yet; e.g. the offer is not published yet
          - *IN_PROGRESS* - we process the offer's qualification for given marketplace; the offer is not listed yet
          - *APPROVED* - the offer is approved to list on given marketplace
          - *REFUSED* - the offer is refused to list on given marketplace
      enum:
        - 'NOT_REQUESTED'
        - 'PENDING'
        - 'IN_PROGRESS'
        - 'APPROVED'
        - 'REFUSED'
      example:
        'APPROVED'
    AdditionalMarketplaceSellingMode:
      type: object
      description: "Offer's selling mode on given marketplace"
      required:
        - price
      properties:
        price:
          $ref: '#/components/schemas/Price'
    AfterSalesServices:
      type: object
      description: The definitions of the different after sales services assigned to the offer.
      properties:
        impliedWarranty:
          $ref: '#/components/schemas/ImpliedWarranty'
        returnPolicy:
          $ref: '#/components/schemas/ReturnPolicy'
        warranty:
          $ref: '#/components/schemas/Warranty'
    AfterSalesServicesAttachment:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The Id of the attachment.
          example: 54702c96-4ccd-4c0e-b4c7-382a71e810b5
        name:
          type: string
          description: Attachment file name.
        url:
          type: string
          description: Direct link to the attachment.
    ImpliedWarranty:
      type: object
      description: The implied warranty information.
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the implied warranty definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
    ReturnPolicy:
      type: object
      description: The return policy information.
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the return policy definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
    Warranty:
      type: object
      description: The warranty information.
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the warranty definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
    WarrantyRequest:
      type: object
      properties:
        name:
          type: string
          description: Warranty name.
          maxLength: 200
        type:
          $ref: '#/components/schemas/WarrantyType'
        individual:
          $ref: '#/components/schemas/WarrantyPeriod'
        corporate:
          $ref: '#/components/schemas/WarrantyPeriod'
        attachment:
          $ref: '#/components/schemas/WarrantyAttachment'
        description:
          type: string
          maxLength: 10240
          description: Warranty description.
    WarrantyResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the warranty definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
        seller:
          $ref: '#/components/schemas/Seller'
        name:
          type: string
          description: Warranty name.
          maxLength: 200
        type:
          $ref: '#/components/schemas/WarrantyType'
        individual:
          $ref: '#/components/schemas/WarrantyPeriod'
        corporate:
          $ref: '#/components/schemas/WarrantyPeriod'
        attachment:
          $ref: '#/components/schemas/AfterSalesServicesAttachment'
        description:
          type: string
          description: Warranty description.
    WarrantyType:
      type: string
      description: Defines who is warrantor.
      enum:
        - 'MANUFACTURER'
        - 'SELLER'
    WarrantyPeriod:
      type: object
      properties:
        period:
          type: string
          description: Period in ISO 8601 format.
          example: 'P12M'
        lifetime:
          type: boolean
          description: Indices if it is lifetime warranty.
          example: false
    WarrantyAttachment:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The Id of the attachment received in a response from *POST /afters-sales-service-conditions/attachments*
          example: 54702c96-4ccd-4c0e-b4c7-382a71e810b5
        name:
          type: string
          description: Attachment file name
          example: 'warranty.pdf'
    ImpliedWarrantyRequest:
      type: object
      properties:
        name:
          type: string
          description: Warranty name.
          maxLength: 200
        individual:
          $ref: '#/components/schemas/ImpliedWarrantyPeriod'
        corporate:
          $ref: '#/components/schemas/ImpliedWarrantyPeriod'
        address:
          $ref: '#/components/schemas/AfterSalesServicesAddress'
        description:
          type: string
          maxLength: 10240
          description: Implied warranty description.
    ImpliedWarrantyResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the implied warranty definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
        seller:
          $ref: '#/components/schemas/Seller'
        name:
          type: string
          description: Implied warranty name.
          maxLength: 200
        individual:
          $ref: '#/components/schemas/ImpliedWarrantyPeriod'
        corporate:
          $ref: '#/components/schemas/ImpliedWarrantyPeriod'
        address:
          $ref: '#/components/schemas/AfterSalesServicesAddress'
        description:
          type: string
          description: Implied warranty description.
    ImpliedWarrantyPeriod:
      type: object
      properties:
        period:
          type: string
          description: Period in ISO 8601 format. Only periods in full years are accepted.
          example: 'P2Y'
    AfterSalesServicesAddress:
      type: object
      required:
        - name
        - street
        - postCode
        - city
        - countryCode
      properties:
        name:
          type: string
          maxLength: 200
          description: Company or person name.
          example: "Allegro.pl sp. z o.o."
        street:
          type: string
          maxLength: 200
          description: Street name.
          example: "Grunwaldzka 182"
        postCode:
          type: string
          description: Post code.
          example: '11-232'
        city:
          type: string
          maxLength: 200
          description: City name.
          example: "Poznań"
        countryCode:
          type: string
          description: Country code.
          example: "PL"
    ReturnPolicyAddress:
      type: object
      required:
        - name
        - street
        - postCode
        - city
        - countryCode
      properties:
        name:
          type: string
          description: Company or person name. Length is dependent on specified 'countryCode' - for CZ and SK length is equal to 50 characters, for other countries - 200.
          example: "Allegro.pl sp. z o.o."
        street:
          type: string
          description: Street name. Length is dependent on specified 'countryCode' - for PL, CZ and SK length is equal to 35 characters, for other countries - 200.
          example: "Grunwaldzka 182"
        postCode:
          type: string
          description: Post code format is dependent on 'countryCode' - PL='XX-XXX', CZ='XXX XX', SK='XXX XX' for other countries format is less restrictive - 16 characters alphanumeric with ' '(space) and '-' allowed.
          example: '11-232'
        city:
          type: string
          description: City name. Length is dependent on specified 'countryCode' - for PL, CZ and SK length is equal to 30 characters, for other countries - 200.
          example: "Poznań"
        countryCode:
          type: string
          description: Country code.
          example: "PL"
    ReturnPolicyRequest:
      type: object
      required:
        - name
        - availability
        - returnCost
        - address
        - options
      properties:
        name:
          type: string
          description: Return policy name.
          maxLength: 200
        availability:
          $ref: '#/components/schemas/ReturnPolicyAvailability'
        withdrawalPeriod:
          type: string
          description: Period in ISO 8601 format. Only periods in full days are accepted.
          example: 'P14D'
        returnCost:
          $ref: '#/components/schemas/ReturnPolicyReturnCost'
        address:
          $ref: '#/components/schemas/ReturnPolicyAddress'
        contact:
          $ref: '#/components/schemas/ReturnPolicyContact'
        options:
          $ref: '#/components/schemas/ReturnPolicyOptions'
    ReturnPolicyResponse:
      type: object
      required:
        - name
        - availability
        - returnCost
        - address
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the return policy definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
        seller:
          $ref: '#/components/schemas/Seller'
        name:
          type: string
          description: Return policy name.
          maxLength: 200
        availability:
          $ref: '#/components/schemas/ReturnPolicyAvailability'
        withdrawalPeriod:
          type: string
          description: Period in ISO 8601 format.
          example: 'P14D'
        returnCost:
          $ref: '#/components/schemas/ReturnPolicyReturnCost'
        address:
          $ref: '#/components/schemas/ReturnPolicyAddress'
        description:
          type: string
          maxLength: 10240
          description: Return policy description.
        contact:
          $ref: '#/components/schemas/ReturnPolicyContact'
        options:
          $ref: '#/components/schemas/ReturnPolicyOptions'
    ReturnPolicyAvailability:
      type: object
      properties:
        range:
          type: string
          description: Indicates if return policy is full, restricted or disabled.
          example: 'RESTRICTED'
          enum:
            - 'FULL'
            - 'RESTRICTED'
            - 'DISABLED'
        restrictionCause:
          $ref: '#/components/schemas/RestrictionCause'
    RestrictionCause:
      type: object
      properties:
        name:
          type: string
          description: Type of return policy restrictions. Required if range of policy is set to RESTRICTED or DISABLED, otherwise must be empty. Selected restriction depends on the chosen range of policy. Read more info [PL](https://developer.allegro.pl/tutorials/jak-zarzadzac-ofertami-7GzB2L37ase#jak-zarzadzac-warunkami-zwrotow) / [EN](https://developer.allegro.pl/tutorials/how-to-process-list-of-offers-m09BKA5v8H3#how-to-manage-return-policies).
          enum:
            - 'SEALED_MEDIA'
            - 'SEALED_ITEM_NO_RETURN_DUE_HEALTH_OR_HYGIENE'
            - 'CUSTOM_ITEM'
            - 'SHORT_SHELF_LIFE'
            - 'INSEPARABLY_LINKED'
            - 'PRESS'
            - 'MEDICINAL_PRODUCT'
            - 'NOT_RECORDED_DIGITAL_CONTENT'
            - 'VALUE_DEPENDENT_ON_FINANCIAL_MARKET'
        description:
          type: string
    ReturnPolicyReturnCost:
      type: object
      properties:
        coveredBy:
          type: string
          description: Indicates who covers the return delivery costs.
          enum:
            - 'SELLER'
            - 'BUYER'
    ReturnPolicyContact:
      type: object
      properties:
        phoneNumber:
          type: string
          description: A valid phone number of the seller
          nullable: true
          example: '123 123 123'
        email:
          type: string
          description: A valid email address of the seller
          nullable: true
          example: 'useridentifier@domain.com'
    ReturnPolicyOptions:
      type: object
      required:
        - cashOnDeliveryNotAllowed
        - refundLoweredByReceivedDiscount
        - businessReturnAllowed
        - collectBySellerOnly
        - freeAccessoriesReturnRequired
      properties:
        cashOnDeliveryNotAllowed:
          type: boolean
          description: Order sent back with cash on pickup is not allowed
          example: true
        freeAccessoriesReturnRequired:
          type: boolean
          description: If free accessories were added to the order, the client needs to send them back
          example: true
        refundLoweredByReceivedDiscount:
          type: boolean
          description: If there was a discount granted after the order, the return is lowered by the received discount
          example: true
        businessReturnAllowed:
          type: boolean
          description: Returns for B2B purchases allowed
          example: false
        collectBySellerOnly:
          type: boolean
          description: Return items are picked up by the seller
          example: false
    Attachment:
      type: object
      properties:
        id:
          type: string
          description: The ID of an attachment received in a response from *POST /sale/offer-attachments*
          example: 1928302_MANUAL_45d7a0f543e1b0d05e12a1aef5642efe63389a1d419fe9286d0f158044391fdce
    UserRatingAnswerRequest:
      type: object
      description: "Answer for user's rating."
      required:
        - message
      properties:
        message:
          type: string
          description: 'Answer message.'
          maxLength: 500
    Answer:
      type: object
      description: 'Seller''s answer, if null seller did not publish answer'
      required:
        - createdAt
        - message
      properties:
        createdAt:
          type: string
          example: '2017-05-17T08:36:57.292Z'
          description: Answer creation datetime in ISO 8601 format
        message:
          type: string
          description: Answer message
    AvailableConstraint:
      type: object
      properties:
        type:
          type: string
          nullable: true
          description: 'One of the type COUNTRY_SAME_QUANTITY or COUNTRY_DELIVERY_SAME_QUANTITY'
        availableDeliveryMethods:
          type: array
          nullable: true
          description: 'All delivery methods ids, which are available for given additional service.'
          items:
            type: string
    AverageRates:
      type: object
      properties:
        delivery:
          type: number
          format: double
          example: 4.7
          description: The average value of delivery rate.
          minimum: 0
          maximum: 5
        deliveryCost:
          type: number
          format: double
          example: 5
          description: The average value of delivery cost rate.
          minimum: 0
          maximum: 5
        description:
          type: number
          format: double
          example: 4.5
          description: The average value of description rate.
          minimum: 0
          maximum: 5
        service:
          type: number
          format: double
          example: 4.8
          description: The average value of service rate.
          minimum: 0
          maximum: 5
      description: >-
        The rates broken down into detailed categories. Note that this information is only available if the seller
        has received enough detailed ratings.
    BasicDefinitionResponse:
      type: object
      properties:
        id:
          type: string
          description: 'Id of an additional service definition.'
          example: GIFT_WRAP
    Benefit:
      type: object
      required:
        - specification
      properties:
        specification:
          $ref: '#/components/schemas/BenefitSpecification'
    BenefitSpecification:
      type: object
      description: "One of: LargeOrderDiscountBenefitSpecification, WholesalePriceListBenefitSpecification, BundleBenefitSpecification, MultiPackBenefitSpecification"
      properties:
        type:
          type: string
          description: Type of benefit.
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          LARGE_ORDER_DISCOUNT:  '#/components/schemas/LargeOrderDiscountBenefitSpecification'
          WHOLESALE_PRICE_LIST: '#/components/schemas/WholesalePriceListBenefitSpecification'
          ORDER_FIXED_DISCOUNT: '#/components/schemas/BundleBenefitSpecification'
          UNIT_PERCENTAGE_DISCOUNT: '#/components/schemas/MultiPackBenefitSpecification'
    LargeOrderDiscountBenefitSpecification:
      allOf:
        - $ref: "#/components/schemas/BenefitSpecification"
        - type: object
          required:
            - thresholds
          properties:
            type:
              type: string
              default: 'LARGE_ORDER_DISCOUNT'
            thresholds:
              type: array
              description: 'List of order discount thresholds. A threshold with a higher orderValue.lowerBound.amount than another one must also have a higher discount.percentage.'
              items:
                type: object
                required:
                  - orderValue
                  - discount
                properties:
                  orderValue:
                    type: object
                    required:
                      - lowerBound
                    properties:
                      lowerBound:
                        $ref: '#/components/schemas/Price'
                  discount:
                    type: object
                    required:
                      - percentage
                    properties:
                      percentage:
                        type: string
                        example: "5"
                        description: 'Discount percentage applied when the threshold is applied. The fractional part must be equal to 0.'
    WholesalePriceListBenefitSpecification:
      allOf:
        - $ref: "#/components/schemas/BenefitSpecification"
        - type: object
          required:
            - name
            - thresholds
          properties:
            type:
              type: string
              default: 'WHOLESALE_PRICE_LIST'
            name:
              type: string
              description: 'Price list name (visible to you only).'
              example: "Cardboard boxes"
            thresholds:
              type: array
              description: 'List of discount thresholds. A threshold with a higher quantity.lowerBound than another must also have a higher discount.percentage.'
              items:
                type: object
                required:
                  - quantity
                  - discount
                properties:
                  quantity:
                    type: object
                    required:
                      - lowerBound
                    properties:
                      lowerBound:
                        type: number
                        example: 100
                        minimum: 2
                        maximum: 100000
                        description: 'Minimum number of units of an offer for which the threshold is applicable.'
                  discount:
                    type: object
                    required:
                      - percentage
                    properties:
                      percentage:
                        type: string
                        example: "5"
                        description: 'Discount percentage applied when the threshold is applied. The fractional part must be equal to 0.'
    BundleBenefitSpecification:
      allOf:
        - $ref: "#/components/schemas/BenefitSpecification"
        - type: object
          required:
            - price
          properties:
            type:
              type: string
              default: 'ORDER_FIXED_DISCOUNT'
            value:
              $ref: '#/components/schemas/Price'
    MultiPackBenefitSpecification:
      allOf:
        - $ref: "#/components/schemas/BenefitSpecification"
        - type: object
          required:
            - configuration
            - trigger
          properties:
            type:
              type: string
              default: 'UNIT_PERCENTAGE_DISCOUNT'
            configuration:
              type: object
              description: What rebate will be given.
              required:
                - percentage
              properties:
                percentage:
                  type: number
                  minimum: 1
                  example: 100
                  description: discount percentage
            trigger:
              description: Describes what will cause the rebate.
              type: object
              required:
                - forEachQuantity
                - discountedNumber
              properties:
                forEachQuantity:
                  type: number
                  minimum: 1
                  description: >-
                    For every pack of this quantity new rebate will be given.
                  example: 3
                discountedNumber:
                  type: number
                  minimum: 1
                  description: Describes how many offers in pack should be discounted by discount percentage.
                  example: 1
    Caption:
      type: object
      required:
        - index
        - value
      properties:
        index:
          type: string
        value:
          type: string
      title: Caption
    CategoriesDto:
      type: object
      description: The list of categories.
      properties:
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryDto'
    Category:
      type: object
      properties:
        id:
          type: string
          description: 'Category identifier.'
          example: '257931'
    OfferCategoryRequest:
      type: object
      allOf:
        - $ref: '#/components/schemas/Category'
      description: >-
        Category in which the offer is listed for sale.
        You can indicate a category from the product's 'similar categories' to set the offer's category.
    OfferCategory:
      type: object
      allOf:
        - $ref: '#/components/schemas/Category'
      description: 'The category to which the offer is listed for sale.'
    ProductCategory:
      type: object
      allOf:
          - $ref: '#/components/schemas/Category'
      description: 'Product category'
    CategoryDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            The ID of the category. This can be either in UUID format or an integer format. You should be ready to
            accept any string value as the category ID.
          example: "12"
        leaf:
          type: boolean
          description: Indicates whether the category is at the lowest level. Leaf categories do not have any children. Offers can be listed only in leaf categories.
        name:
          type: string
          description: Name of the category in Polish.
          example: Pozostałe
        options:
          $ref: '#/components/schemas/CategoryOptionsDto'
        parent:
          type: object
          properties:
            id:
              type: string
              description: The ID of the parent category.
              example: "709"
          description: The parent category data.
      description: The category data.
    CategoryOptionsDto:
      type: object
      properties:
        advertisement:
          type: boolean
          description: Indicates whether offers of type ADVERTISEMENT can be listed in this category.
        advertisementPriceOptional:
          type: boolean
          description: >-
            Indicates whether advertisements listed in this category must have a price given. If the value is `true`
            then you don't have to provide a price when listing an advertisement in this category.
        variantsByColorPatternAllowed:
          type: boolean
          description: >-
            Indicates whether you can combine offers from this category into variant sets based on the color and
            pattern.
        offersWithProductPublicationEnabled:
          type: boolean
          description: Information whether the category supports assigning offers to a product.
        productCreationEnabled:
          type: boolean
          description: Indicates whether the category supports creating products.
        customParametersEnabled:
          type: boolean
          description: Indicates whether custom parameters can be added to offers in this category.
        sellerCanRequirePurchaseComments:
          type: boolean
          description: Indicates whether the category supports message to seller in `REQUIRED` mode.
      description: A list of the different options which can be used with this category.
    CategorySuggestionCategoryNode:
      type: object
      description: Category suggestion category object.
      properties:
        id:
          type: string
          example: "2"
          description: ID of category.
        name:
          type: string
          example: Samochody Osobowe
          description: Category name.
        parent:
          $ref: '#/components/schemas/CategorySuggestionCategoryNode'
      required:
        - id
        - name
    CategorySuggestionResponse:
      type: object
      required:
        - matchingCategories
      properties:
        matchingCategories:
          type: array
          description: List of categories matching with given phrase.
          items:
            $ref: '#/components/schemas/CategorySuggestionCategoryNode'
      example:
        matchingCategories:
          - id: "2"
            name: "Samochody Osobowe"
            parent:
              id: "1"
              name: Motoryzacja
              parent: null
    UnfilledParametersResponse:
      type: object
      properties:
        offers:
          type: array
          description: 'List of offers unfilled parameters.'
          items:
            type: object
            properties:
              id:
                type: string
                description: 'Identifier of the offer.'
                example: '8888203028'
              parameters:
                type: array
                description: 'List of unfilled parameters.'
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: 'Parameter identifier.'
                      example: '14228'
              category:
                type: object
                description: 'Category of offer with unfilled parameters'
                properties:
                  id:
                    type: string
                    description: 'Category identifier.'
                    example: '257931'
        count:
          type: integer
          minimum: 0
          description: 'Number of returned elements.'
          example: 3
        totalCount:
          type: integer
          minimum: 0
          description: 'Total number of available elements.'
          example: 256
    CategoryParametersScheduledChangesResponse:
      type: object
      required:
        - scheduledChanges
      properties:
        scheduledChanges:
          type: array
          description: The list of scheduled changes.
          items:
            $ref: '#/components/schemas/CategoryParametersScheduledBaseChange'
    CategoryParametersScheduledBaseChange:
      type: object
      required:
        - type
        - scheduledAt
        - scheduledFor
      description: The data of an scheduled change.
      properties:
        scheduledAt:
          type: string
          format: date-time
          description: The date and time when the change was scheduled, provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          example: "2019-06-26T15:26:43.891Z"
        scheduledFor:
          type: string
          format: date-time
          description: The date and time when the change will be effective from, provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          example: "2019-07-26T15:26:43.891Z"
        type:
          type: string
          description: The type of the change.
          example: "REQUIREMENT_CHANGE"
      discriminator:
        propertyName: type
        mapping:
          REQUIREMENT_CHANGE: '#/components/schemas/RequirementChange'
    RequirementChange:
      allOf:
        - $ref: '#/components/schemas/CategoryParametersScheduledBaseChange'
        - type: object
          required:
            - category
            - parameter
          properties:
            type:
              type: string
              default: 'REQUIREMENT_CHANGE'
            category:
              $ref: '#/components/schemas/CategoryParametersScheduledBaseChangeCategory'
            parameter:
              $ref: '#/components/schemas/CategoryParametersScheduledBaseChangeParameter'
    CategoryParametersScheduledBaseChangeCategory:
      type: object
      description: Category parameter scheduled change category data.
      properties:
        id:
          type: string
          description: >-
            The ID of the category. This can be either in UUID format or an integer format. You should be ready to
            accept any string value as the category ID.
          example: "165"
    CategoryParametersScheduledBaseChangeParameter:
      type: object
      description: Category parameter scheduled change parameter data.
      properties:
        id:
          type: string
          description: >-
            The ID of the Parameter. This can be either in UUID format or an integer format. You should be ready to
            accept any string value as the parameter ID.
          example: "11323"
    CategoryEventsResponse:
      type: object
      required:
        - events
      properties:
        events:
          type: array
          description: The list of events.
          items:
            $ref: '#/components/schemas/CategoryBaseEvent'
    CategoryBaseEvent:
      type: object
      required:
        - id
        - type
        - occurredAt
      description: The data of an event.
      properties:
        id:
          type: string
          description: The ID of the event. It can be used in the `from` parameter of the query.
          example: "MTEzMjQzODU3NA"
          maxLength: 256
        occurredAt:
          type: string
          format: date-time
          description: The date and time when the change occurred, provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          example: "2019-06-26T15:26:43.891Z"
        type:
          type: string
          description: The type of the change.
          example: "CATEGORY_CREATED"
      discriminator:
        propertyName: type
        mapping:
          CATEGORY_CREATED: '#/components/schemas/CategoryCreatedEvent'
          CATEGORY_RENAMED: '#/components/schemas/CategoryRenamedEvent'
          CATEGORY_MOVED: '#/components/schemas/CategoryMovedEvent'
          CATEGORY_DELETED: '#/components/schemas/CategoryDeletedEvent'
    CategoryCreatedEvent:
      allOf:
        - $ref: '#/components/schemas/CategoryBaseEvent'
        - type: object
          required:
            - category
          properties:
            type:
              type: string
              default: 'CATEGORY_CREATED'
            category:
              $ref: '#/components/schemas/CategoryEventBaseCategory'
    CategoryRenamedEvent:
      allOf:
        - $ref: '#/components/schemas/CategoryBaseEvent'
        - type: object
          required:
            - category
          properties:
            type:
              type: string
              default: 'CATEGORY_RENAMED'
            category:
              $ref: '#/components/schemas/CategoryEventBaseCategory'
    CategoryMovedEvent:
      allOf:
        - $ref: '#/components/schemas/CategoryBaseEvent'
        - type: object
          required:
            - category
          properties:
            type:
              type: string
              default: 'CATEGORY_MOVED'
            category:
              $ref: '#/components/schemas/CategoryEventBaseCategory'
    CategoryDeletedEvent:
      allOf:
        - $ref: '#/components/schemas/CategoryBaseEvent'
        - type: object
          required:
            - category
          properties:
            type:
              type: string
              default: 'CATEGORY_DELETED'
            category:
              $ref: '#/components/schemas/CategoryEventBaseCategory'
            redirectCategory:
              type: object
              description: Category that should be used instead of deleted one.
              properties:
                id:
                  type: string
                  description: The ID of the category.
                  example: "7"
    CategoryEventBaseCategory:
      type: object
      description: Category event category data.
      properties:
        id:
          type: string
          description: >-
            The ID of the category. This can be either in UUID format or an integer format. You should be ready to
            accept any string value as the category ID.
          example: "165"
        leaf:
          type: boolean
          description: Indicates whether the category is at the lowest level. Leaf categories do not have any children. Offers can be listed only in leaf categories.
        name:
          type: string
          description: Name of the category.
          example: Smartphones and Cell Phones
        parent:
          type: object
          description: The parent category data.
          properties:
            id:
              type: string
              description: The ID of the parent category.
              example: "4"
    CompatibilityListSupportedCategoriesDto:
      type: object
      properties:
        supportedCategories:
          type: array
          description: 'List with information about categories where compatibility list is supported. <a href=" https://developer.allegro.pl/compatibility_list/" target="_blank">Read more</a>.'
          items:
            type: object
            properties:
              categoryId:
                type: string
                description: 'Identifier of the category, where you can use
                              the compatibility list in an offer listed in the category or
                              in all subcategories, which belongs to returned category.'
                example: '620'
              name:
                type: string
                description: 'Name of supported category.'
                example: 'Części samochodowe'
              itemsType:
                type: string
                description: 'Type of the compatible item.'
                example: 'CAR'
              inputType:
                type: string
                enum: [TEXT, ID]
                description: 'Type of the representation of compatible item.
                              <ul>
                                <li>`TEXT` - item on compatibility list has to be provided as plain text.</li>
                                <li>`ID` - item on compatibility list has to be provided as identifier of compatible product.
                                    To obtain it please use <a href="/documentation/#tag/Compatibility-List/paths/~1sale~1compatible-products/get">compatible-products</a> resource together with `itemsType` supported in particular category.
                                </li>
                              </ul>
                              '
                example: 'TEXT'
              validationRules:
                type: object
                description: 'Additional information about constraints assigned to the category.'
                properties:
                  maxRows:
                    type: integer
                    minimum: 1
                    description: 'Maximum number of items allowed on compatibility list.'
                    example: 2000
                  maxCharactersPerLine:
                    type: integer
                    minimum: 1
                    description: 'Maximum length of single item on the list.'
                    example: 160
          example:
              - categoryId: '620'
                name: 'Części samochodowe'
                itemsType: 'CAR'
                inputType: 'ID'
                validationRules:
                  maxRows: 2000
              - categoryId: '257358'
                name: 'Pióra wycieraczek'
                itemsType: 'CAR'
                inputType: 'ID'
                validationRules:
                  maxRows: 2000
              - categoryId: '158'
                name: 'Części motocyklowe'
                itemsType: 'MOTORCYCLE_EXPLODED'
                inputType: 'ID'
                validationRules:
                  maxRows: 2000
              - categoryId: '9108'
                name: 'Tusze'
                itemsType: 'PRINTER'
                inputType: 'TEXT'
                validationRules:
                  maxRows: 200
                  maxCharactersPerLine: 100
    CompatibleProductsGroupsDto:
      type: object
      properties:
        groups:
          type: array
          description: 'List of groups for given type of compatible products.'
          items:
            type: object
            properties:
              id:
                type: string
                description: 'Identifier of the group.'
                minLength: 32
                maxLength: 32
                example: 'b0dfe6de8fb2f2b1309ad94c6cc4e09d'
              text:
                type: string
                description: 'Name of the group.'
                example: 'ABARTH'
          example:
            - id: 'b0dfe6de8fb2f2b1309ad94c6cc4e09d'
              text: 'ABARTH'
            - id: '4144e097d2fa7a491cec2a7a4322f2bc'
              text: 'AC'
            - id: 'de3e2253f276cd1c757f58860d77b9bb'
              text: 'ACURA'
        count:
          type: integer
          minimum: 0
          description: 'Number of returned elements.'
          example: 3
        totalCount:
          type: integer
          minimum: 0
          description: 'Total number of available elements.'
          example: 256
    CompatibleProductsListDto:
      type: object
      properties:
        compatibleProducts:
          type: array
          description: 'List of compatible products for given type and parameters.'
          items:
            $ref: '#/components/schemas/CompatibleProductDto'
          example:
            - id: 'fc1058e6-a901-4b58-be4d-3d7e1368f63e'
              text: 'AUDI A6 (4G2, 4GC, C7) 2014/09-2018/09 3.0 TDI quattro 326KM/240kW'
              group:
                id: '19d71c872aa6c78663876a7e7bc7776d'
              attributes:
                - id: 'POWER_KW'
                  values:
                    - '240'
                - id: 'MODEL_FROM'
                  values:
                    - '2010/11'
                - id: 'BRAND'
                  values:
                    - 'AUDI'
                - id: 'POWER_HP'
                  values:
                    - '326'
                - id: 'MODEL_TO'
                  values:
                    - '2018/09'
                - id: 'ENGINE_CODE'
                  values:
                    - 'CVUB'
                - id: 'K_TYP_NR'
                  values:
                    - '108441'
                - id: 'VERSION_FROM'
                  values:
                    - '2014/09'
                - id: 'VERSION_TO'
                  values:
                    - '2018/09'
                - id: 'MODEL'
                  values:
                    - 'A6 (4G2, 4GC, C7)'
                - id: 'BODY'
                  values:
                    - 'sedan'
                - id: 'TYPE'
                  values:
                    - '3.0 TDI quattro'
        count:
          type: integer
          minimum: 0
          description: 'Number of returned elements.'
          example: 1
        totalCount:
          type: integer
          minimum: 0
          description: 'Total number of available elements.
                        Field is not present when `phrase` parameter is used.'
          example: 1448
    CompatibleProductDto:
      type: object
      properties:
        id:
          type: string
          description: 'Identifier of the compatible product.'
          example: 'fc1058e6-a901-4b58-be4d-3d7e1368f63e'
        text:
          type: string
          description: 'Textual representation of the compatible product.'
          example: 'AUDI A6 (4G2, 4GC, C7) 2014/09-2018/09 3.0 TDI quattro 326KM/240kW'
        group:
          type: object
          description: 'Group to which compatible product is assigned to.'
          properties:
            id:
              type: string
              description: 'Identifier of the group.'
              example: '19d71c872aa6c78663876a7e7bc7776d'
        attributes:
          type: array
          description: "List of compatible products attributes."
          items:
            type: object
            properties:
              id:
                type: string
                description: "Identifier of an attribute"
                example: "BRAND"
              values:
                type: array
                description: "List of attribute's values."
                items:
                  type: string
                  example: "AUDI"
          example:
            - id: 'BRAND'
              values:
                - 'AUDI'
    Cells:
      type: object
      required:
        - cells
      properties:
        cells:
          type: array
          items:
            type: string
      title: Cells
    Rules:
      type: object
      required:
        - rules
      properties:
        rules:
          type: array
          description: List of rules.
          items:
            type: object
            required:
              - id
              - type
              - updatedAt
            properties:
              id:
                $ref: '#/components/schemas/PriceAutomationRuleId'
              type:
                $ref: '#/components/schemas/PriceAutomationRuleType'
              updatedAt:
                type: string
                format: date-time
                description: 'The date the rule was last modified in ISO 8601 format.'
                example: '2023-03-23T15:45:02Z'
    OfferRules:
      type: object
      required:
        - rules
        - updatedAt
      properties:
        rules:
          type: array
          description: List of assigned rules.
          items:
            type: object
            required:
              - marketplace
              - rule
              - updatedAt
            properties:
              marketplace:
                type: object
                required:
                  - id
                properties:
                  id:
                    $ref: '#/components/schemas/MarketplaceId'
              rule:
                type: object
                required:
                  - id
                  - type
                properties:
                  id:
                    $ref: '#/components/schemas/PriceAutomationRuleId'
                  type:
                    $ref: '#/components/schemas/PriceAutomationRuleType'
              updatedAt:
                type: string
                format: date-time
                description: 'The date the rule assignment to offer.marketplace was last modified in ISO 8601 format.'
                example: '2023-03-23T15:45:02Z'
        updatedAt:
          type: string
          format: date-time
          description: 'The date the rule assignments to offer were last modified in ISO 8601 format.'
          example: '2023-03-23T15:45:02Z'
    OfferPriceAutomationCommand:
      type: object
      required:
        - modification
        - offerCriteria
      properties:
        id:
          type: string
          format: uuid
          description:
            'The Command identifier. This field is optional.
            If the client does not provide their own command id then the service will generate a command id and return it in the response.'
          example: 123a08d7-ab9b-460d-b9cb-d6ed64b3a018
        modification:
          oneOf:
            - $ref: '#/components/schemas/OfferPriceAutomationModificationSet'
            - $ref: '#/components/schemas/OfferPriceAutomationModificationRemove'
        offerCriteria:
          type: array
          description: List of offer criteria.
          items:
            $ref: '#/components/schemas/OfferCriterium'
    OfferPriceAutomationModificationSet:
      type: object
      properties:
        set:
          type: array
          description: List of marketplaces to which the rules will be added.
          items:
            type: object
            required:
              - marketplace
              - rule
            properties:
              marketplace:
                type: object
                required:
                  - id
                properties:
                  id:
                    $ref: '#/components/schemas/MarketplaceId'
              rule:
                type: object
                required:
                  - id
                properties:
                  id:
                    $ref: '#/components/schemas/PriceAutomationRuleId'
    OfferPriceAutomationModificationRemove:
      type: object
      properties:
        remove:
          type: array
          description: List of marketplaces from which rules will be removed.
          items:
            type: object
            required:
              - marketplace
            properties:
              marketplace:
                type: object
                required:
                  - id
                properties:
                  id:
                    $ref: '#/components/schemas/MarketplaceId'
    PriceAutomationRuleId:
      type: string
      description: Identifier of a price automation rule.
      example: "641c73feaef0a8281a3d11f8"
    PriceAutomationRuleType:
      type: string
      description: The rule type.
      enum:
        - EXCHANGE_RATE
    ChangePrice:
      type: object
      required:
        - input
      properties:
        id:
          type: string
          format: uuid
          description: The unique command id provided in the input.
          example: "6365996a-6cae-11e9-a923-1681be663d3e"
        input:
          $ref: '#/components/schemas/ChangePriceInput'
        output:
          $ref: '#/components/schemas/CommandOutput'
    ChangePriceInput:
      type: object
      required:
        - buyNowPrice
      properties:
        buyNowPrice:
          $ref: '#/components/schemas/Price'
      description: The input of the command, i.e. the new Buy Now price for the offer.
    ChangePriceWithoutOutput:
      type: object
      required:
        - input
      properties:
        id:
          type: string
          format: uuid
          description: The unique command id generated by you. This should be the same UUID as used in the path.
          example: "6365996a-6cae-11e9-a923-1681be663d3e"
        input:
          $ref: '#/components/schemas/ChangePriceInput'
    CommandOutput:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ProcessingStatus'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      description: The output of the command.
    CommandTask:
      type: object
      properties:
        field:
          type: string
          description: Modified field as JSON path.
        message:
          type: string
          description: General fail reason. You should check the errors structure to get more detailed information of the encountered errors.
        offer:
          $ref: '#/components/schemas/OfferId'
        status:
          type: string
          description: 'Available statuses: NEW, SUCCESS, FAIL'
        errors:
          description: The list of error objects explaining the problems with command processing for the given offer.
          type: array
          items:
            $ref: '#/components/schemas/Error'
      description: Status of single command task.
    CompatibilityList:
      type: object
      properties:
        type:
          type: string
          default: 'MANUAL'
          description: 'Type of the compatibility list, two values are acceptable: `MANUAL`, `PRODUCT_BASED`.
                        <ul>
                          <li>`MANUAL` -  for offers not associated with product - compatibility list is created with
                                          items provided by user directly in the body of the request.</li>
                          <li>`PRODUCT_BASED` - for offers associated with product - if compatibility list is provided in
                                                the product details (GET/sale/products/{productId}), it needs to
                                                be included in the offer in unchanged form.
                          </li>
                        </ul>'
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          MANUAL: '#/components/schemas/CompatibilityListManual'
          PRODUCT_BASED: '#/components/schemas/CompatibilityListProductBased'
    CompatibilityListProductOfferResponse:
      type: object
      properties:
        type:
          type: string
          default: 'MANUAL'
          description: 'Type of the compatibility list, two values are acceptable: `MANUAL`, `PRODUCT_BASED`.
                            <ul>
                              <li>`MANUAL` -  for offers not associated with product - compatibility list is created with
                                              items provided by user directly in the body of the request.</li>
                              <li>`PRODUCT_BASED` - for offers associated with product - if compatibility list is provided in
                                                    the product details (GET/sale/products/{productId}), it needs to
                                                    be included in the offer in unchanged form.
                              </li>
                            </ul>'
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          MANUAL: '#/components/schemas/CompatibilityListManual'
          PRODUCT_BASED: '#/components/schemas/CompatibilityListProductBasedProductOfferResponse'
    CompatibilityListManual:
      allOf:
      - $ref: '#/components/schemas/CompatibilityList'
      - $ref: '#/components/schemas/CompatibilityListManualType'
    CompatibilityListManualType:
      type: object
      required:
        - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CompatibilityListItem'
          description: 'List of the compatible items.
                           Maximum number of elements on the list depends on type of included compatible items.
                           Configuration and details concerning the compatible items in selected category are provided in the response for GET
                           <a href="/documentation/#tag/Compatibility-List/paths/~1sale~1compatibility-list~1supported-categories/get">
                           supported-categories</a> resource in `validationRules` object.'
    CompatibilityListProductBased:
      allOf:
      - $ref: '#/components/schemas/CompatibilityList'
      - type: object
        required:
        - id
        properties:
          id:
            type: string
            description: 'Id of product-based compatibility list.'
            example: '460b2511-b786-47b9-9d7e-1f868728cfd6-f103931434fbf4aa06764f3df74d371df23aa138a9cd46dbe570f51af79db1c4-2'
          items:
            type: array
            items:
              $ref: '#/components/schemas/CompatibilityListItemProductBased'
            description: 'Text representation of the compatibility list items. Provided for informational purposes only -
                            ignored when creating (Post) or updating (Put) compatibility list in the offer.'
    CompatibilityListProductBasedProductOfferResponse:
      allOf:
        - $ref: '#/components/schemas/CompatibilityList'
        - type: object
          required:
            - id
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/CompatibilityListItemProductBased'
              description: 'Text representation of the compatibility list items. Provided for informational purposes only -
                            ignored when creating (Post) or updating (Put) compatibility list in the offer.'
    CompatibilityListItem:
      type: object
      properties:
        type:
          type: string
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          TEXT: '#/components/schemas/CompatibilityListTextItem'
          ID: '#/components/schemas/CompatibilityListIdItem'
      example:
        type: "TEXT"
        text: 'CITROËN C6 (TD_) 2005/09-2011/12 2.7 HDi 204KM/150kW'
    CompatibilityListItemProductBased:
      type: object
      properties:
        text:
          type: string
          description: "Text description of the compatible item."
          example: "AUDI 90 (89, 89Q, 8A, B3) 1988/06-1991/09 2.3 E 20V quattro 170KM/125kW 1501"
    CompatibilityListTextItem:
      allOf:
        - $ref: '#/components/schemas/CompatibilityListItem'
        - type: object
          required:
            - text
          properties:
            type:
              type: string
              default: "TEXT"
            text:
              type: string
              description: 'Text description of the compatible item.
                Maximum length of the text depends on category where compatible item is used.
                Should be used in categories where TEXT version of compatible list is supported.
                See <a href="/documentation/#tag/Compatibility-List/paths/~1sale~1compatibility-list~1supported-categories/get">
                supported-categories</a> resource. <a href="../../compatibility_list" target="_blank">Read more</a>.'
              example: 'CITROËN C6 (TD_) 2005/09-2011/12 2.7 HDi 204KM/150kW'
    CompatibilityListIdItem:
      allOf:
        - $ref: '#/components/schemas/CompatibilityListItem'
        - type: object
          required:
            - id
          properties:
            type:
              type: string
              default: "ID"
            id:
              type: string
              description: 'Id of the compatible item. Should be used in categories
                            where ID version of compatible list is supported.
                            See <a href="/documentation/#tag/Compatibility-List/paths/~1sale~1compatibility-list~1supported-categories/get">
                            supported-categories</a> resource. <a href="../../compatibility_list" target="_blank">Read more</a>.'
              example: '0006563f-f2b9-44ea-ae67-4678679be1f1'
            text:
              type: string
              description: 'Text description of the compatible item. When creating (Post) or updating (Put) a compatibility list the field is ignored.'
              example: 'CITROËN C6 (TD_) 2005/09-2011/12 2.7 HDi 204KM/150kW'
            additionalInfo:
              type: array
              items:
                $ref: '#/components/schemas/CompatibilityListIdItemAdditionalInfo'
              description: 'Details of the compatible item represented by ID.'
    CompatibilityListIdItemAdditionalInfo:
      type: object
      required:
        - value
      properties:
        value:
          type: string
          description: 'Additional information describing the compatible item. E.g. for cars it can be an engine code or an equipment version.'
          example: 'only for versions with BDX engine code'
    Configuration:
      type: object
      properties:
        constraintCriteria:
          $ref: '#/components/schemas/ConstraintCriteria'
        price:
          $ref: '#/components/schemas/Price'
    ConstraintCriteria:
      type: object
      properties:
        country:
          type: string
        type:
          type: string
          enum:
            - COUNTRY_SAME_QUANTITY
            - COUNTRY_DELIVERY_SAME_QUANTITY
          description: 'Constraint type. COUNTRY_SAME_QUANTITY is used by additional services that are realised before shipping (e.g. GIFT_WRAP), while COUNTRY_DELIVERY_SAME_QUANTITY is for additional services that are realised in delivery (e.g. CARRY_IN).'
        deliveryMethods:
          type: array
          items:
            $ref: '#/components/schemas/JustId'
          description: 'This is used by additional services that are realised in transport (e.g. CARRY_IN), and this field exists together with COUNTRY_DELIVERY_SAME_QUANTITY constraint type. It describes which delivery methods can realise particular service.'
    ContactRequest:
      type: object
      properties:
        name:
          type: string
          maxLength: 250
        emails:
          type: array
          maxItems: 1
          items:
            $ref: '#/components/schemas/EmailRequest'
        phones:
          type: array
          maxItems: 2
          items:
            $ref: '#/components/schemas/PhonesRequest'
    ContactResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        emails:
          type: array
          items:
            $ref: '#/components/schemas/EmailResponse'
        phones:
          type: array
          items:
            $ref: '#/components/schemas/PhonesResponse'
    ContactResponseList:
      type: object
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/ContactResponse'
    Coordinates:
      type: object
      required:
        - lat
        - lon
      properties:
        lat:
          type: number
          minimum: -90
          maximum: 90
          format: double
        lon:
          type: number
          minimum: -180
          maximum: 180
          format: double
    CategoriesResponse:
      type: object
      properties:
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryResponse'
    DeliveryBasic:
      type: object
      properties:
        additionalInfo:
          type: string
          maxLength: 650
          deprecated: true
          description: >-
            Additional information about delivery.
            Parameter is deprecated and will be removed in the future.
            Additional information is only visible on marketplace `allegro-pl`.
        handlingTime:
          type: string
          example: PT24H
          description: >-
            Handling time, ISO 8601 duration format.
            This field must be set to one of the following:
            PT0S for immediately, PT24H, P2D, P3D, P4D, P5D, P7D, P10D, P14D, P21D, P30D, P60D.
        shippingRates:
          $ref: '#/components/schemas/JustId'
    DeliveryFull:
      allOf:
        - $ref: '#/components/schemas/DeliveryBasic'
        - type: object
          properties:
            shipmentDate:
              type: string
              format: date-time
              example: '2018-04-01T08:00:00Z'
              description: 'Shipment date, Format (ISO 8601) - yyyy-MM-dd''T''HH:mm:ss.SSSZ'
    DescriptionSection:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/DescriptionSectionItem'
    DescriptionSectionItem:
      type: object
      description: 'One of: TextItem, ImageItem'
      properties:
        type:
          type: string
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          TEXT: '#/components/schemas/DescriptionSectionItemText'
          IMAGE: '#/components/schemas/DescriptionSectionItemImage'
    DescriptionSectionItemText:
      allOf:
        - $ref: '#/components/schemas/DescriptionSectionItem'
        - type: object
          properties:
            type:
              type: string
              default: 'TEXT'
            content:
              type: string
    DescriptionSectionItemImage:
      allOf:
        - $ref: '#/components/schemas/DescriptionSectionItem'
        - type: object
          properties:
            type:
              type: string
              default: 'IMAGE'
            url:
              type: string
    EmailRequest:
      type: object
      properties:
        address:
          type: string
          maxLength: 128
          description: The contact's email address. The user part (before `@`) cannot be longer than 64 characters.
    EmailResponse:
      type: object
      properties:
        address:
          type: string
    Error:
      type: object
      properties:
        code:
          type: string
          description: The error code. You can use this code when contacting us about any problems with our systems.
          example: "NotAcceptableException"
        details:
          type: string
          nullable: true
          description: >-
            For some cases, this field provides more details regarding the error. This field can be empty.
          example: ''
        message:
          type: string
          description: >-
            A message directed to the developer of the program. This message will always be in English and give you
            some more technical details on what exactly has happened.
          example: Not acceptable representation requested. Please check 'Accept' request header
        path:
          type: string
          nullable: true
          description: >-
            This field will point to a specific field in object if the error is connected to a problem with such specific
            field. This field can be empty
          example: ''
        userMessage:
          type: string
          description: >-
            The message that can be presented directly to your user. It will not contain any technical information. This
            message is translated based on the value of the "Accept-Language" header. By default message in English is
            returned.
          example: The request contains incorrect data. Contact the author of the application.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: >-
            Additional technical properties of this error. Set of possible keys depends on the specific error.
          example: {"productId": "13232515"}
          # DEVELOPMENT HINT
          # When adding a new metadata field, add a table to respective error response description.
          # See Response 422 of PATCH /sale/product-offers/{offerId} for real-life example
          # Preferred table format:
          # <table>
          #  <caption>Error metadata fields</caption>
          #  <thead>
          #   <tr>
          #    <th>Error code</th>
          #    <th>Metadata key</th>
          #    <th>Description</th>
          #   </tr>
          #  </thead>
          #  <tbody>
          #   <tr>
          #    <td rowspan="2">PARAMETER_MISMATCH</td>
          #    <td>productId</td>
          #    <td>ID of an existing product that was matched to your request, but has parameter differences</td>
          #   </tr>
          #   <tr>
          #    <td>parameterId</td>
          #    <td>ID of problematic parameter</td>
          #   </tr>
          #  </tbody>
          # </table>
    Errors:
      type: array
      description: The list of all the error objects explaining the error.
      items:
        $ref: '#/components/schemas/Error'
    ErrorsHolder:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/Errors'
      title: ErrorsHolder
    AuthError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Authorization error code
          example: "unauthorized"
        error_description:
          type: string
          description: Authorization error message
          example: "Full authentication is required to access this resource"
    Fee:
      type: object
      properties:
        amount:
          type: string
        currency:
          type: string
      title: Fee
    CategoryResponse:
      type: object
      properties:
        name:
          type: string
          description: 'Name of the additional services category.'
          example: 'Installation/assembly services'
        definitions:
          type: array
          items:
            $ref: '#/components/schemas/CategoryDefinitionResponse'
    CategoryDefinitionResponse:
      type: object
      properties:
        id:
          type: string
          description: 'Id of additional service definition.'
          example: 'CARRY_IN'
        name:
          type: string
          description: 'Name of additional service definition, that should be shown to the customer.'
          example: 'Home delivery'
        description:
          $ref: '#/components/schemas/CategoryDefinitionDescriptionResponse'
        maxPrice:
          $ref: '#/components/schemas/Price'
        availableConstraints:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/AvailableConstraint'
        updatedAt:
          type: string
          format: date-time
          nullable: true
    CategoryDefinitionDescriptionResponse:
      type: object
      properties:
        hint:
          type: string
          nullable: true
          description: 'Hint for the seller for better description for customers.'
          example: 'Describe how you gonna pack product as a gift, what paper you use etc.'
        editable:
          type: boolean
          description: "Determines whether the description of additional service can be set by the seller, or it's provided by Allegro and cannot be changed."
        default:
          type: string
          nullable: true
          description: 'Default description of special additional service, provided by Allegro.'
          example: 'Home delivery and installation/assembly of refrigerator, changing door opening direction, disassembly of used equipment, collection of used equipment.'
    FeePreviewResponse:
      type: object
      properties:
        commissions:
          type: array
          description: 'An array of commissions.'
          items:
            $ref: '#/components/schemas/CommissionResponse'
        quotes:
          type: array
          description: 'An array of quotes.'
          items:
            $ref: '#/components/schemas/QuoteResponse'
    CommissionResponse:
      properties:
        name:
          type: string
          description: 'Commission fee name.'
          example: 'Prowizja od sprzedaży'
        type:
          type: string
          description: 'Commission fee type.'
          example: 'commissionFee'
        fee:
          $ref: '#/components/schemas/Price'
    QuoteResponse:
      type: object
      properties:
        name:
          type: string
          description: 'Quote fee name.'
          example: 'Opłata za wystawienie'
        type:
          type: string
          description: 'Quote fee type.'
          example: 'listingFee'
        fee:
          $ref: '#/components/schemas/Price'
        cycleDuration:
          type: string
          description: 'Duration in ISO 8601 format.'
          example: 'PT240H'
        classifiedsPackage:
          $ref: '#/components/schemas/ClassifiedPackage'
    GeneralReport:
      type: object
      properties:
        id:
          type: string
          description: Command ID
        createdAt:
          type: string
          format: date-time
          description: >-
            Date of command creation. Format (ISO 8601) -
            yyyy-MM-dd'T'HH:mm:ss.SSSZ
        completedAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            Date of command completion. Format (ISO 8601) -
            yyyy-MM-dd'T'HH:mm:ss.SSSZ
        taskCount:
          $ref: '#/components/schemas/TaskCount'
      description: Command execution summary
    Header:
      type: object
      required:
        - name
      properties:
        name:
          type: string
      title: Header
    ImageUrl:
      type: object
      properties:
        url:
          type: string
      description: Image url
    ImpliedWarrantyBasic:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    JustId:
      type: object
      properties:
        id:
          type: string
    ExternalId:
      type: object
      description: The information on the offer in an external system.
      properties:
        id:
          type: string
          maxLength: 100
          description: The ID of the offer in the external system.
          example: "AH-129834"
    Location:
      type: object
      description: for offer with a delivery method it is a parcel dispatch location. For offers with personal pick-up it is a pick-up location, additionally we recommend to use points of service (<a href="../../documentation/#tag/Points-of-service" target="_blank">https://developer.allegro.pl/documentation/#tag/Points-of-service</a>)
      properties:
        city:
          type: string
          maxLength: 50
        countryCode:
          type: string
          maxLength: 2
          example: "PL"
          description: >-
            The 2-letter country code as defined in ISO 3166.
        postCode:
          type: string
          maxLength: 12
          example: "00-999"
          description: >-
            The format of post code depends on 'countryCode'. For countryCode equal to 'PL', the expected format is 'XX-XXX', for other countries format is less restrictive - 12 characters or less are expected.
        province:
          type: string
          description: >-
            This field is mandatory if countryCode is set to "PL", for other values, currently, it is ignored.
            For countryCode equalling "PL", this field must be set to one of the following: DOLNOSLASKIE,
            KUJAWSKO_POMORSKIE, LUBELSKIE, LUBUSKIE,
            LODZKIE, MALOPOLSKIE, MAZOWIECKIE, OPOLSKIE,
            PODKARPACKIE, PODLASKIE, POMORSKIE, SLASKIE,
            SWIETOKRZYSKIE, WARMINSKO_MAZURSKIE,
            WIELKOPOLSKIE, ZACHODNIOPOMORSKIE.
    Modification:
      type: object
      properties:
        additionalServicesGroup:
          $ref: '#/components/schemas/AdditionalServicesGroup'
        delivery:
          $ref: '#/components/schemas/ModificationDelivery'
        discounts:
          $ref: '#/components/schemas/ModificationDiscounts'
        location:
          $ref: '#/components/schemas/Location'
        payments:
          $ref: '#/components/schemas/ModificationPayments'
        sizeTable:
          $ref: '#/components/schemas/SizeTable'
        publication:
          $ref: '#/components/schemas/ModificationPublication'
      description: Contains fields to change
    ModificationDelivery:
      type: object
      properties:
        shippingRates:
          $ref: '#/components/schemas/ShippingRates'
        handlingTime:
          type: string
          example: PT24H
          enum:
            - PT0S
            - PT24H
            - PT48H
            - PT72H
            - PT96H
            - PT120H
            - PT168H
            - PT240H
            - PT336H
            - PT504H
            - PT720H
            - PT1440H
            - P2D
            - P3D
            - P4D
            - P5D
            - P7D
            - P10D
            - P14D
            - P21D
            - P30D
            - P60D
          description: >-
            Handling time, ISO 8601 duration format. PT0S for immediately.
      description: Contains delivery details to change.
    ModificationDiscounts:
      type: object
      properties:
        wholesalePriceList:
          type: object
          properties:
            id:
              type: string
              description: Promotion id of a wholesale price list to assign to the offer or `null` to unassign wholesale price list from the offer.
      description: Allows you to assign/unassign discounts (rebates) to/from offers.
    ModificationPublication:
      type: object
      properties:
        duration:
          type: string
          description: 'Offer duration time provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.'
          enum:
            - PT72H
            - PT120H
            - PT168H
            - PT240H
            - PT480H
            - PT720H
            - P3D
            - P5D
            - P7D
            - P10D
            - P20D
            - P30D
        durationUnlimited:
          type: boolean
          example: false
          description: 'Unlimited duration time.'
      description: 'Allows you to change duration of the offers. You can include only property in a request "duration" or "durationUnlimited".'
    ModificationPayments:
      type: object
      properties:
        invoice:
          type: string
          description: 'Invoice type: VAT, VAT_MARGIN, WITHOUT_VAT, NO_INVOICE'
          enum:
            - VAT
            - VAT_MARGIN
            - WITHOUT_VAT
            - NO_INVOICE
        tax:
          $ref: '#/components/schemas/Tax'
    SizeTable:
      type: object
      properties:
        id:
          type: string
          description: Id of size table
    Contact:
      type: object
      properties:
        id:
          type: string
          description: Id of contact.
    ProductOfferFundraisingCampaignRequest:
      type: object
      properties:
        id:
          type: string
          description: Id of fundraising campaign.
        name:
          type: string
          description: Name of fundraising campaign.
    ProductOfferFundraisingCampaignResponse:
      type: object
      properties:
        id:
          type: string
          description: Id of fundraising campaign.
    ProductOfferAdditionalServicesRequest:
      type: object
      properties:
        id:
          type: string
          description: Id of additional services.
        name:
          type: string
          description: Name of additional services.
      description: 'Offer additional services.'
    ProductOfferAdditionalServicesResponse:
      type: object
      properties:
        id:
          type: string
          description: Id of additional services.
    ProductOfferAttachment:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            description: Id of attachment.
      description: 'An array of offer attachments.'
    OfferAttachment:
      type: object
      properties:
        id:
          type: string
          maxLength: 64
        type:
          $ref: '#/components/schemas/AttachmentType'
        file:
          $ref: '#/components/schemas/AttachmentFile'
    PublicOfferPreviewRequest:
      properties:
        offer:
          $ref: '#/components/schemas/PricingOffer'
        classifiedsPackages:
          $ref: '#/components/schemas/ClassifiedsPackages'
        marketplaceId:
          type: string
          description: >-
            The marketplace on which the offer should be previewed.
            If omitted, it will default to the base marketplace.
          nullable: true
          example: "allegro-pl"
    ClassifiedsPackages:
      type: object
      properties:
        basePackage:
          $ref: '#/components/schemas/ClassifiedPackage'
        extraPackages:
          type: array
          description: 'An array of extra packages.'
          items:
            $ref: '#/components/schemas/ClassifiedExtraPackage'
    ClassifiedPackage:
      type: object
      properties:
        id:
          type: string
          description: 'The classifieds package ID.'
          example: 'e76d443b-c088-4da5-95f7-cc9aaf73bf7b'
    ClassifiedExtraPackage:
      type: object
      properties:
        id:
          type: string
          description: 'The classifieds extra package ID.'
          example: 'bff60277-b92e-46b6-98a4-439f830ac0a1'
        republish:
          type: boolean
          description: 'Extra package with this flag set to true will be recreated when offer is being republished'
          example: false
    OfferAttachmentRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AttachmentType'
        file:
          $ref: '#/components/schemas/AttachmentFileRequest'
    AttachmentType:
      type: string
      description: offer attachment type
      enum:
        - MANUAL
        - SPECIAL_OFFER_RULES
        - COMPETITION_RULES
        - BOOK_EXCERPT
        - USER_MANUAL
        - INSTALLATION_INSTRUCTIONS
        - GAME_INSTRUCTIONS
        - ENERGY_LABEL
        - PRODUCT_INFORMATION_SHEET
        - TIRE_LABEL
        - SAFETY_INFORMATION_MANUAL
    AttachmentFile:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
        url:
          type: string
          maxLength: 200
    AttachmentFileRequest:
      type: object
      properties:
        name:
          type: string
          maxLength: 200
    OfferImageLinkUploadRequest:
      type: object
      required:
        - url
      properties:
        url:
          type: string
          description: >-
            URL of the image.
            It has to contain domain name, not an IP address.
            Currently we support http and https protocols. When using https the certificate chain needs to be valid.
    OfferImageUploadResponse:
      type: object
      properties:
        expiresAt:
          type: string
          format: date-time
          description: >-
            Date of file expiration (removal from the server).
            We will remove it unless you use it in your offer.
        location:
          type: string
          description: Link to the uploaded image
    PricingOffer:
      type: object
      required:
        - name
      properties:
        fundraisingCampaign:
          $ref: '#/components/schemas/JustId'
        id:
          type: string
        category:
          $ref: '#/components/schemas/Category'
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
        promotion:
          $ref: '#/components/schemas/Promotion'
        publication:
          $ref: '#/components/schemas/PricingPublication'
        sellingMode:
          $ref: '#/components/schemas/SellingModeWithNetPrice'
      description: Single offer data.
    OfferChangeCommand:
      type: object
      properties:
        modification:
          $ref: '#/components/schemas/Modification'
        offerCriteria:
          type: array
          description: List of offer criteria
          items:
            $ref: '#/components/schemas/OfferCriterium'
      description: Modification command payload
    OfferPriceChangeCommand:
      type: object
      properties:
        modification:
          $ref: '#/components/schemas/PriceModification'
        offerCriteria:
          type: array
          description: List of offer criteria
          items:
            $ref: '#/components/schemas/OfferCriterium'
      description: Price modification command payload
    PriceModification:
      type: object
      description: >-
        The way the offer price should be changed. One of three ways is possible:
        new price, increase/decrease price, percentage change and only one can be chosen at once.
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          FIXED_PRICE: '#/components/schemas/PriceModificationFixedPrice'
          INCREASE_PRICE: '#/components/schemas/PriceModificationValueChangeIncrease'
          DECREASE_PRICE: '#/components/schemas/PriceModificationValueChangeDecrease'
          INCREASE_PERCENTAGE: '#/components/schemas/PriceModificationPercentageChangeIncrease'
          DECREASE_PERCENTAGE: '#/components/schemas/PriceModificationPercentageChangeDecrease'
      properties:
        type:
          type: string
          description: Type of the modification.
        marketplaceId:
          allOf:
            - $ref: '#/components/schemas/MarketplaceId'
          description: >-
            The marketplace on which the price of the offer should be changed.
            If omitted, the price will be changed on the base marketplace of the offer.
          nullable: true
    PriceModificationFixedPrice:
      allOf:
        - $ref: '#/components/schemas/PriceModification'
        - type: object
          properties:
            type:
              type: string
              default: 'FIXED_PRICE'
            price:
              $ref: '#/components/schemas/PriceModificationFixedPriceHolder'
    PriceModificationValueChangeIncrease:
      allOf:
        - $ref: '#/components/schemas/PriceModification'
        - type: object
          properties:
            type:
              type: string
              default: 'INCREASE_PRICE'
            value:
              $ref: '#/components/schemas/PriceModificationValueChangeHolder'
    PriceModificationValueChangeDecrease:
      allOf:
        - $ref: '#/components/schemas/PriceModification'
        - type: object
          properties:
            type:
              type: string
              default: 'DECREASE_PRICE'
            value:
              $ref: '#/components/schemas/PriceModificationValueChangeHolder'
    PriceModificationPercentageChangeIncrease:
      allOf:
        - $ref: '#/components/schemas/PriceModification'
        - type: object
          properties:
            type:
              type: string
              default: 'INCREASE_PERCENTAGE'
            percentage:
              $ref: '#/components/schemas/PriceModificationPercentageChangeHolder'
    PriceModificationPercentageChangeDecrease:
      allOf:
        - $ref: '#/components/schemas/PriceModification'
        - type: object
          properties:
            type:
              type: string
              default: 'DECREASE_PERCENTAGE'
            percentage:
              $ref: '#/components/schemas/PriceModificationPercentageChangeHolder'
    PriceModificationFixedPriceHolder:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: 'New offer buy now price, related to type FIXED_PRICE.'
    PriceModificationValueChangeHolder:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: 'Change of offer buy now price, related to types: INCREASE_PRICE, DECREASE_PRICE.'
    PriceModificationPercentageChangeHolder:
      type: string
      description: 'Percentage change of offer buy now price, related to types: INCREASE_PERCENTAGE, DECREASE_PERCENTAGE. Provided in a string format to avoid rounding errors.'
    OfferQuantityChangeCommand:
      type: object
      properties:
        modification:
          $ref: '#/components/schemas/QuantityModification'
        offerCriteria:
          type: array
          description: List of offer criteria
          items:
            $ref: '#/components/schemas/OfferCriterium'
      description: Quantity modification command payload
    QuantityModification:
      type: object
      description: >-
        The way the offer quantity should be changed. One of two ways is possible:
        new quantity, increase/decrease quantity and only one can be chosen at once.
      properties:
        changeType:
          description: modification type
          type: string
          enum:
            - 'FIXED'
            - 'GAIN'
        value:
          type: integer
          example: 1
          description:
            '- For changeType = "FIXED", a new stock quantity > 0

            - For changeType = "GAIN", an increase/decrease in stock quantity'
    SellerRebateOfferCriterion:
      type: object
      required:
        - type
      properties:
        offers:
          type: array
          description: >-
            Set of offers – only if `type` is `CONTAINS_OFFERS`
          items:
            type: object
            required:
              - id
            properties:
              id:
                type: string
                description: Offer id
                example: "1233432"
              quantity:
                type: number
                minimum: 0
                description: >-
                  that many pieces of your offer will be part of the bundle, valid only for bundle `ORDER_FIXED_DISCOUNT` promotions
                example: 5
              promotionEntryPoint:
                type: boolean
                description: >-
                  offers with this flag set to true will have a section that allows the users to purchase your bundle,
                  valid only for bundle `ORDER_FIXED_DISCOUNT` promotions
                example: false
        type:
          type: string
          description: 'Criteria type: CONTAINS_OFFERS or OFFERS_ASSIGNED_EXTERNALLY'
          enum:
            - CONTAINS_OFFERS
            - OFFERS_ASSIGNED_EXTERNALLY
            - ALL_OFFERS
    OfferCriterium:
      type: object
      properties:
        offers:
          type: array
          description: Set of offers
          items:
            $ref: '#/components/schemas/OfferId'
        type:
          type: string
          description: 'Criteria type: CONTAINS_OFFERS'
          enum:
            - CONTAINS_OFFERS
      description: Contains offers criteria
    OfferId:
      type: object
      properties:
        id:
          type: string
          description: Offer id
          example: '123456789'
    OfferQuoteDto:
      type: object
      properties:
        enabled:
          type: boolean
        fee:
          $ref: '#/components/schemas/Fee'
        name:
          type: string
        nextDate:
          type: string
          format: date-time
        offer:
          $ref: '#/components/schemas/OfferId'
        type:
          type: string
      title: OfferQuoteDto
    OfferQuotesDto:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/OfferQuoteDto'
      title: OfferQuotesDto
    OfferStatsResponseDto:
      description: >-
        Data objects containing details for counted events per offer.
        Includes a list of OfferStatResponseDto grouped by date
        and a list of ClassifiedEventStat grouped by EventType for a specific period.
      type: object
      properties:
        offerStats:
          type: array
          items:
            $ref: '#/components/schemas/OfferStatResponseDto'
      title: OfferStatsResponseDto
    SellerOfferStatsResponseDto:
      description: >-
        Data class for a specific seller events.
        Includes a list of OfferStatResponseDto grouped by date
        and a list of ClassifiedEventStat grouped by EventType for a specific period.
      type: object
      properties:
        eventStatsTotal:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedEventStat'
        eventsPerDay:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedDailyEventStatResponseDto'
      title: SellerOfferStatsResponseDto
    OfferStatResponseDto:
      type: object
      properties:
        offer:
          $ref: '#/components/schemas/OfferStatModelDto'
        eventStatsTotal:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedEventStat'
        eventsPerDay:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedDailyEventStatResponseDto'
      title: OfferStatResponseDto
    OfferStatModelDto:
      type: object
      description: Offer details data, containg offer identifier.
      properties:
        id:
          type: string
      title: OfferStatModelDto
    ClassifiedEventStat:
      type: object
      properties:
        count:
          type: integer
        eventType:
          $ref: '#/components/schemas/ClassifiedStatEventType'
      title: ClassifiedEventStat
    ClassifiedDailyEventStatResponseDto:
      type: object
      properties:
        date:
          type: string
          description: Date in format yyyy-MM-dd
          format: string
          example: '2019-05-01'
        eventStats:
          type: array
          description: List of event types with number of occurrences.
          items:
            $ref: '#/components/schemas/ClassifiedEventStat'
      title: ClassifiedDailyEventStatResponseDto
    ClassifiedStatEventType:
      type: string
      description: 'Classified statistical event type.'
      enum:
        - SHOWED_PHONE_NUMBER
        - ASKED_QUESTION
        - CLICKED_ASK_QUESTION
        - ADDED_TO_FAVOURITES
        - REMOVED_FROM_FAVOURITES
    OpenHour:
      type: object
      required:
        - dayOfWeek
        - from
        - to
      properties:
        dayOfWeek:
          type: string
          description: >-
            Days of the week: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
            SATURDAY, SUNDAY. Date format ISO 8601
        from:
          type: string
          description: 'Date format (ISO 8601) - HH:mm:ss.SSS'
        to:
          type: string
          description: 'Date format (ISO 8601) - HH:mm:ss.SSS'
    Order:
      type: object
      required:
        - id
        - offers
      properties:
        id:
          type: string
          description: Order id
        offers:
          type: array
          description: List of order offers
          items:
            type: object
            required:
              - id
              - title
            properties:
              id:
                type: string
                description: Offer ID
              title:
                type: string
                description: Offer title
              snapshot:
                type: string
                description: Offer snapshot URL parameter pointing to historical offer view
    Parameter:
      type: object
      required:
        - id
      properties:
        id:
          type: string
        rangeValue:
          $ref: '#/components/schemas/ParameterRangeValue'
        values:
          type: array
          items:
            type: string
        valuesIds:
          type: array
          items:
            type: string
      description: Offer's parameter.
    CategoryParameter:
      type: object
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          integer: '#/components/schemas/IntegerCategoryParameter'
          float: '#/components/schemas/FloatCategoryParameter'
          string: '#/components/schemas/StringCategoryParameter'
          dictionary: '#/components/schemas/DictionaryCategoryParameter'
      properties:
        id:
          type: string
          description: The ID of the parameter.
          example: "11323"
        name:
          type: string
          description: The name of the parameter in Polish.
          example: "Stan"
        type:
          type: string
          description: >-
            The type of the parameter. Other fields in this structure may appear based on the type of the parameter.
        required:
          type: boolean
          description: >-
            Indicates whether the value of this parameter must be set in an offer. Offers without required parameters
            set cannot be published. See also `requiredIf`.
        requiredForProduct:
          type: boolean
          description: >-
            Indicates whether the value of this parameter must be set in a product. Product without required parameters
            set cannot be created.
        requiredIf:
          $ref: '#/components/schemas/CategoryParameterRequirementConditions'
        displayedIf:
          $ref: '#/components/schemas/CategoryParameterDisplayConditions'
        unit:
          type: string
          nullable: true
          description: The unit in which values of the parameter are used. May be `null`.
          example: "kg"
        options:
          $ref: '#/components/schemas/CategoryParameterOptions'
    CategoryProductParameter:
      type: object
      required:
        - type
      discriminator:
        propertyName: type
        mapping:
          integer: '#/components/schemas/IntegerCategoryProductParameter'
          float: '#/components/schemas/FloatCategoryProductParameter'
          string: '#/components/schemas/StringCategoryProductParameter'
          dictionary: '#/components/schemas/DictionaryCategoryProductParameter'
      properties:
        id:
          type: string
          description: The ID of the parameter.
          example: "11323"
        name:
          type: string
          description: The name of the parameter in Polish.
          example: "Numer katalogowy"
        type:
          type: string
          description: >-
            The type of the product parameter. Other fields in this structure may appear based on the type of the parameter.
        required:
          type: boolean
          description: >-
            Indicates whether the value of this parameter must be set in a product. Product without required parameters
            set cannot be created. See also `requiredIf`.
        requiredIf:
          $ref: '#/components/schemas/CategoryParameterRequirementConditions'
        displayedIf:
          $ref: '#/components/schemas/CategoryParameterDisplayConditions'
        unit:
          type: string
          nullable: true
          description: The unit in which values of the parameter are used. May be `null`.
          example: "kg"
    DictionaryCategoryProductParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryProductParameter'
        - type: object
          properties:
            type:
              type: string
              default: dictionary
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                multipleChoices:
                  type: boolean
                  description: Indicates whether this parameter can have more than one value.
            dictionary:
              type: array
              description: Defines the values accepted for this parameter.
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: >-
                      The ID of the dictionary value. Use it to set the value in an offer or in a product.
                    example: "11323_1"
                  value:
                    type: string
                    description: The label of the dictionary value in Polish.
                    example: "Nowy"
    IntegerCategoryProductParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryProductParameter'
        - type: object
          properties:
            type:
              type: string
              default: integer
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                min:
                  type: integer
                  description: The minimum value of this parameter. Lower than or equal to `max`.
                  example: 8
                max:
                  type: integer
                  description: The maximum value of this parameter. Greater than or equal to `min`.
                  example: 128
                range:
                  type: boolean
                  description: >-
                    Indicates whether this is a range parameter. If this is `true`, then you have to provide two values
                    for this parameter - `from` and `to`. Both these values have to be between the `min` and `max`.
    FloatCategoryProductParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryProductParameter'
        - type: object
          properties:
            type:
              type: string
              default: float
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                min:
                  type: number
                  description: The minimum value of this parameter. Lower than or equal to `max`.
                  example: 0.0
                max:
                  type: number
                  description: The maximum value of this parameter. Greater than or equal to `min`.
                  example: 10000.0
                range:
                  type: boolean
                  description: >-
                    Indicates whether this is a range parameter. If this is `true`, then you have to provide two values
                    for this parameter - `from` and `to`. Both these values have to be between the `min` and `max`.
                precision:
                  type: integer
                  minimum: 0
                  description: Number of digits you can provide after a comma that can be transferred in the parameter value.
                  example: 3
    StringCategoryProductParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryProductParameter'
        - type: object
          properties:
            type:
              type: string
              default: string
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                minLength:
                  type: integer
                  minimum: 0
                  description: The minimum length of the parameter value.
                  example: 3
                maxLength:
                  type: integer
                  minimum: 1
                  description: The maximum length of the parameter value.
                  example: 250
                allowedNumberOfValues:
                  type: integer
                  minimum: 0
                  description: Indicates how many different values can be provided for this parameter.
                  example: 5
    CategoryParameterOptions:
      type: object
      properties:
        variantsAllowed:
          type: boolean
          description: Parameters with this option enabled can be used for offer variants creation.
        variantsEqual:
          type: boolean
          description: All offer variants must have the same values in parameters with this option enabled.
        ambiguousValueId:
          type: string
          nullable: true
          description: >-
            Indicates what value in the dictionary is defined as an ambiguous one.
            Only parameters with dictionaries might have this option defined.
          example: "128788_36"
        dependsOnParameterId:
          type: string
          nullable: true
          description: |
            Indicates whether this parameter's allowed values depend on another parameter's values. This field is set
            only for dictionary parameters which have at least one dictionary value with dependent values (see also
            `dictionary[].dependsOnValueIds`). Otherwise this field is null.
          example: "211062"
        describesProduct:
          type: boolean
          description: Indicates if parameter is used to define products.
        customValuesEnabled:
          type: boolean
          description: Indicates if a custom value can be added to a parameter with an ambiguous value.
      description: A list of the different options which can be used with this parameter.
    DictionaryCategoryParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryParameter'
        - type: object
          properties:
            type:
              type: string
              default: dictionary
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                multipleChoices:
                  type: boolean
                  description: Indicates whether this parameter can have more than one value.
            dictionary:
              type: array
              description: Defines the values accepted for this parameter.
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: >-
                      The ID of the dictionary value. Use it to set the value in an offer or in a product.
                    example: "11323_1"
                  value:
                    type: string
                    description: The label of the dictionary value in Polish.
                    example: "Nowy"
                  dependsOnValueIds:
                    type: array
                    description: >-
                      The IDs of dictionary values from another parameter that this parameter value can be combined
                      with. The other parameter has the id from `options.dependsOnParameterId`. Empty if this parameter
                      value can be combined with any value from other parameters. Otherwise, this value might be set in
                      the offer only when one of the given values of `dependsOnValueIds` is set as well.
                    items:
                      type: string
                      example: "211062_246554"
    IntegerCategoryParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryParameter'
        - type: object
          properties:
            type:
              type: string
              default: integer
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                min:
                  type: integer
                  description: The minimum value of this parameter. Lower than or equal to `max`.
                  example: 8
                max:
                  type: integer
                  description: The maximum value of this parameter. Greater than or equal to `min`.
                  example: 128
                range:
                  type: boolean
                  description: >-
                    Indicates whether this is a range parameter. If this is `true`, then you have to provide two values
                    for this parameter - `from` and `to`. Both these values have to be between the `min` and `max`.
    FloatCategoryParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryParameter'
        - type: object
          properties:
            type:
              type: string
              default: float
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                min:
                  type: number
                  description: The minimum value of this parameter. Lower than or equal to `max`.
                  example: 0.0
                max:
                  type: number
                  description: The maximum value of this parameter. Greater than or equal to `min`.
                  example: 10000.0
                range:
                  type: boolean
                  description: >-
                    Indicates whether this is a range parameter. If this is `true`, then you have to provide two values
                    for this parameter - `from` and `to`. Both these values have to be between the `min` and `max`.
                precision:
                  type: integer
                  minimum: 0
                  description: Number of digits you can provide after a comma that can be transferred in the parameter value.
                  example: 3
    StringCategoryParameter:
      allOf:
        - $ref: '#/components/schemas/CategoryParameter'
        - type: object
          properties:
            type:
              type: string
              default: string
            restrictions:
              type: object
              description: The restrictions on values of this parameter.
              properties:
                minLength:
                  type: integer
                  minimum: 0
                  description: The minimum length of the parameter value.
                  example: 3
                maxLength:
                  type: integer
                  minimum: 1
                  description: The maximum length of the parameter value.
                  example: 250
                allowedNumberOfValues:
                  type: integer
                  minimum: 0
                  description: Indicates how many different values can be provided for this parameter.
                  example: 5
    ParameterRangeValue:
      type: object
      required:
        - from
        - to
      properties:
        from:
          type: string
        to:
          type: string
      description: Parameter's range value
    CategoryParameterRequirementConditions:
      type: object
      required:
        - parametersWithValue
        - parametersWithoutValue
      description: >-
        Restricts the circumstances when this parameter is required. `null` if solely the `required` flag determines if
        this parameter is required. Present if this parameter is required only if all of the contained conditions of all
        condition types are fulfilled. At least one condition is contained if this field is present.
      properties:
        parametersWithValue:
          type: array
          items:
            $ref: '#/components/schemas/CategoryParameterWithValue'
          description: >-
            Condition type which requires this parameter only if each of the given other parameters has filled in one of
            the respective given value ids in an offer or product. Empty if no condition of this type is present.
        parametersWithoutValue:
          type: array
          items:
            $ref: '#/components/schemas/CategoryParameterWithoutValue'
          description: >-
            Condition type which requires this parameter only if each of the given other parameters has filled neither
            a value nor a value id in an offer or product. Empty if no condition of this type is present.
    CategoryParameterDisplayConditions:
      type: object
      required:
        - parametersWithValue
      description: >-
        Restricts the circumstances when this parameter should be displayed e.g. on a user form. `null` if this
        parameter is displayed always. Present if this parameter should be displayed only if all of the contained
        conditions of all condition types are fulfilled. At least one condition is contained if this field is present.
      properties:
        parametersWithValue:
          type: array
          items:
            $ref: '#/components/schemas/CategoryParameterWithValue'
          description: >-
            Condition type which displays this parameter only if each of the given other parameters has filled in one of
            the respective given value ids in an offer or product. Empty if no condition of this type is present.
    CategoryParameterWithValue:
      type: object
      required:
        - id
        - oneOfValueIds
      properties:
        id:
          type: string
          description: Id of another parameter with a value dictionary.
          example: "11323"
        oneOfValueIds:
          type: array
          items:
            type: string
          description: A list of value ids. One of them must be chosen in order to fulfill this condition. Not empty.
          example: ["11323_1"]
    CategoryParameterWithoutValue:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: Id of another parameter.
          example: "11323"
    CategoryParameterList:
      type: object
      properties:
        parameters:
          type: array
          description: The list of parameters supported by the category.
          items:
            $ref: '#/components/schemas/CategoryParameter'
    CategoryProductParameterList:
      type: object
      properties:
        parameters:
          type: array
          description: The list of product parameters supported by the category.
          items:
            $ref: '#/components/schemas/CategoryProductParameter'
    Payment:
      type: object
      required:
        - method
      properties:
        method:
          type: string
          description: 'Available forms of payment: CASH - cash, CARD - card.'
    Payments:
      type: object
      properties:
        invoice:
          type: string
          description: 'Invoice type'
          enum:
            - VAT
            - VAT_MARGIN
            - WITHOUT_VAT
            - NO_INVOICE
    PhonesRequest:
      type: object
      properties:
        number:
          type: string
          maxLength: 250
          description: A valid phone number
    PhonesResponse:
      type: object
      properties:
        number:
          type: string
    Pos:
      type: object
      required:
        - address
        - confirmationType
        - name
        - openHours
        - status
        - type
      properties:
        id:
          type: string
          description: >-
            UUID. When creating a point of service (Post) the field is ignored.
            It is required when updating (Put) a point of service.
        externalId:
          type: string
          description: ID from external client system.
          maxLength: 80
        name:
          type: string
          maxLength: 80
        seller:
          $ref: '#/components/schemas/Seller'
        type:
          type: string
          description: Indicates point type. The only valid value so far is PICKUP_POINT.
        address:
          $ref: '#/components/schemas/Address'
        phoneNumber:
          type: string
          maxLength: 16
        email:
          type: string
          maxLength: 64
        locations:
          type: array
          description: >-
            IDs for a location. When creating (Post) or updating (Put) a point of service the field is ignored.
          items:
            $ref: '#/components/schemas/PosLocation'
        openHours:
          type: array
          description: Possible empty list of opening hours.
          items:
            $ref: '#/components/schemas/OpenHour'
        serviceTime:
          type: string
          description: >-
            Delivery time / Time period for receipt. Date format ISO 8601 e.g.
            'PT24H'
        payments:
          type: array
          description: An empty list of payment types is available.
          items:
            $ref: '#/components/schemas/Payment'
        confirmationType:
          type: string
          description: >-
            Confirmation method: AWAIT_CONTACT - We will inform you about the
            time of receipt, CALL_US - Please make an appointment,
            CONTACT_NOT_REQUIRED - Contact is not required.
        status:
          type: string
          description: >-
            Point of service status: ACTIVE - active, TEMPORARILY_CLOSED -
            temporarily closed, CLOSED_DOWN - closed down, DELETED - deleted.
        createdAt:
          type: string
          description: >-
            Creation date. Date format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ
            When creating (Post) or updating (Put) a point of service the field is ignored.
        updatedAt:
          type: string
          description: >-
            Modification date. Date format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ
            When creating (Post) or updating (Put) a point of service the field is ignored.
    PosLocation:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    Price:
      type: object
      description: The price data.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          description: The amount provided in a string format to avoid rounding errors.
          example: '123.45'
        currency:
          type: string
          format: ISO 4217
          description: The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217).
          example: 'PLN'
    ProcessingStatus:
      type: string
      description: The processing status of the command.
      enum:
        - QUEUEING
        - RUNNING
        - VALIDATED_AND_RUNNING
        - RUNNING_BUT_WITH_ERRORS
        - SUCCESSFUL
        - PARTIAL_SUCCESS
        - ERROR
    Promotion:
      type: object
      description: Promo options on base marketplace.
      properties:
        emphasized1d:
          type: boolean
        emphasized10d:
          type: boolean
        promoPackage:
          type: boolean
        departmentPage:
          type: boolean
    PublicTableDto:
      type: object
      required:
        - headers
        - name
        - values
      properties:
        headers:
          type: array
          description: size table headers
          items:
            $ref: '#/components/schemas/Header'
        id:
          type: string
          description: size table id
        name:
          type: string
          description: size table name
        template:
          $ref: '#/components/schemas/JustId'
        values:
          type: array
          description: size table cells
          items:
            $ref: '#/components/schemas/Cells'
      title: PublicTableDto
    PublicTablesDto:
      type: object
      required:
        - tables
      properties:
        tables:
          type: array
          items:
            $ref: '#/components/schemas/PublicTableDto'
      title: PublicTablesDto
    SizeTableTemplateImageResponse:
      type: object
      description: size table template image
      required:
        - captions
        - url
      properties:
        captions:
          type: array
          items:
            $ref: '#/components/schemas/Caption'
        url:
          type: string
      title: SizeTableTemplateImageResponse
    SizeTableTemplateResponse:
      type: object
      required:
        - id
        - name
        - headers
        - values
      properties:
        id:
          type: string
          description: size table template id
        name:
          type: string
          description: size table template name
        image:
          $ref: '#/components/schemas/SizeTableTemplateImageResponse'
        headers:
          description: size table template headers
          type: array
          items:
            $ref: '#/components/schemas/Header'
        values:
          description: size table template cells
          type: array
          items:
            $ref: '#/components/schemas/Cells'
      title: SizeTableTemplateResponse
    SizeTableTemplatesResponse:
      type: object
      required:
        - templates
      properties:
        templates:
          description: size tables templates
          type: array
          items:
            $ref: '#/components/schemas/SizeTableTemplateResponse'
      title: SizeTableTemplatesResponse
    SizeTablePostRequest:
      type: object
      required:
        - name
        - template
        - headers
        - values
      properties:
        name:
          type: string
          description: size table name
        template:
          $ref: '#/components/schemas/JustId'
        headers:
          type: array
          description: size table headers
          items:
            $ref: '#/components/schemas/Header'
        values:
          type: array
          description: size table cells
          items:
            $ref: '#/components/schemas/Cells'
      title: SizeTablePostRequest
    SizeTablePutRequest:
      type: object
      required:
        - name
        - headers
        - values
      properties:
        name:
          type: string
          description: size table name
        headers:
          type: array
          description: size table headers
          items:
            $ref: '#/components/schemas/Header'
        values:
          type: array
          description: size table cells
          items:
            $ref: '#/components/schemas/Cells'
      title: SizeTablePutRequest
    PricingPublication:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/OfferDuration'
    Publication:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/OfferDuration'
        endingAt:
          $ref: '#/components/schemas/OfferEndingAt'
        startingAt:
          $ref: '#/components/schemas/OfferStartingAt'
        status:
          $ref: '#/components/schemas/OfferStatus'
        endedBy:
          type: string
          enum:
            - USER
            - ADMIN
            - EXPIRATION
            - EMPTY_STOCK
            - PRODUCT_DETACHMENT
            - ERROR
          description: >-
            Indicates the reason for ending the offer:
             - `USER` - offer ended by the seller.
             - `ADMIN` - offer ended by an admin.
             - `EXPIRATION` - offer duration had expired (valid for offers with specified duration).
             - `EMPTY_STOCK` - offer ended because all available items had been sold out.
             - `PRODUCT_DETACHMENT` - offer ended because its link to the product was removed. Status will only occur
               if the base marketplace of offer requires full productization.
             - `ERROR` - offer ended due to internal problem with offer publication. The publication command responded with
               success status, but further processing failed.
        republish:
          type: boolean
          example: false
          description: >-
            Whether to republish an offer after ending. Automatically republish offers or auctions:</br>
            - `BUY_NOW` offer type are republished with initial stock, regardless of how many items you have sold.</br>
            - `AUCTION` offer type are republished only if they were not concluded with purchase.</br>
            - `ADVERTISEMENT` offer type are republished until it will be finished manually.
    OfferDuration:
      type: string
      example: PT24H
      description: >-
       This field must be set to one of the following:<br/>
       - for auctions: 1 day, 3 days, 5 days, 7 days, 10 days<br/>
       - for buy-now offers: 3 days, 5 days, 7 days, 10 days, 20 days, 30 days<br/>
       - for advertisements: 10 days, 20 days, 30 days.<br/>
       The value is in ISO 8601 format (example: PT24H, PT72H).
    OfferEndingAt:
      type: string
      example: "2031-01-04T11:01:59Z"
      format: date-time
      description: >-
        Publication ending date: Format (ISO 8601) -
        yyyy-MM-dd'T'HH:mm:ss.SSSZ. Cannot be modified
    OfferStartingAt:
      type: string
      example: "2031-01-04T11:01:59Z"
      format: date-time
      description: >-
        Publication starting date: Format (ISO 8601) -
        yyyy-MM-dd'T'HH:mm:ss.SSSZ. Cannot be modified after activation or ending of the offer.
    PublicationChangeCommandDto:
      type: object
      properties:
        offerCriteria:
          type: array
          description: List of offer criteria
          items:
            $ref: '#/components/schemas/OfferCriterium'
        publication:
          $ref: '#/components/schemas/Publication_modification'
      description: Publication modification command payload
    Rates:
      type: object
      properties:
        delivery:
          type: integer
          format: int32
          minimum: 0
          example: 5
          description: Delivery rate value
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        deliveryCost:
          type: integer
          format: int32
          minimum: 0
          example: 5
          description: Delivery cost rate value
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        description:
          type: integer
          format: int32
          minimum: 0
          example: 5
          description: Description rate value
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        service:
          type: integer
          format: int32
          minimum: 0
          example: 5
          description: Service rate value
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
    Reference:
      type: object
      properties:
        id:
          type: string
    Removal:
      type: object
      required:
        - possibleTo
      properties:
        possibleTo:
          type: string
          example: '2017-05-17T08:36:57.292Z'
          description: Date until a removal request can be submitted in ISO 8601 format
        request:
          $ref: '#/components/schemas/RemovalRequest'
    RemovalRequest:
      type: object
      description: 'Submitted removal request, null if removal was not requested'
      required:
        - createdAt
        - message
      properties:
        createdAt:
          type: string
          example: '2017-05-17T08:36:57.292Z'
          description: Removal request creation datetime in ISO 8601 format
        message:
          type: string
          description: Message containing explanation for removing rating
        source:
          type: string
          enum:
            - SELLER
            - ADMIN
          description: Message containing information who requested removing of a rating
    UserRatingRemovalRequest:
      type: object
      required:
        - request
      properties:
        request:
          type: object
          required:
            - message
          properties:
            message:
              type: string
              description: 'Message containing explanation for removing rating.'
              maxLength: 500
    ReturnPolicyBasic:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    SearchResult:
      properties:
        posList:
          type: array
          items:
            $ref: '#/components/schemas/Pos'
    Seller:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    SellerCreateRebateRequestDto:
      type: object
      required:
        - benefits
        - offerCriteria
      properties:
        benefits:
          description: What kind of rebate will be given
          type: array
          items:
            $ref: '#/components/schemas/Benefit'
        offerCriteria:
          description: What offers will be included
          type: array
          items:
            $ref: '#/components/schemas/SellerRebateOfferCriterion'
    SellerRebateDto:
      type: object
      required:
        - benefits
        - id
        - offerCriteria
        - status
      properties:
        benefits:
          description: What kind of rebate will be given
          type: array
          items:
            $ref: '#/components/schemas/Benefit'
        createdAt:
          type: string
          description: when was this rebate created
          format: date-time
          example: '2019-05-01T10:12:32.321Z'
        id:
          type: string
          description: Rebate identifier
          example: '7c9a76d3-9fd0-4d13-a4ce-5d49bec12c79'
        offerCriteria:
          description: What offers will be included
          type: array
          items:
            $ref: '#/components/schemas/SellerRebateOfferCriterion'
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - SUSPENDED
    SellerRebatesDto:
      type: object
      required:
        - promotions
        - totalCount
      properties:
        promotions:
          type: array
          items:
            $ref: '#/components/schemas/SellerRebateDto'
        totalCount:
          type: integer
          format: int64
          minimum: 0
    ShippingRate:
      type: object
      properties:
        deliveryMethod:
          type: object
          properties:
            id:
              type: string
              description: ID of the delivery method
        maxQuantityPerPackage:
          type: integer
          description: >-
            Maximum quantity per package for the given delivery
            method. Minimum value is 1.
          minimum: 1
        maxPackageWeight:
          type: object
          description: >-
            Maximum weight of a package for the given delivery
            method (allowed only for methods with shippingRatesConstraints.maxPackageWeight.supported set to true in the delivery-methods resource).
            If not set, only maxQuantityPerPackage will be used to calculate the number of packages.
            Please note that the weight value must be the same for both related delivery methods, i.e. with `IN_ADVANCE` and `CASH_ON_DELIVERY` payment policy if both methods are in the shipping rates set.
          properties:
            value:
              type: string
              description: Weight value with an accuracy of three decimal places.
            unit:
              type: string
              nullable: true
              description: Weight unit. Currently only `KILOGRAM` is supported.
        firstItemRate:
          type: object
          description: >-
            Rate for the first item in the parcel for the given delivery method.
            The rate amount and currency must comply with the shippingRatesConstraints.firstItemRate restrictions described in the delivery-methods resource.
          properties:
            amount:
              type: string
              description: Amount
            currency:
              type: string
              description: ISO 4217 currency code
        nextItemRate:
          type: object
          description: >-
            Rate for every other item, after the first, in the same parcel for the given delivery method.
            The rate amount and currency must comply with the shippingRatesConstraints.nextItemRate restrictions described in the delivery-methods resource.
          properties:
            amount:
              type: string
              description: Amount
            currency:
              type: string
              description: ISO 4217 currency code
        shippingTime:
          type: object
          description: >-
            Custom shipping time for the given delivery method (allowed only for methods with shippingRatesConstraints.shippingTime.customizable set to true in the delivery-methods resource).
            If not set the default shipping time specified in the delivery-methods resource is used.
          properties:
            from:
              type: string
              description: 'ISO 8601 duration format, e.g. P3D for 3 days'
            to:
              type: string
              description: 'ISO 8601 duration format, e.g. P3D for 3 days'
      required:
        - deliveryMethod
        - firstItemRate
        - maxQuantityPerPackage
        - nextItemRate
    ShippingRates:
      type: object
      properties:
        id:
          type: string
          description: Id of shipping rates
    OfferShippingRates:
      type: object
      properties:
        rates:
          type: array
          description: >-
            If empty there is the shipping rates set attached to offer.
            You should use the GET /sale/offers/{offerId} resource to retrieve the shipping rates set ID.
          items:
            $ref: '#/components/schemas/ShippingRate'
    ShippingRatesSet:
      type: object
      properties:
        id:
          type: string
          description: >-
            Shipping rates set ID (UUID)
            When creating a shipping rates set (Post) the field is ignored.
            It is required when updating (Put) a shipping rates.
        name:
          type: string
          minLength: 1
          maxLength: 64
          description: >-
            User defined name of the shipping rates set.
            It may only contain: letters, numbers, hyphens, dots, commas and spaces.
        rates:
          type: array
          items:
            $ref: '#/components/schemas/ShippingRate'
        lastModified:
          type: string
          description: >-
            Date and time of the last modification of the set in UTC
            ISO 8601 format.
            When creating (Post) or updating (Put) a shipping rates set the field is ignored.
      required:
        - rates
    DeliverySettingsResponse:
      type: object
      properties:
        marketplace:
          type: object
          description: Marketplace for which delivery settings were returned.
          properties:
            id:
              type: string
              description: Marketplace id
              example: 'allegro-pl'
          required:
            - id
        freeDelivery:
          type: object
          description: A minimum total order amount required to qualify for free domestic delivery (for example for allegro-cz marketplace, only Czechia is treated as domestic).
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
              example: '123.45'
            currency:
              type: string
              format: ISO 4217
              description: ISO 4217 currency code. Currency code depends on marketplace, e.g. PLN for allegro-pl, CZK for allegro-cz.
              example: 'PLN'
          required:
            - amount
            - currency
        abroadFreeDelivery:
          type: object
          description: A minimum total order amount required to qualify for free foreign delivery (for example for allegro-cz marketplace, all delivery countries other than Czechia are treated as foreign).
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
              example: '900.12'
            currency:
              type: string
              format: ISO 4217
              description: ISO 4217 currency code. Currency code depends on marketplace, e.g. PLN for allegro-pl, CZK for allegro-cz.
              example: 'PLN'
          required:
            - amount
            - currency
        joinPolicy:
          type: object
          description: Policy of calculating delivery costs.
          properties:
            strategy:
              type: string
              description: >-
                Strategy used to calculate delivery cost for items from offers with different delivery costs.

                The possible values:
                  * `MAX` - The buyer will pay for the most expensive delivery
                  * `MIN` - The buyer will pay for the cheapest delivery
                  * `SUM` - Items will be sent in separate parcels and delivery costs will be sum of delivery costs for each item.
              enum:
                - MIN
                - MAX
                - SUM
          required:
            - strategy
        customCost:
          description: Policy of custom delivery cost.
          type: object
          properties:
            allowed:
              type: boolean
              example: false
              description: >-
                If true the customer can enter a custom shipping cost.
          required:
            - allowed
        updatedAt:
          type: string
          description: >-
            Date and time of the last modification of the set in UTC
            ISO 8601 format.
      required:
        - marketplace
        - joinPolicy
        - customCost
        - updatedAt
    DeliverySettingsRequest:
      type: object
      properties:
        marketplace:
          type: object
          description: >-
            The marketplace for which delivery settings will be modified.
            By default (if the marketplace parameter is not set) the marketplace on which the seller has registered is used.
            However, we recommend that the marketplace parameter should always be explicitly set.
          properties:
            id:
              type: string
              description: Marketplace id
              example: 'allegro-pl'
          required:
            - id
        freeDelivery:
          type: object
          description: >-
            A minimum total order amount required to qualify for free domestic delivery (for example for allegro-cz marketplace, only Czechia is treated as domestic).
            If you do not want to set free domestic delivery threshold, do not set this value.
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
              example: '123.45'
            currency:
              type: string
              format: ISO 4217
              description: ISO 4217 currency code. The correct currency code for a given marketplace should be set, e.g. PLN for allegro-pl, CZK for allegro-cz.
              example: 'PLN'
          required:
            - amount
            - currency
        abroadFreeDelivery:
          type: object
          description: >-
            A minimum total order amount required to qualify for free foreign delivery (for example for allegro-cz marketplace, all delivery countries other than Czechia are treated as foreign).
            If you do not want to set free foreign delivery threshold, do not set this value.
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
              example: '900.12'
            currency:
              type: string
              format: ISO 4217
              description: ISO 4217 currency code. The correct currency code for a given marketplace should be set, e.g. PLN for allegro-pl, CZK for allegro-cz.
              example: 'PLN'
          required:
            - amount
            - currency
        joinPolicy:
          type: object
          description: Policy of calculating delivery costs.
          properties:
            strategy:
              type: string
              description: >-
                Strategy used to calculate delivery cost for items from offers with different delivery costs.

                The possible values:
                  * `MAX` - The buyer will pay for the most expensive delivery
                  * `MIN` - The buyer will pay for the cheapest delivery
                  * `SUM` - Items will be sent in separate parcels and delivery costs will be sum of delivery costs for each item.
              enum:
                - MIN
                - MAX
                - SUM
          required:
            - strategy
        customCost:
          description: Policy of custom delivery cost.
          type: object
          properties:
            allowed:
              type: boolean
              example: false
              description: >-
                If true the customer can enter a custom shipping cost.
          required:
            - allowed
      required:
        - joinPolicy
        - customCost
    StandardizedDescription:
      type: object
      description: The description section cannot have more than 40000 bytes in length.
      properties:
        sections:
          type: array
          items:
            $ref: '#/components/schemas/DescriptionSection'
    Discounts:
      type: object
      properties:
        wholesalePriceList:
          type: object
          properties:
            id:
              type: string
              description: Wholesale price list id
    Stock:
      type: object
      properties:
        available:
          type: integer
          description: >-
            Quantity of this offer available for sale - how many times this offer can be sold.
            Offer can be activated only with stock being greater then 0.
            Setting this quantity to 0 for 'ACTIVE' or 'ACTIVATING' offer will trigger changing its status to 'ENDED'.
          format: int32
          minimum: 0
          example: 99
        unit:
          type: string
          description: 'Stock unit'
          enum:
            - UNIT
            - PAIR
            - SET
    TaskCount:
      type: object
      properties:
        failed:
          type: integer
          format: int32
          minimum: 0
          description: Current number of failed offers updates
        success:
          type: integer
          format: int32
          minimum: 0
          description: Current number of success offers updates
        total:
          type: integer
          format: int32
          minimum: 0
          description: Total number of scheduled offers updates
      description: Offers updates summary
    TaskReport:
      type: object
      properties:
        tasks:
          type: array
          description: List of task results
          items:
            $ref: '#/components/schemas/CommandTask'
      description: Contains list of task results
    UUID:
      type: string
      format: uuid
      description: >-
        Universally Unique Identifier (UUID) generated by you that can be used
        to enforce idempotency. UUID specification:
        http://www.ietf.org/rfc/rfc4122.txt
    User:
      type: object
      required:
        - id
        - login
      properties:
        id:
          type: string
          description: Buyer id
        login:
          type: string
          description: Buyer's login
    UserRating:
      type: object
      required:
        - buyer
        - createdAt
        - id
        - recommended
      properties:
        answer:
          $ref: '#/components/schemas/Answer'
        buyer:
          $ref: '#/components/schemas/User'
        comment:
          type: string
          description: Buyer's text comment
        createdAt:
          type: string
          example: '2017-05-17T08:36:57.292Z'
          description: Creation datetime in ISO 8601 format
        editedAt:
          type: string
          example: '2017-05-19T08:36:57.292Z'
          description: Edition datetime in ISO 8601 format
        excludedFromAverageRates:
          type: boolean
          example: false
          description: >-
            If true this rating was not included in calculating average user
            rates
        excludedFromAverageRatesReason:
          type: string
          example: 'Rating not unique'
          description: >-
            The reason why the rating was excluded from calculating average user rates.
            The message is translated based on the value of the "Accept-Language" header and exists only when the rating was excluded.
        id:
          type: string
          description: Rating id
        lastChangedAt:
          type: string
          example: '2017-05-19T08:36:57.292Z'
          description: Last change (creation or latest edition) datetime in ISO 8601 format
        order:
          $ref: '#/components/schemas/Order'
        rates:
          $ref: '#/components/schemas/Rates'
        recommended:
          type: boolean
          example: false
          description: Whether buyer recommends the order
        removal:
          $ref: '#/components/schemas/Removal'
    UserRatingListResponse:
      type: object
      required:
        - ratings
      properties:
        ratings:
          type: array
          description: >-
            List of ratings that match requested filter. Empty when no rating
            matched.
          items:
            $ref: '#/components/schemas/UserRating'
    UserRatingSummaryResponse:
      type: object
      required:
        - notRecommended
        - recommended
        - recommendedPercentage
      properties:
        averageRates:
          $ref: '#/components/schemas/AverageRates'
        notRecommended:
          description: Summary of data concerning users that do not recommend the seller.
          type: object
          required:
            - total
            - unique
          properties:
            total:
              type: integer
              format: int64
              minimum: 0
              example: 100
              description: Total number of negative feedbacks received.
            unique:
              type: integer
              format: int64
              minimum: 0
              example: 80
              description: Number of unique users.
        recommended:
          description: Summary of data concerning users that recommend the seller.
          type: object
          required:
            - total
            - unique
          properties:
            total:
              type: integer
              format: int64
              minimum: 0
              example: 100
              description: Total number of positive feedbacks received.
            unique:
              type: integer
              format: int64
              minimum: 0
              example: 75
              description: Number of unique users.
        recommendedPercentage:
          type: string
          example: '99,8'
          description: Percentage of unique buyers recommending the seller.
    Validation:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/ValidationWarning'
        validatedAt:
          type: string
          format: date-time
    ValidationError:
      type: object
      properties:
        code:
          type: string
        details:
          type: string
        message:
          type: string
        path:
          type: string
          nullable: true
        userMessage:
          type: string
    ValidationWarning:
      type: object
      properties:
        code:
          type: string
        details:
          type: string
        message:
          type: string
        path:
          type: string
          nullable: true
        userMessage:
          type: string
    WarrantyBasic:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    Describes_listing_fee:
      type: object
      required:
        - fee
        - name
        - type
        - cycleDuration
      properties:
        fee:
          $ref: '#/components/schemas/Fee'
        name:
          type: string
        type:
          type: string
        cycleDuration:
          type: string
          example: "PT240H"
          description: Pricing cycle duration, ISO 8601 duration format
    Describes_success_commission_fee:
      type: object
      required:
        - fee
        - name
        - type
      properties:
        fee:
          $ref: '#/components/schemas/Fee'
        name:
          type: string
        type:
          type: string
    ImpliedWarrantiesList_ImpliedWarrantyBasic_:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        impliedWarranties:
          type: array
          items:
            $ref: '#/components/schemas/ImpliedWarrantyBasic'
    ParametersForPreviewPrice:
      type: object
      required:
        - category
        - unitPrice
      properties:
        category:
          $ref: '#/components/schemas/Category'
        condition:
          type: string
          description: 'Offer condition, if is new, used or other.'
          enum:
            - NEW
            - USED
            - OTHER
        duration:
          type: string
          enum:
            - PT72H
            - PT120H
            - PT168H
            - PT240H
            - PT336H
            - PT480H
            - PT720H
        hasAnyQuantity:
          type: boolean
        numberOfBigPhotos:
          type: integer
          format: int32
          minimum: 0
          description: 'If set, minimum value 0'
        numberOfPhotos:
          type: integer
          format: int32
          minimum: 0
          description: 'If set, minimum value 0'
        quantity:
          type: integer
          format: int32
          minimum: 1
          description: 'Quantity of items to be sold. If set, minimum value 1'
        shop:
          type: boolean
          example: false
          description: >-
            Deprecated. Value 'true' sets the 'offer.type' field to 'shop',
            value 'false' to 'offer'. This field is ignored if 'offer.type'
            field is set.
        soldQuantity:
          type: integer
          format: int32
          minimum: 0
          description: >-
            Quantity of sold items. Relates to commission success fee. If set,
            minimum value 1
        type:
          type: string
          description: >-
            Offer type. 'type' or 'shop' fields must be provided. Takes
            precedence over 'shop' field. Note: if type = 'advertisement' then
            either 'quantity' or 'soldQuantity' field must be set.
          enum:
            - shop
            - offer
            - advertisement
        unitPrice:
          type: number
          minimum: 0
        bold:
          type: boolean
        highlight:
          type: boolean
        departmentPage:
          type: boolean
        emphasized:
          type: boolean
        emphasizedHighlightBoldPackage:
          type: boolean
        multiVariant:
          type: boolean
    Publication_modification:
      type: object
      properties:
        action:
          type: string
          description: Action to perform
          enum:
            - ACTIVATE
            - END
        scheduledFor:
          type: string
          format: date-time
          description: >-
            Date and time for scheduling ACTIVATE action, will be ignored for
            another actions
      description: Contains publication's fields to change
    ReturnPoliciesList_ReturnPolicyBasic_:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        returnPolicies:
          type: array
          items:
            $ref: '#/components/schemas/ReturnPolicyBasic'
    WarrantiesList_WarrantyBasic_:
      type: object
      properties:
        count:
          type: integer
          format: int32
          minimum: 0
        warranties:
          type: array
          items:
            $ref: '#/components/schemas/WarrantyBasic'
    Wrapper_type_for_preview_conditions:
      type: object
      properties:
        includeQuotingBundles:
          type: boolean
          example: false
          description: >-
            Include in calculation user's active bundles which allow to publish
            for free offer or use for free promotion options.
        offer:
          $ref: >-
            #/components/schemas/ParametersForPreviewPrice
    Wraps_listing_and_commissions_fees:
      type: object
      required:
        - commissions
        - quotes
      properties:
        commissions:
          type: array
          items:
            $ref: '#/components/schemas/Describes_success_commission_fee'
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/Describes_listing_fee'
    VariantSet:
      type: object
      required:
        - offers
        - name
        - parameters
      properties:
        offers:
          type: array
          items:
            $ref: '#/components/schemas/VariantSet_Offer'
        name:
          type: string
          maxLength: 75
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/VariantSet_Parameter'
    VariantSetResponse:
      allOf:
        - type: object
          properties:
            id:
              type: string
        - $ref: '#/components/schemas/VariantSet'
    VariantSet_Offer:
      type: object
      required:
        - id
      properties:
        id:
          type: string
        colorPattern:
          type: string
          maxLength: 50
          description: >-
            Label that allows to group variants via image. All variants having the same image should have identical identifier in this field.
    VariantSet_Parameter:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    VariantSets:
      type: object
      properties:
        count:
          type: integer
          minimum: 0
          description: Total number of variant sets matching the query.
        offerVariants:
          type: array
          items:
            $ref: '#/components/schemas/VariantSets_VariantSet'
      example:
        count: 10
        offerVariants:
          - id: 459fd49f-461f-4230-b22a-daff449b8548
            name: t-shirts
          - id: 70e6effe-7ae6-45f6-8566-80867f466d0a
            name: shoes
    VariantSets_VariantSet:
      type: object
      properties:
        id:
          type: string
          description: Variant set id.
        name:
          type: string
          description: Variant set name.
    ListingOffer:
      type: object
      properties:
        id:
          type: string
          description: The offer ID.
          example: "2865624934"
        name:
          type: string
          description: The title of the offer.
          example: Buty damskie adidas
        seller:
          $ref: '#/components/schemas/OfferSeller'
        promotion:
          $ref: '#/components/schemas/OfferPromotion'
        delivery:
          $ref: '#/components/schemas/OfferDelivery'
        images:
          type: array
          description: >-
            The gallery of images. Only the URL of the original sized image is provided.
            The first image represents the thumbnail image used on listing.
          items:
            $ref: '#/components/schemas/OfferImages'
        sellingMode:
          $ref: '#/components/schemas/OfferSellingMode'
        stock:
          $ref: '#/components/schemas/OfferStock'
        vendor:
          $ref: '#/components/schemas/OfferVendor'
        category:
          $ref: '#/components/schemas/OfferCategory'
        publication:
          $ref: '#/components/schemas/OfferPublication'
    ListingCategoryWithCount:
      type: object
      properties:
        id:
          type: string
          description: The category ID.
          example: "257929"
        name:
          type: string
          description: The category name.
          example: Sportowe
        count:
          type: integer
          example: 123
          minimum: 0
          description: Results count in this category.
    ListingCategory:
      type: object
      properties:
        id:
          type: string
          description: The Category ID.
          example: "257929"
        name:
          type: string
          description: The category name.
          example: Sportowe
    ListingResponse:
      type: object
      properties:
        items:
          $ref: '#/components/schemas/ListingResponseOffers'
        categories:
          $ref: '#/components/schemas/ListingResponseCategories'
        filters:
          type: array
          description: >-
            An array of filters with counters available for given search. This can be used
            to refine the search results.
          items:
            $ref: '#/components/schemas/ListingResponseFilters'
        searchMeta:
          $ref: '#/components/schemas/ListingResponseSearchMeta'
        sort:
          type: array
          description: Available sorting options.
          items:
            $ref: '#/components/schemas/ListingResponseSort'
    OfferSeller:
      properties:
        id:
          type: string
          description: The seller ID.
          example: "41846511"
        login:
          type: string
          description: The seller login.
          example: "myLogin"
        company:
          type: boolean
          description: Indicates whether the seller represents a registered business.
        superSeller:
          type: boolean
          description: Indicates whether the seller has the "Super Sprzedawca" status.
      description: Information about the seller.
    OfferStock:
      properties:
        unit:
          type: string
          enum:
            - UNIT
            - PAIR
            - SET
          description: The unit type of the stock.
        available:
          type: integer
          minimum: 0
          description: The available stock value.
          example: 23
      description: Information about the stock.
    OfferPromotion:
      properties:
        emphasized:
          type: boolean
          description: Indicates whether the offer is promoted.
        bold:
          type: boolean
          description: Indicates whether the offer has bold title option.
        highlight:
          type: boolean
          description: Indicates whether the offer has highlight option.
      description: Information about promotion options for the item.
    OfferLowestPrice:
      properties:
        amount:
          type: string
          description: The amount provided in a string format to avoid rounding errors.
          example: '123.45'
        currency:
          type: string
          format: ISO 4217
          description: The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217).
          example: 'PLN'
      description: >-
        The lowest shipping cost available. Lack of this entity means that the offer has no
        shipping options (i.e. it is an advertisement or an offer with electronic delivery
        only).
    OfferPrice:
      properties:
        amount:
          type: string
          description: The amount provided in a string format to avoid rounding errors.
          example: '123.45'
        currency:
          type: string
          format: ISO 4217
          description: The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217).
          example: 'PLN'
      description: >-
        The price of the offer. It is the buy now price for *BUY_NOW* selling format and
        current auction price for *AUCTION* format.
    OfferFixedPrice:
      properties:
        amount:
          type: string
          description: The amount provided in a string format to avoid rounding errors.
          example: '123.45'
        currency:
          type: string
          format: ISO 4217
          description: The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217).
          example: 'PLN'
      description: >-
        Fixed (buy now) price of the offer in case of *AUCTION* selling format
        with buy now option enabled.
    OfferDelivery:
      properties:
        availableForFree:
          type: boolean
          description: Indicates whether the offer has free shipping option.
        lowestPrice:
          $ref: '#/components/schemas/OfferLowestPrice'
      description: Information about shipping options for the offer.
    OfferImages:
      properties:
        url:
          type: string
          description: The URL of the original sized image.
          example: https://a.allegroimg.com/original/0129e7/f15ce8924166850eec3fb82bcd5s/BUTY-ADIDAS-DAMSKIE
    OfferSellingMode:
      properties:
        format:
          $ref: '#/components/schemas/SellingModeFormat'
        price:
          $ref: '#/components/schemas/OfferPrice'
        fixedPrice:
          $ref: '#/components/schemas/OfferFixedPrice'
        popularity:
          type: integer
          minimum: 0
          description: Lower bound of popularity range of the offer for *BUY_NOW* selling format.
          example: 51
        popularityRange:
          type: string
          description: >-
            Popularity ranges of the offer for *BUY_NOW* selling format.
            Possible values: 0, [1-5], [6-10], [11-20], [21-50], [51-100] and [101+]
          example: "[51-100]"
        bidCount:
          type: integer
          minimum: 0
          description: Number of bidders for *AUCTION* selling format.
          example: 12
      description: This section describes the selling format and prices.
    OfferVendor:
      properties:
        id:
          type: string
          enum:
            - CHARYTATYWNI_ALLEGRO
            - ALLEGRO_LOKALNIE
            - MORIZON
            - EBILET
          description: Identifier of the external service.
        url:
          type: string
          description: URL to the web page of the offer.
          example: https://charytatywni.allegro.pl/oferta-charytatywna-i1234567
      description: This section is available only for the charity, allegrolokalnie.pl, morizon.pl and ebilet.pl offers.
    OfferPublication:
      properties:
        endingAt:
          type: string
          format: ISO 8601
          description: Publication ending date and time in UTC.
          example: "2019-05-15T18:09:41.000Z"
      description: >-
        This section is available only for offers with a defined end of
        publication.
    ListingResponseOffers:
      properties:
        promoted:
          type: array
          description: List of promoted offers.
          items:
            $ref: '#/components/schemas/ListingOffer'
        regular:
          type: array
          description: List of regular (non-promoted) offers.
          items:
            $ref: '#/components/schemas/ListingOffer'
      description: The lists of search results.
    ListingResponseCategories:
      properties:
        subcategories:
          type: array
          description: >-
            Categories with counters, which can be used to refine search
            results.
          items:
            $ref: '#/components/schemas/ListingCategoryWithCount'
        path:
          type: array
          description: Categories path to the current listing category (breadcrumbs).
          items:
            $ref: '#/components/schemas/ListingCategory'
      description: Information about categories.
    ListingResponseFiltersValues:
      properties:
        name:
          type: string
          description: >-
            Name of the option;
            for NUMERIC parameters - word indicating start or end of range (i.e. *from*, *to*).
          example: raty zero
        value:
          type: string
          description: >-
            Filter value. Should be used as query parameter value in the
            request. This can be:

             - for MULTI and SINGLE parameters - a value identifier (e.g. KUJAWSKO_POMORSKIE option in location.province
             filter),
             - for other types - a value entered by user.
          example: INSTALLMENTS_ZERO
        idSuffix:
          type: string
          description: Suffix used as a second part of query parameter name to be used in the request
            (the first part is the filter ID). Applicable for NUMERIC values only.
          example: .to
        count:
          type: integer
          description: Number of search results matching this filter value.
          example: 123
          minimum: 0
        selected:
          type: boolean
          description: Indicates whether this filter value was used in the current request.
    ListingResponseFilters:
      properties:
        id:
          type: string
          description: Identifier of the filter. Should be used as query parameter key,
            optionally followed by idSuffix from parameter value (only for NUMERIC filters).
          example: campaign
        type:
          type: string
          enum:
            - MULTI
            - SINGLE
            - NUMERIC
            - NUMERIC_SINGLE
            - TEXT
          description: >-
            The type of the filter:

             - *MULTI* - multiple choice filter,
             - *SINGLE* - single select (dropdown) filter,
             - *NUMERIC* - range of numeric values (search offers with value matching this range),
             - *NUMERIC_SINGLE* - single numeric value (search offers with given value matching the range defined in offer),
             - *TEXT* - filter allowing user to input any text.
        name:
          type: string
          description: Name of the filter.
          example: kampania
        values:
          type: array
          description: Available filter values.
          items:
            $ref: '#/components/schemas/ListingResponseFiltersValues'
        minValue:
          type: number
          description: Minimum valid value for filters of type NUMERIC.
          example: 0
        maxValue:
          type: number
          description: Maximum valid value for filters of type NUMERIC.
          example: 1000
        unit:
          type: string
          description: Unit of the NUMERIC/NUMERIC_SINGLE filter.
          example: "zł"
    ListingResponseSearchMeta:
      properties:
        availableCount:
          type: integer
          minimum: 0
          description: >-
            The number of results available for navigation. If this number is less
            than total count, the search criteria (categories, filters, etc.) should
            be narrowed down to make all results available.
          example: 6000
        totalCount:
          type: integer
          minimum: 0
          description: The total number of search results with given parameters.
          example: 319203
        fallback:
          type: boolean
          description: >-
            Indicates whether the search fallback was used. If true, no items
            matching exact given phrase were found and related items are
            presented.
      description: Search metadata.
    ListingResponseSort:
      properties:
        value:
          type: string
          description: The query parameter value which should be used for this sorting option.
          example: -relevance
        name:
          type: string
          description: The sorting option name in Polish.
          example: trafność
        order:
          type: string
          description: The order label in Polish specifying ascending or descending mode.
          example: największa
        selected:
          type: boolean
          description: Indicates whether this sorting option was used in the current request.
      description: Available sort options.
    OfferAdditionalServices:
      type: object
      description: The definition of the additional services assigned to the offer.
      properties:
        id:
          type: string
          format: uuid
          description: The ID of the additional services definition.
          example: 09f0b4cc-7880-11e9-8f9e-2a86e4085a59
    OffersSearchResultDto:
      type: object
      properties:
        offers:
          type: array
          description: The list of seller's offers matching the request's criteria.
          items:
            $ref: '#/components/schemas/OfferListingDto'
        count:
          type: integer
          minimum: 0
          description: Number of offers in the search result.
          example: 1
        totalCount:
          type: integer
          minimum: 0
          description: The total number of offers matching the request's criteria.
          example: 1234
    OfferListingDto:
      type: object
      description: An offer.
      properties:
        id:
          type: string
          description: The offer ID.
          example: "2865624934"
        name:
          type: string
          description: The title of the offer.
          example: Buty damskie adidas
        category:
          $ref: '#/components/schemas/OfferCategory'
        primaryImage:
          $ref: '#/components/schemas/OfferListingDtoImage'
        sellingMode:
          $ref: '#/components/schemas/SellingMode'
        saleInfo:
          $ref: '#/components/schemas/OfferListingDtoV1SaleInfo'
        stock:
          $ref: '#/components/schemas/OfferListingDtoV1Stock'
        stats:
          $ref: '#/components/schemas/OfferListingDtoV1Stats'
        publication:
          $ref: '#/components/schemas/OfferListingDtoV1Publication'
        afterSalesServices:
          $ref: '#/components/schemas/AfterSalesServices'
        additionalServices:
          $ref: '#/components/schemas/OfferAdditionalServices'
        external:
          $ref: '#/components/schemas/ExternalId'
        delivery:
          $ref: '#/components/schemas/OfferListingDtoV1Delivery'
        b2b:
          $ref: '#/components/schemas/OfferListingDtoV1B2b'
        fundraisingCampaign:
          $ref: '#/components/schemas/JustId'
        additionalMarketplaces:
          $ref: '#/components/schemas/OfferListingDtoV1AdditionalMarketplaces'
    OfferListingDtoImage:
      type: object
      description: The image used as a thumbnail on the listings.
      properties:
        url:
          type: string
          description: The url to the image in its original size.
          example: https://a.allegroimg.com/original/05a2af/929c6dae4fb8721a8539582eb421
    SellingMode:
      type: object
      description: Information on the offer's selling mode.
      properties:
        format:
          $ref: '#/components/schemas/SellingModeFormat'
        price:
          $ref: '#/components/schemas/BuyNowPrice'
        minimalPrice:
          $ref: '#/components/schemas/MinimalPrice'
        startingPrice:
          $ref: '#/components/schemas/StartingPrice'
    SellingModeWithNetPrice:
      type: object
      description: Information on the offer's selling mode.
      properties:
        format:
          $ref: '#/components/schemas/SellingModeFormat'
        price:
          $ref: '#/components/schemas/BuyNowPrice'
        minimalPrice:
          $ref: '#/components/schemas/MinimalPrice'
        startingPrice:
          $ref: '#/components/schemas/StartingPrice'
        netPrice:
          $ref: '#/components/schemas/NetPrice'
    BuyNowPrice:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: The buy now or advertisement price (depending on the offer's format).
    MinimalPrice:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: The minimal price for offers in auction format.
    StartingPrice:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: The starting price for offers in auction format.
    NetPrice:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: >-
        The buy now net price computed based on tax.
        Provided for informational purposes only - ignored when creating (POST) or updating (PUT).
    CurrentPrice:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: The current highest bid in auction format.
    MaxPrice:
      allOf:
        - $ref: '#/components/schemas/Price'
      description: Maximum amount that user is willing to pay for the auction.
    SellingModeFormat:
      type: string
      description: The selling format of the offer.
      enum:
        - 'BUY_NOW'
        - 'AUCTION'
        - 'ADVERTISEMENT'
    Tax:
      type: object
      description: VAT tax rate.
      properties:
        percentage:
          type: string
          description: The buy now tax rate, Format 0.00. The tax is linked to the default country that corresponds to the base marketplace of this offer.
          example: '23.00'
    OfferTaxSettings:
      type: object
      required:
        - rates
      description: Tax settings for offer. Available settings can be found under <a href="#operation/getTaxSettingsForCategory" target="_blank">"get all tax settings for category" resource</a>.
      properties:
        rates:
          type: array
          description: Tax rates for offer.
          items:
            $ref: '#/components/schemas/OfferTaxRate'
        subject:
          type: string
          description: The subject of taxation for offer.
          example: 'GOODS'
        exemption:
          type: string
          description: The exemption of taxation for offer.
          example: 'MONEY_EQUIVALENT'
    OfferTaxRate:
      type: object
      description: Offer tax rate for country.
      properties:
        rate:
          type: string
          description: Tax rate value.
          example: '23.00'
        countryCode:
          type: string
          description: Tax rate country code.
          example: 'PL'
    OfferListingDtoV1B2b:
      type: object
      description: Information about offer's business properties.
      properties:
        buyableOnlyByBusiness:
          type: boolean
    OfferListingDtoV1Delivery:
      type: object
      description: Delivery information.
      properties:
        shippingRates:
          $ref: '#/components/schemas/ShippingRates'
    OfferListingDtoV1SaleInfo:
      type: object
      description: Additional information about offers in auction format.
      properties:
        currentPrice:
          $ref: '#/components/schemas/CurrentPrice'
        biddersCount:
          type: integer
          minimum: 0
          description: The number of bidders.
          example: 4
    OfferListingDtoV1Stock:
      type: object
      description: Information on the offer's stock.
      properties:
        available:
          type: integer
          minimum: 0
          description: The available stock value.
          example: 23
        sold:
          type: integer
          minimum: 0
          description: The number of sold items in the last 30 days on the base marketplace.
          example: 3
    OfferListingDtoV1Stats:
      type: object
      nullable: true
      description: The offer's statistics on the base marketplace.
      properties:
        watchersCount:
          type: integer
          minimum: 0
          description: The number of users who added this offer to their watch lists.
          example: 99
        visitsCount:
          type: integer
          minimum: 0
          description: The number of unique users viewing this offer in the past 30 days.
    OfferListingDtoV1Publication:
      type: object
      description: Information on the offer's publication status and dates.
      properties:
        status:
          $ref: '#/components/schemas/OfferStatus'
        startingAt:
          type: string
          description: The date and time of activation in UTC for a planned listing.
          format: ISO 8601
          example: 2019-05-29T12:00:00Z
        startedAt:
          type: string
          format: ISO 8601
          description: The actual date and time of activation in UTC.
          example: 2019-05-29T12:00:00Z
        endingAt:
          type: string
          format: ISO 6801
          description: The date and time of a planned ending in UTC.
          example: 2019-06-30T12:00:00Z
        endedAt:
          type: string
          format: ISO 8601
          description: The actual date and time of last ending in UTC.
          example: 2019-06-30T12:10:00Z
        marketplaces:
          $ref: '#/components/schemas/OfferListingDtoV1PublicationMarketplaces'
    OfferStatus:
      type: string
      description: >-
        The publication status of the current offer. The possible values:

          - *INACTIVE* - a draft offer
          - *ACTIVATING* - the offer is planned for listing or is during the process of activation
          - *ACTIVE* - the offer is active
          - *ENDED* - the offer was active and is now ended (for whatever reason)
      enum:
        - 'INACTIVE'
        - 'ACTIVATING'
        - 'ACTIVE'
        - 'ENDED'
    OfferListingDtoV1PublicationMarketplaces:
      type: object
      description: Information on the offer's publication marketplaces.
      properties:
        base:
          description: The base marketplace of the offer.
          allOf:
            - $ref: '#/components/schemas/MarketplaceReference'
        additional:
          type: array
          description: Additional marketplaces, on which the offer is to be listed.
          example: [ { 'id': 'allegro-cz' } ]
          items:
            $ref: '#/components/schemas/MarketplaceReference'
    MarketplaceReference:
      type: object
      description: Identifies a marketplace.
      required:
        - id
      properties:
        id:
          $ref: '#/components/schemas/MarketplaceId'
    MarketplaceId:
      type: string
      description: >-
        The id of a marketplace.<br/>
        Available marketplaces can be determined using <a href="#operation/marketplacesGET">GET /marketplaces</a>.
      example: allegro-pl
    OfferListingDtoV1AdditionalMarketplaces:
      type: object
      description: Properties of the offer for each additional marketplace.
      additionalProperties:
        $ref: '#/components/schemas/OfferListingDtoV1AdditionalMarketplace'
      example: {
        'allegro-cz': {
          'publication': {
            'state': 'APPROVED'
          },
          'sellingMode': {
            'price': {
              'amount': '700',
              'currency': 'CZK'
            }
          },
          'stats': {
            'watchersCount': 3,
            'visitsCount': 5
          },
          'stock': {
            'sold': 2
          }
        }
      }
    OfferListingDtoV1AdditionalMarketplace:
      type: object
      description: Properties of the offer for the given marketplace.
      properties:
        publication:
          type: object
          nullable: true
          description: Information about the publication of the offer on the given marketplace.
          properties:
            state:
              $ref: '#/components/schemas/AdditionalMarketplacePublicationState'
        sellingMode:
          type: object
          nullable: true
          description: Information about the selling mode of the offer on the given marketplace.
          properties:
            price:
              allOf:
                - $ref: '#/components/schemas/BuyNowPrice'
              description: The price of the offer on the given marketplace.
        stats:
          allOf:
            - $ref: '#/components/schemas/OfferListingDtoV1Stats'
          description: The offer's statistics on the given marketplace.
        stock:
          type: object
          nullable: true
          description: >-
            Contains only the sold stock on the given marketplace.
            The available stock applies to all marketplaces.
          properties:
            sold:
              type: integer
              minimum: 0
              description: The number of sold items in the last 30 days on the given marketplace.
              example: 3

    AdditionalMarketplacePublicationState:
      type: string
      description: >-
        The publication status of the offer on an additional marketplace. The possible values:

          - *NOT_REQUESTED* - The seller has not declared their intention to list this offer on the marketplace
          - *PENDING* - The qualification process has not started; the offer is not listed yet
          - *IN_PROGRESS* - We are processing whether the offer qualifies to be listed on the marketplace; the offer is not listed yet
          - *APPROVED* - The offer is approved to be listed on the marketplace
          - *REFUSED* - The offer will not be listed on the marketplace; the offer may be re-qualified if is corrected
      enum:
        - 'NOT_REQUESTED'
        - 'PENDING'
        - 'IN_PROGRESS'
        - 'APPROVED'
        - 'REFUSED'
      example: APPROVED
    OrderEventsList:
      type: object
      required:
        - events
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/OrderEvent'
      description: Order events list
    OrderEvent:
      type: object
      required:
        - id
        - order
        - type
        - occurredAt
      properties:
        id:
          type: string
          description: event id
        order:
          $ref: '#/components/schemas/OrderEventData'
        type:
          $ref: '#/components/schemas/OrderEventType'
        occurredAt:
          type: string
          format: date-time
          example: '2018-10-12T10:12:32.321Z'
          description: 'Date when the event occurred'
      description: Order event
    OrderEventData:
      type: object
      required:
        - buyer
        - lineItems
        - seller
      properties:
        seller:
          $ref: '#/components/schemas/SellerReference'
        buyer:
          $ref: '#/components/schemas/BuyerReference'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/OrderLineItem'
        checkoutForm:
          $ref: '#/components/schemas/CheckoutFormReference'
        marketplace:
          $ref: '#/components/schemas/OrderMarketplace'
      description: Order event data
    SellerReference:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          example: "437848322"
      description: Seller identifier
    OfferReference:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
          example: "3213213"
        name:
          type: string
          description: 'Offer name.'
          example: "Name of purchased offer"
        external:
          $ref: '#/components/schemas/ExternalId'
        productSet:
          $ref: '#/components/schemas/OfferProductSetReference'
      description: Offer identifier.
    OfferProductSetReference:
      type: object
      required:
        - products
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/OfferProductSetProductReference'
          description: List of products in a product set.
          example:
            - id: "9d689aa5-f2ad-4bdc-bb97-6b196854e6c7"
              quantity: 1
            - id: "5924a344-1620-45fe-b214-186d4902c30b"
              quantity: 2
      description: If the offer was a product set, you can see a list of component products (product id with quantity).
    OfferProductSetProductReference:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          format: uuid
          description: Product id.
        quantity:
          type: number
          format: integer
          minimum: 1
          description: Product quantity in a product set.
      description: Product element definition.
    BuyerReference:
      type: object
      required:
        - email
        - login
        - guest
        - id
      properties:
        id:
          type: string
          description: buyer id
          example: "23123123"
        email:
          type: string
          example: "user-email@allegro.pl"
        login:
          type: string
          example: "User_Login"
        guest:
          type: boolean
          description: is a guest account?
          example: false
        preferences:
          $ref: '#/components/schemas/BuyerPreferencesReference'
      description: Buyer data
    BuyerPreferencesReference:
      type: object
      properties:
        language:
          type: string
          description: Language
          example: "pl-PL"
    OrderLineItem:
      type: object
      required:
        - offer
        - price
        - id
        - quantity
      properties:
        id:
          type: string
          format: uuid
          description: Order item identifier
          example: "62ae358b-8f65-4fc4-9c77-bedf604a2e2b"
        offer:
          $ref: '#/components/schemas/OrderLineItemOfferReference'
        quantity:
          type: number
          format: integer
          minimum: 0
          description: quantity
          example: 1
        originalPrice:
          $ref: '#/components/schemas/Price'
        price:
          $ref: '#/components/schemas/Price'
        boughtAt:
          type: string
          format: date-time
          description: ISO date when offer was bought
          example: "2018-01-01T10:23:43.123Z"
      description: Order item
    OrderLineItemOfferReference:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
          example: "3213213"
        name:
          type: string
          description: 'Offer name.'
          example: "Name of purchased offer"
        external:
          $ref: '#/components/schemas/ExternalId'
      description: Offer identifier.
    OrderEventStats:
      type: object
      properties:
        latestEvent:
          $ref: '#/components/schemas/LatestOrderEvent'
      description: Event statistics, currently contains only basic information about the latest event.
    LatestOrderEvent:
      type: object
      required:
        - id
        - occurredAt
      properties:
        id:
          type: string
          description: event id
        occurredAt:
          type: string
          format: date-time
          example: '2018-10-12T10:12:32.321Z'
          description: 'Date when the event occurred'
      description: Basic information about the latest order event.
    OrderMarketplace:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: Id of the purchase marketplace
          example: 'allegro-pl'
    CheckoutFormReference:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          example: "88ae369b-8f65-4fc4-9c77-bedf604a2e2b"
          description: Checkout form identifier
        revision:
          type: string
          example: "819b5836"
          description: Checkout form revision
    CheckoutFormStatus:
      enum:
        - BOUGHT
        - FILLED_IN
        - READY_FOR_PROCESSING
        - CANCELLED
      example: "READY_FOR_PROCESSING"
      description: >
        Describes status of the form delivery and purchase options based on payment and purchase status.
        * `BOUGHT` - purchase without checkout form filled in
        * `FILLED_IN` - checkout form filled in but payment is not completed yet so data could still change
        * `READY_FOR_PROCESSING` - payment completed. Purchase is ready for processing.
        * `CANCELLED` - purchase cancelled by buyer.
    OrderEventType:
      enum:
        - BOUGHT
        - FILLED_IN
        - READY_FOR_PROCESSING
        - BUYER_CANCELLED
        - FULFILLMENT_STATUS_CHANGED
        - BUYER_MODIFIED
        - AUTO_CANCELLED
      example: "READY_FOR_PROCESSING"
      description: >
        Type of order event.
        * `BOUGHT` - purchase without checkout form filled in
        * `FILLED_IN` - checkout form filled in but payment is not completed yet so data could still change
        * `READY_FOR_PROCESSING` - payment completed. Purchase is ready for processing.
        * `BUYER_CANCELLED` - purchase cancelled by buyer
        * `FULFILLMENT_STATUS_CHANGED`: fulfillment status changed.
        * `BUYER_MODIFIED` - purchase modified by buyer
        * `AUTO_CANCELLED` - purchase cancelled automatically by Allegro
    CheckoutForms:
      type: object
      required:
        - count
        - totalCount
        - checkoutForms
      properties:
        checkoutForms:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutForm'
        count:
          type: number
          format: integer
          minimum: 1
          description: number of returned objects
          example: 1
        totalCount:
          type: number
          format: integer
          minimum: 1
          description: >
            Number of all objects of requested status(es) available (regardless of the provided limit and offset)
          example: 1
    CheckoutForm:
      type: object
      required:
        - id
        - buyer
        - status
        - lineItems
        - surcharges
        - discounts
        - summary
      properties:
        id:
          type: string
          format: uuid
          description: Checkout form id
          example: "29738e61-7f6a-11e8-ac45-09db60ede9d6"
        messageToSeller:
          type: string
          description: Message from buyer to seller
          example: "Please send me an item in red color"
        buyer:
          $ref: '#/components/schemas/CheckoutFormBuyerReference'
        payment:
          $ref: '#/components/schemas/CheckoutFormPaymentReference'
        status:
          $ref: '#/components/schemas/CheckoutFormStatus'
        fulfillment:
            $ref: '#/components/schemas/CheckoutFormFulfillment'
        delivery:
          $ref: '#/components/schemas/CheckoutFormDeliveryReference'
        invoice:
          $ref: '#/components/schemas/CheckoutFormInvoiceInfo'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutFormLineItem'
        surcharges:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutFormPaymentReference'
        discounts:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutFormDiscount'
        note:
          $ref: '#/components/schemas/CheckoutFormNoteReference'
        marketplace:
          $ref: '#/components/schemas/CheckoutFormMarketplace'
        summary:
          $ref: '#/components/schemas/CheckoutFormSummary'
        updatedAt:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30.133Z'
        revision:
          type: string
          example: "819b5836"
          description: Checkout form revision
    CheckoutFormBuyerReference:
      type: object
      required:
        - id
        - email
        - login
        - guest
      properties:
        id:
          type: string
          description: buyer id
          example: "23123123"
        email:
          type: string
          example: "user-email@allegro.pl"
        login:
          type: string
          example: "User_Login"
        firstName:
          type: string
          description: Buyer's first name
          example: "Jan"
        lastName:
          type: string
          description: Buyer's last name
          example: "Kowalski"
        companyName:
          type: string
          description: Company name
          example: "Kowalex"
        guest:
          type: boolean
          description: is a guest account?
          example: false
        personalIdentity:
          type: string
          description: Buyer's personal identity number (PESEL)
          example: "67062589524"
        phoneNumber:
          type: string
          description: Phone number
          example: "123123123"
        preferences:
          $ref: '#/components/schemas/BuyerPreferencesReference'
        address:
          $ref: '#/components/schemas/CheckoutFormBuyerAddressReference'
      description: Buyer data
    CheckoutFormBuyerAddressReference:
      type: object
      properties:
        street:
          type: string
          description: Street
          example: "Solna"
        city:
          type: string
          description: City name
          example: "Poznań"
        postCode:
          type: string
          description: Postal code
          example: "60-166"
        countryCode:
          type: string
          description: Country code
          example: "PL"
      description: Buyer address
    CheckoutFormPaymentReference:
      type: object
      required:
        - id
        - type
      properties:
        id:
          type: string
          format: uuid
          description: Payment id
          example: "0f8f1d13-7e9e-11e8-9b00-c5b0dfb78ea6"
        type:
          $ref: '#/components/schemas/CheckoutFormPaymentType'
        provider:
          $ref: '#/components/schemas/CheckoutFormPaymentProvider'
        finishedAt:
          type: string
          format: date-time
          example: '2018-10-12T10:12:32.321Z'
          description: 'Date when the event occurred'
        paidAmount:
          $ref: '#/components/schemas/Price'
        reconciliation:
          $ref: '#/components/schemas/Price'
        features:
          type: array
          items:
            type: string
          description: >-
            Payment additional features:
             - `ALLEGRO_PAY` - The payment was made using Allegro Pay.
          example:
            - 'ALLEGRO_PAY'
    CheckoutFormPaymentType:
      description: Payment type
      type: string
      enum:
        - CASH_ON_DELIVERY
        - WIRE_TRANSFER
        - ONLINE
        - SPLIT_PAYMENT
        - EXTENDED_TERM
    CheckoutFormPaymentProvider:
      description: Payment provider
      type: string
      enum:
        - P24
        - PAYU
        - OFFLINE
        - EPT
    CheckoutFormFulfillment:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/CheckoutFormFulfillmentStatus'
        shipmentSummary:
          $ref: '#/components/schemas/CheckoutFormFulfillmentShipmentSummary'
    CheckoutFormFulfillmentStatus:
      enum:
        - NEW
        - PROCESSING
        - READY_FOR_SHIPMENT
        - READY_FOR_PICKUP
        - SENT
        - PICKED_UP
        - CANCELLED
        - SUSPENDED
      example: "SENT"
      description: >
        Order seller status.
    CheckoutFormFulfillmentShipmentSummary:
      type: object
      properties:
        lineItemsSent:
          $ref: '#/components/schemas/CheckoutFormFulfillmentShipmentSummaryLineItemsSent'
    CheckoutFormFulfillmentShipmentSummaryLineItemsSent:
      enum:
        - NONE
        - SOME
        - ALL
      example: "SOME"
      description: >
        Indicates how many line items have tracking number specified.
    CheckoutFormDeliveryReference:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/CheckoutFormDeliveryAddress'
        method:
          $ref: '#/components/schemas/CheckoutFormDeliveryMethod'
        pickupPoint:
          $ref: '#/components/schemas/CheckoutFormDeliveryPickupPoint'
        cost:
          $ref: '#/components/schemas/Price'
        time:
          $ref: '#/components/schemas/CheckoutFormDeliveryTime'
        smart:
          type: boolean
          description: Buyer used a SMART option
          example: true
        calculatedNumberOfPackages:
          type: integer
          format: int32
          minimum: 0
          description: Calculated number of packages.
          example: 1
    CheckoutFormDeliveryAddress:
      type: object
      required:
        - firstName
        - lastName
        - street
        - city
        - zipCode
        - countryCode
      properties:
        firstName:
          type: string
          description: Receiver's first name
          example: "Jan"
        lastName:
          type: string
          description: Receiver's last name
          example: "Kowalski"
        street:
          type: string
          description: Street name
          example: "Grunwaldzka 182"
        city:
          type: string
          description: City name
          example: "Poznań"
        zipCode:
          type: string
          description: Postal code
          example: "60-166"
        countryCode:
          type: string
          description: Country code
          example: "PL"
        companyName:
          type: string
          description: Company name
          example: "Kowalex"
        phoneNumber:
          type: string
          description: Phone number
          example: "123123123"
        modifiedAt:
          type: string
          description: Address modification date
          example: "2018-01-05T10:23:43.123Z"
    CheckoutFormDeliveryMethod:
      type: object
      properties:
        id:
          type: string
          description: Delivery method id
          example: "1fa56f79-4b6a-4821-a6f2-ca9c16d5c925"
        name:
          type: string
          description: Delivery method name
          example: "Allegro Paczkomaty InPost"
    CheckoutFormDeliveryPickupPoint:
      type: object
      properties:
        id:
          type: string
          description: Delivery point id
          example: "POZ08A"
        name:
          type: string
          description: Delivery point name
          example: "Paczkomat POZ08A"
        description:
          type: string
          description: Delivery point description
          example: "Stacja paliw BP"
        address:
          $ref: '#/components/schemas/CheckoutFormDeliveryPickupPointAddress'
    CheckoutFormDeliveryPickupPointAddress:
      type: object
      properties:
        street:
          type: string
          description: Delivery point street name
          example: "Grunwaldzka 108"
        zipCode:
          type: string
          description: Delivery point postal code
          example: "60-166"
        city:
          type: string
          description: City name
          example: "Poznań"
        countryCode:
          type: string
          description: Country code
          example: "PL"
    CheckoutFormDeliveryTime:
      type: object
      properties:
        from:
          type: string
          format: date-time
          description: ISO date when the earliest delivery attempt can take place.
          example: "2018-01-01T10:23:43.123Z"
        to:
          type: string
          format: date-time
          description: ISO date when the latest delivery attempt can take place.
          example: "2018-01-05T10:23:43.123Z"
        guaranteed:
          $ref: '#/components/schemas/CheckoutFormDeliveryTimeGuaranteed'
        dispatch:
          $ref: '#/components/schemas/CheckoutFormDeliveryTimeDispatch'
    CheckoutFormDeliveryTimeGuaranteed:
      deprecated: true
      type: object
      description: >-
        Guaranteed date when first delivery attempt takes place. This is always filled for Allegro One Courier delivery method.
        This field is deprecated in favor of `delivery.time.from` and `delivery.time.to`.
      properties:
        from:
          type: string
          format: date-time
          description: ISO date when the earliest delivery attempt can take place.
          example: "2018-01-07T16:00:00Z"
        to:
          type: string
          format: date-time
          description: ISO date when the latest delivery attempt can take place.
          example: "2018-01-08T18:00:00Z"
    CheckoutFormDeliveryTimeDispatch:
      type: object
      description: Dates when delivery should be dispatched, passed to the provider.
      properties:
        from:
          type: string
          format: date-time
          description: ISO date when the earliest dispatch should take place.
          example: "2018-01-01T16:00:00Z"
        to:
          type: string
          format: date-time
          description: ISO date when the latest dispatch should take place.
          example: "2018-01-03T18:00:00Z"
    CheckoutFormInvoiceInfo:
      type: object
      required:
        - required
      properties:
        required:
          type: boolean
          description: Is invoice required by buyer?
          example: true
        address:
          $ref: '#/components/schemas/CheckoutFormInvoiceAddress'
        dueDate:
          type: string
          description: Due date to put on an invoice for Extended Payment Terms purchases. For other payment methods this field will be null.
          example: "2021-12-01"
    CheckoutFormInvoiceAddress:
      type: object
      required:
        - street
        - city
        - zipCode
        - countryCode
      properties:
        street:
          type: string
          description: Street name
          example: "Grunwaldzka 182"
        city:
          type: string
          description: City name
          example: "Poznań"
        zipCode:
          type: string
          description: Postal code
          example: "60-166"
        countryCode:
          type: string
          description: Country code
          example: "PL"
        company:
          $ref: '#/components/schemas/CheckoutFormInvoiceAddressCompany'
        naturalPerson:
          $ref: '#/components/schemas/CheckoutFormInvoiceAddressNaturalPerson'
    CheckoutFormInvoiceAddressCompany:
      type: object
      description: Setting the value to null indicates a private purchase, while any other value indicates a corporate purchase.
      required:
        - name
        - vatPayerStatus
      properties:
        name:
          type: string
          description: Name of a company for which invoice should be issued.
          example: "Udix Sp. z o.o."
        ids:
          type: array
          description: Tax ids of a company for which invoice should be issued.
          items:
            $ref: '#/components/schemas/CheckoutFormInvoiceAddressCompanyId'
        vatPayerStatus:
          type: string
          description: >-
            The vat payer status:
            - `ACTIVE` - user explicitly declared as an active VAT taxpayer,
            - `NON_ACTIVE` - user explicitly declared as not an active VAT taxpayer,
            - `NOT_APPLICABLE` - user hasn't declared the VAT taxpayer status, or it's not applicable for given address type or provided company numbers.
          enum:
            - ACTIVE
            - NON_ACTIVE
            - NOT_APPLICABLE
          example: NOT_APPLICABLE
        taxId:
          type: string
          description: Tax id.
          deprecated: true
          example: "111-11-11-111"
    CheckoutFormInvoiceAddressCompanyId:
      type: object
      required:
        - type
        - value
      properties:
        type:
          type: string
          description: The tax id type.
          enum:
            - PL_NIP
            - CZ_ICO
            - CZ_DIC
            - OTHER
          example: PL_NIP
        value:
          type: string
          description: The tax id value.
          example: "111-11-11-111"
    CheckoutFormInvoiceAddressNaturalPerson:
      type: object
      required:
        - firstName
        - lastName
      properties:
        firstName:
          type: string
          description: Invoice receiver first name
          example: "Jan"
        lastName:
          type: string
          description: Invoice receiver last name
          example: "Kowalski"
    CheckoutFormLineItem:
      type: object
      required:
        - id
        - offer
        - quantity
        - originalPrice
        - price
      properties:
        id:
          type: string
          format: uuid
          description: Line item identifier
          example: "62ae358b-8f65-4fc4-9c77-bedf604a2e2b"
        offer:
          $ref: '#/components/schemas/OfferReference'
        quantity:
          type: number
          format: integer
          description: quantity
          minimum: 1
          example: 1
        originalPrice:
          $ref: '#/components/schemas/Price'
        price:
          $ref: '#/components/schemas/Price'
        reconciliation:
          $ref: '#/components/schemas/LineItemReconciliation'
        selectedAdditionalServices:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutFormAdditionalService'
        vouchers:
          type: array
          items:
            $ref: '#/components/schemas/LineItemVoucher'
        tax:
          $ref: '#/components/schemas/CheckoutFormLineItemTax'
        boughtAt:
          type: string
          format: date-time
          description: ISO date when offer was bought
          example: "2018-01-01T10:23:43.123Z"
      description: Order item
    LineItemReconciliation:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/Price'
        type:
          type: string
          enum:
            - BILLING
            - WALLET
          description: >
            Reconciliation type used in the Allegro Prices program, in which the offer is included. The following values are possible:
            * `BILLING` - a reconciliation value is counted as a new entry in the billing
            * `WALLET` - a reconciliation value is added to the checkout form payment
        quantity:
          type: integer
          format: int32
          minimum: 1
          description: Quantity of reconciled items
          example: 1
    CheckoutFormAdditionalService:
      type: object
      properties:
        definitionId:
          type: string
          description: Additional service id
          example: "CARRY_IN"
        name:
          type: string
          description: Additional service name
          example: "Wniesienie"
        price:
          $ref: '#/components/schemas/Price'
        quantity:
          type: integer
          format: int32
          minimum: 1
          description: Quantity of an additional service
          example: 1
    LineItemVoucher:
      type: object
      required:
        - type
      properties:
        code:
          type: string
          description: The voucher code.
          example: "Code12345"
        type:
          type: string
          enum:
            - NOTEBOOKS_FOR_TEACHERS
          description: >
            Describes the types of vouchers used in the lineItems. The types of vouchers can be as follows:
            * `NOTEBOOKS_FOR_TEACHERS` - a voucher for teacher's notebook action.
        status:
          type: string
          enum:
            - ACTIVE
            - CANCELLED
          description: >
            Describes the status of the current voucher. The status of voucher can be as follows:
            * `ACTIVE` - an active voucher, ready to use,
            * `CANCELLED` - a cancelled voucher, disabled to use.
        externalTransactionId:
          type: string
          description: The external transaction id. The value may differ depending on the status type.
          example: "sampleExternalTransactionId"
        value:
          allOf:
            - $ref: '#/components/schemas/Price'
            - type: object
              description: The value of the voucher.
    CheckoutFormLineItemTax:
      type: object
      properties:
        rate:
          type: string
          description: The tax rate.
          nullable: true
          example: '23.00'
        subject:
          type: string
          description: The subject of taxation.
          nullable: true
          example: 'GOODS'
        exemption:
          type: string
          description: The exemption of taxation.
          nullable: true
          example: 'MONEY_EQUIVALENT'
    CheckoutFormDiscount:
      type: object
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - COUPON
            - BUNDLE
            - MULTIPACK
            - CROSSMULTIPACK
            - ALLEGRO_PRICES
          description: >
            Describes the types of discounts used in the checkout form. The types of discounts can be as follows:
            * `COUPON` - a coupon was used during payment
            * `BUNDLE` - some items were bought as a bundle
            * `MULTIPACK` - at least one item was bought with a multipack option turned on
            * `CROSSMULTIPACK` - some items, each from a different offer, were bought together as a multipack
            * `ALLEGRO_PRICES` - some items are included in the Allegro Prices program
    CheckoutFormNoteReference:
      type: object
      properties:
        text:
          type: string
          description: Seller's note for the order
          example: Sample note
    CheckoutFormMarketplace:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: Id of the purchase marketplace
          example: 'allegro-pl'
    CheckoutFormSummary:
      type: object
      required:
        - totalToPay
      properties:
        totalToPay:
          allOf:
            - $ref: '#/components/schemas/Price'
            - type: object
              description: Total to pay including additional services and delivery
    CheckoutFormsOrderInvoices:
      type: object
      properties:
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/CheckoutFormsOrderInvoice'
        hasExternalInvoices:
          type: boolean
          description: "Informs whether an invoice or a proof-of-purchase has been sent outside of Allegro platform"
    CheckoutFormsOrderInvoice:
      type: object
      properties:
        id:
          type: string
        invoiceNumber:
          type: string
        createdAt:
          type: string
          format: date-time
        file:
          $ref: '#/components/schemas/CheckoutFormsOrderInvoiceFile'
    CheckoutFormsOrderInvoiceFile:
      type: object
      properties:
        name:
          type: string
        uploadedAt:
          type: string
          format: date-time
        securityVerification:
          $ref: '#/components/schemas/CheckoutFormsOrderInvoiceFileSecurityVerification'
    CheckoutFormsOrderInvoiceFileSecurityVerification:
      type: object
      properties:
        status:
          type: string
          enum:
            - ACCEPTED
            - REJECTED
            - WAITING
        verifiedAt:
          type: string
          format: date-time
    CheckFormsNewOrderInvoice:
      type: object
      required:
        - file
      properties:
        file:
          $ref: '#/components/schemas/CheckFormsNewOrderInvoiceFile'
        invoiceNumber:
          type: string
    CheckFormsNewOrderInvoiceFile:
      type: object
      required:
        - name
      properties:
        name:
          type: string
    CheckFormsNewOrderInvoiceId:
      type: object
      properties:
        id:
          type: string
    DisputeListResponse:
      type: object
      properties:
        disputes:
          type: array
          items:
            $ref: '#/components/schemas/Dispute'
    Dispute:
      type: object
      properties:
        id:
          type: string
          description: Identifier of the dispute
        subject:
          $ref: '#/components/schemas/Subject'
        status:
          type: string
          enum:
            - CLOSED
            - ONGOING
            - UNRESOLVED
        messagesStatus:
          type: string
          enum:
            - NEW
            - SELLER_REPLIED
            - BUYER_REPLIED
            - ALLEGRO_ADVISOR_REPLIED
        buyer:
          $ref: '#/components/schemas/DisputeUser'
        checkoutForm:
          $ref: '#/components/schemas/DisputeCheckoutForm'
        message:
          $ref: '#/components/schemas/DisputeFirstMessage'
        messagesCount:
          type: integer
          format: int32
          minimum: 0
        openedDate:
          type: string
          format: date-time
          example: "2018-02-10T12:12:12.000Z"
          description: Recent date when the dispute has been opened or reopened
        lastMessageCreationDate:
          type: string
          format: date-time
          example: "2018-02-10T12:12:12.000Z"
        claim:
          $ref: '#/components/schemas/DisputeClaim'
      required:
        - id
        - subject
        - status
        - messagesStatus
        - buyer
        - checkoutForm
        - message
        - messagesCount
        - lastMessageCreationDate
    Subject:
      type: object
      description: Subject of the dispute
      properties:
        name:
          type: string
          description: Subject name
          example: "nie otrzymałem towaru po wpłacie"
    DisputeClaim:
      type: object
      description: Buyer's claim data for the dispute.
      properties:
        name:
          type: string
          nullable: true
          description: Type of the buyer's expectations for the dispute outcome.
          example: "częściowy zwrot pieniędzy"
        description:
          type: string
          nullable: true
          description: Details of the buyer's expectations for the dispute.
          example: "Zwrot 27 zł"
    DisputeUser:
      type: object
      properties:
        id:
          type: string
        login:
          type: string
    DisputeMessageList:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/DisputeMessage'
    DisputeFirstMessage:
      type: object
      description: Initial dispute message with text OR attachment OR both
      properties:
        id:
          type: string
        text:
          type: string
        attachment:
          $ref: '#/components/schemas/DisputeAttachment'
        author:
          $ref: '#/components/schemas/DisputeAuthor'
        createdAt:
          type: string
          format: date-time
          example: "2018-02-10T12:12:12Z"
      required:
        - id
        - author
        - createdAt
    DisputeMessage:
      type: object
      description: Initial dispute message with text OR attachment OR both
      properties:
        id:
          type: string
        text:
          type: string
        attachment:
          $ref: '#/components/schemas/DisputeAttachment'
        author:
          $ref: '#/components/schemas/DisputeMessageAuthor'
        createdAt:
          type: string
          format: date-time
          example: "2018-02-10T12:12:12Z"
      required:
        - id
        - author
        - createdAt
    DisputeMessageAuthor:
      type: object
      description: Author of the message
      properties:
        login:
          type: string
          description: Not present if role is ADMIN, SYSTEM or FULFILLMENT
        role:
          $ref: '#/components/schemas/MessageAuthorRole'
      required:
        - role
    DisputeAttachment:
      type: object
      properties:
        fileName:
          type: string
          maxLength: 255
        url:
          type: string
          description: Direct link to the attachment
          example: "https://upload.allegro.pl/sale/dispute-attachments/eeed0007-4404-4176-a1eb-11d26f056c0d"
      required:
        - fileName
        - url
    DisputeAttachmentId:
      type: object
      properties:
        id:
          type: string
      required:
        - id
    AttachmentDeclaration:
      type: object
      properties:
        fileName:
          type: string
        size:
          type: integer
          minimum: 1
          example: 128
      required:
        - fileName
        - size
    DisputeCheckoutForm:
      type: object
      properties:
        id:
          type: string
        createdAt:
          type: string
          format: date-time
          example: "2018-02-10T12:12:12Z"
      required:
        - id
        - createdAt
    DisputeAuthor:
      type: object
      properties:
        login:
          type: string
          description: Not present if role is ADMIN or FULFILLMENT
        role:
          $ref: '#/components/schemas/DisputeAuthorRole'
      required:
        - role
    DisputeAuthorRole:
      type: string
      enum:
        - BUYER
        - SELLER
        - ADMIN
        - FULFILLMENT
    MessageAuthorRole:
      type: string
      enum:
        - BUYER
        - SELLER
        - ADMIN
        - SYSTEM
        - FULFILLMENT
    MessageRequest:
      type: object
      description: "Request body to add message to the dispute. Presence of text or attachment fields or both is required."
      properties:
        text:
          type: string
          maxLength: 20000
        attachment:
          $ref: '#/components/schemas/DisputeAttachmentId'
        type:
          type: string
          enum:
            - REGULAR
            - END_REQUEST
      required:
        - text
        - attachment
        - type
    TagRequest:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 25
        hidden:
          type: boolean
    TagId:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    TagResponse:
      type: object
      required:
        - id
        - name
        - hidden
      properties:
        id:
          type: string
        name:
          type: string
        hidden:
          type: boolean
    TagListResponse:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagResponse'
    TagIdsRequest:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagId'
    PromotionResponseDto:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    CampaignResponseDto:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    SinglePromotionCampaignResponseDto:
      type: object
      required:
        - campaign
        - promotion
        - status
      properties:
        campaign:
          $ref: '#/components/schemas/CampaignResponseDto'
        promotion:
          $ref: '#/components/schemas/PromotionResponseDto'
        status:
          type: string
          enum:
            - PENDING
            - ACTIVE
            - SUSPENDED
    PromotionCampaignsResponseDto:
      type: object
      required:
        - promotionCampaigns
        - totalCount
      properties:
        promotionCampaigns:
          type: array
          items:
            $ref: '#/components/schemas/SinglePromotionCampaignResponseDto'
        totalCount:
          type: integer
          format: int64
          minimum: 0
    PromotionCampaignResponseDto:
      type: object
      required:
        - campaign
        - link
        - promotion
        - status
      properties:
        campaign:
          $ref: '#/components/schemas/CampaignResponseDto'
        link:
          type: string
          nullable: true
        promotion:
          $ref: '#/components/schemas/PromotionResponseDto'
        status:
          type: string
          enum:
            - REQUESTED
            - SUSPENDED
            - VERIFICATION
            - ACCEPTED
            - ACTIVE
            - FINISHED
            - DECLINED
    CampaignRequestDto:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    PromotionRequestDto:
      type: object
      required:
        - id
      properties:
        id:
          type: string
    CheckoutFormAddWaybillRequest:
      type: object
      required:
        - carrierId
        - waybill
      properties:
        carrierId:
          type: string
          description: >-
            Supported carriers are available via <a href="#operation/getOrdersCarriersUsingGET" target="_blank">shipping carriers resource</a>.
        waybill:
          type: string
          description: >-
            Waybill number (parcel tracking number).
            Cannot be empty and must be no longer than 64 characters.
          maxLength: 64
        carrierName:
          type: string
          maxLength: 30
          description: >-
            Carrier name to be provided only if carrierId is OTHER, otherwise it’s ignored.
            Must be no longer than 30 characters.
        lineItems:
          type: array
          description: >-
            List of order line items. They must be from the order specified in the path parameter.
            When list is not provided or it is empty it means that every item from an order is included in shipment.
          items:
            required:
              - id
            properties:
              id:
                type: string
                description: >-
                  Identifier of an order line item.
    OrdersShippingCarrier:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier of a carrier - unique to every carrier.


            It’s highly recommended to use an identifier different from `OTHER`, because its parcel status may be updated automatically.
            Carrier identifier `OTHER` is reserved for cases when seller uses a custom carrier or not yet integrated with Allegro.
        name:
          type: string
          description: Name of a carrier.
    CheckoutFormAddWaybillCreated:
      type: object
      properties:
        id:
          type: string
          description: Identifier of a shipment.
        waybill:
          type: string
          description: >-
            Waybill number (parcel tracking number).
            Cannot be empty and must be no longer than 64 characters.
        carrierId:
          type: string
          description: >-
            Supported carriers are available via <a href="#operation/getOrdersCarriersUsingGET" target="_blank">shipping carriers resource</a>.
        carrierName:
          type: string
          description: >-
            Carrier name to be provided only if carrierId is OTHER, otherwise it’s ignored.
            Must be no longer than 30 characters.
        lineItems:
          description: >-
            List of order line items. They must be from the order specified in the path parameter. List cannot be empty.
          items:
            properties:
              id:
                type: string
                description: Identifier of an order line item.
        createdAt:
          type:
            string
          description: Date and time of the parcel tracking number registration in UTC (ISO8601 format).
    OrdersShippingCarriersResponse:
      type: object
      properties:
        carriers:
          type: array
          description: >-
            List of shipping carriers.
          items:
            $ref: '#/components/schemas/OrdersShippingCarrier'
    CheckoutFormOrderWaybillResponse:
      type: object
      properties:
        shipments:
          type: array
          description: >-
            List of parcel tracking numbers currently assigned to the order.
          items:
            $ref: '#/components/schemas/CheckoutFormAddWaybillCreated'
    AllegroPickupDropOffPointsResponse:
      type: object
      properties:
        points:
          type: array
          description: >-
            List of Allegro pickup drop off points.
          items:
            $ref: '#/components/schemas/AllegroPickupDropOffPoint'
    CarrierParcelTrackingResponse:
      type: object
      required:
        - carrierId
        - waybills
      properties:
        carrierId:
          type: string
          description: Carrier identifier.
        waybills:
          type: array
          description: >-
            Allegro parcel tracking history for multiple tracking numbers (waybills).
          items:
            $ref: '#/components/schemas/ParcelTrackingHistory'
    GetSaleProductsResponse:
      type: object
      required:
        - products
      properties:
        products:
          type: array
          items:
            $ref: '#/components/schemas/BaseSaleProductResponseDto'
        categories:
          $ref: '#/components/schemas/SaleProductResponseCategoriesDto'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/ListingResponseFilters'
        nextPage:
          type: object
          properties:
            id:
              type: string
              description: A "cursor" to the next set of results.
    ProductProposalsRequest:
      type: object
      required:
        - name
        - category
        - parameters
        - images
        - language
      properties:
        name:
          type: string
          description: Suggested product name.
          example: iPhone 5s
          maxLength: 75
        category:
          $ref: '#/components/schemas/ProductCategory'
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageUrl'
          description: List of product images. At least one image is required.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameter'
          description: List of product parameters.
        description:
          $ref: '#/components/schemas/StandardizedDescription'
        language:
          type: string
          description: Language of provided product data (name, description, parameters's values).
          format: BCP-47 language code
          example: 'pl-PL'
    ProductChangeProposalDto:
      type: object
      properties:
        id:
          type: string
          description: Product change proposal id
        name:
          $ref: '#/components/schemas/ProductNameProposal'
        category:
          $ref: '#/components/schemas/ProductCategoryProposal'
        note:
          type: string
          description: Note about product changes proposal.
          example: Some additional note to product changes proposal.
          maxLength: 500
        images:
          type: array
          items:
            $ref: '#/components/schemas/ProductImageProposal'
          description: List of proposed image change statuses.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterProposal'
          description: List of proposed product parameter change statuses.
        notifyViaEmailAfterVerification:
          type: boolean
          description: Receive an email notification after product changes proposal resolution.
        language:
          type: string
          description: Language of provided suggestion data.
          format: BCP-47 language code
    ProductImageProposal:
      type: object
      properties:
        current:
          type: string
          description: Current product image url.
        proposal:
          type: string
          description: Proposed product image url.
        reason:
          type: string
          description: Verification message.
        resolutionType:
          type: string
          enum:
            - UNRESOLVED
            - ACCEPTED
            - REJECTED
          description: Verification resolution type.
      description: Image proposal.
    ProductNameProposal:
      type: object
      properties:
        current:
          type: string
          description: Current product name.
        proposal:
          type: string
          description: Proposed product name.
        reason:
          type: string
          description: Verification message.
        resolutionType:
          enum:
            - UNRESOLVED
            - ACCEPTED
            - REJECTED
          description: Verification resolution type.
      description: Name proposal status.
    ProductCategoryProposal:
      type: object
      properties:
        current:
          type: string
          description: Current product category identifier.
        proposal:
          type: string
          description: Proposed product category identifier.
        reason:
          type: string
          description: Verification message.
        resolutionType:
          enum:
            - UNRESOLVED
            - ACCEPTED
            - REJECTED
          description: Verification resolution type.
      description: Name proposal status.
    ProductParameterProposal:
      type: object
      properties:
        id:
          type: string
          description: Parameter identifier.
        values:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterValueProposal'
          description: List of proposed product parameter change statuses.
      description: Product parameter values proposal status.
    ProductParameterValueProposal:
      type: object
      properties:
        current:
          type: string
          description: Current product parameter value.
        proposal:
          type: string
          description: Proposed product parameter value.
        reason:
          type: string
          description: Verification message.
        resolutionType:
          enum:
            - UNRESOLVED
            - ACCEPTED
            - REJECTED
          description: Verification resolution type.
      description: Parameter value proposal status.
    ProductChangeProposalRequest:
      type: object
      required:
        - name
        - category
        - parameters
        - images
        - language
      properties:
        name:
          type: string
          description: Proposed product name.
          example: iPhone 5s
          maxLength: 150
        note:
          type: string
          description: Note about product changes proposal.
          example: Some additional note to product changes proposal.
          maxLength: 500
        category:
          $ref: '#/components/schemas/ProductCategory'
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageUrl'
          description: List of product images. At least one image is required.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameter'
          description: List of product parameters.
        notifyViaEmailAfterVerification:
            type: boolean
            description: Receive an email notification after product changes proposal resolution.
        language:
          type: string
          description: Language of provided proposal data.
          format: BCP-47 language code
          default: 'pl-PL'
    ProductChangesResponse:
        type: object
        properties:
            productChanges:
                type: array
                items:
                    $ref: '#/components/schemas/ProductChangeDto'
                description: List of requested product changes.
    ProductChangeDto:
        type: object
        properties:
            product:
                type: object
                properties:
                    id:
                        type: string
                        description: Product id.
            changedParameters:
                type: array
                description: List of changed product parameters.
                items:
                    $ref: '#/components/schemas/ChangedParameterDto'
    ChangedParameterDto:
        type: object
        properties:
            id:
                type: string
                description: Parameter id.
            updatedAt:
                type: string
                description: Time of last parameter change in ISO 8601 format.
    SaleProductDto:
      type: object
      required:
        - id
        - name
        - category
      properties:
        id:
          type: string
          example: c9e39cae-9cb6-11e9-a2a3-2a2ae2dbcce4
          description: Product id.
        name:
          type: string
          description: Product name.
          example: iPhone 5s
        category:
          $ref: '#/components/schemas/ProductCategoryWithPath'
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageUrl'
          description: List of product images.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterDto'
          description: List of product parameters.
        offerRequirements:
          $ref: '#/components/schemas/OfferRequirements'
        compatibilityList:
          $ref: '#/components/schemas/SaleProductCompatibilityList'
        tecdocSpecification:
          $ref: '#/components/schemas/TecdocSpecification'
        description:
          $ref: '#/components/schemas/StandardizedDescription'
        isDraft:
          type: boolean
          description: Flag that informs if product is waiting for resolution of basic parameters change proposal.
        aiCoCreatedContent:
          $ref: '#/components/schemas/AiCoCreatedContent'
        publication:
          type: object
          properties:
            status:
              type: string
              enum:
                - PROPOSED
                - LISTED
              description: >-
                The publication status of the product:
                 - `PROPOSED` - product is proposed and can be during the review process
                 - `LISTED` - product is created and reviewed
    ProductProposalsResponse:
      type: object
      properties:
        id:
          type: string
          example: c9e39cae-9cb6-11e9-a2a3-2a2ae2dbcce4
          description: Product id.
        name:
          type: string
          description: Product name.
          example: iPhone 5s
        category:
          allOf:
            - $ref: '#/components/schemas/ProductCategory'
            - type: object
              properties:
                similar:
                  type: array
                  items:
                    allOf:
                      - $ref: '#/components/schemas/Category'
                      - description: 'Category in which the product can be listed for sale'
                  description: 'A list of similar categories in which you can sell this product.'
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageUrl'
          description: List of product images.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/NewProductParameterDto'
          description: List of product parameters.
        description:
          $ref: '#/components/schemas/StandardizedDescription'
        supplier:
          $ref: '#/components/schemas/SupplierDto'
        offerId:
          type: string
          description: Offer id.
        language:
          type: string
          description: Language of product data (name, description, parameters's values).
          format: BCP-47 language code
          example: 'pl-PL'
        publication:
          type: object
          properties:
            status:
              type: string
              enum:
                - PROPOSED
                - LISTED
              description: >-
                The publication status of the submitted product:
                 - `PROPOSED` - a new product proposal was created and can be reviewed

    BaseSaleProductResponseDto:
      type: object
      required:
        - id
        - name
        - category
      properties:
        id:
          type: string
        name:
          type: string
          description: Name of the product.
        description:
          $ref: '#/components/schemas/StandardizedDescription'
        category:
          $ref: '#/components/schemas/ProductCategoryWithPath'
        images:
          type: array
          items:
            $ref: '#/components/schemas/ImageUrl'
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterDto'
        isDraft:
          type: boolean
          description: Flag that informs if product is waiting for resolution of basic parameters change proposal.
        aiCoCreatedContent:
          $ref: '#/components/schemas/AiCoCreatedContent'
        publication:
          type: object
          properties:
            status:
              type: string
              enum:
                - PROPOSED
                - LISTED
              description: >-
                The publication status of the product:
                 - `PROPOSED` - product is proposed and can be during the review process
                 - `LISTED` - product is created and reviewed
    ProductCategoryWithPath:
      type: object
      description: 'Category in which the product can be listed for sale'
      properties:
        id:
          type: string
          description: 'Category identifier.'
          example: '257931'
        name:
          type: string
          description: 'Category name in requested language'
        path:
          type: array
          items:
            $ref: '#/components/schemas/ProductsCategoryPath'
        similar:
          type: array
          description: 'A list of similar categories in which you can sell this product.'
          items:
            $ref: '#/components/schemas/ProductSimilarCategoryWithPath'
    ProductSimilarCategoryWithPath: # not bound with ProductCategoryWithPath to avoid being marked as recursive
      type: object
      description: 'Category in which the product can be listed for sale'
      properties:
        id:
          type: string
          description: 'Category identifier.'
          example: '257931'
        name:
          type: string
          description: 'Category name in requested language'
        path:
          type: array
          items:
            $ref: '#/components/schemas/ProductsCategoryPath'
    SaleProductCompatibilityList:
      type: object
      required:
      - id
      - type
      description: "Compatibility list assigned to this product, based on information from TecDoc database."
      properties:
        id:
          type: string
          description: 'Id of product-based compatibility list.'
          example: '460b2511-b786-47b9-9d7e-1f868728cfd6-f103931434fbf4aa06764f3df74d371df23aa138a9cd46dbe570f51af79db1c4-2'
        type:
          type: string
          description: 'Type of compatibility list.'
          default: "PRODUCT_BASED"
        items:
          type: array
          items:
            $ref: '#/components/schemas/CompatibilityListItemProductBased'
          description: "List of the compatible items."
    SaleProductResponseCategoriesDto:
      properties:
        subcategories:
          type: array
          description: A list of categories that contain results for given search parameters.
          items:
            $ref: '#/components/schemas/ProductsCategorySubcategories'
        path:
          type: array
          description: The path of current category used as categrory filter in search.
          items:
            $ref: '#/components/schemas/ProductsCategoryPath'
    ProductsCategorySubcategories:
      type: object
      properties:
        id:
          type: string
          description: Category id.
        name:
          type: string
          description: Category name.
        count:
          type: integer
          description: Total number of products matching query criteria in this category.
          format: int32
          minimum: 0
    ProductsCategoryPath:
      type: object
      properties:
        id:
          type: string
          description: Category id.
        name:
          type: string
          description: Category name.
    ProductParameter:
      type: object
      required:
        - id
      properties:
        id:
          type: string
        rangeValue:
           $ref: '#/components/schemas/ParameterRangeValue'
        values:
          type: array
          items:
            type: string
        valuesIds:
          type: array
          items:
            type: string
        valuesLabels:
          type: array
          items:
            type: string
        unit:
          type: string
        options:
          type: object
          properties:
            identifiesProduct:
              type: boolean
      description: Product's parameter
    SupplierDto:
      type: object
      properties:
        id:
          type: string
      description: Supplier id.
    NewProductParameterDto:
      type: object
      properties:
        id:
          type: string
        rangeValue:
          $ref: '#/components/schemas/ParameterRangeValue'
        values:
          type: array
          items:
            type: string
        valuesIds:
          type: array
          items:
            type: string
    ProductParameterDto:
      type: object
      required:
        - id
      properties:
        id:
          type: string
        name:
          type: string
        rangeValue:
          $ref: '#/components/schemas/ParameterRangeValue'
        values:
          type: array
          items:
            type: string
        valuesIds:
          type: array
          items:
            type: string
        valuesLabels:
          type: array
          items:
            type: string
        unit:
          type: string
        options:
          type: object
          required:
            - identifiesProduct
          properties:
            identifiesProduct:
              type: boolean
            isGTIN:
              type: boolean
      description: Product's parameter
    AiCoCreatedContent:
      type: object
      required:
        - paths
      properties:
        paths:
          type: array
          items:
            type: string
      description: Each path will point to a specific field in object which is co-created by AI.
    SaleProductOffer:
      type: object
      properties:
        name:
          type: string
          description: >-
            Name (title) of an offer. Length cannot be more than 75 characters. Read more:
            <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA#tytul-oferty" target="_blank">PL</a>
             /
            <a href="../../tutorials/list-offer-assigned-product-one-request-D7Kj9M71Bu6#offer-title" target="_blank">EN</a>
            .
          maxLength: 75
        payments:
          $ref: '#/components/schemas/Payments'
        sellingMode:
          $ref: '#/components/schemas/SellingMode'
        location:
          $ref: '#/components/schemas/Location'
        images:
          type: array
          items:
            type: string
        description:
          $ref: '#/components/schemas/StandardizedDescription'
        external:
          $ref: '#/components/schemas/ExternalId'
        sizeTable:
          $ref: '#/components/schemas/SizeTable'
        taxSettings:
          $ref: '#/components/schemas/OfferTaxSettings'
        messageToSellerSettings:
          $ref: '#/components/schemas/MessageToSellerSettings'
      description: Single offer data.
    SaleProductOfferRequestBase:
      allOf:
        - type: object
          properties:
            category:
              type: object
              allOf:
                - $ref: '#/components/schemas/OfferCategoryRequest'
            parameters:
              type: array
              items:
                $ref: '#/components/schemas/ParameterProductOfferRequest'
            publication:
              type: object
              properties:
                duration:
                  $ref: '#/components/schemas/OfferDuration'
                startingAt:
                  $ref: '#/components/schemas/OfferStartingAt'
                status:
                  $ref: '#/components/schemas/OfferStatus'
            delivery:
              allOf:
                - $ref: '#/components/schemas/DeliveryProductOfferRequest'
                - type: object
                  properties:
                    shippingRates:
                      description: You can enter the shipping rates identifier or name.
            afterSalesServices:
              $ref: '#/components/schemas/AfterSalesServicesProductOfferRequest'
            sizeTable:
              allOf:
                - $ref: '#/components/schemas/SizeTable'
                - type: object
                  properties:
                    name:
                      type: string
                      description: The name of the size table definition.
              description: The size table information. You can enter the size tabe identifier or name.
            contact:
              allOf:
                - $ref: '#/components/schemas/Contact'
                - type: object
                  properties:
                    name:
                      type: string
                      description: The name of the contact definition.
              description: Identifier of contact data for sales format ADVERTISEMENT (classified ad). You can enter the contact identifier or name.
            discounts:
              $ref: '#/components/schemas/DiscountsProductOfferRequest'
        - $ref: '#/components/schemas/SaleProductOffer'
    SaleProductOffersRequestStock:
      type: object
      properties:
        available:
          type: integer
          description: >-
            Quantity of this offer available for sale - how many times this offer can be sold.
            Offer can be activated only with stock being greater then 0.
            Setting this quantity to 0 for 'ACTIVE' or 'ACTIVATING' offer will trigger changing its status to 'ENDED'.
          format: int32
          minimum: 0
          example: 99
        unit:
          type: string
          description: 'Stock unit'
          enum:
            - UNIT
            - PAIR
            - SET
    SaleProductOfferRequestV1:
      allOf:
        - type: object
          required:
            - stock
          properties:
            productSet:
                type: array
                items:
                  allOf:
                    - $ref: '#/components/schemas/ProductSetElement'
                    - description: List of products sold in the offer.
                    - $ref: '#/components/schemas/ProductSetElementQuantity'
                    - $ref: '#/components/schemas/ProductSetElementResponsiblePersonRequest'
            b2b:
              $ref: '#/components/schemas/B2b'
            attachments:
              $ref: '#/components/schemas/ProductOfferAttachment'
            fundraisingCampaign:
              $ref: '#/components/schemas/ProductOfferFundraisingCampaignRequest'
            additionalServices:
              $ref: '#/components/schemas/ProductOfferAdditionalServicesRequest'
            stock:
              $ref: '#/components/schemas/SaleProductOffersRequestStock'
            delivery:
              allOf:
                - $ref: '#/components/schemas/DeliveryProductOfferRequest'
                - type: object
                  properties:
                    shipmentDate:
                      type: string
                      format: date-time
                      description: >-
                        Shipment date: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
                    shippingRates:
                      description: You should enter the shipping rates identifier or name.
            publication:
              $ref: '#/components/schemas/SaleProductOfferPublicationRequest'
            additionalMarketplaces:
              $ref: '#/components/schemas/AdditionalMarketplacesRequest'
            compatibilityList:
              allOf:
                - $ref: '#/components/schemas/CompatibilityListManualType'
              description:
                'For the `/sale/product-offers` resources you can send only definition of the MANUAL compatibility list. If compatibility list is provided for the product assigned to the offer, it will be used automatically.'
            language:
              type: string
              description: Declared base language of the offer.
              format: BCP-47 language code
              example: 'pl-PL'
        - $ref: '#/components/schemas/SaleProductOfferRequestBase'
    SaleProductOfferPatchRequestV1:
      allOf:
        - type: object
          properties:
            productSet:
              type: array
              items:
                allOf:
                  - $ref: '#/components/schemas/ProductSetElement'
                  - description: List of products sold in the offer.
                  - $ref: '#/components/schemas/ProductSetElementQuantity'
                  - $ref: '#/components/schemas/ProductSetElementResponsiblePersonRequest'
            b2b:
              $ref: '#/components/schemas/B2b'
            attachments:
              $ref: '#/components/schemas/ProductOfferAttachment'
            fundraisingCampaign:
              $ref: '#/components/schemas/ProductOfferFundraisingCampaignRequest'
            additionalServices:
              $ref: '#/components/schemas/ProductOfferAdditionalServicesRequest'
            compatibilityList:
              allOf:
                - $ref: '#/components/schemas/CompatibilityListManualType'
              description:
                  'For the `/sale/product-offers` resources you can send only definition of the MANUAL compatibility list. If compatibility list is provided for the product assigned to the offer, it will be used automatically.'
            delivery:
              allOf:
                - $ref: '#/components/schemas/DeliveryProductOfferRequest'
                - type: object
                  properties:
                    shipmentDate:
                      type: string
                      format: date-time
                      description: >-
                        Shipment date: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
                    shippingRates:
                      description: You should enter the shipping rates identifier or name.
            stock:
              $ref: '#/components/schemas/SaleProductOffersRequestStock'
            publication:
              $ref: '#/components/schemas/SaleProductOfferPublicationRequest'
            additionalMarketplaces:
              $ref: '#/components/schemas/AdditionalMarketplacesRequest'
            language:
              type: string
              description: Declared base language of the offer.
              format: BCP-47 language code
              example: 'pl-PL'
        - $ref: '#/components/schemas/SaleProductOfferRequestBase'
    SaleProductOfferResponseV1:
      allOf:
        - type: object
          properties:
            id:
              type: string
            productSet:
              type: array
              items:
                allOf:
                  - $ref: '#/components/schemas/ProductSetElementQuantity'
                  - type: object
                    properties:
                      product:
                        allOf:
                          - $ref: '#/components/schemas/ProductOfferResponse'
                          - type: object
                            properties:
                              parameters:
                                type: array
                                items:
                                  $ref: '#/components/schemas/ParameterProductOfferResponse'
                                description: Product parameters in the offer.
                      responsiblePerson:
                        type: object
                        description: >-
                          Reference to the responsible person configured using
                          <a href="https://developer.allegro.pl/documentation#tag/Responsible-persons">Responsible
                          Persons API</a>.
                        properties:
                          id:
                            type: string
            category:
              $ref: '#/components/schemas/OfferCategory'
            attachments:
              $ref: '#/components/schemas/ProductOfferAttachment'
            fundraisingCampaign:
              $ref: '#/components/schemas/ProductOfferFundraisingCampaignResponse'
            additionalServices:
              $ref: '#/components/schemas/ProductOfferAdditionalServicesResponse'
            delivery:
              $ref: '#/components/schemas/DeliveryProductOfferResponse'
            publication:
              $ref: '#/components/schemas/SaleProductOfferPublicationResponse'
            additionalMarketplaces:
              $ref: '#/components/schemas/AdditionalMarketplacesResponse'
            b2b:
              $ref: '#/components/schemas/B2b'
            compatibilityList:
              $ref: '#/components/schemas/CompatibilityListProductOfferResponse'
            language:
              type: string
              description: Declared base language of the offer.
              format: BCP-47 language code
              example: 'pl-PL'
            validation:
              $ref: '#/components/schemas/Validation'
            afterSalesServices:
              $ref: '#/components/schemas/AfterSalesServices'
            discounts:
              $ref: '#/components/schemas/DiscountsProductOfferResponse'
            stock:
              $ref: '#/components/schemas/Stock'
            parameters:
              type: array
              items:
                $ref: '#/components/schemas/ParameterProductOfferResponse'
              description: List of offer parameters.
            contact:
              allOf:
                - $ref: '#/components/schemas/Contact'
              description: >-
                Identifier of contact data for sales format ADVERTISEMENT (classified ad);
                retrieve it via GET /sale/offer-contacts.
            createdAt:
              type: string
              format: date-time
              description: >-
                Creation date: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
                Cannot be modified.
            updatedAt:
              type: string
              format: date-time
              description: >-
                Last update date: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
                Cannot be modified.
        - $ref: '#/components/schemas/SaleProductOffer'
    SaleProductOfferStatusResponse:
      type: object
      properties:
        offer:
          $ref: '#/components/schemas/OfferId'
        operation:
          type: object
          properties:
            id:
              type: string
              description: 'The unique operation identifier (UUID).'
              example: "b572cdd0-7f2c-4800-9165-15795bd95f3c"
            status:
              type: string
              description: 'Status of the operation.'
              enum:
                - "PENDING"
                - "IN_PROGRESS"
                - "COMPLETED"
              example: "IN_PROGRESS"
            startedAt:
              type: string
              format: ISO 8601
              description: 'The starting date and time of operation.'
              example: '2019-05-29T12:00:00Z'
      description: Single opertion data.
    ProductOfferBase:
      type: object
      properties:
        id:
          type: string
          example: c9e39cae-9cb6-11e9-a2a3-2a2ae2dbcce4
          description: Product id.
        idType:
          type: string
          enum:
            - GTIN
            - MPN
          description: >-
            Type of id. This field is optional. It helps in finding products more accurately. If an idType is not set, a given id is understood as a product's id.
             - `GTIN` - restricts the search filtering to GTINs (Global Trade Item Number), e.g. EAN, ISBN, UPC.
             - `MPN` - restricts the search filtering to MPNs (Manufacturer Part Number).
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ParameterProductOfferRequest'
          description: List of product parameters.
        images:
          type: array
          items:
            type: string
          description: List of product images.
    ProductOffer:
      allOf:
        - type: object
          properties:
            name:
              type: string
              description: Product name.
              example: iPhone 5s
              maxLength: 75
            category:
              $ref: '#/components/schemas/ProductCategory'
        - $ref: '#/components/schemas/ProductOfferBase'
    ProductSetElement:
      type: object
      properties:
        product:
          allOf:
          - $ref: '#/components/schemas/ProductOffer'
          description: You should enter the product identifier (UUID or EAN) or a complete product definition.
    ProductSetElementQuantity:
      type: object
      properties:
        quantity:
          type: object
          properties:
            value:
              type: integer
              example: 1
              minimum: 1
          description: >-
            The number of a given product included in a single offer sold as an element of a product set.
            <small>**Note:** For number of sets available in stock, use `stock.available` property.</small>
    ProductSetElementResponsiblePersonRequest:
      type: object
      properties:
        responsiblePerson:
          type: object
          description: >-
            Reference to the responsible person configured using
            <a href="https://developer.allegro.pl/documentation#tag/Responsible-persons">Responsible
            Persons API</a>. Provide either id or name - id will be used if both are provided. Setting
            this object to null will result in no responsible person assigned to this product.<br/>
            <b>This property is valid only for the first product in the product set.</b>
          properties:
            id:
              type: string
              description: >-
                Identifier of a responsible person.
            name:
              type: string
              description: >-
                Name of a responsible person. Note that this references name of the person object,
                not the name in their personal data section.
    ProductOfferResponse:
      type: object
      properties:
        id:
          type: string
          example: c9e39cae-9cb6-11e9-a2a3-2a2ae2dbcce4
          description: Product id.
        publication:
          type: object
          properties:
            status:
              type: string
              enum:
                - PROPOSED
                - LISTED
                - NOT_LISTED
              description: >-
                The publication status of the product assigned to the offer:
                 - `PROPOSED` - a new product proposal was created or an existing product in the review process was selected and assigned to the offer
                 - `LISTED` - a reviewed product from our database was identified and assigned to the offer
                 - `NOT_LISTED` - no new product proposal was created nor an existing product from database was assigned to the offer
                 - `REMOVED` - the product review was negative or the product was merged with another product. This means that the product will soon be removed from the offer and you can assign a correct product.

    AfterSalesServicesProductOfferRequest:
      type: object
      description: The definitions of the different after sales services assigned to the offer.
      properties:
        impliedWarranty:
          allOf:
            - $ref: '#/components/schemas/ImpliedWarranty'
            - type: object
              properties:
                name:
                  type: string
                  description: The name of the implied warranty definition.
        returnPolicy:
          allOf:
            - $ref: '#/components/schemas/ReturnPolicy'
            - type: object
              properties:
                name:
                  type: string
                  description: The name of the return policy definition.
        warranty:
          allOf:
            - $ref: '#/components/schemas/Warranty'
            - type: object
              properties:
                name:
                  type: string
                  description: The name of the warranty definition.
    DeliveryProductOfferRequest:
      type: object
      properties:
        handlingTime:
          type: string
          example: PT24H
          description: >-
            Handling time, ISO 8601 duration format.
            This field must be set to one of the following:
            PT0S for immediately, PT24H, P2D, P3D, P4D, P5D, P7D, P10D, P14D, P21D, P30D, P60D.
        shippingRates:
          allOf:
            - $ref: '#/components/schemas/JustId'
            - type: object
              properties:
                name:
                  type: string
                  description: The name of the shipping rate.
        additionalInfo:
          type: string
          maxLength: 650
          deprecated: true
          description: >-
            Additional information about delivery.
            Parameter is deprecated and will be removed in the future.
            Additional information is only visible on marketplace `allegro-pl`.
    DeliveryProductOfferResponse:
      type: object
      properties:
        handlingTime:
          type: string
          example: PT24H
          description: >-
            Handling time, ISO 8601 duration format.
            This field must be set to one of the following:
            PT0S for immediately, PT24H, P2D, P3D, P4D, P5D, P7D, P10D, P14D, P21D, P30D, P60D.
        shippingRates:
          $ref: '#/components/schemas/JustId'
        additionalInfo:
          type: string
          maxLength: 650
          deprecated: true
          description: >-
            Additional information about delivery.
            Parameter is deprecated and will be removed in the future.
            Additional information is only visible on marketplace `allegro-pl`.
        shipmentDate:
          type: string
          format: date-time
          description: >-
            Shipment date: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
    SaleProductOfferPublicationMarketplacesResponse:
      type: object
      description: >-
        Information about publication in multiple marketplaces.<br/>
        See [Changes in listing offers - we will add the possibility to display offers in foreign domains of Allegro's marketplaces](https://developer.allegro.pl/news/changes-in-listing-offers-we-will-add-the-possibility-to-display-offers-in-foreign-domains-of-allegro-s-marketplaces-9gKv0RVzRTK)
        for more details regarding this field
      properties:
        base:
          allOf:
            - $ref: '#/components/schemas/JustId'
          description: >-
            <small>[read-only]</small> Specifies the offer’s base service. We assign the value in the field
            automatically when the offer is created and it is read-only, it will never change.
        additional:
          type: array
          description: >-
            Specifies whether an offer is visible in the additional marketplace.
          items:
            $ref: "#/components/schemas/JustId"
    SaleProductOfferPublicationRequest:
      allOf:
        - $ref: '#/components/schemas/Publication'
        - type: object
          properties:
            marketplaces:
              type: object
              deprecated: true
              description: >-
                Field is deprecated and is not supported anymore.
                See [We will change the offers visibility process on foreign marketplaces](https://developer.allegro.pl/news/zmienimy-proces-widocznosci-oferty-w-serwisach-zagranicznych-4Rxed0jbEsj) for more details regarding this field.
    SaleProductOfferPublicationResponse:
      allOf:
        - $ref: '#/components/schemas/Publication'
        - type: object
          properties:
            marketplaces:
              $ref: '#/components/schemas/SaleProductOfferPublicationMarketplacesResponse'
    AdditionalMarketplacesRequest:
      type: object
      description: >-
        Selected information about the offer in each additional service. This field does not contain information about
        the base marketplace of the offer.<br/>
        Possible values of `marketplaceId` can be obtained from `GET /marketplaces` resource.</br>
        See [Allegro foreign marketplaces](https://developer.allegro.pl/tutorials/listing-and-managing-offers-on-foreign-marketplaces-7GndGjeAATn)
        for more details regarding this field.
      additionalProperties:
        x-additionalPropertiesName: marketplaceId
        type: object
        properties:
          sellingMode:
            type: object
            properties:
              price:
                allOf:
                  - $ref: '#/components/schemas/Price'
                description: >-
                  The offer price for the selected additional marketplace. The price in this field must be provided by
                  the seller in the correct currency, which is specified in the `GET /marketplaces` resource.
      example:
        allegro-cz:
          sellingMode:
            price:
              amount: '233.01'
              currency: CZK
    AdditionalMarketplacesResponse:
      type: object
      description: >-
        Selected information about the offer in each additional service. This field does not contain information about
        the base marketplace of the offer. You will find all available marketplaces here. Even if the seller does not
        want the offer to be visible in the additional service, we will return it in response.
      additionalProperties:
        x-additionalPropertiesName: marketplaceId
        type: object
        properties:
          sellingMode:
            allOf:
             - $ref: "#/components/schemas/SellingMode"
            description: >-
              The offer price for the selected additional marketplace.
          publication:
            type: object
            description: >-
              <small>[read-only]</small> Contains information about the visibility status of the listing for the given service.
            properties:
              state:
                type: string
                enum:
                  - APPROVED
                  - REFUSED
                  - IN_PROGRESS
                  - NOT_REQUESTED
                  - PENDING
                description: >-
                  Possible values:</br>
                  - `APPROVED` - the offer is visible in the given additional marketplace if it is active.</br>
                  - `REFUSED` - the offer or the seller does not meet the conditions required to display the offer in
                  the given additional marketplace.</br>
                  - `IN_PROGRESS` - the process of qualifying the offer visibility in a given additional service is
                  in progress.</br>
                  - `NOT_REQUESTED` - the seller has not indicated the intention of visibility in the given additional
                  service.
                  - `PENDING` - the seller has indicated the intention of visibility on a given additional marketplace,
                  but the qualification process has not started, for example, due to offer status (only active offers are subject to the qualification process).
              refusalReasons:
                type: array
                description: Reasons for marketplace publication refusal. Empty list for not refused marketplaces.
                items:
                  $ref: "#/components/schemas/AdditionalMarketplacesRefusalReasonResponse"
      example:
        allegro-cz:
          sellingMode:
            price:
              amount: '233.51'
              currency: CZK
          publication:
            state: REFUSED
            refusalReasons:
              - code: VQR009_PRICE_IN_ADDITIONAL_MARKETPLACE_MISMATCH
                userMessage: 'price difference too big'
                parameters:
                  maxAllowedPriceDecreasePercent: ["20"]
    AdditionalMarketplacesRefusalReasonResponse:
      type: object
      properties:
        code:
          type: string
          description: Technical code of the refusal reason
        userMessage:
          type: string
          description: Short description of the refusal reason in natural language
        parameters:
          type: object
          description: Additional technical parameters of the refusal reason
          additionalProperties:
            type: array
            items:
              type: string
    ParameterProductOfferRequest:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: The name of the parameter.
        rangeValue:
          $ref: '#/components/schemas/ParameterRangeValue'
        values:
          type: array
          items:
            type: string
        valuesIds:
          type: array
          items:
            type: string
      description: Offer's parameter.
    ParameterProductOfferResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: The name of the parameter.
        rangeValue:
          $ref: '#/components/schemas/ParameterRangeValue'
        values:
          type: array
          items:
            type: string
        valuesIds:
          type: array
          items:
            type: string
      description: Parameter.
    DiscountsProductOfferRequest:
      type: object
      properties:
        wholesalePriceList:
          type: object
          properties:
            id:
              type: string
              description: Wholesale price list id
            name:
              type: string
              description: The name of the wholesale price list definition.
    DiscountsProductOfferResponse:
      type: object
      properties:
        wholesalePriceList:
          $ref: '#/components/schemas/JustId'
    OfferRequirements:
      description: 'Conditions which an offer must meet to be assigned with the product, i.e. Condition parameter must be set to New.'
      properties:
        id:
          type: string
          example: "2865624934"
          description: The id of the offer that can be associated with this product.
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ProductParameterDto'
    AdditionalEmailsResponse:
      type: object
      required:
        - additional-emails
      properties:
        additional-emails:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalEmail'
    AdditionalEmail:
      type: object
      description: Details of a single additional email address.
      required:
        - id
        - email
        - createdAt
      properties:
        id:
          type: string
        email:
          type: string
        createdAt:
          type: string
    AdditionalEmailRequest:
      type: object
      required:
        - email
      properties:
        email:
          type: string
          description: >-
            A valid email address you want to add to your account. Maximum length of the part before the `@` sign is
            64 characters.
    ClassifiedPackages:
      type: object
      required:
      - basePackage
      properties:
        basePackage:
          $ref: '#/components/schemas/ClassifiedPackage'
        extraPackages:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedPackage'
    ClassifiedResponse:
      type: object
      required:
      - basePackage
      - extraPackages
      properties:
        basePackage:
          $ref: '#/components/schemas/ClassifiedPackage'
        extraPackages:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedExtraPackage'
      title: ClassifiedResponse
    ClassifiedExtension:
      type: object
      properties:
        description:
          type: string
          description: 'The classified extension description.'
          example: 'Autocentrum.pl'
        name:
          type: string
          description: 'The classified extension name.'
          example: 'autocentrumExport'
      title: ClassifiedExtension
    ClassifiedPackageConfig:
      type: object
      required:
      - id
      - name
      - type
      properties:
        extensions:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedExtension'
        id:
          type: string
          description: 'The classifieds package ID.'
          example: '6174be19-56f9-484b-b72c-43b0b00785e8'
        name:
          type: string
          description: 'The classifieds package name.'
          example: 'Power'
        promotions:
          type: array
          description: 'A list of additional promotions included in the package.'
          items:
            $ref: '#/components/schemas/ClassifiedPromotion'
        publication:
          $ref: '#/components/schemas/ClassifiedPublication'
        type:
          type: string
          enum:
          - BASE
          - EXTRA
      title: ClassifiedPackageConfig
    ClassifiedPackageConfigs:
      type: object
      required:
      - packages
      properties:
        packages:
          type: array
          items:
            $ref: '#/components/schemas/ClassifiedPackageConfig'
      title: ClassifiedPackageConfigs
    ClassifiedPromotion:
      type: object
      required:
      - duration
      - name
      properties:
        duration:
          type: string
          description: 'Duration in ISO 8601 format.'
          example: 'PT240H'
        name:
          type: string
          description: 'Name of the promotion.'
          example: 'emphasized'
      title: ClassifiedPromotion
    ClassifiedPublication:
      type: object
      required:
      - duration
      properties:
        duration:
          type: string
          description: 'Duration in ISO 8601 format.'
          example: 'PT240H'
      title: ClassifiedPublication
    PaymentOperations:
      type: object
      required:
        - count
        - totalCount
        - paymentOperations
      properties:
        paymentOperations:
          type: array
          description: Collection of payment operations.
          items:
            $ref: '#/components/schemas/BaseOperation'
        count:
          type: integer
          format: int32
          description: Number of payment operations returned in search result for the given parameters.
          example: 50
          minimum: 0
        totalCount:
          type: integer
          format: int32
          description: Total number of payment operations for the given parameters.
          example: 123
          minimum: 0
    BaseOperation:
      type: object
      required:
        - type
        - group
        - occurredAt
        - wallet
        - value
      properties:
        type:
          type: string
          description: Type of the operation.
        group:
          type: string
          description: The group to which the given operation type belongs.
          enum:
            - "INCOME"
            - "OUTCOME"
            - "REFUND"
            - "BLOCKADES"
        wallet:
          $ref: '#/components/schemas/Wallet'
        value:
          $ref: '#/components/schemas/OperationValue'
        occurredAt:
          type: string
          format: date-time
          description: Date and time of the operation in ISO 8601 format.
          example: "2019-05-08T09:45:00.818Z"
        marketplaceId:
          type: string
          description: The marketplace ID where operation was made. Value may be `null` for operations not assigned to any marketplace.
      discriminator:
        propertyName: type
        mapping:
          CORRECTION: '#/components/schemas/CorrectionOperation'
          CONTRIBUTION: '#/components/schemas/ContributionOperation'
          PAYOUT: '#/components/schemas/PayoutOperation'
          PAYOUT_CANCEL: '#/components/schemas/PayoutOperationCancel'
          REFUND_INCREASE: '#/components/schemas/RefundIncreaseOperation'
          REFUND_CHARGE: '#/components/schemas/RefundChargeOperation'
          REFUND_CANCEL: '#/components/schemas/RefundCancelOperation'
          SURCHARGE: '#/components/schemas/SurchargeOperation'
          DEDUCTION_CHARGE: '#/components/schemas/DeductionChargeOperation'
          DEDUCTION_INCREASE: '#/components/schemas/DeductionIncreaseOperation'
          BLOCKADE: '#/components/schemas/BlockadeOperation'
          BLOCKADE_RELEASE: '#/components/schemas/BlockadeReleaseOperation'
          COMPENSATION: '#/components/schemas/CompensationOperation'
    Wallet:
      type: object
      description: The state of the wallet after the operation.
      required:
        - paymentOperator
        - type
        - balance
      properties:
        paymentOperator:
          type: string
          description: The payment operator.
          enum:
            - PAYU
            - P24
            - AF
        type:
          type: string
          description: The type of the wallet.
          enum:
            - AVAILABLE
            - WAITING
        balance:
          $ref: '#/components/schemas/WalletBalance'
    WalletBalance:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: The wallet balance after the operation.
    OperationValue:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: The operation value.
    RefundDeliveryValue:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: Delivery amount for payment refund.
    RefundOverpaidValue:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: Overpaid amount for payment refund.
    RefundAdditionalServicesValue:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: Additional services amount for payment refund.
    RefundSurchargeValue:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: Surcharge refund amount.
    RefundTotalValue:
      title: MonetaryAmount
      allOf:
        - $ref: '#/components/schemas/Price'
        - type: object
      description: Total amount for payment refund.
    CorrectionOperation:
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'CORRECTION'
    ContributionOperation:
      required:
        - payment
        - participant
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'CONTRIBUTION'
            payment:
              $ref: '#/components/schemas/OperationPayment'
            participant:
              $ref: '#/components/schemas/BuyerParticipant'
    PayoutOperation:
      required:
        - payout
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'PAYOUT'
            payout:
              $ref: '#/components/schemas/Payout'
    PayoutOperationCancel:
      required:
        - payout
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'PAYOUT_CANCEL'
            payout:
              $ref: '#/components/schemas/Payout'
    RefundIncreaseOperation:
      required:
        - payment
        - participant
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'REFUND_INCREASE'
            payment:
              $ref: '#/components/schemas/OperationPayment'
            participant:
              $ref: '#/components/schemas/SellerParticipant'
    RefundCancelOperation:
      required:
        - payment
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'REFUND_CANCEL'
            payment:
              $ref: '#/components/schemas/OperationPayment'
    RefundChargeOperation:
      required:
        - payment
        - participant
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'REFUND_CHARGE'
            payment:
              $ref: '#/components/schemas/OperationPayment'
            participant:
              $ref: '#/components/schemas/BuyerParticipant'
    SurchargeOperation:
      required:
        - payment
        - surcharge
        - participant
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'SURCHARGE'
            payment:
              $ref: '#/components/schemas/OperationPayment'
            surcharge:
              $ref: '#/components/schemas/Surcharge'
            participant:
              $ref: '#/components/schemas/BuyerParticipant'
    DeductionChargeOperation:
      required:
        - deduction
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'DEDUCTION_CHARGE'
            deduction:
              $ref: '#/components/schemas/Deduction'
    DeductionIncreaseOperation:
      required:
        - deduction
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'DEDUCTION_INCREASE'
            deduction:
              $ref: '#/components/schemas/Deduction'
    BlockadeOperation:
      required:
        - payment
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'BLOCKADE'
            payment:
              $ref: '#/components/schemas/OperationPayment'
    BlockadeReleaseOperation:
      required:
        - payment
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'BLOCKADE_RELEASE'
            payment:
              $ref: '#/components/schemas/OperationPayment'
    CompensationOperation:
      allOf:
        - $ref: '#/components/schemas/BaseOperation'
        - type: object
          properties:
            type:
              type: string
              default: 'COMPENSATION'
    OperationPayment:
      type: object
      title: OperationPayment
      description: Payment.
      required:
        - id
      properties:
        id:
          type: string
          format: uuid
          description: The payment ID.
          example: 2e2fe432-2115-32f9-82ae-e350e7aa9ed0
    Participant:
      type: object
      required:
        - login
        - firstName
        - lastName
      properties:
        companyName:
          type: string
          description: Company name.
          example: Allegro
        login:
          type: string
          description: Login.
          example: User_login
        firstName:
          type: string
          description: First name.
          example: Jan
        lastName:
          type: string
          description: Last name.
          example: Nowak
        address:
          $ref: '#/components/schemas/OperationParticipantAddress'
    SellerParticipant:
      title: SellerParticipant
      description: The seller's data.
      required:
        - id
      allOf:
        - $ref: '#/components/schemas/Participant'
        - type: object
          properties:
            id:
              type: string
              description: The seller's ID.
    BuyerParticipant:
      title: BuyerParticipant
      description: The buyer's data.
      required:
        - id
      allOf:
        - $ref: '#/components/schemas/Participant'
        - type: object
          properties:
            id:
              type: string
              description: The buyers's ID.
    OperationParticipantAddress:
      type: object
      required:
        - street
        - city
        - postCode
      description: Address.
      properties:
        street:
          type: string
          description: Street.
          example: Grunwaldzka 108
        city:
          type: string
          description: City.
          example: Poznań
        postCode:
          type: string
          description: Postal code.
          example: 60-166
    Payout:
      type: object
      description: Payout.
      required:
        - id
      properties:
        id:
          type: string
          description: The payout ID.
    Surcharge:
      type: object
      description: Surcharge.
      required:
        - id
      properties:
        id:
          type: string
          format: uuid
          description: The surcharge ID.
          example: 2e2fe432-2115-32f9-82ae-e350e7aa9ed0
    Deduction:
      type: object
      description: Deduction.
      required:
        - id
      properties:
        id:
          type: string
          format: uuid
          description: The deduction ID.
          example: 2e2fe432-2115-32f9-82ae-e350e7aa9ed0
    TecdocSpecification:
      type: object
      required:
        - id
      description: 'Contains additional information describing products from automotive categories.
                    Technical specification is created based on TecDoc database and can only be
                    used while creating offer with assigned product to it.
                    <a href="../../tutorials/jak-jednym-requestem-wystawic-oferte-powiazana-z-produktem-D7Kj9gw4xFA" target="_blank">Read more</a>.'
      properties:
        id:
          type: string
          description: 'Identifier of technical specification.'
          example: '470b8513-b786-b7b9-9e7e-2f848729cfd6'
        items:
          type: array
          items:
            $ref: '#/components/schemas/TecdocSpecificationItem'
          description: 'Text representation of the technical specification. Provided for informational purposes only -
                        ignored when creating (Post) or updating (Put) compatibility list in the offer.'
    TecdocSpecificationItem:
      type: object
      properties:
        name:
          type: string
          description: 'Technical specification property name.'
          example: 'Wersja TecDoc'
        values:
          type: array
          items:
            type: string
          description: 'Technical specification property values.'
          example:
            - '0319'
    MeResponse:
      type: object
      properties:
        id:
          type: string
          description: User Id.
          example: "46968690"
        login:
          type: string
          description: User login.
          example: "Client:46968690"
        firstName:
          type: string
          description: User's first name.
          example: "Amadeusz"
        lastName:
          type: string
          description: User's last name.
          example: "Iksiński"
        email:
          type: string
          description: User's email.
          example: "user-email@allegro.pl"
        baseMarketplace:
          type: object
          properties:
            id:
              type: string
              description: Base marketplace identifier
              example: "allegro-pl"
        company:
          $ref: '#/components/schemas/Company'
        features:
          type: array
          items:
            type: string
          description: >-
            User's features list:
             - `SUPER_SELLER` - Super Seller ("Super Sprzedawca") information.
             - `ONE_FULFILLMENT` - Seller uses the fulfillment service provided by Allegro.
          example:
            - 'SUPER_SELLER'
            - 'ONE_FULFILLMENT'
    Company:
      type: object
      properties:
        name:
          type: string
          description: User's company name.
          example: "Allegro.pl sp. z o.o."
        taxId:
          type: string
          description: User's tax identification number.
          example: "5252674798"
    MyBidResponse:
      type: object
      description: bid response
      title: MyBidResponse
      required:
        - maxAmount
        - highBidder
        - auction
      properties:
        maxAmount:
          $ref: "#/components/schemas/MaxPrice"
        minimalPriceMet:
          type: boolean
          description: >-
            This indicates if the minimal price of the auction has been met or is not set at all. A minimal price can
            be set by the seller and is the minimum amount the seller is willing to sell the item for.
            If the highest bid is not higher than the minimal price when the auction ends, the listing ends and
            the item is not sold.
        highBidder:
          type: boolean
          description: Is this bid currently winning?
        auction:
          type: object
          title: AuctionDetails
          description: Auction details.
          required:
            - currentPrice
          properties:
            currentPrice:
              $ref: "#/components/schemas/CurrentPrice"
    SellerOfferEventsResponse:
      type: object
      required:
        - offerEvents
      properties:
        offerEvents:
          type: array
          description: The list of events.
          items:
            $ref: '#/components/schemas/SellerOfferBaseEvent'
    SellerOfferBaseEvent:
      type: object
      required:
        - id
        - type
        - occurredAt
      description: The data of an event.
      properties:
        id:
          type: string
          description: The ID of the event. It can be used in the `from` parameter of the query.
          example: "MTEzMjQzODU3NA"
          maxLength: 256
        occurredAt:
          type: string
          format: date-time
          description: The date and time when the event occurred, provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          example: "2019-06-26T15:26:43.891Z"
        type:
          type: string
          description: The type of the event.
          example: "OFFER_ACTIVATED"
      discriminator:
        propertyName: type
        mapping:
          OFFER_ACTIVATED: '#/components/schemas/OfferActivatedEvent'
          OFFER_CHANGED: '#/components/schemas/OfferChangedEvent'
          OFFER_ENDED: '#/components/schemas/OfferEndedEvent'
          OFFER_STOCK_CHANGED: '#/components/schemas/OfferStockChangedEvent'
          OFFER_PRICE_CHANGED: '#/components/schemas/OfferPriceChangedEvent'
          OFFER_ARCHIVED: '#/components/schemas/OfferArchivedEvent'
          OFFER_BID_PLACED: '#/components/schemas/OfferBidPlacedEvent'
          OFFER_BID_CANCELED: '#/components/schemas/OfferBidCanceledEvent'
          OFFER_TRANSLATION_UPDATED: '#/components/schemas/OfferTranslationUpdatedEvent'
          OFFER_VISIBILITY_CHANGED: '#/components/schemas/OfferVisibilityChangedEvent'
    OfferActivatedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: 'OFFER_ACTIVATED'
            offer:
              $ref: '#/components/schemas/OfferEventExternalOffer'
    OfferChangedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: 'OFFER_CHANGED'
            offer:
              $ref: '#/components/schemas/OfferEventExternalOffer'
    OfferEndedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: 'OFFER_ENDED'
            offer:
              $ref: '#/components/schemas/OfferEventEndedOffer'
    OfferStockChangedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: 'OFFER_STOCK_CHANGED'
            offer:
              $ref: '#/components/schemas/OfferEventExternalOffer'
    OfferPriceChangedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: 'OFFER_PRICE_CHANGED'
            offer:
              $ref: '#/components/schemas/OfferEventExternalOfferForPriceChanges'
    OfferArchivedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: "OFFER_ARCHIVED"
            offer:
              $ref: '#/components/schemas/OfferEventExternalOffer'
    OfferBidPlacedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: "OFFER_BID_PLACED"
            offer:
              $ref: '#/components/schemas/OfferEventBaseOffer'
    OfferBidCanceledEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: "OFFER_BID_CANCELED"
            offer:
              $ref: '#/components/schemas/OfferEventBaseOffer'
    OfferTranslationUpdatedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: "OFFER_TRANSLATION_UPDATED"
            offer:
              $ref: '#/components/schemas/OfferEventExternalOffer'
            translations:
              type: array
              items:
                $ref: '#/components/schemas/ChangedTranslation'
    ChangedTranslation:
      type: object
      description: The changed translation.
      properties:
        language:
          type: string
          example: "en-US"
          description: Translation language
    OfferVisibilityChangedEvent:
      allOf:
        - $ref: '#/components/schemas/SellerOfferBaseEvent'
        - type: object
          required:
            - offer
          properties:
            type:
              type: string
              default: "OFFER_VISIBILITY_CHANGED"
            offer:
              $ref: '#/components/schemas/OfferEventExternalOfferWithPublication'
    OfferEventBaseOffer:
      type: object
      description: The data of the offer, for which the event occurred.
      required:
        - id
      properties:
        id:
          type: string
          example: "2865624934"
          description: The offer ID.
    OfferEventExternalOffer:
      allOf:
        - $ref: '#/components/schemas/OfferEventBaseOffer'
        - type: object
          properties:
            external:
              $ref: '#/components/schemas/ExternalId'
    OfferEventExternalOfferWithPublication:
      allOf:
        - $ref: '#/components/schemas/OfferEventBaseOffer'
        - type: object
          required:
            - publication
          properties:
            external:
              $ref: '#/components/schemas/ExternalId'
            publication:
              $ref: '#/components/schemas/OfferMarketplacesPublication'
    OfferEventExternalOfferForPriceChanges:
      allOf:
        - $ref: '#/components/schemas/OfferEventBaseOffer'
        - type: object
          required:
            - external
          properties:
            external:
              $ref: '#/components/schemas/ExternalId'
            marketplaces:
              type: array
              items:
                $ref: '#/components/schemas/OfferMarketplacesPriceChanges'
    OfferMarketplacesPriceChanges:
      type: object
      description: Offer with marketplace data.
      properties:
        id:
          type: string
          example: "allegro-pl"
          description: ID of the marketplace on which the price has been changed.
        changeType:
          description: Change type. One of MANUAL or AUTOMATIC.
          type: string
          example: MANUAL
    OfferMarketplacesPublication:
      type: object
      description: Offer publication data.
      required:
        - marketplaces
        - updatedMarketplaces
      properties:
        marketplaces:
          $ref: '#/components/schemas/MarketplacesVisibility'
        updatedMarketplaces:
          description: List of marketplaces with updated visibility.
          type: array
          items:
            type: string
    MarketplacesVisibility:
      type: object
      description: Offer marketplaces visibility information.
      required:
        - base
      properties:
        base:
          type: string
          example: "allegro-pl"
          description: Base marketplace ID.
        additional:
          type: array
          description: Additional marketplaces information.
          items:
            $ref: '#/components/schemas/AdditionalMarketplacesVisibility'
    AdditionalMarketplacesVisibility:
      type: object
      description: Offer additional marketplaces visibility information.
      required:
        - id
        - status
      properties:
        id:
          type: string
          example: "allegro-cz"
          description: Additional marketplace ID.
        status:
          type: string
          enum:
            - APPROVED
            - REFUSED
            - IN_PROGRESS
          description: Marketplace visibility qualification status.
        refusalReasons:
          type: array
          description: Reasons of visibility refusal.
          items:
            $ref: '#/components/schemas/RefusalReason'
    RefusalReason:
      allOf:
        - type: object
          required:
            - code
          properties:
            code:
              type: string
              description: Refusal reason code.
            parameters:
              type: object
              description: Refusal reason parameters.
              additionalProperties:
                type: array
                items:
                  type: string
            relatedReasons:
              type: array
              description: Related refusal reasons.
              items:
                $ref: '#/components/schemas/RelatedReason'
    RelatedReason:
      allOf:
        - type: object
          required:
            - code
          properties:
            code:
              type: string
              description: Refusal reason code.
            parameters:
              type: object
              description: Refusal reason parameters.
              additionalProperties:
                type: array
                items:
                  type: string
    OfferEventEndedOffer:
      allOf:
        - $ref: '#/components/schemas/OfferEventExternalOffer'
        - type: object
          required:
            - publication
          properties:
            publication:
              type: object
              description: Information about publication of the given offer.
              required:
                - endedBy
              properties:
                endedBy:
                  type: string
                  enum:
                  - USER
                  - ADMIN
                  - EXPIRATION
                  - EMPTY_STOCK
                  - PRODUCT_DETACHMENT
                  - ERROR
                  - UNKNOWN
                  description: >-
                    Indicates the reason for ending the offer:
                     - `USER` - offer ended by the seller.
                     - `ADMIN` - offer ended by an admin.
                     - `EXPIRATION` - offer duration had expired (valid for offers with specified duration).
                     - `EMPTY_STOCK` - offer ended because all available items had been sold out.
                     - `PRODUCT_DETACHMENT` - offer ended because its link to the product was removed. Status will only occur
                       if the base marketplace of offer requires full productization.
                     - `ERROR` - offer ended due to internal problem with offer publication. The publication command responded with
                       success status, but further processing failed.
                     - `UNKNOWN` - in rare cases the reason might be unknown.
    GetBadgeCampaignsList:
      type: object
      required:
      - badgeCampaigns
      properties:
        badgeCampaigns:
          type: array
          items:
            $ref: '#/components/schemas/BadgeCampaign'
          description: 'List of badge campaigns.'
      title: BadgeCampaigns
    BadgeCampaign:
      type: object
      required:
        - id
        - name
        - marketplace
        - type
        - eligibility
        - application
        - visibility
        - publication
        - regulationsLink
      properties:
        id:
          type: string
          description: 'Badge campaign ID.'
          example: 'BARGAIN'
        name:
          type: string
          description: 'Badge campaign name.'
          example: 'Strefa Okazji'
        marketplace:
          $ref: '#/components/schemas/MarketplaceReference'
        type:
          type: string
          enum:
            - DISCOUNT
            - STANDARD
            - SOURCING
        eligibility:
          $ref: '#/components/schemas/UserCampaignEligibility'
        application:
          $ref: '#/components/schemas/ApplicationTimePolicy'
        visibility:
          $ref: '#/components/schemas/VisibilityTimePolicy'
        publication:
          $ref: '#/components/schemas/PublicationTimePolicy'
        regulationsLink:
          type: string
          description: 'Link to campaign Terms & Conditions'
          example: 'https://na.allegro.pl/regulamin-kampania-BARGAIN'
    UserCampaignEligibility:
      type: object
      description: 'Summary of user eligibility for participation in the campaign.'
      required:
        - eligible
        - refusalReasons
      properties:
        eligible:
          type: boolean
          description: 'Information whether user is eligible to participate in this campaign.'
        refusalReasons:
          type: array
          items:
            $ref: '#/components/schemas/CampaignRefusalReason'
          title: 'RefusalReason'
          description: 'Information why user is not able to participate in the campaign.'
    CampaignRefusalReason:
      type: object
      required:
        - code
        - messages
      properties:
        code:
          type: string
          description: >-
            Code corresponding to the message. For more information visit
            <a href="/badge/#6" target="_blank">the list of available codes</a>.
        messages:
          type: array
          items:
            $ref: '#/components/schemas/RefusalMessage'
          title: 'RefusalMessage'
          description: 'List of refusal messages.'
    RefusalMessage:
      type: object
      required:
        - text
      properties:
        text:
          type: string
          description: 'Detailed message.'
        link:
          type: string
          nullable: true
          description: 'Optional link that redirects to page associated with refusal reason.'
    ApplicationTimePolicy:
      type: object
      description: 'Time period when the campaign is open for applying for badge.'
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - ALWAYS
            - SINCE
            - WITHIN
            - UNTIL
            - NEVER
        from:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        to:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
      example:
        type: "UNTIL"
        to: '2012-12-03T10:15:30Z'
    VisibilityTimePolicy:
      type: object
      description: >-
        Time period when the campaign is visible in
        <a href="https://allegro.pl/moje-allegro/sprzedaz/moje-oferty" target="_blank">My Allegro</a> and
        <a href="https://ms.allegro.pl/seller-offers/" target="_blank">Sales Manager (Menedżer sprzedaży)</a>
        (it is not equal to the time period when badges are displayed on the list of offers or on the offer page).
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - ALWAYS
            - SINCE
            - WITHIN
            - UNTIL
            - NEVER
        from:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        to:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
      example:
        type: "UNTIL"
        to: '2012-12-03T10:15:30Z'
    PublicationTimePolicy:
      type: object
      description: 'Time period when the badge is displayed on the list of offers or on the offer page.'
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - ALWAYS
            - SINCE
            - WITHIN
            - UNTIL
            - NEVER
        from:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        to:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
      example:
        type: "UNTIL"
        to: '2012-12-03T10:15:30Z'
    BadgePublicationTimePolicy:
      type: object
      nullable: true
      description: 'Time period when the badge is displayed on the list of offers or on the offer page.'
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - "ALWAYS"
            - "SINCE"
            - "WITHIN"
            - "UNTIL"
            - "NEVER"
        from:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: "2011-12-03T10:15:30.000Z"
        to:
          type: string
          nullable: true
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: "2011-12-03T10:15:30.000Z"
      example:
        type: "UNTIL"
        to: "2012-12-03T10:15:30.000Z"
    BadgeApplicationRequest:
      type: object
      required:
        - campaign
        - offer
      properties:
        campaign:
          $ref: '#/components/schemas/BadgeApplicationCampaign'
        offer:
          $ref: '#/components/schemas/BadgeApplicationOffer'
        prices:
          $ref: '#/components/schemas/BadgeApplicationPrices'
        purchaseConstraints:
          $ref: '#/components/schemas/BadgeApplicationPurchaseConstraints'
    BadgePatchRequest:
      anyOf:
        - $ref: '#/components/schemas/BadgePatchProcess'
        - $ref: '#/components/schemas/BadgePatchPrices'
    BadgeApplicationCampaign:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: 'Badge campaign ID.'
          example: 'BARGAIN'
      title: 'BadgeApplicationCampaign'
    OfferBadgeCampaign:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: 'Badge campaign ID.'
          example: 'BARGAIN'
        name:
          type: string
          description: 'Badge campaign name.'
          example: 'Strefa Okazji'
      title: OfferBadgeCampaign
    BadgeApplicationOffer:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: 'Offer ID.'
          example: '987654321'
      title: 'BadgeOffer'
    BadgePrices:
      type: object
      nullable: true
      properties:
        market:
          $ref: '#/components/schemas/BadgeMarketPrice'
        bargain:
          $ref: '#/components/schemas/BadgeApplicationBargainPrice'
        subsidy:
          $ref: '#/components/schemas/BadgeSubsidyPrices'
      title: 'BadgePrices'
      description: 'Provided for DISCOUNT and SOURCING campaigns.'
    BadgeApplicationPrices:
      type: object
      nullable: true
      properties:
        bargain:
          $ref: '#/components/schemas/BadgeApplicationBargainPrice'
      title: 'BadgeApplicationPrices'
      description: 'Required by DISCOUNT and SOURCING campaign.'
    BadgePatchProcess:
      type: object
      properties:
        process:
          type: object
          properties:
            status:
              type: string
              enum:
                - FINISHED
    BadgePatchPrices:
      type: object
      properties:
        prices:
          type: object
          nullable: true
          properties:
            bargain:
              type: object
              properties:
                value:
                  $ref: '#/components/schemas/BadgeApplicationBargainPrice'
      title: 'BadgePatchPrices'
      description: 'Required by DISCOUNT and SOURCING campaign.'
    BadgeMarketPrice:
      type: object
      properties:
        amount:
          type: string
          description: 'Value must be greater than minimal, decimal places aligned with market rules.'
          example: '1.23'
        currency:
          type: string
          description: 'The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217). Only base currency for a given marketplace is supported, example: PLN for allegro-pl, CZK for allegro-cz, EUR for allegro-sk.'
          example: 'PLN'
      title: BadgeMarketPrice
      description: 'Suggested market price. Calculated automatically based on the offer''s price history.'
    BadgeApplicationBargainPrice:
      type: object
      nullable: true
      properties:
        amount:
          type: string
          description: 'Value must be greater than minimal, decimal places aligned with market rules.'
          example: '1.23'
        currency:
          type: string
          description: 'The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217). Only base currency for a given marketplace is supported, example: PLN for allegro-pl, CZK for allegro-cz, EUR for allegro-sk.'
          example: 'PLN'
      title: BadgeApplicationBargainPrice
      description: 'Bargain price. Required by DISCOUNT and SOURCING campaign.'
    BadgeSubsidyPrices:
      type: object
      properties:
        targetPrice:
          $ref: '#/components/schemas/BadgeApplicationSubsidyTargetPrice'
        sellerPrice:
          $ref: '#/components/schemas/BadgeApplicationSubsidySellerPrice'
      title: 'SubsidyPrices'
      description: 'Prices that relate to the price reconciliation.'
    BadgeApplicationSubsidyTargetPrice:
      type: object
      properties:
        amount:
          type: string
          description: 'Value must be greater than minimal, decimal places aligned with market rules.'
          example: '1.23'
        currency:
          type: string
          description: 'The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217). Only base currency for a given marketplace is supported, example: PLN for allegro-pl, CZK for allegro-cz, EUR for allegro-sk.'
          example: 'PLN'
      title: BadgeApplicationSubsidyTargetPrice
      description: 'The price visible as the Buy Now price.'
    BadgeApplicationSubsidySellerPrice:
      type: object
      properties:
        amount:
          type: string
          description: 'Value must be greater than minimal, decimal places aligned with market rules.'
          example: '1.23'
        currency:
          type: string
          description: 'The currency provided as a 3-letter code in accordance with ISO 4217 standard (https://en.wikipedia.org/wiki/ISO_4217). Only base currency for a given marketplace is supported, example: PLN for allegro-pl, CZK for allegro-cz, EUR for allegro-sk.'
          example: 'PLN'
      title: BadgeApplicationSubsidySellerPrice
      description: 'The price requested by partner.'
    BadgeApplicationPurchaseConstraints:
      type: object
      properties:
        limit:
          $ref: '#/components/schemas/BadgeApplicationPurchaseConstraintsLimit'
      description: 'Constraints of purchase of this offer while it participates in the campaign. Optional for all campaigns types.'
    BadgeApplicationPurchaseConstraintsLimit:
      type: object
      properties:
        perUser:
          $ref: '#/components/schemas/BadgeApplicationPurchaseConstraintsLimitPerUser'
      description: 'Limits of purchase of this offer while it participates in the campaign. Only DISCOUNT and SOURCING campaigns.'
    BadgeApplicationPurchaseConstraintsLimitPerUser:
      type: object
      properties:
        maxItems:
          type: integer
          format: int32
          minimum: 1
          description: 'Maximum number of items that one user can buy of this offer, while it participates in the campaign.'
          example: 1
      description: 'Limits of purchase of this offer per user while it participates in the campaign.'
    BadgeApplications:
      type: object
      required:
        - badgeApplications
      properties:
        badgeApplications:
          type: array
          items:
            $ref: '#/components/schemas/BadgeApplication'
    BadgeApplication:
      type: object
      required:
        - id
        - createdAt
        - updatedAt
        - campaign
        - offer
        - process
      properties:
        id:
          type: string
          description: 'Badge application ID.'
          example: '01234567-89ab-0123-456789ab'
        createdAt:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        updatedAt:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        campaign:
          $ref: '#/components/schemas/BadgeApplicationCampaign'
        offer:
          $ref: '#/components/schemas/BadgeApplicationOffer'
        prices:
          $ref: '#/components/schemas/BadgeApplicationPrices'
        process:
          $ref: '#/components/schemas/BadgeApplicationProcess'
        purchaseConstraints:
          $ref: '#/components/schemas/BadgeApplicationPurchaseConstraints'
    BadgeApplicationProcess:
      type: object
      required:
        - status
        - rejectionReasons
      properties:
        status:
          type: string
          enum:
            - REQUESTED
            - PROCESSED
            - DECLINED
        rejectionReasons:
          type: array
          items:
            $ref: '#/components/schemas/BadgeApplicationRejectionReason'
          description: 'A list of rejection reasons for the badge application. Returned for process.status = DECLINED only.'
      description: 'Information about processing of the application.'
    BadgeApplicationRejectionReason:
      type: object
      required:
        - code
        - messages
      properties:
        code:
          type: string
          description: >-
            Code corresponding to the message. For more information visit
            <a href="/badge/#6" target="_blank">the list of available codes</a>.
        messages:
          type: array
          items:
            $ref: '#/components/schemas/BadgeApplicationRejectionReasonMessage'
          description: 'List of messages with rejection reasons.'
      title: 'RejectionReason'
    BadgeApplicationRejectionReasonMessage:
      type: object
      required:
        - text
      properties:
        text:
          type: string
          description: 'Detailed message.'
          example: 'See requirements.'
        link:
          type: string
          nullable: true
          description: 'Optional link that redirects to page associated with rejection reason.'
          example: 'https://allegro.pl/regulamin/pl'
    BadgesList:
      type: object
      required:
        - badges
      properties:
        badges:
          type: array
          items:
            $ref: '#/components/schemas/Badge'
      description: 'List of badges'
    Badge:
      type: object
      required:
        - offer
        - campaign
        - process
      properties:
        offer:
          $ref: '#/components/schemas/BadgeApplicationOffer'
        campaign:
          $ref: '#/components/schemas/OfferBadgeCampaign'
        publication:
          $ref: '#/components/schemas/BadgePublicationTimePolicy'
        prices:
          $ref: '#/components/schemas/BadgePrices'
        process:
          $ref: '#/components/schemas/BadgeProcess'
    BadgeProcess:
      type: object
      required:
        - status
        - rejectionReasons
      properties:
        status:
          type: string
          enum:
            - IN_VERIFICATION
            - WAITING_FOR_PUBLICATION
            - ACTIVE
            - FINISHED
            - DECLINED
        rejectionReasons:
          type: array
          description: 'A list of messages with rejection reasons. Returned for process.status = DECLINED only.'
          items:
            $ref: '#/components/schemas/BadgeApplicationRejectionReason'
      description: 'Information about badge processing.'
    BadgeOperation:
      type: object
      required:
        - id
        - type
        - createdAt
        - updatedAt
        - campaign
        - offer
        - process
      properties:
        id:
          type: string
          description: 'Badge operation ID.'
          example: '01234567-89ab-0123-456789ab'
        type:
          type: string
          description: 'Badge operation type.'
          enum:
            - UPDATE
            - FINISH
        createdAt:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        updatedAt:
          type: string
          description: 'Provided in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2011-12-03T10:15:30Z'
        campaign:
          $ref: '#/components/schemas/BadgeApplicationCampaign'
        offer:
          $ref: '#/components/schemas/BadgeApplicationOffer'
        process:
          $ref: '#/components/schemas/BadgeOperationProcess'
    BadgeOperationProcess:
      type: object
      required:
        - status
        - rejectionReasons
      properties:
        status:
          type: string
          enum:
            - REQUESTED
            - PROCESSED
            - DECLINED
        rejectionReasons:
          type: array
          items:
            $ref: '#/components/schemas/BadgeApplicationRejectionReason'
          description: 'A list of rejection reasons for the badge operation. Returned for process.status = DECLINED only.'
      description: 'Information about processing of the request/operation'
    OfferRating:
      type: object
      properties:
        averageScore:
          type: string
          description: 'Average score of offer rating.'
          example: '4.0'
        scoreDistribution:
          type: array
          description: "List score distribution with count."
          items:
            type: object
            properties:
              name:
                type: string
                description: "Identifier of score: 5, 4, 3, 2, 1."
              count:
                type: integer
                minimum: 0
                description: "Count of score."
          example:
            [{name: "5", count: 1},
             {name: "4", count: 3},
             {name: "3", count: 1},
             {name: "2", count: 0},
             {name: "1", count: 0}]
        totalResponses:
          type: integer
          minimum: 0
          description: 'Number of total responses.'
          example: 5
        sizeFeedback:
          type: array
          description: "List of size feedback."
          items:
            type: object
            properties:
              name:
                type: string
                description: "Identifier of sizeFeedback: BIGGER, FIT, SMALLER."
              count:
                type: integer
                minimum: 0
                description: "Count of sizeFeedback responses."
                example: 0
          example:
            [{name: "BIGGER", count: 0},
             {name: "FIT", count: 2},
             {name: "SMALLER", count: 0}]
    FundraisingCampaigns:
      title: FundraisingCampaigns
      type: object
      properties:
        campaigns:
          type: array
          description: search results
          items:
            $ref: '#/components/schemas/FundraisingCampaign'
    FundraisingCampaign:
      title: FundraisingCampaign
      type: object
      properties:
        id:
          type: string
          description: unique campaign identifier
        name:
          type: string
          description: campaign name
        organization:
          $ref: '#/components/schemas/CharityOrganization'
    CharityOrganization:
      title: CharityOrganization
      type: object
      properties:
        name:
          type: string
          description: organization name
    CustomParameter:
      title: CustomParameter
      type: object
      properties:
        name:
          type: string
          description: custom parameter name
        values:
          type: array
          description: custom parameter values
          items:
            type: string
    PickupDateParcelsProposals:
      title: PickupDateParcelsProposals
      type: object
      properties:
        pickupDateProposals:
          type: array
          description: Pickup date parcels proposals.
          items:
            $ref: '#/components/schemas/PickupDateProposals'
    PickupDateProposals:
      title: PickupDateProposals
      type: object
      properties:
        parcelId:
          type: string
          description: Id of parcel.
          example: "ff522a50-72dd-447d-a081-058a47f2a138"
        proposals:
          type: array
          description: Pickup date proposal.
          items:
            $ref: '#/components/schemas/PickupDateProposal'
    PickupDateProposal:
      title: PickupDateProposal
      type: object
      description: "Parcel pickup date. In pickup request you have to use exactly the same values as you get from `/parcel-management/pickup-date-proposals`."
      properties:
        date:
          type: string
          description: "Shipping date (format YYYY-MM-DD). Example: `2020-05-01`"
          example: "2020-05-01"
        minTime:
          type: string
          description: "Timebox start hour. Example: `10:00`"
          example: "10:00"
        maxTime:
          type: string
          description: "Timebox finish hour. Example: `14:00`"
          example: "14:00"
    DeliveryServices:
      title: DeliveryServices
      type: object
      properties:
        deliveryServices:
          type: array
          description: Delivery services.
          items:
            $ref: '#/components/schemas/DeliveryService'
    DeliveryService:
      title: DeliveryService
      type: object
      properties:
        id:
          type: string
          description: Delivery service id.
          example: "6179d6a9-c007-4122-aed9-9b32993b1b05#937160ed-7c44-4ea6-af78-1e233779e681"
        service:
          type: string
          description: Discriminator of delivery service to distinguish multiple agreement types of a single carrier.
          example: "INPOST_KURIER"
        name:
          type: string
          description: Delivery service name.
          example: "InPost"
        carrierId:
          type: string
          description: Carrier id consistent with <a href="#operation/getOrdersCarriersUsingGET" target="_blank">shipping carriers resource</a>.
          example: "INPOST"
        additionalServices:
          $ref: '#/components/schemas/ParcelAdditionalServicesAvailability'
        owner:
          type: string
          enum:
            - ALLEGRO
            - CLIENT
    ParcelAdditionalServicesAvailability:
      title: AdditionalServices
      type: object
      properties:
        cashOnDelivery:
          $ref: '#/components/schemas/ParcelAdditionalServicesCashOnDeliveryAvailability'
        options:
          type: array
          description: Delivery services.
          items:
            $ref: '#/components/schemas/ParcelAdditionalServicesOptionAvailability'
    ParcelAdditionalServicesCashOnDeliveryAvailability:
      title: CashOnDeliveryAvailability
      type: object
      properties:
        available:
          type: boolean
          description: Indicates if Cash On Delivery is available as part of Additional Services for parcel creation for carrier.
        expressAvailable:
          type: boolean
          description: Postpaid Express service available. Postpaid value is send to parcel sender in one business day after delivery.
    ParcelAdditionalServicesOptionAvailability:
      title: AdditionalServicesAvailableOption
      type: object
      properties:
        name:
          type: string
          description: Name of option that can be passed to additionalServices for parcel creation.
          example: guarantee0930
        description:
          type: string
          description: Brief description of option.
          example: The order is guaranteed to be delivered before 09:30 am.
    ParcelCreationParameters:
      type: object
      required:
        - serviceId
        - receiver
        - pickup
        - items
      properties:
        serviceId:
          type: string
          description: Delivery service id.
          example: "6179d6a9-c007-4122-aed9-9b32993b1b05#937160ed-7c44-4ea6-af78-1e233779e681"
        receiver:
          $ref: '#/components/schemas/Receiver'
        pickup:
          $ref: '#/components/schemas/Pickup'
        items:
          type: array
          description: Parcel items details.
          items:
            $ref: '#/components/schemas/ParcelItemDetails'
        type:
          type: string
          description: Value will be applied to type for all items. If item will have type value assigned - validation will check if all types have the same value.
          enum:
            - PACKAGE
            - DOX
            - PALLET
        label:
          type: object
          properties:
            sender:
              $ref: '#/components/schemas/Sender'
            fileFormat:
              type: string
              description: Label file format.
              enum:
                - PDF
                - ZPL
                - EPL
            referenceNumber:
              type: string
              description: "Parcel identifier in own system. Example: `your_ordering_number`."
              example: "abcd1234"
        additionalServices:
          $ref: '#/components/schemas/ParcelAdditionalServices'
    Sender:
      type: object
      description: Parcel's sender data.
      required:
        - address
      properties:
        address:
          $ref: '#/components/schemas/ParcelCreationAddressWithMandatoryPlace'
        email:
          type: string
          description: Email.
          example: "email@mail.com"
        name:
          type: string
          description: Person name.
          example: "Jan Kowalski"
        company:
          type: string
          description: Company name.
          example: "Allegro.pl sp. z o.o."
        phone:
          type: string
          description: Phone.
          example: "500600700"
    Receiver:
      type: object
      description: Parcel's receiver data.
      required:
        - email
      properties:
        address:
          $ref: '#/components/schemas/ParcelCreationAddress'
        email:
          type: string
          description: Must be a valid buyer email generated by Allegro.
          example: "hamu7udk3p+17454c1b6@allegromail.pl"
        name:
          type: string
          description: Person name.
          example: "Jan Kowalski"
        company:
          type: string
          description: Company name.
          example: "Allegro.pl sp. z o.o."
        phone:
          type: string
          description: Phone.
          example: "500600700"
        pointId:
          type: string
          description: Pickup point id. You can get it from order or directly from courier service.
          example: "1234567"
    Pickup:
      type: object
      description: Parcel's pickup data.
      required:
        - address
      properties:
        address:
          $ref: '#/components/schemas/ParcelCreationAddressWithMandatoryPlace'
        email:
          type: string
          description: Email.
          example: "email@mail.com"
        name:
          type: string
          description: Person name.
          example: "Jan Kowalski"
        company:
          type: string
          description: Company name.
          example: "Allegro.pl sp. z o.o."
        phone:
          type: string
          description: Phone.
          example: "500600700"
        pointId:
          type: string
          description: Pickup point id. You can get it from order or directly from courier service.
          example: "1234567"
    ParcelCreationAddress:
      type: object
      description: Address data.
      properties:
        street:
          type: string
          example: "Główna"
        postCode:
          type: string
          example: "10-200"
        city:
          type: string
          example: "Warszawa"
        countryCode:
          type: string
          description: Country code in ISO 3166-1 alfa-2 format (two-letter code).
          default: "PL"
        county:
          type: string
          description: Required for shipments to Irleand ( county name ), United States ( state abbreviation / ISO code ), Canada ( province postal code / ISO code )
          example: "AL"
    ParcelCreationAddressWithMandatoryPlace:
      type: object
      description: Address data.
      required:
        - street
        - postCode
        - city
      properties:
        street:
          type: string
          description: Street.
          example: "Główna"
        postCode:
          type: string
          description: Post code.
          example: "10-200"
        city:
          type: string
          description: City.
          example: "Warszawa"
        countryCode:
          type: string
          description: Country code in ISO 3166-1 alfa-2 format (two-letter code).
          default: "PL"
        county:
          type: string
          description: Required for shipments to Irleand ( county name ), United States ( state abbreviation / ISO code ), Canada ( province postal code / ISO code )
          example: "AL"
    ParcelItemDetailsWithWaybill:
      type: object
      description: Parcel item details.
      properties:
        waybill:
          type: string
          description: Parcel waybill.
          example: "123"
        dimensions:
          type: object
          description: Parcel dimensions.
          properties:
            height:
              $ref: '#/components/schemas/DimensionItem'
            width:
              $ref: '#/components/schemas/DimensionItem'
            depth:
              $ref: '#/components/schemas/DimensionItem'
        weight:
          type: object
          properties:
            value:
              type: string
              description: Weight value, provided in a string format to avoid rounding errors.
              example: "12.45"
            unit:
              type: string
              description: Weight unit. Currently only `KILOGRAM` is accepted.
              nullable: true
              example: "KILOGRAM"
              default: "KILOGRAM"
        description:
          type: string
          description: Parcel description.
          example: "Car wheels."
        value:
          type: object
          description: Declared Parcel value.
          required:
            - amount
            - currency
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
              example: "2.50"
            currency:
              type: string
              description: ISO 4217 currency code. Currently only PLN is available.
              example: "PLN"
        type:
          type: string
          enum:
            - PACKAGE
            - DOX
            - PALLET
    ParcelItemDetails:
      type: object
      description: Parcel item details.
      properties:
        dimensions:
          type: object
          description: Parcel dimensions.
          properties:
            height:
              $ref: '#/components/schemas/DimensionItem'
            width:
              $ref: '#/components/schemas/DimensionItem'
            depth:
              $ref: '#/components/schemas/DimensionItem'
        weight:
          type: object
          properties:
            value:
              type: string
              description: Weight value, provided in a string format to avoid rounding errors.
              example: "12.45"
            unit:
              type: string
              description: Weight unit. Currently only `KILOGRAM` is accepted.
              nullable: true
              example: "KILOGRAM"
              default: "KILOGRAM"
        description:
          type: string
          description: Parcel description.
          example: "Car wheels."
        value:
          type: object
          description: Declared Parcel value.
          required:
            - amount
            - currency
          properties:
            amount:
              type: string
              description: The amount provided in a string format to avoid rounding errors.
              example: "2.50"
            currency:
              type: string
              description: ISO 4217 currency code. E.g. PLN, CZK, EUR...
              example: "PLN"
        type:
          type: string
          enum:
            - PACKAGE
            - DOX
            - PALLET
    ParcelDetails:
      type: object
      properties:
        parcelId:
          type: string
          description: Id of parcel.
          example: "66032969-eb5b-47a2-b7e8-72e5a09f9a73"
        serviceId:
          type: string
          description: Delivery service id.
          example: "045cda68-a744-4d1f-a9c5-eb3a64d080f3#634c72a0-95f0-4480-b0fa-93b77e4cffb4"
        receiver:
          $ref: '#/components/schemas/Receiver'
        pickup:
          $ref: '#/components/schemas/Pickup'
        items:
          type: array
          description: Parcel items details.
          items:
            $ref: '#/components/schemas/ParcelItemDetailsWithWaybill'
        type:
          type: string
          description: Value will be returned if all items will have the same type.
          enum:
            - PACKAGE
            - DOX
            - PALLET
        label:
          type: object
          properties:
            sender:
              $ref: '#/components/schemas/Sender'
            fileFormat:
              type: string
              description: Label file format.
              enum:
                - PDF
                - ZPL
                - EPL
            referenceNumber:
              type: string
              description: "Parcel identifier in own system. Example: `Ordering number`."
              example: "abcd1234"
        additionalServices:
          $ref: '#/components/schemas/ParcelAdditionalServices'
        state:
          type: string
          enum:
            - DRAFT
            - CREATED
            - CANCELLED
    PickupParcelParameters:
      type: object
      properties:
        parcelIds:
          type: array
          description: Ids of parcels.
          items:
            type: string
            example: "025b773f-3f14-4410-a119-b7cf66673d87"
        pickupDate:
          $ref: '#/components/schemas/PickupDateProposal'
    ParcelAdditionalServices:
      type: object
      description: Additional services.
      properties:
        cashOnDelivery:
          type: object
          required:
            - value
          description: "Cash on delivery service."
          properties:
            value:
              type: object
              description: Postpaid value.
              required:
                - amount
                - currency
              properties:
                amount:
                  type: string
                  description: The amount provided in a string format to avoid rounding errors.
                  example: "2.50"
                currency:
                  type: string
                  description: ISO 4217 currency code.
                  example: "PLN"
            accountNumber:
              type: string
              example: "12345678901234567890123456"
              description: "Bank account number."
            name:
              type: string
              example: "Jan Kowalski"
              description: "Bank account owner."
            express:
              type: boolean
              default: false
              example: false
              description: "Postpaid Express service. Postpaid value is send to parcel sender in one business day after delivery."
        options:
          type: array
          description: "Additional services provided within delivery. Their description are obtainted with delivery services from `/parcel-management/delivery-services`."
          items:
            type: string
    CancelParcelParameters:
      type: object
      properties:
        parcelId:
          type: string
          description: Id of parcel.
          example: "ff5bdf59-8c89-4dd5-bf6a-a54805be85ad"
    Error200:
      type: object
      properties:
        code:
          type: string
          description: The error code. You can use this code when contacting us about any problems with our systems.
          example: string
        details:
          type: string
          description: >-
            For some cases, this field provides more details regarding the error. This field can not be null.
          example: string
        message:
          type: string
          description: >-
            A message directed to the developer of the program. This message give you some more technical details on
            what exactly has happened.
          example: string
        path:
          type: string
          nullable: true
          description: >-
            This field will point to a specific field in object if the error is connected to a problem with such specific
            field. This field can be empty
          example: string
        userMessage:
          type: string
          description: >-
            The message that can be presented directly to your user. It will not contain any technical information. This
            message is translated based on the value of the `Accept-Language` header. By default message in Polish is
            returned.
          example: string
    Error400:
      type: object
      properties:
        code:
          type: string
          description: The error code. You can use this code when contacting us about any problems with our systems.
          example: "VALIDATION_ERROR"
        details:
          type: string
          description: >-
            For some cases, this field provides more details regarding the error. This field can not be null.
          example: "Invalid value: null"
        message:
          type: string
          description: >-
            A message directed to the developer of the program. This message give you some more technical details on
            what exactly has happened.
          example: May not be null
        path:
          type: string
          nullable: true
          description: >-
            This field will point to a specific field in object if the error is connected to a problem with such specific
            field. This field can be empty
          example: serviceId
        userMessage:
          type: string
          description: >-
            The message that can be presented directly to your user. It will not contain any technical information. This
            message is translated based on the value of the `Accept-Language` header. By default message in Polish is
            returned.
          example: May not be null
    Error403:
      type: object
      properties:
        code:
          type: string
          description: The error code. You can use this code when contacting us about any problems with our systems.
          example: "AUTHENTICATION_ERROR"
        details:
          type: string
          description: >-
            For some cases, this field provides more details regarding the error.
          example: Access to the requested resource is forbidden
        message:
          type: string
          description: >-
            A message directed to the developer of the program. This message give you some more technical details on
            what exactly has happened.
          example: No access, more information in the regulations of the I send with Allegro service
        path:
          type: string
          nullable: true
          description: >-
            This field will point to a specific field in object if the error is connected to a problem with such specific
            field.
          example: header.authorization
        userMessage:
          type: string
          description: >-
            The message that can be presented directly to your user. It will not contain any technical information. This
            message is translated based on the value of the 'Accept-Language' header. By default message in Polish is
            returned.
          example: You are not authorized to perform this operation.
    Error404:
      type: object
      properties:
        code:
          type: string
          description: The error code. You can use this code when contacting us about any problems with our systems.
          example: "ERROR"
        details:
          type: string
          description: >-
            For some cases, this field provides more details regarding the error. This field can not be null.
          example: Resource not found
        message:
          type: string
          description: >-
            A message directed to the developer of the program. This message give you some more technical details on
            what exactly has happened.
          example: Command doesn't exist
        path:
          type: string
          nullable: true
          description: >-
            This field will point to a specific field in object if the error is connected to a problem with such specific
            field. This field can be empty
          example: /parcel-management/parcel-pickup-request-commands/{commandId}
        userMessage:
          type: string
          description: >-
            The message that can be presented directly to your user. It will not contain any technical information. This
            message is translated based on the value of the `Accept-Language` header. By default message in Polish is
            returned.
          example: Command doesn't exist
    Error504:
      type: object
      properties:
        code:
          type: string
          description: The error code. You can use this code when contacting us about any problems with our systems.
          example: "UPSTREAM_SERVICE_TIMEOUT"
        details:
          type: string
          description: >-
            For some cases, this field provides more details regarding the error.
          example: Timeout error
        message:
          type: string
          description: >-
            A message directed to the developer of the program. This message give you some more technical details on
            what exactly has happened.
          example: Error connecting to the courier company's system
        path:
          type: string
          nullable: true
          description: >-
            This field will point to a specific field in object if the error is connected to a problem with such specific
            field.
          example: ''
        userMessage:
          type: string
          description: >-
            The message that can be presented directly to your user. It will not contain any technical information. This
            message is translated based on the value of the 'Accept-Language' header. By default message in Polish is
            returned.
          example: Error connecting to the courier company's system
    DimensionItem:
      type: object
      properties:
        value:
          type: string
          description: Dimension value.
          example: "12"
        unit:
          type: string
          nullable: true
          description: Dimension unit. Currently only `CENTIMETER` is accepted.
          example: "CENTIMETER"
          default: "CENTIMETER"
    AvailablePromotionPackages:
      type: object
      properties:
        marketplaceId:
          type: string
          example: "allegro-pl"
        basePackages:
          type: array
          description: "Available base promotion packages. Only one base package can be set on an offer."
          items:
            $ref: '#/components/schemas/AvailablePromotionPackage'
        extraPackages:
          type: array
          description: "Available extra promotion packages. Multiple different extra packages can be set on an offer."
          items:
            $ref: '#/components/schemas/AvailablePromotionPackage'
        additionalMarketplaces:
          type: array
          description: "Available promotion packages on additional marketplaces."
          items:
            $ref: '#/components/schemas/MarketplaceAvailablePromotionPackages'
    MarketplaceAvailablePromotionPackages:
      type: object
      properties:
        marketplaceId:
          type: string
        basePackages:
          type: array
          description: "Available base promotion packages. Only one base package can be set on an offer."
          items:
            $ref: '#/components/schemas/AvailablePromotionPackage'
        extraPackages:
          type: array
          description: "Available extra promotion packages. Multiple different extra packages can be set on an offer."
          items:
            $ref: '#/components/schemas/AvailablePromotionPackage'
    AvailablePromotionPackage:
      type: object
      properties:
        id:
          type: string
          description: "Promotion package identifier."
          example: "promoPackage"
        name:
          type: string
          description: "Promotion package name."
          example: "Promo Package"
        cycleDuration:
          type: string
          description: "Promo package cycle duration."
          example: "PT240H"
    PromoOptionsModifications:
      type: object
      properties:
        modifications:
          type: array
          description: "Promo package modifications to be applied."
          items:
            $ref: '#/components/schemas/PromoOptionsModification'
        additionalMarketplaces:
          type: array
          description: "Promo package modifications to be applied on additional marketplaces."
          items:
            $ref: '#/components/schemas/AdditionalMarketplacePromoOptionsModification'
    PromoOptionsModification:
      type: object
      properties:
        modificationType:
          type: string
          description: "Type of modification to be applied."
          enum:
            - CHANGE
            - REMOVE_WITH_END_OF_CYCLE
            - REMOVE_NOW
        packageType:
          type: string
          description: "Type of promotion package to be changed/removed."
          enum:
            - BASE
            - EXTRA
        packageId:
          type: string
          description: "Promotion package identifier."
          example: "promoPackage"
    AdditionalMarketplacePromoOptionsModification:
      type: object
      properties:
        marketplaceId:
          type: string
          example: "allegro-pl"
        modifications:
          type: array
          description: "Promo package modifications to be applied on additional marketplace."
          items:
            $ref: '#/components/schemas/PromoOptionsModification'
    OfferPromoOptionsForSeller:
      type: object
      properties:
        promoOptions:
          type: array
          items:
            $ref: '#/components/schemas/OfferPromoOptions'
          description: "Promo options for seller offers."
        count:
          type: integer
          minimum: 0
          description: 'Number of returned elements.'
          example: 3
        totalCount:
          type: integer
          format: int64
          minimum: 0
          description: 'Total number of available elements.'
          example: 256
    OfferPromoOptions:
      type: object
      properties:
        offerId:
          type: string
          description: Offer identifier
          example: '9991337999'
        marketplaceId:
          type: string
          example: 'allegro-pl'
        basePackage:
          $ref: '#/components/schemas/OfferPromoOption'
        extraPackages:
          type: array
          description: "Extra promotion packages set on offer."
          items:
            $ref: '#/components/schemas/OfferPromoOption'
        pendingChanges:
          $ref: '#/components/schemas/OfferPromoOptionsPendingChanges'
        additionalMarketplaces:
          type: array
          description: "Promo packages on additional marketplaces"
          items:
            $ref: '#/components/schemas/MarketplaceOfferPromoOption'
    MarketplaceOfferPromoOption:
      type: object
      properties:
        marketplaceId:
          type: string
          example: 'allegro-pl'
        basePackage:
          $ref: '#/components/schemas/OfferPromoOption'
        extraPackages:
          type: array
          description: "Extra promotion packages set on offer."
          items:
            $ref: '#/components/schemas/OfferPromoOption'
        pendingChanges:
          $ref: '#/components/schemas/OfferPromoOptionsPendingChanges'
    OfferPromoOption:
      type: object
      properties:
        id:
          type: string
          description: "Promotion package identifier."
          example: "promoPackage"
        validFrom:
          type: string
          format: date-time
          description: >-
            Date from which the promotion package is valid: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
          example: "2020-01-01T00:00:00Z"
        validTo:
          type: string
          format: date-time
          description: >-
            Date to which the promotion package is valid: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
          example: "2020-01-01T00:00:00Z"
        nextCycleDate:
          type: string
          format: date-time
          description: >-
            Date on which the promotion package will be renewed for a new cycle: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
          example: "2020-01-01T00:00:00Z"
    OfferPromoOptionsPendingChanges:
      type: object
      properties:
        basePackage:
          $ref: '#/components/schemas/OfferPromoOption'
    PromoOptionsCommand:
      type: object
      properties:
        offerCriteria:
          type: array
          description: "Offer choice criteria."
          items:
            $ref: '#/components/schemas/OfferCriterium'
        modification:
          $ref: '#/components/schemas/PromoOptionsCommandModification'
        additionalMarketplaces:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalMarketplacePromoOptionsCommandModification'
    PromoOptionsCommandModification:
      type: object
      properties:
        basePackage:
          allOf:
            - $ref: '#/components/schemas/PromoOptionsCommandModificationPackage'
          description: >-
            The base package.
            Available packages can be determined using <a href="#operation/getAvailableOfferPromotionPackages">GET /sale/offer-promotion-packages</a>.
        extraPackages:
          type: array
          description: "Extra packages to be set on offer. Omitting this parameter will preserve the packages already present."
          items:
            $ref: '#/components/schemas/PromoOptionsCommandModificationPackage'
        modificationTime:
          type: string
          description: "Time at which the modification will be applied."
          enum:
            - NOW
            - END_OF_CYCLE
    AdditionalMarketplacePromoOptionsCommandModification:
      type: object
      properties:
        marketplaceId:
          type: string
          example: "allegro-pl"
        modification:
          $ref: '#/components/schemas/PromoOptionsCommandModification'
    PromoOptionsCommandModificationPackage:
      type: object
      properties:
        id:
          type: string
          example: "promoPackage"
    PromoGeneralReport:
      type: object
      properties:
        id:
          type: string
          description: Command ID
        taskCount:
          $ref: '#/components/schemas/TaskCount'
      description: Command execution summary
    PromoModificationReport:
      type: object
      properties:
        tasks:
          type: array
          description: "Offer promotion modification tasks."
          items:
            $ref: '#/components/schemas/PromoModificationTask'
        modification:
          $ref: '#/components/schemas/PromoOptionsCommandModification'
        additionalMarketplaces:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalMarketplacePromoOptionsCommandModification'
    PromoModificationTask:
      type: object
      properties:
        offer:
          $ref: '#/components/schemas/OfferId'
        marketplaceId:
          type: string
          example: "allegro-pl"
        scheduledAt:
          type: string
          format: date-time
          description: >-
            Date on which the promotion modification task was scheduled: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
          example: "2020-01-01T00:00:00Z"
        finishedAt:
          type: string
          format: date-time
          description: >-
            Date on which the promotion modification task finished processing: Format (ISO 8601) - yyyy-MM-dd'T'HH:mm:ss.SSSZ.
          example: "2020-01-01T00:00:00Z"
        status:
          type: string
          enum:
            - DONE
            - ERROR
            - IN_PROGRESS
        errors:
          $ref: '#/components/schemas/Errors'
    AllegroPickupDropOffPoint:
      type: object
      required:
        - id
        - name
        - type
        - services
        - restrictions
        - payments
        - address
        - opening
        - carriers
      description: Allegro pickup drop off point.
      properties:
        id:
          type: string
          description: Point id. You can use it in Send with Allegro.
          example: "1234567890"
        name:
          type: string
          description: Point name.
          example: "Kiosk Kolporter 001"
        type:
          type: string
          description: Point type.
          example: "PUDO"
          enum:
            - "PUDO"
            - "APM"
        services:
          type: array
          description: "Point services."
          items:
            type: object
            required:
              - type
            properties:
              type:
                type: string
                description: "Set of values can be extended."
                example: "PICKUP"
                enum:
                  - "PICKUP"
                  - "DROPOFF"
        restrictions:
          type: array
          description: "Point restrictions."
          items:
            type: object
            required:
              - type
            properties:
              type:
                type: string
                description: "Set of values can be extended."
                example: "OVERLOADED"
                enum:
                  - "OVERLOADED"
        description:
          type: string
          description: Point description
          example: "Sklep z książkami dla dzieci"
        payments:
          type: array
          description: "Point payment type."
          items:
            type: object
            required:
              - method
            properties:
              method:
                type: string
                example: "CARD"
                enum:
                  - "CASH"
                  - "CARD"
        address:
          type: object
          required:
            - postCode
            - city
            - street
            - countryCode
            - coordinates
          properties:
            postCode:
              type: string
              description: Postal code
              example: "60-166"
            city:
              type: string
              description: City name
              example: "Poznań"
            street:
              type: string
              description: Street
              example: "Solna"
            countryCode:
              type: string
              description: Country code
              example: "PL"
            coordinates:
              $ref: '#/components/schemas/Coordinates'
        opening:
          type: array
          description: Point working hours information.
          items:
            type: object
            required:
              - dayOfWeek
              - from
              - to
            properties:
              dayOfWeek:
                type: string
                description: "Day of week (ISO 8601)."
                example: "MONDAY"
              from:
                type: string
                description: "Start hour."
                example: "08:00"
              to:
                type: string
                description: "End hour."
                example: "15:00"
        carriers:
          type: array
          description: List of carriers that can drop off/pick up packages from point.
          items:
            $ref: '#/components/schemas/AllegroCarrier'
    AllegroParcelTrackingHistory:
      type: object
      required:
        - waybill
      properties:
        waybill:
          type: string
          description: Waybill number (parcel tracking number).
        trackingDetails:
          type: object
          description: Parcel tracking history if available.
          required:
            - statuses
            - createdAt
            - updatedAt
          properties:
            statuses:
              type: array
              description: List of parcel shipping statuses
              items:
                    $ref: '#/components/schemas/AllegroParcelTrackingStatus'
            createdAt:
              type: string
              format: date-time
              example: "2021-04-14T11:30:22.163Z"
              description: The start time parcel tracking recording in ISO 8601 format
            updatedAt:
              type: string
              format: date-time
              example: "2021-04-14T15:21:36.317Z"
              description: Time of registration of the last shipment status change in ISO 8601 format
    ParcelTrackingHistory:
      type: object
      required:
        - waybill
      properties:
        waybill:
          type: string
          description: Waybill number (parcel tracking number).
        trackingDetails:
          type: object
          description: Parcel tracking history if available.
          required:
            - statuses
            - createdAt
            - updatedAt
          properties:
            statuses:
              type: array
              description: List of parcel shipping statuses
              items:
                $ref: '#/components/schemas/ParcelTrackingStatus'
            createdAt:
              type: string
              format: date-time
              example: "2021-04-14T11:30:22.163Z"
              description: The start time parcel tracking recording in ISO 8601 format
            updatedAt:
              type: string
              format: date-time
              example: "2021-04-14T15:21:36.317Z"
              description: Time of registration of the last shipment status change in ISO 8601 format
    AllegroParcelTrackingStatus:
      type: object
      required:
        - occurredAt
        - code
      properties:
        occurredAt:
          type: string
          format: date-time
          example: "2021-04-14T15:21:36.317Z"
          description: Actual shipment status change time in ISO 8601 format
        code:
          type: string
          enum:
            - "AVAILABLE_FOR_PICKUP"
            - "DELIVERED"
            - "IN_TRANSIT"
            - "ISSUE"
            - "NOTICE_LEFT"
            - "PENDING"
            - "RELEASED_FOR_DELIVERY"
            - "RETURNED"
          example: "DELIVERED"
          description: >-
            Status of the shipment.
            - `AVAILABLE_FOR_PICKUP` - The parcel is awaiting for pickup.
            - `DELIVERED` - The parcel was delivered to the receiver / collected by the receiver.
            - `IN_TRANSIT` - The parcel is on its way to the receiver. The status includes events such as acceptance of the shipment by the carrier, arriving at the hub or redirecting to another address.
            - `ISSUE` - Problem with shipment. It includes events such as the parcel was refused by the receiver or was lost.
            - `NOTICE_LEFT` - A notice was left because of an unsuccessful delivery attempt (for example, due to nobody was at the delivery address).
            - `PENDING` - The shipment has been prepared and it is awaiting to be sent.
            - `RELEASED_FOR_DELIVERY` - The parcel has been released for delivery to its final destination.
            - `RETURNED` - The parcel is being or has been returned to the sender.
        details:
          type: string
          description: Optional description for a given status, mainly intended to describe the problem with the shipment
        terminal:
          type: boolean
          description: Indicates the final status, after which there should be no more status changes
    ParcelTrackingStatus:
      type: object
      required:
        - occurredAt
        - code
      properties:
        occurredAt:
          type: string
          format: date-time
          example: "2021-04-14T15:21:36.317Z"
          description: Actual shipment status change time in ISO 8601 format
        code:
          type: string
          enum:
            - "AVAILABLE_FOR_PICKUP"
            - "DELIVERED"
            - "IN_TRANSIT"
            - "ISSUE"
            - "NOTICE_LEFT"
            - "PENDING"
            - "RELEASED_FOR_DELIVERY"
            - "RETURNED"
          example: "DELIVERED"
          description: >-
            Status of the shipment.
            - `AVAILABLE_FOR_PICKUP` - The parcel is awaiting for pickup.
            - `DELIVERED` - The parcel was delivered to the receiver / collected by the receiver.
            - `IN_TRANSIT` - The parcel is on its way to the receiver. The status includes events such as acceptance of the shipment by the carrier, arriving at the hub or redirecting to another address.
            - `ISSUE` - Problem with shipment. It includes events such as the parcel was refused by the receiver or was lost.
            - `NOTICE_LEFT` - A notice was left because of an unsuccessful delivery attempt (for example, due to nobody was at the delivery address).
            - `PENDING` - The shipment has been prepared and it is awaiting to be sent.
            - `RELEASED_FOR_DELIVERY` - The parcel has been released for delivery to its final destination.
            - `RETURNED` - The parcel is being or has been returned to the sender.
        description:
          type: string
          description: Optional description for a given status, mainly intended to describe the problem with the shipment
    CategoryTaxSettings:
      type: object
      properties:
        subjects:
          type: array
          description: 'A list of tax subjects.'
          items:
            $ref: '#/components/schemas/TaxSubject'
        rates:
          type: array
          description: 'A list of tax rates.'
          items:
            $ref: '#/components/schemas/TaxRate'
        exemptions:
          type: array
          description: 'A list of tax exemptions.'
          items:
            $ref: '#/components/schemas/TaxExemption'
    TaxSubject:
      type: object
      properties:
        label:
          type: string
          description: 'Displayable tax subject label.'
          example: 'Goods'
        value:
          type: string
          description: 'Value of subject.'
          example: 'GOODS'
    TaxRate:
      type: object
      properties:
        countryCode:
          type: string
          description: 'A country code for which given VAT setting is defined.'
          example: 'PL'
        values:
          type: array
          description: 'Values of tax rates for given country code.'
          items:
            $ref: '#/components/schemas/TaxRateValue'
    TaxRateValue:
      type: object
      properties:
        label:
          type: string
          description: 'Displayable tax rate label.'
          example: 'Poza VAT / NP'
        value:
          type: string
          description: 'A numeric value of VAT tax rate. In case of "OUT_OF_SCOPE_OF_VAT" it is set to 0.'
          example: '23.00'
        exemptionRequired:
          type: boolean
          description: 'Exemption field must be filled out if true, otherwise is optional.'
    TaxExemption:
      type: object
      properties:
        label:
          type: string
          description: 'Displayable exemption label.'
          example: 'Procedura marży'
        value:
          type: string
          description: 'Value of exemption.'
          example: 'MARGIN_SCHEME'
    AllegroPricesAccountChangeRequest:
      type: "object"
      properties:
        status:
          type: "string"
          enum:
            - "ALLOWED"
            - "DENIED"
        additionalMarketplaces:
          description: "Consent statuses on marketplaces other than the base marketplace of the account."
          type: "object"
          additionalProperties:
            x-additionalPropertiesName: marketplaceId
            type: "object"
            properties:
              status:
                type: "string"
                enum:
                  - "ALLOWED"
                  - "DENIED"
    AllegroPricesAccountConsentChangeResponse:
      type: "object"
      properties:
        status:
          type: "string"
          enum:
            - "ALLOWED"
            - "DENIED"
    AllegroPricesOfferChangeRequest:
      type: "object"
      properties:
        status:
          description: "Use it to update the consent on the base marketplace of the offer."
          type: "string"
          enum:
            - "ALLOWED"
            - "DENIED"
        additionalMarketplaces:
          type: "object"
          description: "Use it to update the consent on marketplaces other than the base marketplace of the offer."
          additionalProperties:
            x-additionalPropertiesName: marketplaceId
            type: "object"
            properties:
              status:
                type: "string"
                enum:
                  - "ALLOWED"
                  - "DENIED"
    AllegroPricesOfferConsentChangeResponse:
      type: "object"
      properties:
        status:
          description: "Consent status on the base marketplace of the offer."
          type: "string"
          enum:
            - "ALLOWED"
            - "DENIED"
        additionalMarketplaces:
          description: "Consent statuses on marketplaces other than the base marketplace of the offer."
          type: "object"
          additionalProperties:
            x-additionalPropertiesName: marketplaceId
            type: "object"
            properties:
              status:
                type: "string"
                enum:
                  - "ALLOWED"
                  - "DENIED"
    AllegroPricesEligibilityResponse:
      type: "object"
      properties:
        consent:
          type: "string"
          enum:
            - "ALLOWED"
            - "DENIED"
        qualification:
          $ref: "#/components/schemas/AllegroPricesQualificationResponse"
        additionalMarketplaces:
          description: "Eligibility state on marketplces other than the base marketplace of the account."
          type: "object"
          additionalProperties:
            x-additionalPropertiesName: marketplaceId
            type: "object"
            properties:
              consent:
                type: "string"
                enum:
                  - "ALLOWED"
                  - "DENIED"
              qualification:
                $ref: "#/components/schemas/AllegroPricesQualificationResponse"
    AllegroPricesQualificationResponse:
      type: "object"
      properties:
        status:
          type: "string"
          enum:
            - "QUALIFIED"
            - "DISQUALIFIED"
    Interlocutor:
      type: object
      nullable: true
      properties:
        login:
          type: string
        avatarUrl:
          type: string
      required:
        - login
        - avatarUrl
    MessageAuthor:
      type: object
      properties:
        login:
          type: string
        isInterlocutor:
          type: boolean
      required:
        - login
        - isInterlocutor
    Thread:
      type: object
      required:
        - id
        - read
      properties:
        id:
          type: string
        read:
          type: boolean
        lastMessageDateTime:
          type: string
          format: date-time
          nullable: true
        interlocutor:
          $ref: '#/components/schemas/Interlocutor'
    ThreadId:
      type: object
      properties:
        id:
          type: string
      required:
        - id
    ThreadsList:
      type: object
      properties:
        threads:
          type: array
          items:
            $ref: '#/components/schemas/Thread'
        offset:
          type: integer
          minimum: 0
        limit:
          type: integer
          minimum: 0
      required:
        - threads
        - offset
        - limit
    ThreadReadFlag:
      type: object
      properties:
        read:
          type: boolean
      required:
        - read
    MessageOffer:
      type: object
      nullable: true
      properties:
        id:
          type: string
      required:
        - id
    MessageOrder:
      type: object
      nullable: true
      properties:
        id:
          type: string
      required:
        - id
    MessageRelatedObject:
      type: object
      properties:
        offer:
          $ref: '#/components/schemas/MessageOffer'
        order:
          $ref: '#/components/schemas/MessageOrder'
    MessageAdditionalInformation:
      type: object
      nullable: true
      description: 'Contains optional contextual information linked to message.'
      properties:
        vin:
          type: string
          nullable: true
          description: 'Vehicle Information Number (VIN) provided by sender in addition to message contents.'
          example: 'JT2SV12E6F0308977'
    MessageAttachmentInfo:
      type: object
      properties:
        fileName:
          type: string
        mimeType:
          type: string
        url:
          type: string
        status:
          type: string
          enum:
            - NEW
            - SAFE
            - UNSAFE
            - EXPIRED
      required:
        - fileName
        - status
    Message:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
            - VERIFYING
            - BLOCKED
            - DELIVERED
            - INTERACTING
            - DISMISSED
        type:
          type: string
          enum:
            - ASK_QUESTION
            - MAIL
            - MESSAGE_CENTER
          example: MESSAGE_CENTER
        createdAt:
          type: string
          format: date-time
        thread:
          $ref: '#/components/schemas/ThreadId'
        author:
          $ref: '#/components/schemas/MessageAuthor'
        text:
          type: string
        subject:
          type: string
          nullable: true
        relatesTo:
          $ref: '#/components/schemas/MessageRelatedObject'
        hasAdditionalAttachments:
          type: boolean
          example: false
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/MessageAttachmentInfo'
        additionalInformation:
          $ref: '#/components/schemas/MessageAdditionalInformation'

      required:
        - id
        - status
        - type
        - createdAt
        - thread
        - author
        - text
        - relatesTo
        - hasAdditionalAttachments
        - attachments
    MessagesList:
      type: object
      properties:
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
        offset:
          type: integer
          minimum: 0
        limit:
          type: integer
          minimum: 0
      required:
        - messages
        - offset
        - limit
    MessageAttachmentId:
      type: object
      properties:
        id:
          type: string
      required:
        - id
    NewMessageInThread:
      type: object
      properties:
        text:
          type: string
          maxLength: 2000
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/MessageAttachmentId'
          nullable: true
      required:
        - text
    Recipient:
      type: object
      properties:
        login:
          type: string
      required:
        - login
    NewMessage:
      type: object
      properties:
        recipient:
          $ref: '#/components/schemas/Recipient'
        text:
          type: string
          maxLength: 2000
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/MessageAttachmentId'
          nullable: true
      required:
        - recipient
        - text
    NewAttachmentDeclaration:
      type: object
      properties:
        filename:
          type: string
        size:
          type: integer
          format: int64
          minimum: 0
          maximum: 5242880
      required:
        - filename
        - size
    B2b:
      type: object
      description: 'Defines offer properties for buyers with company account (Allegro Biznes).'
      properties:
        buyableOnlyByBusiness:
          type: boolean
          description: 'If true, then only users with company account are eligible to buy given offer.
                        Offers buyable only by business are allowed only in selected categories.
                        False by default.'
          example: false
    MessageToSellerSettings:
      type: object
      description: 'Defines message to the seller settings options.'
      properties:
        mode:
          type: string
          enum:
            - OPTIONAL
            - HIDDEN
            - REQUIRED
          description: >-
            Specify message to seller type.
             * `OPTIONAL`: buyer is able to enter a message for the seller
             * `HIDDEN`: there is no message box for the seller
             * `REQUIRED`: buyer is forced to enter a message for the seller (limited to categories with `sellerCanRequirePurchaseComments` option)
          example: 'OPTIONAL'
        hint:
          type: string
          description: >-
            Specify hint for REQUIRED message displayed for buyer
    OfferTranslationType:
      type: string
      description: 'Type of content:
                    BASE - initial content for offer in declared offer language.
                    AUTO - automatic translation from BASE content.
                    MANUAL - manual translation provided by the user.'
      enum:
        - AUTO
        - MANUAL
        - BASE
    OfferDescriptionTranslation:
      type: object
      description: Offer description translation
      properties:
        translation:
          $ref: '#/components/schemas/StandardizedDescription'
        type:
          $ref: '#/components/schemas/OfferTranslationType'
      title: OfferDescriptionTranslation
    OfferTitleTranslation:
      type: object
      description: Offer title translation
      properties:
        translation:
          description: Offer title translation content
          type: string
        type:
          $ref: '#/components/schemas/OfferTranslationType'
      title: OfferTitleTranslation
    ManualDescriptionTranslation:
      type: object
      description: Manual offer description translation
      properties:
        translation:
          $ref: '#/components/schemas/StandardizedDescription'
      title: ManualDescriptionTranslation
    ManualTitleTranslation:
      type: object
      description: Manual offer title translation
      properties:
        translation:
          type: string
          description: Manual offer title translation content
      title: ManualTitleTranslation
    ManualTranslationUpdateRequest:
      type: object
      properties:
        description:
          $ref: '#/components/schemas/ManualDescriptionTranslation'
        title:
          $ref: '#/components/schemas/ManualTitleTranslation'
      title: ManualTranslationUpdateRequest
    OfferTranslation:
      type: object
      required:
        - language
      properties:
        description:
          $ref: '#/components/schemas/OfferDescriptionTranslation'
        language:
          type: string
          description: Language of the translation.
          format: BCP-47 language code
          example: 'en-US'
        title:
          $ref: '#/components/schemas/OfferTitleTranslation'
      title: OfferTranslation
    OfferTranslations:
      type: object
      properties:
        translations:
          type: array
          items:
            $ref: '#/components/schemas/OfferTranslation'
      title: OfferTranslations
    SmartDeliveryMethod:
      type: object
      properties:
        id:
          type: string
          description: Delivery method id
          example: 2488f7b7-5d1c-4d65-b85c-4cbcf253fd93
    DeliveryMethodId:
      type: object
      properties:
        id:
          type: string
          description: Delivery method id
          example: 2488f7b7-5d1c-4d65-b85c-4cbcf253fd93
    SmartOfferClassificationReport:
      type: object
      properties:
        classification:
          type: object
          description: Offer Smart! eligibility status
          properties:
            fulfilled:
              type: boolean
              description: Indicates whether that particular offer is currently Smart!
            lastChanged:
              type: string
              format: date-time
              description: Date of the most recent status change
              example: 2017-05-17T08:36:57.292+02:00
        scheduledForReclassification:
          type: boolean
          description: Indicates whether that particular offer is set to be reclassified in the next 24 hours
        smartDeliveryMethods:
          type: array
          description: Delivery methods marked with Smart! label
          items:
            $ref: '#/components/schemas/SmartDeliveryMethod'
          example:
            - id: 2488f7b7-5d1c-4d65-b85c-4cbcf253fd93
            - id: c3066682-97a3-42fe-9eb5-3beeccab840c
        conditions:
          type: array
          description: >-
            Set of conditions to be met in order for that particular offer to be Smart!.
            Each condition filters out improperly configured delivery methods or checks some offer attributes.
            Order of conditions matters.
            Please keep in mind that this is a **PREVIEW** of an offer classification if being conducted right now - actual classification is triggered only by attribute changes and as of now it cannot be manually done on demand.
          items:
            type: object
            properties:
              code:
                type: string
                description: Technical condition name
              name:
                type: string
                description: Condition name
              description:
                type: string
                description: Brief condition description, might contain useful instructions to help making that particular condition pass
              fulfilled:
                type: boolean
                description: Indicates whether this condition is met
              passedDeliveryMethods:
                type: array
                description: Set of delivery methods that meet this condition. May be null if the condition does not apply to delivery methods.
                items:
                  $ref: '#/components/schemas/DeliveryMethodId'
              failedDeliveryMethods:
                type: array
                description: Set of delivery methods that fail to meet this condition. May be null if the condition does not apply to delivery methods.
                items:
                  $ref: '#/components/schemas/DeliveryMethodId'
          example:
            - code: deliveryMethodPrices
              name: Zgodność z cennikiem
              description: Wymagamy aby metody dostawy były zgodne z cennikiem.
              fulfilled: true
              passedDeliveryMethods:
                - id: 2488f7b7-5d1c-4d65-b85c-4cbcf253fd93
                - id: c3066682-97a3-42fe-9eb5-3beeccab840c
                - id: 259b5c7a-9056-4c74-80ec-8bdc50cb0413
                - id: 08e2ef8e-90c8-49db-8970-d6c2773f1530
              failedDeliveryMethods:
                - id: b20ef9e1-faa2-4f25-9032-adbea23e5cb9
                - id: 9081532b-5ad3-467d-80bc-9252982e9dd8
                - id: 98f86f81-0018-41c5-ac83-073a56fc7021
                - id: 5d9c7838-e05f-4dec-afdd-58e884170ba7
            - code: returnPaidBy
              name: Koszty zwrotu
              description: Oferta musi mieć politykę zwrotu. Zagraniczne metody dostawy są zaklasyfikowane tylko jeśli koszt zwrotu jest pokryty przez sprzedającego.
              fulfilled: true
              passedDeliveryMethods:
                - id: 2488f7b7-5d1c-4d65-b85c-4cbcf253fd93
                - id: c3066682-97a3-42fe-9eb5-3beeccab840c
              failedDeliveryMethods:
                - id: 259b5c7a-9056-4c74-80ec-8bdc50cb0413
                - id: 08e2ef8e-90c8-49db-8970-d6c2773f1530
    SmartSellerClassificationReport:
      type: object
      properties:
        classification:
          type: object
          description: Seller Smart! eligibility status
          properties:
            fulfilled:
              type: boolean
              description: Indicates whether that user is currently Smart!
            lastChanged:
              type: string
              format: date-time
              description: Date of the most recent status change
              example: '2017-05-17T08:36:57.292+02:00'
        conditions:
          type: array
          description: Set of conditions to be met in order for user to be Smart!
          items:
            type: object
            properties:
              code:
                type: string
                description: Technical condition name
              name:
                type: string
                description: Condition name
              description:
                type: string
                description: Brief condition description, might contain useful instructions to help making that particular condition pass
              value:
                type: number
                description: Value of related user attribute that this condition tests. Has to be greater that threshold if present.
              threshold:
                type: number
                description: Minimum required `value` of related user attribute.
              fulfilled:
                type: boolean
                description: Indicates whether this condition is met
              required:
                type: boolean
                description: >-
                  Indicates whether this condition is required to obtain Smart! status.
                  Please note that certain conditions may be required (or not) based on result of checking other conditions.
          example:
            - code: ratingPercentage
              name: Wskaźnik poleceń
              description: W przypadku braku oznaczenia Super Sprzedawca wymagamy aby sprzedawca posiadał wskaźnik poleceń powyżej określonego progu.
              value: 0.783
              threshold: 0.98
              fulfilled: false
              required: false
            - code: ratesCount
              name: Liczba unikalnych ocen
              description: W przypadku braku oznaczenia Super Sprzedawca wymagamy aby sprzedawca posiadał określoną liczbę unikalnych ocen \Polecam\ w okresie ostatnich 12 miesięcy.
              value: 23
              threshold: 5
              fulfilled: true
              required: false
            - code: superSeller
              name: Super Sprzedawca
              description: Posiadanie oznaczenia Super Sprzedawca pozwala wziąć udział w programie Smart! przy zwolnieniu z kryteriów \Wskaźnik poleceń\ oraz \Liczba unikalnych ocen\.
              value: 1
              fulfilled: true
              required: false
        excludedDeliveryMethods:
          type: array
          description: Set of delivery methods that were excluded from Smart! classification on demand by seller
          items:
            $ref: '#/components/schemas/SmartDeliveryMethod'
    AdvanceShipNotice:
      type: object
      properties:
        items:
          type: array
          description: A list of product items.
          items:
            $ref: '#/components/schemas/ProductItem'
        handlingUnit:
          $ref: '#/components/schemas/HandlingUnit'
        shipping:
          $ref: '#/components/schemas/Shipping'
      required:
        - items
    CreateAdvanceShipNoticeRequest:
      type: object
      properties:
        items:
          type: array
          description: A list of product items.
          items:
            $ref: '#/components/schemas/ProductItem'
        handlingUnit:
          $ref: '#/components/schemas/HandlingUnit'
        shipping:
          $ref: '#/components/schemas/Shipping'
      required:
        - items
    UpdateSubmittedAdvanceShipNoticeRequest:
      type: object
      properties:
        items:
          type: array
          description: A list of product items.
          items:
            $ref: '#/components/schemas/ProductItem'
        handlingUnit:
          $ref: '#/components/schemas/UpdateSubmittedHandlingUnitInput'
        shipping:
          $ref: '#/components/schemas/UpdateSubmittedShippingInput'
    UpdateSubmittedHandlingUnitInput:
      type: object
      description: Represents information about handling unit.
      properties:
        amount:
          type: number
          description: Number of handling units. Depending on the selected handling unit type, it's the number of boxes, pallets or packages placed in the container to be dispatched.
          example: 1
    UpdateSubmittedShippingInput:
      type: object
      description: Represents information about package shipment.
      properties:
        truckLicencePlate:
          type: string
          description: Vehicle licence plate number.
          example: 'FZ12453'
        trackingNumber:
          type: string
          description: Courier tracking number.
          example: '00340433982034779798'
        thirdParty:
          $ref: '#/components/schemas/ThirdParty'
    AdvanceShipNoticeResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: An UUID identifier of ASN.
          example: 71529ad2-2265-4e15-b76b-c17025d848f7
        displayNumber:
          type: string
          description: A human friendly identifier of ASN.
          example: A-210310-0000002
        status:
          $ref: '#/components/schemas/AdvanceShipNoticeStatus'
        createdAt:
          type: string
          format: date-time
          description: 'The date and time of Advance Ship Notice creation. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2020-08-26T12:50:04Z'
        updatedAt:
          type: string
          format: date-time
          description: 'The date and time of last Advance Ship Notice update. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2020-08-26T12:52:04Z'
        items:
          type: array
          description: A list of product items.
          items:
            $ref: '#/components/schemas/ProductItem'
        handlingUnit:
          $ref: '#/components/schemas/HandlingUnit'
        labels:
          $ref: '#/components/schemas/Labels'
        shipping:
          $ref: '#/components/schemas/Shipping'
        submittedAt:
          type: string
          format: date-time
          description: 'The date and time of Advance Ship Notice submission. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2020-08-26T12:55:04Z'
      required:
        - id
        - displayNumber
        - status
        - createdAt
        - updatedAt
        - items
    CreateAdvanceShipNoticeResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: An UUID identifier of ASN.
          example: 71529ad2-2265-4e15-b76b-c17025d848f7
        displayNumber:
          type: string
          description: A human friendly identifier of ASN.
          example: A-210310-0000002
        status:
          $ref: '#/components/schemas/AdvanceShipNoticeStatus'
        createdAt:
          type: string
          format: date-time
          description: 'The date and time of Advance Ship Notice creation. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2020-08-26T12:50:04Z'
        updatedAt:
          type: string
          format: date-time
          description: 'The date and time of last Advance Ship Notice update. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2020-08-26T12:50:04Z'
        items:
          type: array
          description: A list of product items.
          items:
            $ref: '#/components/schemas/ProductItem'
        handlingUnit:
          $ref: '#/components/schemas/HandlingUnit'
        labels:
          $ref: '#/components/schemas/Labels'
        shipping:
          $ref: '#/components/schemas/Shipping'
      required:
        - id
        - displayNumber
        - status
        - createdAt
        - updatedAt
        - items
    AdvanceShipNoticeList:
      type: object
      description: The list of Advance Ship Notices.
      properties:
        advanceShipNotices:
          type: array
          items:
            $ref: '#/components/schemas/AdvanceShipNoticeResponse'
        count:
          type: number
          description: A number of Advance Ship Notices in response.
          example: 1
        totalCount:
          type: number
          description: A number of Advance Ship Notices in total.
          example: 1
      required:
        - advanceShipNotices
        - count
        - totalCount
    AdvanceShipNoticeStatus:
      type: string
      description: The Advance Ship Notice Status.
      enum:
        - DRAFT
        - IN_TRANSIT
        - UNPACKING
        - COMPLETED
      example: DRAFT
    CreateLabelsCommandInput:
      type: object
      description: Represents input of create labels command.
      properties:
        advanceShipNoticeId:
          type: string
          format: uuid
          description: The Advance Ship Notice identifier.
          example: 123a08d7-ab9b-460d-b9cb-d6ed64b3a018
      required:
        - advanceShipNoticeId
    CreateLabelsCommandOutput:
      type: object
      description: Represents output of create labels command.
      required:
        - status
      properties:
        status:
          type: string
          description: The command status.
          example: RUNNING
      discriminator:
        propertyName: status
        mapping:
          RUNNING: '#/components/schemas/CreateLabelsRunningCommandOutput'
          SUCCESSFUL: '#/components/schemas/CreateLabelsSuccessfulCommandOutput'
          FAILED: '#/components/schemas/CreateLabelsFailedCommandOutput'
    CreateLabelsRunningCommandOutput:
      allOf:
        - $ref: '#/components/schemas/CreateLabelsCommandOutput'
        - type: object
          properties:
            status:
              type: string
              default: 'RUNNING'
    CreateLabelsSuccessfulCommandOutput:
      allOf:
        - $ref: '#/components/schemas/CreateLabelsCommandOutput'
        - type: object
          required:
            - labels
          properties:
            status:
              type: string
              default: 'SUCCESSFUL'
            labels:
              type: object
              description: Created label.
              required:
                - fileUrl
              properties:
                fileUrl:
                  type: string
                  description: URL to download file with created labels.
                  example: 'https://api.allegro.pl/fulfillment/advance-ship-notices/cc05cce0-3f6a-4f13-9c28-ea0d01faea86/labels'
    CreateLabelsFailedCommandOutput:
      allOf:
        - $ref: '#/components/schemas/CreateLabelsCommandOutput'
        - type: object
          required:
            - errors
          properties:
            status:
              type: string
              default: 'FAILED'
            errors:
              $ref: '#/components/schemas/Errors'
    CreateLabelsCommandOnlyInput:
      type: object
      description: The created labels command.
      properties:
        input:
          $ref: '#/components/schemas/CreateLabelsCommandInput'
      required:
        - input
    CreateLabelsCommand:
      type: object
      description: The created labels command.
      properties:
        id:
          type: string
          format: uuid
          description: An identifier of the command.
          example: 712fa46c-7d4a-4ba0-b094-b5d1d4f6155d
        input:
          $ref: '#/components/schemas/CreateLabelsCommandInput'
        output:
          $ref: '#/components/schemas/CreateLabelsCommandOutput'
      required:
        - input
    SubmitCommandInput:
      type: object
      description: Represents input of the Advance Ship Notice submit command.
      properties:
        advanceShipNoticeId:
          type: string
          format: uuid
          description: The Advance Ship Notice identifier.
          example: 123a08d7-ab9b-460d-b9cb-d6ed64b3a018
      required:
        - advanceShipNoticeId
    SubmitCommandOutput:
      type: object
      description: Represents output of the Advance Ship Notice submit command.
      required:
        - status
      properties:
        status:
          type: string
          description: The command status.
          example: RUNNING
      discriminator:
        propertyName: status
        mapping:
          RUNNING: '#/components/schemas/SubmitRunningCommandOutput'
          SUCCESSFUL: '#/components/schemas/SubmitSuccessfulCommandOutput'
          FAILED: '#/components/schemas/SubmitFailedCommandOutput'
    SubmitRunningCommandOutput:
      allOf:
        - $ref: '#/components/schemas/SubmitCommandOutput'
        - type: object
          properties:
            status:
              type: string
              default: 'RUNNING'
    SubmitSuccessfulCommandOutput:
      allOf:
        - $ref: '#/components/schemas/SubmitCommandOutput'
        - type: object
          properties:
            status:
              type: string
              default: 'SUCCESSFUL'
    SubmitFailedCommandOutput:
      allOf:
        - $ref: '#/components/schemas/SubmitCommandOutput'
        - type: object
          required:
            - errors
          properties:
            status:
              type: string
              default: 'FAILED'
            errors:
              $ref: '#/components/schemas/Errors'
    SubmitCommand:
      type: object
      description: The submit command.
      properties:
        id:
          type: string
          format: uuid
          description: The identifier of command.
          example: 71529ad2-2265-4e15-b76b-c17025d848f7
        input:
          $ref: '#/components/schemas/SubmitCommandInput'
        output:
          $ref: '#/components/schemas/SubmitCommandOutput'
      required:
        - input
    Product:
      type: object
      description: >-
        The product data.
      properties:
        id:
          type: string
          description: The product identifier.
          format: uuid
          example: a1520fab-7801-4832-9ccd-fb068c707a74
      required:
        - id
    ProductItem:
      type: object
      description: Groups together product and quantity.
      properties:
        product:
          $ref: '#/components/schemas/Product'
        quantity:
          type: number
          description: The quantity of the product.
          minimum: 1
          maximum: 1000000
      required:
        - product
        - quantity
    HandlingUnit:
      type: object
      description: Represents information about handling unit.
      properties:
        unitType:
          type: string
          description: The unit type of Advance Ship Notice. Available values - BOX, PALLET, CONTAINER.
          example: BOX
        amount:
          type: number
          description: Amount of unit type. Not required when ASN status is DRAFT. When unit type is BOX or PALLET then it means how many handling units will be sent. When unit type is CONTAINER then it means how many handling units inside a container will be sent.
          example: 1
        labelsType:
          type: string
          description: Not required when ASN status is DRAFT. Available values - ONE_FULFILMENT, NONE. When unit type is CONTAINER labelsType can not be set to ONE_FULFILMENT.
          example: ONE_FULFILMENT
    Labels:
      type: object
      description: Represents created labels.
      properties:
        fileUrl:
          type: string
          description: An URI to file containing labels.
          example: 'https://api.allegro.pl/fulfillment/678453232'
    Shipping:
      type: object
      description: >-
        Represents information about package shipment.

        Constraints:
          * for method OWN_TRANSPORT: truckLicencePlate, estimatedTimeOfArrival and countryCode are required.
          * for method COURIER_BY_SELLER: trackingNumber, estimatedTimeOfArrival and countryCode are required.
          * for method THIRD_PARTY_DELIVERY: thirdParty, estimatedTimeOfArrival and countryCode are required.
      required:
        - method
      properties:
        method:
          type: string
          description: The delivery method of the Advance Ship Notice. Not required when Advance Ship Notice in DRAFT status
          example: COURIER_BY_SELLER
      discriminator:
        propertyName: method
        mapping:
          OWN_TRANSPORT: '#/components/schemas/OwnTransportShipping'
          COURIER_BY_SELLER: '#/components/schemas/CourierBySellerShipping'
          THIRD_PARTY_DELIVERY: '#/components/schemas/ThirdPartyDeliveryShipping'
    OwnTransportShipping:
      allOf:
        - $ref: '#/components/schemas/Shipping'
        - type: object
          properties:
            method:
              type: string
              default: 'OWN_TRANSPORT'
            truckLicencePlate:
              type: string
              description: The licence plate of the truck that will deliver the shipment.
              example: FZ12453
            estimatedTimeOfArrival:
              type: string
              format: date-time
              description: 'The estimated date and time of Advance Ship Notice arrival in the warehouse. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
            countryCode:
              type: string
              description: Country code in ISO 3166-1 alpha-2 format (two-letter code), which means the country from which Advance Ship Notice is sent.
    CourierBySellerShipping:
      allOf:
        - $ref: '#/components/schemas/Shipping'
        - type: object
          properties:
            method:
              type: string
              default: 'COURIER_BY_SELLER'
            trackingNumber:
              type: string
              description: A tracking number.
              example: '00340433982034779798'
            estimatedTimeOfArrival:
              type: string
              format: date-time
              description: 'The estimated date and time of Advance Ship Notice arrival in the warehouse. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
            countryCode:
              type: string
              description: Country code in ISO 3166-1 alpha-2 format (two-letter code), which means the country from which Advance Ship Notice is sent.
    ThirdPartyDeliveryShipping:
      allOf:
        - $ref: '#/components/schemas/Shipping'
        - type: object
          properties:
            method:
              type: string
              default: 'THIRD_PARTY_DELIVERY'
            thirdParty:
              $ref: '#/components/schemas/ThirdParty'
            estimatedTimeOfArrival:
              type: string
              format: date-time
              description: 'The estimated date and time of Advance Ship Notice arrival in the warehouse. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
            countryCode:
              type: string
              description: Country code in ISO 3166-1 alpha-2 format (two-letter code), which means the country from which Advance Ship Notice is sent.
    ThirdParty:
      type: object
      description: Represents shipping details from third party.
      properties:
        name:
          type: string
          description: Third party name.
          example: 'Company ABC'
        orderNumber:
          type: string
          description: Third party order number.
          example: 'Order.2022.10.12.Allegro.1F'
    StockProductList:
      type: object
      description: Represents the current stock for the seller.
      properties:
        stock:
          type: array
          description: List of products with their quantity.
          items:
            $ref: '#/components/schemas/StockProductItem'
        count:
          type: number
          description: Number of returned products.
          example: 1
        totalCount:
          type: number
          description: Total number of available products.
          example: 10
    StockProductItem:
      type: object
      description: Groups together product and its quantity.
      properties:
        product:
          $ref: '#/components/schemas/StockProduct'
        quantity:
          $ref: '#/components/schemas/StockQuantity'
        sellingStats:
          $ref: '#/components/schemas/StockSellingStats'
        reserve:
          $ref: '#/components/schemas/ReserveInfo'
        storageFee:
          $ref: '#/components/schemas/StockStorageFee'
        offerId:
          type: string
          description: Identifier of the offer currently attached to the product.
          example: '10000000015'
    StockProduct:
      type: object
      description: The product.
      properties:
        id:
          type: string
          description: The product identifier.
          format: uuid
          example: 712fa46c-7d4a-4ba0-b094-b5d1d4f6155d
        name:
          type: string
          description: The product name.
          example: iPhone 5s
        gtins:
          type: array
          description: List of product's GTIN numbers.
          items:
            type: string
          example: [ "2746650558857", "1859832948337" ]
        image:
          type: string
          description: The product image.
          example: 'https://5.allegroimg.com/original/003358/a4f5dbb14d24971aff2ca5afb5d5'
    StockQuantity:
      type: object
      description: Represents stock quantity.
      properties:
        onOffer:
          type: number
          description: >-
            A number of items which are available on the current active offer for the product.
          example: 4
        available:
          type: number
          description: >-
            A number of items in a warehouse available for sale. The amount is taken from the current active offer,
            or in case there is no active offer, it shows the amount that will be available on offer after it will
            have been created.
          example: 4
        onOrder:
          type: number
          description: >-
            A number of items already bought but not shipped. These are items in unpaid and paid orders
            that waiting for courier pickup.
          example: 4
        onHold:
          type: number
          description: >-
            A number of items in a warehouse not available for sale (e.g. due to damage).
          example: 4
    StockSellingStats:
      type: object
      description: Represents selling stats of given product in merchant's stock.
      properties:
        lastWeekAverage:
          type: number
          description: Moving daily sales average calculated for last week (7 calendar days before current day), rounded to integer using "half up" logic. Doesn't include sales for current day. Note that this number is not stable and might change between subsequent requests due to e.g. cancellations of orders within the calculation period.
          example: 4
        lastThirtyDaysSum:
          type: number
          description: Total sales for the last 30 calendar days. Doesn't include sales for current day. Note that this number is not stable and might change between subsequent requests due to e.g. cancellations of orders within the calculation period.
          example: 200
    StockStorageFee:
      type: object
      description: Information about storage fee for a given product in merchant's stock.
      properties:
        status:
          type: string
          description: |
            Status of the storage fee.
            * NOT_APPLICABLE - fee for yesterday has not been charged and there are no available items of the product.
            * INCLUDED_IN_SERVICE_PRICE - fee for yesterday has not been charged and there are available items of the product.
            * CHARGED - the fee has been charged on seller's billing.
            * PREDICTION - prediction of upcoming fee, based on yesterday selling stats and quantity.
          enum:
            - NOT_APPLICABLE
            - INCLUDED_IN_SERVICE_PRICE
            - CHARGED
            - PREDICTION
        feeStatusAt:
          type: string
          description: >-
            Date when the fee was charged. Normally we return the data for the day before. However, due to asynchronous
            nature of fee update process, which are calculated overnight, it is possible to have some outdated entries
            when querying during fee recalculation process. This value allows to ensure that you work on the most
            recent data.
          example: 2023-02-17
        details:
          type: object
          description: Details about charged storage fee. Only present in case of CHARGED status, null otherwise.
          properties:
            feePayableAt:
              type: string
              description: >-
                Predicted date when the fee will be charged based on quantity and average sales.
                Only present in case of PREDICTION status, null otherwise.
            chargedItemsQuantity:
              type: number
              description: >-
                Number of items, for which storage fee was charged. For example seller might have 20 items in total,
                but only 3 of them are stored longer than free storage period, so the fee is applied only for them.
              example: 3
            amountGross:
              type: number
              description: Total gross amount of the charged fee.
              example: 123.45
            currency:
              type: string
              description: Currency in which the fee was charged.
              example: PLN
    ReserveInfo:
      type: object
      description: Contains information about amount of reserve and its sufficiency for next days. If status is set to NOT_ENOUGH_DATA value of will not be sent.
      properties:
        outOfStockIn:
          type: number
          description: Prediction of number of days in which inventory will be sold out.
          example: 14
        status:
          type: string
          description: >-
            Gives information about inventory, that can not be expressed using `outOfStockIn` property. Can be one
            of the given values: NOT_ENOUGH_DATA - not enough data to calculate sufficiency,
            LOW_STOCK - inventory quantity will run out soon (in 14 days or less)
            NORMAL - prediction can be calculated, EXCESS_ONE_YEAR - amount of inventory will not be exhausted
            in (approximately) one year threshold.
          enum:
            - NOT_ENOUGH_DATA
            - LOW_STOCK
            - NORMAL
            - EXCESS_ONE_YEAR
    AvailableProductsList:
      type: object
      description: The list of available seller's products.
      properties:
        products:
          type: array
          description: List of products.
          items:
            $ref: '#/components/schemas/AvailableProductResponse'
        count:
          type: number
          description: Number of returned products.
          example: 1
        totalCount:
          type: number
          description: Total number of available products.
          example: 1
    AvailableProductResponse:
      type: object
      description: The product.
      properties:
        id:
          type: string
          description: The product identifier.
          format: uuid
          example: 712fa46c-7d4a-4ba0-b094-b5d1d4f6155d
        name:
          type: string
          description: The product name.
          example: iPhone 5s
        gtins:
          type: array
          description: List of product's GTIN numbers.
          items:
            type: string
          example: [ "2746650558857", "1859832948337" ]
        image:
          type: string
          description: The product image.
          example: 'https://5.allegroimg.com/original/003358/a4f5dbb14d24971aff2ca5afb5d5'
    ReceivingState:
      type: object
      properties:
        updatedAt:
          type: string
          format: date-time
          description: 'The date and time when report was updated last time. Provided in [ISO 8601 format](link: https://en.wikipedia.org/wiki/ISO_8601).'
          example: '2020-08-26T12:50:04Z'
        stage:
          type: string
          description: Stage of Advance Ship Notice receiving
          enum:
            - IN_PROGRESS
            - COMPLETED
          example: COMPLETED
        displayNumber:
          type: string
          description: A human friendly identifier of Advance Ship Notice.
          example: A-210310-0000002
        content:
          type: array
          description: The list of products with receiving status.
          items:
            $ref: '#/components/schemas/ReceivingEntry'
    ReceivingEntry:
      type: object
      properties:
        expected:
          type: integer
          minimum: 0
          description: Expected product quantity.
          example: 10
        product:
          $ref: '#/components/schemas/Product'
        received:
          type: array
          items:
            $ref: '#/components/schemas/ReceivingStatus'
    ReceivingStatus:
      type: object
      properties:
        quantity:
          type: integer
          minimum: 0
          description: Product quantity.
          example: 10
        receivedType:
          type: string
          description: Received item condition.
          example: SELLABLE
          enum:
            - SELLABLE
            - DAMAGE
            - REJECT
        reasonCode:
          type: string
          description: The reasonCode indicates the condition of the product after unpacking. For sellable product is given the reasonCode SELLABLE.
            For a product that is not suitable for sale receives a code specifying a detailed reason for rejection, e.g. "DAMAGED_IN_TRANSPORT" or "NO_BARCODE"
          example: SELLABLE
          enum:
            - SELLABLE
            - DAMAGED_PRODUCT
            - DAMAGED_IN_TRANSPORT
            - SHORT_EXPIRY_DATE
            - NO_BARCODE
            - NOT_IN_FULFILLMENT_CATEGORY
            - PRODUCT_NOT_ACCEPTABLE_IN_FULFILLMENT
            - UNACCEPTABLE_PRODUCT_VARIANT
            - UNACCEPTABLE_PRODUCT_SIZE
            - UNKNOWN_DAMAGE
            - UNKNOWN_REJECT
            - UNSCANNABLE_BARCODE
    FulfillmentOrder:
      type: object
      properties:
        orderId:
          type: string
          description: order identifier
          example: 'dd4bbba0-d692-11ec-9eac-2d3687b9fed8'
        parcels:
          type: array
          items:
            $ref: '#/components/schemas/FulfillmentOrderParcel'
    FulfillmentOrderParcel:
      type: object
      properties:
        waybill:
            type: string
            description: Waybill number (parcel tracking number).
            example: 1Z8332YF6895912532
        items:
            type: array
            description: List of parcels' items
            items:
              $ref: '#/components/schemas/FulfillmentOrderParcelItem'
    FulfillmentOrderParcelItem:
       type: object
       properties:
         productId:
           type: string
           description: Product identifier
           example: '0e810d4a-bbee-495c-8979-866bb06d3904'
         quantity:
           type: integer
           description: Number of items placed in a parcel
           example: 1
         serialNumbers:
           type: array
           description: List of serial numbers of included items
           items:
             type: string
             example: '4CE0460D0G'
         expirationDate:
           type: string
           description: Expiration date of all items associated by quantity
           format: date
           example: "2020-05-01"
         offerId:
           type: string
           description: Offer identifier
           example: '10000000003'
    AllegroCarrier:
      type: string
      enum:
        - UPS
        - ALLEGRO_ONE_KURIER
    AllegroMarketplaces:
      type: object
      properties:
        marketplaces:
          type: array
          description: List of marketplaces in allegro
          items:
            $ref: '#/components/schemas/MarketplaceItem'
    MarketplaceItem:
      type: object
      properties:
        id:
          type: string
          description: Marketplace id
          example: "allegro-pl"
        languages:
          type: object
          description: Languages available for that marketplace
          properties:
            offerCreation:
              type: array
              description: Languages in which you can create offer
              items:
                $ref: '#/components/schemas/MarketplaceItemLanguage'
            offerDisplay:
              type: array
              description: Languages in which buyer can see the offer
              items:
                $ref: '#/components/schemas/MarketplaceItemLanguage'
        currencies:
          type: object
          description: Currencies available for that marketplace
          properties:
            base:
              $ref: '#/components/schemas/MarketplaceItemCurrency'
            additional:
              type: array
              description: List of other currencies available for that marketplace
              items:
                $ref: '#/components/schemas/MarketplaceItemCurrency'
        shippingCountries:
          type: array
          description: List of delivery countries for that marketplace
          items:
            $ref: '#/components/schemas/MarketplaceItemShippingCountry'
    MarketplaceItemLanguage:
      type: object
      properties:
        code:
          type: string
          description: BCP-47 language code
          example: "pl-PL"
    MarketplaceItemCurrency:
      type: object
      properties:
        code:
          type: string
          description: ISO 4217 currency code
          example: "PLN"
    MarketplaceItemShippingCountry:
      type: object
      properties:
        code:
          type: string
          description: ISO 3166 country code
          example: "PL"
    ReceiverAddressDto:
      description: Receiver address data with optional point ID.
      allOf:
        - $ref: "#/components/schemas/AddressDto"
        - type: object
          properties:
            point:
              type: string
              description: Pick up point id. You can get it from order or directly from courier service.
              example: A1234567
    PickupAddressDto:
      description: "Pickup address with optionaly drop-off point. If empty, then sender object will be used."
      allOf:
        - $ref: "#/components/schemas/AddressDto"
        - type: object
          properties:
            point:
              type: string
              description: Drop off point id. You can get it from order or directly from courier service.
              example: A1234567
    SenderAddressDto:
      description: "Shipment owner data. This address will be provided on label and will be used to operation return."
      allOf:
        - $ref: "#/components/schemas/AddressDto"
        - type: object
          properties:
            point:
              type: string
              description: Possible drop off point id. You can get it from order or directly from courier service.
              example: A1234567
    AddressDto:
      required:
        - street
        - streetNumber
        - city
        - countryCode
        - postalCode
        - email
        - phone
      type: object
      description: Address object
      properties:
        name:
          type: string
          description: Person name. Name or Company are required.
          example: Jan Kowalski
        company:
          type: string
          description: Company name. Name or Company are required.
          example: Allegro.pl sp. z o.o.
        street:
          type: string
          example: Główna
        streetNumber:
          type: string
          example: '30'
        postalCode:
          type: string
          example: 10-200
        city:
          type: string
          example: Warszawa
        state:
          type: string
          description: Required for shipments to Ireland( county name ), United States ( state abbreviation / ISO code ), Canada ( province postal code / ISO code )
          example: AL
        countryCode:
          pattern: '[A-Z]{2}'
          type: string
          description: Country code in ISO 3166-1 alfa-2 format (two-letter code).
          default: PL
        email:
          type: string
          description: Email address. For receiver, must be a valid buyer email generated by Allegro (eg. hamu7udk3p+17454c1b6@allegromail.pl).
          example: "email@mail.com"
        phone:
          type: string
          description: Cell phone
          example: '500600700'
        point:
          type: string
          description: Pickup point id. You can get it from order or directly from courier service.
          example: A1234567
    ShipmentCreateCommandDto:
      required:
        - input
      type: object
      properties:
        commandId:
          type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID. If empty, then system generate new one.
        input:
          $ref: >-
            #/components/schemas/ShipmentCreateRequestDto
    CashOnDeliveryDto:
      required:
        - amount
        - currency
      type: object
      properties:
        amount:
          pattern: \d+\.\d{1,2}
          type: string
          description: Postpaid value
          example: "2.50"
        currency:
          pattern: '[A-Z]{3}'
          type: string
          description: ISO 4217 currency code.
          example: "PLN"
        ownerName:
          type: string
          example: "Jan Kowalski"
          description: "Bank account owner."
        iban:
          type: string
          example: "PL48109024022441789739167589"
          description: Bank account number.
    InsuranceDto:
      required:
        - amount
        - currency
      type: object
      properties:
        amount:
          pattern: \d+\.\d{1,2}
          type: string
          description: Insurance value
          example: "23.47"
        currency:
          pattern: '[A-Z]{3}'
          type: string
          description: ISO 4217 currency code.
          example: "PLN"
    PackageRequestDto:
      required:
        - height
        - length
        - type
        - weight
        - width
      type: object
      properties:
        type:
          pattern: DOX|PACKAGE|PALLET|OTHER
          type: string
          description: 'Available values: PACKAGE|DOX|PALLET|OTHER'
        length:
          $ref: >-
            #/components/schemas/DimensionValue
        width:
          $ref: >-
            #/components/schemas/DimensionValue
        height:
          $ref: >-
            #/components/schemas/DimensionValue
        weight:
          $ref: >-
            #/components/schemas/WeightValue
    ShipmentCreateRequestDto:
      required:
        - deliveryMethodId
        - sender
        - receiver
        - packages
      type: object
      properties:
        deliveryMethodId:
          type: string
          description: Id of delivery method, chosen by buyer in order.
          example: c3066682-97a3-42fe-9eb5-3beeccab840c
        credentialsId:
          type: string
          description: ID of merchant agreement, registered in WZA. Value should be read from /shipment-management/delivery-services. For Allegro Standard methods, this field should be null.
          example: c9e6f40a-3d25-48fc-838c-055ceb1c5bc0
        sender:
          $ref: '#/components/schemas/SenderAddressDto'
        receiver:
          $ref: '#/components/schemas/ReceiverAddressDto'
        pickup:
          $ref: '#/components/schemas/PickupAddressDto'
        referenceNumber:
          type: string
          description: "Shipment identifier in own system. Example: `Ordering number`."
          example: abcd1234
        description:
          type: string
          description: Shipment description
          example: Car wheels
        packages:
          type: array
          items:
            $ref: >-
              #/components/schemas/PackageRequestDto
        insurance:
          $ref: >-
            #/components/schemas/InsuranceDto
        cashOnDelivery:
          $ref: >-
            #/components/schemas/CashOnDeliveryDto
        labelFormat:
          pattern: PDF|ZPL|EPL
          type: string
          description: Label file format.
          enum:
            - PDF
            - ZPL
            - EPL
        additionalServices:
          type: array
          description: List of additional services.
          items:
            type: string
            description: Additional service ID. List of available services is located as sub-resource in /shipment-management/delivery-services.
            example: ADDITIONAL_HANDLING
        additionalProperties:
          type: object
          description: Key-Value map defining non-standard, carrier specific features. List of the supported properties is located as sub-resource in /shipment-management/delivery-services.
          additionalProperties:
            x-additionalPropertiesName: additionalPropertyId
            type: string

    ShipmentCancelCommandDto:
      required:
        - input
      type: object
      properties:
        commandId:
          type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID. If empty, then system generate new one.
        input:
          $ref: >-
            #/components/schemas/ShipmentCancelRequestDto
    ShipmentCancelRequestDto:
      required:
        - shipmentId
      type: object
      properties:
        shipmentId:
          type: string
          example: ba88f0fb-acf3-438a-877e-580da50c0874
    ShipmentIdsDto:
      required:
        - shipmentIds
      type: object
      properties:
        shipmentIds:
          maxItems: 2147483647
          minItems: 1
          type: array
          items:
            type: string
            example: ba88f0fb-acf3-438a-877e-580da50c0874
    PickupCreateCommandDto:
      required:
        - input
      type: object
      properties:
        commandId:
          type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID. If empty, then system generate new one.
        input:
          $ref: >-
            #/components/schemas/PickupCreateRequestDto
    PickupCreateRequestDto:
      required:
        - pickupDateProposalId
        - shipmentIds
      type: object
      properties:
        shipmentIds:
          maxItems: 2147483647
          minItems: 1
          type: array
          items:
            type: string
            example: ba88f0fb-acf3-438a-877e-580da50c0874
        pickupDateProposalId:
          type: string
          description: Internal pickup proposal ID
          example: '2023071210001300'
    PickupDateProposalDto:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Internal pickup proposal ID
          example: '2023071210001300'
        name:
          type: string
          description: Human readable name of pickup proposal
          example: 2023-07-12 10:00-13:00
        description:
          type: string
          description: Additional information for pickup proposal
          example: "Odbiór A"
    PickupProposalsRequestDto:
      required:
        - shipmentIds
      type: object
      properties:
        shipmentIds:
          maxItems: 2147483647
          minItems: 1
          type: array
          items:
            type: string
            example: ba88f0fb-acf3-438a-877e-580da50c0874
        readyDate:
          type: string
          description: Date when shipments will be ready.
          example: "2020-01-01"
    PickupDateProposalsDto:
      type: object
      properties:
        shipmentId:
          type: string
          example: ba88f0fb-acf3-438a-877e-580da50c0874
        proposalItems:
          type: array
          items:
            $ref: >-
              #/components/schemas/PickupDateProposalDto
    PickupProposalsResponseDto:
      type: object
      properties:
        proposals:
          type: array
          items:
            $ref: >-
              #/components/schemas/PickupDateProposalsDto
    LabelRequestDto:
      required:
        - shipmentIds
      type: object
      properties:
        shipmentIds:
          maxItems: 2147483647
          minItems: 1
          type: array
          items:
            type: string
            example: ba88f0fb-acf3-438a-877e-580da50c0874
        pageSize:
          type: string
          description: Label page format. Only for PDF file.
          enum:
            - A4
            - A6
        cutLine:
          description: Put additional cut lines. Only for PDF file with A4 size.
          type: boolean
    PackageDto:
      type: object
      properties:
        waybill:
          type: string
          description: Waybill number (carrier tracking number).
        type:
          type: string
          enum:
            - DOX
            - PACKAGE
            - PALLET
            - OTHER
        length:
          $ref: >-
            #/components/schemas/DimensionValue
        width:
          $ref: >-
            #/components/schemas/DimensionValue
        height:
          $ref: >-
            #/components/schemas/DimensionValue
        weight:
          $ref: >-
            #/components/schemas/WeightValue
    ShipmentDto:
      type: object
      properties:
        id:
          type: string
          example: ba88f0fb-acf3-438a-877e-580da50c0874
        deliveryMethodId:
          type: string
          description: Id of delivery method, chosen by buyer in order.
          example: c3066682-97a3-42fe-9eb5-3beeccab840c
        credentialsId:
          type: string
          description: ID of merchant agreement, registered in WZA. For Allegro methods, this field is null.
          example: c9e6f40a-3d25-48fc-838c-055ceb1c5bc0
        sender:
          $ref: '#/components/schemas/SenderAddressDto'
        receiver:
          $ref: '#/components/schemas/ReceiverAddressDto'
        pickup:
          $ref: '#/components/schemas/PickupAddressDto'
        referenceNumber:
          type: string
          description: "Shipment identifier in own system. Example: `Ordering number`."
          example: abcd1234
        description:
          type: string
          description: Shipment description
          example: Car wheels
        packages:
          type: array
          items:
            $ref: >-
              #/components/schemas/PackageDto
        insurance:
          $ref: >-
            #/components/schemas/InsuranceDto
        cashOnDelivery:
          $ref: >-
            #/components/schemas/CashOnDeliveryDto
        createdDate:
          type: string
          description: Shipment creation date
        canceledDate:
          type: string
          description: Shipment cancellation date. Only for canceled shipments, in all other cases is null.
        carrier:
          type: string
          description: ID of carrier which carries out a shipment
        labelFormat:
          type: string
          description: Label file format.
          enum:
            - ZPL
            - EPL
            - PDF
        additionalServices:
          type: array
          description: List of additional services.
          items:
            type: string
            description: Additional service ID. List of available services is located as sub-resource in /shipment-management/delivery-services.
            example: ADDITIONAL_HANDLING
        additionalProperties:
          type: object
          description: Key-Value map defining non-standard, carrier specific features. List of the supported properties is located as sub-resource in /shipment-management/delivery-services.
          additionalProperties:
            x-additionalPropertiesName: additionalPropertyId
            type: string
    CreateShipmentCommandStatusDto:
      type: object
      properties:
        commandId:
          type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID
        status:
          type: string
          enum:
            - IN_PROGRESS
            - SUCCESS
            - ERROR
        errors:
          type: array
          description: List of errors. Available only, if operation finished with ERROR.
          items:
            $ref: '#/components/schemas/Error400'
        shipmentId:
          type: string
          description: Generated shipment ID. Available only, if operation finished with SUCCESS.
          example: ba88f0fb-acf3-438a-877e-580da50c0874
    CancelShipmentCommandStatusDto:
      type: object
      properties:
        commandId:
          type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID
        status:
          type: string
          enum:
            - IN_PROGRESS
            - SUCCESS
            - ERROR
        errors:
          type: array
          description: List of errors. Available only, if operation finished with ERROR.
          items:
            $ref: '#/components/schemas/Error400'
        shipmentId:
          type: string
          description: Generated shipment ID. Available only, if operation finished with SUCCESS.
          example: ba88f0fb-acf3-438a-877e-580da50c0874
    CreatePickupCommandStatusDto:
      type: object
      properties:
        commandId:
          type: string
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
          description: Command UUID
        status:
          type: string
          enum:
            - IN_PROGRESS
            - SUCCESS
            - ERROR

        errors:
          type: array
          description: List of errors. Available only, if operation finished with ERROR.
          items:
            $ref: '#/components/schemas/Error400'
        pickupId:
          type: string
          description: Generated internal pickup ID. Available only, if operation finished with SUCCESS.
          example: 14e142cf-e8e0-48cc-bcf6-399b5fd90b32
        carrierPickupId:
          type: string
          description: Generated Carrier Pickup ID. Available only, if operation finished with SUCCESS.
          example: A10234234523
    AdditionalServiceDto:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: string
          description: ID of additional service.
          example: ADDITIONAL_HANDLING
        name:
          type: string
          description: "Translated name of service: 'Non-standard parcel' | 'Niestandardowa przesyłka'."
          example: Non-standard parcel
        description:
          type: string
          description: Optional description of service.
    AdditionalPropertyDto:
      type: object
      required:
        - id
        - name
        - description
        - required
        - readOnly
      properties:
        id:
          type: string
          description: ID of the additional property.
          example: 'SENDING_CODE'
        name:
          type: string
          description: "Translated name of the additional property: 'Sending code' | 'Kod nadania'."
          example: 'Sending code'
        description:
          type: string
          description: Translated description of the additional property.
          example: 'Code required to send the shipment'
        required:
          type: boolean
          description: Defines if the additional property is mandatory or optional.
          example: false
        readOnly:
          type: boolean
          description: If 'false', the additional property value can be set in request, 'true' means that it is set by carrier and will be available only in /shipment-management/shipments/{shipmentId} response.
    CashOnDeliveryLimitDto:
      type: object
      description: Definition of cash on delivery specification for method. If null, then COD is not supported.
      properties:
        limit:
          type: number
          description: Maximum value
          example: 50000
        currency:
          type: string
          description: "Supported currency: 'PLN' | 'CZK"
          example: PLN
          default: PLN
        paymentType:
          type: string
          description: "Type of payment: Money transfer to merchant bank account or internal wallet payout"
          enum:
            - MONEY_TRANSFER
            - WALLET_TRANSFER
        forceRequireIban:
          description: "Defined that COD required IBAN for process shipment. If true, then request of shipment creation without IBAN will be rejected."
          type: boolean
    DeliveryServiceDto:
      type: object
      description: >-
        Primary object for Ship with Allegro. It's strongly related to delivery-method selected by buyer
        in purchase process and represent how shipment will be delivered. Delivery services contains set
        of features like cash on delivery support, insurance, additional services used to shipment creation.
      properties:
        id:
          $ref: >-
            #/components/schemas/DeliveryServiceIdDto
        name:
          type: string
          description: >-
            Name of delivery service. <br/>
            For Allegro Standard method, name of service will be exactly same and occurs only once: eg. 'Allegro Courier DPD'. <br/>
            For merchant's controlled method, name is concatenation of method name and credential name: eg. 'Courier DPD (My agreement)'.
          example: Allegro Courier DPD
        carrierId:
          type: string
          example: DPD
        additionalServices:
          type: array
          items:
            $ref: >-
              #/components/schemas/AdditionalServiceDto
        additionalProperties:
          type: array
          items:
            $ref: >-
              #/components/schemas/AdditionalPropertyDto
        owner:
          type: string
          description: "Define delivery method type. ALLEGRO - Allegro Standard. Client - Merchant carrier agreement"
          enum:
            - ALLEGRO
            - CLIENT
        marketplaces:
          type: array
          description: "List of marketplaces supported by service"
          items:
            type: string
            example: "allegro-pl"
        packageTypes:
          type: array
          description: List of supported package types
          items:
            type: string
            enum:
              - DOX
              - PACKAGE
              - PALLET
              - OTHER
        cashOnDelivery:
          $ref: >-
            #/components/schemas/CashOnDeliveryLimitDto
        insurance:
          $ref: >-
            #/components/schemas/LimitWithCurrencyDto
        features:
          description: A map of service-specific features. List of key will be builded per services.
          type: object
          additionalProperties:
            type: string
    DeliveryServiceIdDto:
      type: object
      properties:
        deliveryMethodId:
          type: string
          description: Id of delivery method, chosen by buyer in order.
          example: c3066682-97a3-42fe-9eb5-3beeccab840c
        credentialsId:
          type: string
          description: ID of merchant agreement, registered in WZA. For Allegro Standard methods, this field is null.
          example: c9e6f40a-3d25-48fc-838c-055ceb1c5bc0
    DeliveryServicesDto:
      type: object
      description: List of all available delivery services for merchant. List will be unique for each merchant.
      properties:
        services:
          type: array
          items:
            $ref: >-
              #/components/schemas/DeliveryServiceDto
    LimitWithCurrencyDto:
      type: object
      properties:
        limit:
          type: number
          description: Maximum value
          example: 50000
        currency:
          type: string
          description:  ISO 4217 currency code. Currency code depends on marketplace, e.g. PLN for allegro-pl, CZK for allegro-cz.
          example: 'PLN'
    WeightValue:
      required:
        - value
        - unit
      type: object
      properties:
        value:
          type: number
          description: Weight value, provided in a string format to avoid rounding errors.
          example: 12.45
        unit:
          type: string
          nullable: true
          description: Weight unit. Currently only `KILOGRAMS` is accepted.
          enum:
            - KILOGRAMS
    DimensionValue:
      required:
        - value
        - unit
      type: object
      properties:
        value:
          type: number
          description: Dimension value.
          example: 12
        unit:
          type: string
          nullable: true
          description: Dimension unit. Currently only `CENTIMETER` is accepted.
          enum:
            - CENTIMETER
    ResponsiblePersonResponse:
      type: object
      properties:
        id:
          type: string
          description: Responsible person ID.
          example: "fee43309-8761-43f9-9cfd-a43e539a0fc5"
        name:
          type: string
          description: Internal name of responsible person in dictionary.
          example: "Person responsible for batteries"
        personalData:
          type: object
          description: Responsible person personal data.
          properties:
            name:
              type: string
              description: Name of responsible person.
              example: "Responsible person company name"
            address:
              type: object
              description: Responsible person address.
              properties:
                countryCode:
                  type: string
                  description: Code of responsible person country (ISO 3166).
                  example: "PL"
                street:
                  type: string
                  description: Street and number.
                  example: "Wiśniowa 1"
                postalCode:
                  type: string
                  description: Postal code.
                  example: "00-000"
                city:
                  type: string
                  description: City.
                  example: "Warszawa"
            contact:
              type: object
              description: Contact to responsible person.
              properties:
                email:
                  type: string
                  description: Email of responsible person.
                  example: "some@email.com"
                phoneNumber:
                  type: string
                  description: Phone number of responsible person.
                  example: "123123123"
    CreateResponsiblePersonRequest:
      type: object
      properties:
        name:
          type: string
          description: Internal name of responsible person in dictionary.
          example: "Person responsible for batteries"
          maxLength: 50
        personalData:
          type: object
          description: Responsible person personal data.
          properties:
            name:
              type: string
              description: Name of responsible person.
              example: "Responsible person company name"
              maxLength: 200
            address:
              $ref: '#/components/schemas/ResponsiblePersonAddress'
            contact:
              $ref: '#/components/schemas/ResponsiblePersonContact'
    UpdateResponsiblePersonRequest:
      type: object
      properties:
        id:
          type: string
          description: Responsible person ID.
          example: "fee43309-8761-43f9-9cfd-a43e539a0fc5"
        name:
          type: string
          description: Internal name of responsible person in dictionary.
          example: "Person responsible for batteries"
          maxLength: 50
        personalData:
          type: object
          description: Responsible person personal data.
          properties:
            name:
              type: string
              description: Name of responsible person.
              example: "Responsible person company name"
              maxLength: 200
            address:
              $ref: '#/components/schemas/ResponsiblePersonAddress'
            contact:
              $ref: '#/components/schemas/ResponsiblePersonContact'
    ResponsiblePersonAddress:
      type: object
      description: Responsible person address.
      properties:
        countryCode:
          type: string
          description: Code of responsible person country (ISO 3166).
          example: "PL"
          enum:
            - AT
            - BE
            - BG
            - HR
            - CY
            - CZ
            - DK
            - EE
            - FI
            - FR
            - GR
            - ES
            - IE
            - LT
            - LU
            - LV
            - MT
            - NL
            - DE
            - PL
            - PT
            - RO
            - SK
            - SI
            - SE
            - HU
            - IT
        street:
          type: string
          description: Street and number.
          example: "Wiśniowa 1"
          maxLength: 200
        postalCode:
          type: string
          description: Postal code.
          example: "00-000"
          maxLength: 20
        city:
          type: string
          description: City.
          example: "Warszawa"
          maxLength: 100
    ResponsiblePersonContact:
      type: object
      description: Contact to responsible person.
      properties:
        email:
          type: string
          description: Email of responsible person.
          example: "some@email.com"
          maxLength: 50
        phoneNumber:
          type: string
          description: Phone number of responsible person.
          example: "123123123"
          maxLength: 15
