components:
    parameters:
        addressId:
            in: path
            explode: false
            name: addressId
            required: true
            schema:
                description:
                    Address Id
                format: int64
                type: integer
            style: simple
        cartCommentId:
            in: path
            explode: false
            name: cartCommentId
            required: true
            schema:
                description:
                    Comment Id
                format: int64
                type: integer
            style: simple
        cartId:
            in: path
            explode: false
            name: cartId
            required: true
            schema:
                description:
                    Cart Id
                format: int64
                type: integer
            style: simple
        cartItemId:
            in: path
            explode: false
            name: cartItemId
            required: true
            schema:
                description:
                    Cart Item Id
                format: int64
                type: integer
            style: simple
        channelId:
            in: path
            explode: false
            name: channelId
            required: true
            schema:
                description:
                    Channel Id
                format: int64
                type: integer
            style: simple
    schemas:
        Address:
            properties:
                city:
                    type: string
                country:
                    type: string
                countryISOCode:
                    type: string
                description:
                    type: string
                id:
                    format: int64
                    type: integer
                latitude:
                    format: double
                    type: number
                longitude:
                    format: double
                    type: number
                name:
                    type: string
                phoneNumber:
                    type: string
                region:
                    type: string
                regionISOCode:
                    type: string
                street1:
                    type: string
                street2:
                    type: string
                street3:
                    type: string
                type:
                    readOnly: true
                    type: string
                typeId:
                    format: int32
                    type: integer
                vatNumber:
                    type: string
                zip:
                    type: string
            required:
                - city
                - countryISOCode
                - name
                - street1
            type: object
        Cart:
            properties:
                account:
                    readOnly: true
                    type: string
                accountId:
                    format: int64
                    type: integer
                author:
                    readOnly: true
                    type: string
                billingAddress:
                    $ref: "#/components/schemas/Address"
                billingAddressId:
                    format: int64
                    type: integer
                cartItems:
                    items:
                        $ref: "#/components/schemas/CartItem"
                    type: array
                channelId:
                    format: int64
                    readOnly: true
                    type: integer
                couponCode:
                    type: string
                createDate:
                    format: date
                    readOnly: true
                    type: string
                currencyCode:
                    type: string
                customFields:
                    additionalProperties: true
                    type: object
                errorMessages:
                    items:
                        type: string
                    type: array
                id:
                    format: int64
                    readOnly: true
                    type: integer
                lastPriceUpdateDate:
                    format: date
                    readOnly: true
                    type: string
                modifiedDate:
                    format: date
                    readOnly: true
                    type: string
                notes:
                    items:
                        $ref: "#/components/schemas/CartComment"
                    type: array
                orderStatusInfo:
                    allOf:
                        - $ref: "#/components/schemas/Status"
                    readOnly: true
                orderTypeExternalReferenceCode:
                    example: AB-34098-789-N
                    type: string
                orderTypeId:
                    format: int64
                    type: integer
                orderUUID:
                    readOnly: true
                    type: string
                paymentMethod:
                    type: string
                paymentMethodLabel:
                    readOnly: true
                    type: string
                paymentStatus:
                    format: int32
                    readOnly: true
                    type: integer
                paymentStatusInfo:
                    allOf:
                        - $ref: "#/components/schemas/Status"
                    readOnly: true
                paymentStatusLabel:
                    readOnly: true
                    type: string
                printedNote:
                    type: string
                purchaseOrderNumber:
                    readOnly: true
                    type: string
                shippingAddress:
                    $ref: "#/components/schemas/Address"
                shippingAddressId:
                    format: int64
                    type: integer
                shippingMethod:
                    type: string
                shippingOption:
                    type: string
                status:
                    readOnly: true
                    type: string
                summary:
                    $ref: "#/components/schemas/Summary"
                useAsBilling:
                    type: boolean
                valid:
                    readOnly: true
                    type: boolean
                workflowStatusInfo:
                    allOf:
                        - $ref: "#/components/schemas/Status"
                    readOnly: true
            type: object
        CartComment:
            properties:
                author:
                    readOnly: true
                    type: string
                content:
                    type: string
                id:
                    format: int64
                    readOnly: true
                    type: integer
                orderId:
                    format: int64
                    readOnly: true
                    type: integer
                restricted:
                    type: boolean
            type: object
        CartItem:
            properties:
                adaptiveMediaImageHTMLTag:
                    readOnly: true
                    type: string
                cartItems:
                    items:
                        $ref: "#/components/schemas/CartItem"
                    type: array
                customFields:
                    additionalProperties: true
                    type: object
                errorMessages:
                    items:
                        type: string
                    type: array
                id:
                    format: int64
                    readOnly: true
                    type: integer
                name:
                    readOnly: true
                    type: string
                options:
                    type: string
                parentCartItemId:
                    format: int64
                    readOnly: true
                    type: integer
                price:
                    $ref: "#/components/schemas/Price"
                productId:
                    format: int64
                    type: integer
                productURLs:
                    additionalProperties:
                        type: string
                    example:
                        en_US: product-url-us
                        hr_HR: product-url-hr
                        hu_HU: product-url-hu
                    readOnly: true
                    type: object
                quantity:
                    format: int32
                    type: integer
                settings:
                    $ref: "#/components/schemas/Settings"
                sku:
                    readOnly: true
                    type: string
                skuId:
                    format: int64
                    type: integer
                subscription:
                    example: true
                    readOnly: true
                    type: boolean
                thumbnail:
                    readOnly: true
                    type: string
                valid:
                    readOnly: true
                    type: boolean
            required:
                - skuId
            type: object
        CouponCode:
            properties:
                code:
                    type: string
            type: object
        Error:
            properties:
                errorCode:
                    description:
                        Internal error code mapping
                    example: 996
                    readOnly: true
                    type: integer
                errorDescription:
                    example: Unable to find currency. Currency code should be expressed with
                        3-letter ISO 4217 format.
                    readOnly: true
                    type: string
                message:
                    example: No CommerceCurrency exists with the key {groupId=41811, code=US
                        Dollar}
                    readOnly: true
                    type: string
                status:
                    description:
                        HTTP Status code
                    example: 404
                    readOnly: true
                    type: integer
            required:
                - errorCode
                - errorDescription
                - message
                - status
            type: object
        PaymentMethod:
            properties:
                description:
                    type: string
                key:
                    type: string
                name:
                    type: string
            type: object
        Price:
            properties:
                currency:
                    type: string
                discount:
                    format: double
                    type: number
                discountFormatted:
                    type: string
                discountPercentage:
                    type: string
                discountPercentageLevel1:
                    format: double
                    type: number
                discountPercentageLevel2:
                    format: double
                    type: number
                discountPercentageLevel3:
                    format: double
                    type: number
                discountPercentageLevel4:
                    format: double
                    type: number
                finalPrice:
                    format: double
                    type: number
                finalPriceFormatted:
                    type: string
                price:
                    format: double
                    type: number
                priceFormatted:
                    type: string
                promoPrice:
                    format: double
                    type: number
                promoPriceFormatted:
                    type: string
            type: object
        Settings:
            properties:
                allowedQuantities:
                    items:
                        format: int32
                        type: integer
                    type: array
                maxQuantity:
                    format: int32
                    type: integer
                minQuantity:
                    format: int32
                    type: integer
                multipleQuantity:
                    format: int32
                    type: integer
            type: object
        ShippingMethod:
            properties:
                description:
                    type: string
                id:
                    format: int64
                    type: integer
                name:
                    type: string
                shippingOptions:
                    items:
                        $ref: "#/components/schemas/ShippingOption"
                    type: array
            type: object
        ShippingOption:
            properties:
                amount:
                    format: double
                    type: number
                amountFormatted:
                    type: string
                label:
                    type: string
                name:
                    type: string
            type: object
        Status:
            properties:
                code:
                    format: int32
                    readOnly: true
                    type: integer
                label:
                    example: black
                    type: string
                label_i18n:
                    example: black
                    type: string
            type: object
        Summary:
            properties:
                currency:
                    type: string
                itemsQuantity:
                    type: integer
                shippingDiscountPercentages:
                    items:
                        type: string
                    type: array
                shippingDiscountValue:
                    format: double
                    type: number
                shippingDiscountValueFormatted:
                    type: string
                shippingValue:
                    format: double
                    type: number
                shippingValueFormatted:
                    type: string
                shippingValueWithTaxAmount:
                    format: double
                    type: number
                shippingValueWithTaxAmountFormatted:
                    type: string
                subtotal:
                    format: double
                    type: number
                subtotalDiscountPercentages:
                    items:
                        type: string
                    type: array
                subtotalDiscountValue:
                    format: double
                    type: number
                subtotalDiscountValueFormatted:
                    type: string
                subtotalFormatted:
                    type: string
                taxValue:
                    format: double
                    type: number
                taxValueFormatted:
                    type: string
                total:
                    format: double
                    type: number
                totalDiscountPercentages:
                    items:
                        type: string
                    type: array
                totalDiscountValue:
                    format: double
                    type: number
                totalDiscountValueFormatted:
                    type: string
                totalFormatted:
                    type: string
            type: object
info:
    description:
        "Headless Delivery Commerce Cart API. A Java client JAR is available for use with the group ID 'com.liferay',
        artifact ID 'com.liferay.headless.commerce.delivery.cart.client', and version '4.0.15'."
    license:
        name: Apache 2.0
        url: http://www.apache.org/licenses/LICENSE-2.0.html
    title: Headless Delivery Commerce Cart API
    version: v1.0
openapi: 3.0.1
paths:
    /cart-comments/{cartCommentId}:
        delete:
            operationId: deleteCartComment
            parameters:
                - in: path
                  explode: false
                  name: cartCommentId
                  required: true
                  schema:
                      description:
                          Note Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                204:
                    description:
                        No content
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
            summary: Deletes an Cart Comment by ID.
            tags: ["CartComment"]
        get:
            operationId: getCartComment
            parameters:
                - in: path
                  explode: false
                  name: cartCommentId
                  required: true
                  schema:
                      description:
                          Note Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                    description:
                        Successful operation
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Gets a Note by ID.
            tags: ["CartComment"]
        patch:
            operationId: patchCartComment
            parameters:
                - in: path
                  explode: false
                  name: cartCommentId
                  required: true
                  schema:
                      description:
                          Note Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CartComment"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CartComment"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                    description:
                        Succesfully update the comment
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Updates an Cart Note by ID.
            tags: ["CartComment"]
        put:
            operationId: putCartComment
            parameters:
                - in: path
                  explode: false
                  name: cartCommentId
                  required: true
                  schema:
                      description:
                          Note Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CartComment"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CartComment"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                    description:
                        Succesfully update the comment
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Updates an Cart Comment by ID.
            tags: ["CartComment"]
    /cart-items/{cartItemId}:
        delete:
            description:
                Deletes an Cart Item by ID.
            operationId: deleteCartItem
            parameters:
                - in: path
                  explode: false
                  name: cartItemId
                  required: true
                  schema:
                      description:
                          Cart Item Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                204:
                    description:
                        No content
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
            tags: ["CartItem"]
        get:
            description:
                Retrive information of the given Cart
            operationId: getCartItem
            parameters:
                - in: path
                  explode: false
                  name: cartItemId
                  required: true
                  schema:
                      description:
                          Cart Item Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["CartItem"]
        patch:
            description:
                Retrive information of the given Cart.
            operationId: patchCartItem
            parameters:
                - in: path
                  explode: false
                  name: cartItemId
                  required: true
                  schema:
                      description:
                          Cart Item Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CartItem"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CartItem"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["CartItem"]
        put:
            description:
                update the given Cart.
            operationId: putCartItem
            parameters:
                - in: path
                  explode: false
                  name: cartItemId
                  required: true
                  schema:
                      description:
                          Cart Item Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CartItem"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CartItem"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["CartItem"]
    /carts/{cartId}:
        delete:
            operationId: deleteCart
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                204:
                    description:
                        No content
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
            summary: Deletes a Cart by ID.
            tags: ["Cart"]
        get:
            description:
                Retrive information of the given Cart.
            operationId: getCart
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Cart"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Cart"
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["Cart"]
        patch:
            operationId: patchCart
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/Cart"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/Cart"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Cart"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Cart"
                    description:
                        Updated
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Updates a Cart.
            tags: ["Cart"]
        put:
            operationId: putCart
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/Cart"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/Cart"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Cart"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Cart"
                    description:
                        Updated
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Updates a Cart.
            tags: ["Cart"]
    /carts/{cartId}/billing-address:
        get:
            description:
                Retrive cart billing address.
            operationId: getCartBillingAddres
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Address"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Address"
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["Address"]
    /carts/{cartId}/checkout:
        post:
            operationId: postCartCheckout
            parameters:
                - in: path
                  name: cartId
                  required: true
                  schema:
                      format: int64
                      type: integer
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Cart"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Cart"
            tags: ["Cart"]
    /carts/{cartId}/comments:
        get:
            operationId: getCartCommentsPage
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
                - in: query
                  name: page
                  required: false
                  schema:
                      type: integer
                - in: query
                  name: pageSize
                  required: false
                  schema:
                      type: integer
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                items:
                                    $ref: "#/components/schemas/CartComment"
                                type: array
                        application/xml:
                            schema:
                                items:
                                    $ref: "#/components/schemas/CartComment"
                                type: array
                    description:
                        Successful operation
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Gets a list of Comments related to a Cart.
            tags: ["CartComment"]
        post:
            operationId: postCartComment
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CartComment"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CartComment"
                required: true
            responses:
                201:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartComment"
                    description:
                        Created
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Creates or updates a Comment.
            tags: ["CartComment"]
    /carts/{cartId}/coupon-code:
        post:
            description:
                Add new Items to a Cart, return the whole Cart updated.
            operationId: postCartCouponCode
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CouponCode"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CouponCode"
                required: true
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Cart"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Cart"
                    description:
                        Coupon applied to the order
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["Cart"]
    /carts/{cartId}/items:
        get:
            description:
                Retrive cart items of a Cart.
            operationId: getCartItemsPage
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
                - in: query
                  name: skuId
                  required: false
                  schema:
                      format: int64
                      type: integer
                - in: query
                  name: page
                  required: false
                  schema:
                      type: integer
                - in: query
                  name: pageSize
                  required: false
                  schema:
                      type: integer
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                items:
                                    $ref: "#/components/schemas/CartItem"
                                type: array
                        application/xml:
                            schema:
                                items:
                                    $ref: "#/components/schemas/CartItem"
                                type: array
                    description:
                        Return the items of the cart
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["CartItem"]
        post:
            description:
                Add new Items to a Cart, return the whole Cart updated.
            operationId: postCartItem
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/CartItem"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/CartItem"
                required: true
            responses:
                201:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/CartItem"
                    description:
                        Add cart item to the cart
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["CartItem"]
    /carts/{cartId}/payment-methods:
        get:
            description:
                Retrive payment methods available for the Cart.
            operationId: getCartPaymentMethodsPage
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                items:
                                    $ref: "#/components/schemas/PaymentMethod"
                                type: array
                        application/xml:
                            schema:
                                items:
                                    $ref: "#/components/schemas/PaymentMethod"
                                type: array
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["PaymentMethod"]
    /carts/{cartId}/payment-url:
        get:
            operationId: getCartPaymentURL
            parameters:
                - in: path
                  name: cartId
                  required: true
                  schema:
                      format: int64
                      type: integer
                - in: query
                  name: callbackURL
                  required: false
                  schema:
                      type: string
            responses:
                200:
                    content:
                        text/plain:
                            schema:
                                type: string
            tags: ["Cart"]
    /carts/{cartId}/shipping-address:
        get:
            description:
                Retrive cart billing address.
            operationId: getCartShippingAddres
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Address"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Address"
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["Address"]
    /carts/{cartId}/shipping-methods:
        get:
            description:
                Retrive payment methods available for the Cart.
            operationId: getCartShippingMethodsPage
            parameters:
                - in: path
                  explode: false
                  name: cartId
                  required: true
                  schema:
                      description:
                          Cart Id
                      format: int64
                      type: integer
                  style: simple
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                items:
                                    $ref: "#/components/schemas/ShippingMethod"
                                type: array
                        application/xml:
                            schema:
                                items:
                                    $ref: "#/components/schemas/ShippingMethod"
                                type: array
                    description:
                        Retrieve the available shipping methods for the order
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["ShippingMethod"]
    /channels/{channelId}/account/{accountId}/carts:
        get:
            description:
                Retrieves carts for specific account in the given channel.
            operationId: getChannelCartsPage
            parameters:
                - in: path
                  explode: false
                  name: accountId
                  required: true
                  schema:
                      description:
                          Account Id
                      format: int64
                      type: integer
                  style: simple
                - in: path
                  explode: false
                  name: channelId
                  required: true
                  schema:
                      description:
                          Channel Id
                      format: int64
                      type: integer
                  style: simple
                - in: query
                  name: page
                  required: false
                  schema:
                      type: integer
                - in: query
                  name: pageSize
                  required: false
                  schema:
                      type: integer
            responses:
                200:
                    content:
                        application/json:
                            schema:
                                items:
                                    $ref: "#/components/schemas/Cart"
                                type: array
                        application/xml:
                            schema:
                                items:
                                    $ref: "#/components/schemas/Cart"
                                type: array
                    description:
                        Successful operation
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            tags: ["Cart"]
    /channels/{channelId}/carts:
        post:
            operationId: postChannelCart
            parameters:
                - in: path
                  explode: false
                  name: channelId
                  required: true
                  schema:
                      description:
                          Channel Id
                      format: int64
                      type: integer
                  style: simple
            requestBody:
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/Cart"
                    application/xml:
                        schema:
                            $ref: "#/components/schemas/Cart"
                required: true
            responses:
                201:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Cart"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Cart"
                    description:
                        Created
                400:
                    description:
                        Invalid input
                401:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Authentication information is missing or invalid
                404:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        The specified resource was not found
                500:
                    content:
                        application/json:
                            schema:
                                $ref: "#/components/schemas/Error"
                        application/xml:
                            schema:
                                $ref: "#/components/schemas/Error"
                    description:
                        Unexpected error
            summary: Creates a Cart.
            tags: ["Cart"]
servers:
    - url: /