Mirakl Shopify Operator Connector APIs

The public API of Mirakl's Shopify operator connector — 52 paths for settings, product bindings, storefront orders and returns, and synchronization jobs between a Shopify storefront and a Mirakl marketplace. The only Mirakl surface with a public dated changelog.

OpenAPI Specification

mirakl-shopify-operator-connector-openapi.yaml Raw ↑
components:
  schemas:
    CreateReturn_Request_MultipartFormData_Returnrequest:
      type: object
      properties:
        description:
          type: string
          description: Return description
        methodCode:
          type: string
          description: >
            Return method code


            Enum: `"RETURN_METHOD_BY_MAIL"`, `"RETURN_METHOD_DROP_OFF_POINT"`,
            `"RETURN_METHOD_HOME_PICKUP"`, `"RETURN_METHOD_IN_STORE"`,
            `"RETURN_METHOD_RETURNLESS"`
        orderLogisticId:
          type: string
          description: Order logistic id
        reasonCode:
          type: string
          description: >
            Return reason code


            Enum: `"RETURN_BROKEN_ITEM"`, `"RETURN_CHANGED_MIND"`,
            `"RETURN_COUNTERFEIT_ITEM"`, `"RETURN_DAMAGED_PACKAGING"`,
            `"RETURN_DEFECTIVE_ITEM"`, `"RETURN_DELIVERED_PRODUCT_DIFFERENT"`,
            `"RETURN_MISSING_ITEM"`, `"RETURN_OTHER"`, `"RETURN_CM_DONT_WANT"`,
            `"RETURN_CM_DONT_LIKE"`, `"RETURN_CM_QUALITY"`,
            `"RETURN_DPD_WRONG_SIZE"`, `"RETURN_DPD_WRONG_COLOR"`,
            `"RETURN_DEFECTIVE_ON_ARRIVAL"`, `"RETURN_PRODUCT_DOES_NOT_FIT"`,
            `"RETURN_PDNT_TOO_BIG"`, `"RETURN_PDNT_TOO_SMALL"`
        returnLines:
          type: array
          description: List of return lines
          items:
            $ref: >-
              #/components/schemas/CreateReturn_Request_MultipartFormData_Returnrequest_ReturnLines
      required:
        - methodCode
        - orderLogisticId
        - reasonCode
        - returnLines
    CreateReturn_Request_MultipartFormData_Returnrequest_ReturnLines:
      type: object
      description: Return creation return line request
      properties:
        orderLineId:
          type: string
          description: Return order line id
        quantity:
          type: integer
          format: int32
          description: Return quantity
          minimum: 0
      required:
        - orderLineId
        - quantity
    CreateReturn_Response_200:
      type: object
      description: Response returned when a return is created
      properties:
        miraklReturnId:
          type: string
          description: Mirakl return identifier
        shopifyReturnId:
          type: string
          description: Shopify return identifier
    DeleteProductBindings_Request:
      type: object
      description: Request to delete product bindings
      properties:
        entries:
          type: array
          description: The entries to delete
          items:
            $ref: '#/components/schemas/DeleteProductBindings_Request_Entries'
      required:
        - entries
    DeleteProductBindings_Request_Entries:
      type: object
      description: A delete instruction for a product binding
      properties:
        identifierType:
          type: string
          description: >
            The type of identifier used to find the binding to delete


            Enum: `"VARIANT_GROUP_CODE"`, `"SKU"`, `"SHOPIFY_GID"`,
            `"MIRAKL_PRODUCT_ID"`
        value:
          type: string
          description: The value of the identifier
      required:
        - identifierType
        - value
    DeleteProductBindings_Response_200:
      type: object
      description: Response from deleting product bindings
      properties:
        deletedBaseProducts:
          type: integer
          format: int32
          description: Number of base product bindings deleted
        deletedVariants:
          type: integer
          format: int32
          description: Number of variant bindings deleted
        errors:
          type: array
          description: Errors that occurred during deletion
          items:
            $ref: '#/components/schemas/DeleteProductBindings_Response_200_Errors'
    DeleteProductBindings_Response_200_Errors:
      type: object
      description: An error that occurred during product binding deletion
      properties:
        identifierType:
          type: string
          description: >
            The identifier type of the entry that caused the error


            Enum: `"VARIANT_GROUP_CODE"`, `"SKU"`, `"SHOPIFY_GID"`,
            `"MIRAKL_PRODUCT_ID"`
        message:
          type: string
          description: The error message
        value:
          type: string
          description: The identifier value
    GetCheckoutData_Request:
      type: object
      description: Request object to retrieve checkout data
      properties:
        cartLines:
          type: array
          description: >-
            A list of lines containing information about the items the customer
            intends to purchase
          items:
            $ref: '#/components/schemas/GetCheckoutData_Request_CartLines'
        locale:
          type: string
          description: >-
            The locale of the customer. Must be an activated locale in Mirakl.
            (optional)
        promotionCodes:
          type: array
          description: Promotion codes (optional)
          items:
            type: string
        shippingAddress:
          $ref: '#/components/schemas/GetCheckoutData_Request_ShippingAddress'
          description: >-
            The proposed customer shipping address. An address value is only
            present if delivery is required
      required:
        - cartLines
    GetCheckoutData_Request_CartLines:
      type: object
      description: >-
        The line containing information about the items the customer intends to
        purchase
      properties:
        attributes:
          type: array
          description: The line item additional custom attributes
          items:
            $ref: '#/components/schemas/GetCheckoutData_Request_CartLines_Attributes'
        cost:
          $ref: '#/components/schemas/GetCheckoutData_Request_CartLines_Cost'
          description: The details about the cost components attributed to the cart line
        discountAllocations:
          type: array
          description: Discounts applied to the cart line
          items:
            $ref: >-
              #/components/schemas/GetCheckoutData_Request_CartLines_DiscountAllocations
        id:
          type: string
          description: >-
            These line item IDs are not stable at the moment, they might change
            after any operations on the line items. You should always look up
            for an updated ID before any call to applyCartLinesChange because
            you'll need the ID to create a CartLineChange object
        lineComponents:
          type: array
          description: >-
            Sub lines of the merchandise line. If no sub lines are present, this
            will be an empty array
          items:
            $ref: >-
              #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents
        merchandise:
          $ref: '#/components/schemas/GetCheckoutData_Request_CartLines_Merchandise'
          description: The merchandise being purchased
        quantity:
          type: number
          format: double
          description: The quantity of the merchandise being purchased
      required:
        - attributes
        - cost
        - discountAllocations
        - id
        - lineComponents
        - merchandise
        - quantity
    GetCheckoutData_Request_CartLines_Attributes:
      type: object
      description: The custom attribute
      properties:
        key:
          type: string
          description: The key for the attribute
        value:
          type: string
          description: The value for the attribute
      required:
        - key
        - value
    GetCheckoutData_Request_CartLines_Cost:
      type: object
      description: The details about the cost components attributed to the cart line
      properties:
        totalAmount:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_Cost_TotalAmount
          description: >-
            The total amount after reductions the buyer can expect to pay that
            is directly attributable to a single cart line
      required:
        - totalAmount
    GetCheckoutData_Request_CartLines_Cost_TotalAmount:
      type: object
      description: The monetary value with currency
      properties:
        amount:
          type: number
          format: double
          description: The price amount
        currencyCode:
          type: string
          description: The ISO 4217 format for the currency
      required:
        - amount
        - currencyCode
    GetCheckoutData_Request_CartLines_DiscountAllocations:
      type: object
      description: The discounts applied to the cart line
      properties:
        code:
          type: string
          description: The code for the discount
        discountedAmount:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_DiscountAllocations_DiscountedAmount
          description: The money amount that has been discounted from the order
        title:
          type: string
          description: The title of the discount
        type:
          type: string
          description: The type of the discount
      required:
        - discountedAmount
        - type
    GetCheckoutData_Request_CartLines_DiscountAllocations_DiscountedAmount:
      type: object
      description: The monetary value with currency
      properties:
        amount:
          type: number
          format: double
          description: The price amount
        currencyCode:
          type: string
          description: The ISO 4217 format for the currency
      required:
        - amount
        - currencyCode
    GetCheckoutData_Request_CartLines_LineComponents:
      type: object
      description: The sub lines of the merchandise line
      properties:
        attributes:
          type: array
          description: Additional custom attributes for the bundle line component
          items:
            $ref: >-
              #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Attributes
        cost:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Cost
          description: The cost attributed to this bundle line component
        id:
          type: string
          description: >-
            A unique identifier for the bundle line component. This ID is not
            stable. If an operation updates the line items in any way, all IDs
            could change
        merchandise:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Merchandise
          description: The merchandise of this bundle line component
        quantity:
          type: number
          format: double
          description: The quantity of merchandise being purchased
        type:
          type: string
          description: Always "bundle"
      required:
        - attributes
        - cost
        - id
        - merchandise
        - quantity
        - type
    GetCheckoutData_Request_CartLines_LineComponents_Attributes:
      type: object
      description: The custom attribute
      properties:
        key:
          type: string
          description: The key for the attribute
        value:
          type: string
          description: The value for the attribute
      required:
        - key
        - value
    GetCheckoutData_Request_CartLines_LineComponents_Cost:
      type: object
      description: The details about the cost components attributed to the cart line
      properties:
        totalAmount:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Cost_TotalAmount
          description: >-
            The total amount after reductions the buyer can expect to pay that
            is directly attributable to a single cart line
      required:
        - totalAmount
    GetCheckoutData_Request_CartLines_LineComponents_Cost_TotalAmount:
      type: object
      description: The monetary value with currency
      properties:
        amount:
          type: number
          format: double
          description: The price amount
        currencyCode:
          type: string
          description: The ISO 4217 format for the currency
      required:
        - amount
        - currencyCode
    GetCheckoutData_Request_CartLines_LineComponents_Merchandise:
      type: object
      description: The merchandise
      properties:
        id:
          type: string
          description: A globally-unique identifier
        image:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Merchandise_Image
          description: >-
            Image associated with the product variant. This field falls back to
            the product image if no image is available
        product:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Merchandise_Product
          description: The product object that the product variant belongs to
        requiresShipping:
          type: boolean
          description: Whether or not the product requires shipping
        selectedOptions:
          type: array
          description: List of product options applied to the variant
          items:
            $ref: >-
              #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Merchandise_SelectedOptions
        sellingPlan:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_LineComponents_Merchandise_SellingPlan
          description: The selling plan associated with the merchandise
        sku:
          type: string
          description: The product variant's sku
        subtitle:
          type: string
          description: The product variant's subtitle
        title:
          type: string
          description: The product variant's title
        type:
          type: string
          description: Always "variant"
      required:
        - id
        - product
        - requiresShipping
        - selectedOptions
        - sku
        - title
        - type
    GetCheckoutData_Request_CartLines_LineComponents_Merchandise_Image:
      type: object
      description: The image details
      properties:
        altText:
          type: string
          description: The alternative text for the image
        url:
          type: string
          description: The image URL
      required:
        - url
    GetCheckoutData_Request_CartLines_LineComponents_Merchandise_Product:
      type: object
      description: The product object
      properties:
        id:
          type: string
          description: A globally-unique identifier
        productType:
          type: string
          description: >-
            A categorization that a product can be tagged with, commonly used
            for filtering and searching
        vendor:
          type: string
          description: The product's vendor name
      required:
        - id
        - productType
        - vendor
    GetCheckoutData_Request_CartLines_LineComponents_Merchandise_SelectedOptions:
      type: object
      description: A product option applied to the variant
      properties:
        name:
          type: string
          description: The name of the merchandise option
        value:
          type: string
          description: The value of the merchandise option
      required:
        - name
        - value
    GetCheckoutData_Request_CartLines_LineComponents_Merchandise_SellingPlan:
      type: object
      description: The selling plan
      properties:
        id:
          type: string
          description: A globally-unique identifier
      required:
        - id
    GetCheckoutData_Request_CartLines_Merchandise:
      type: object
      description: The merchandise
      properties:
        id:
          type: string
          description: A globally-unique identifier
        image:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_Merchandise_Image
          description: >-
            Image associated with the product variant. This field falls back to
            the product image if no image is available
        product:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_Merchandise_Product
          description: The product object that the product variant belongs to
        requiresShipping:
          type: boolean
          description: Whether or not the product requires shipping
        selectedOptions:
          type: array
          description: List of product options applied to the variant
          items:
            $ref: >-
              #/components/schemas/GetCheckoutData_Request_CartLines_Merchandise_SelectedOptions
        sellingPlan:
          $ref: >-
            #/components/schemas/GetCheckoutData_Request_CartLines_Merchandise_SellingPlan
          description: The selling plan associated with the merchandise
        sku:
          type: string
          description: The product variant's sku
        subtitle:
          type: string
          description: The product variant's subtitle
        title:
          type: string
          description: The product variant's title
        type:
          type: string
          description: Always "variant"
      required:
        - id
        - product
        - requiresShipping
        - selectedOptions
        - sku
        - title
        - type
    GetCheckoutData_Request_CartLines_Merchandise_Image:
      type: object
      description: The image details
      properties:
        altText:
          type: string
          description: The alternative text for the image
        url:
          type: string
          description: The image URL
      required:
        - url
    GetCheckoutData_Request_CartLines_Merchandise_Product:
      type: object
      description: The product object
      properties:
        id:
          type: string
          description: A globally-unique identifier
        productType:
          type: string
          description: >-
            A categorization that a product can be tagged with, commonly used
            for filtering and searching
        vendor:
          type: string
          description: The product's vendor name
      required:
        - id
        - productType
        - vendor
    GetCheckoutData_Request_CartLines_Merchandise_SelectedOptions:
      type: object
      description: A product option applied to the variant
      properties:
        name:
          type: string
          description: The name of the merchandise option
        value:
          type: string
          description: The value of the merchandise option
      required:
        - name
        - value
    GetCheckoutData_Request_CartLines_Merchandise_SellingPlan:
      type: object
      description: The selling plan
      properties:
        id:
          type: string
          description: A globally-unique identifier
      required:
        - id
    GetCheckoutData_Request_ShippingAddress:
      type: object
      description: The shipping address
      properties:
        address1:
          type: string
          description: >-
            The first line of the buyer's address, including street name and
            number
        address2:
          type: string
          description: >-
            The second line of the buyer's address, like apartment number,
            suite, etc
        city:
          type: string
          description: The buyer's city
        company:
          type: string
          description: The buyer's company name
        countryCode:
          type: string
          description: >-
            The ISO 3166 Alpha-2 format for the buyer's country. Refer to
            https://www.iso.org/iso-3166-country-codes.html
        firstName:
          type: string
          description: The buyer's first name
        lastName:
          type: string
          description: The buyer's last name
        name:
          type: string
          description: The buyer's full name
        oneTimeUse:
          type: boolean
          description: Specifies whether the address should be saved to the buyer's account
        phone:
          type: string
          description: The buyer's phone number
        provinceCode:
          type: string
          description: >-
            The buyer's province code, such as state, province, prefecture, or
            region
        zip:
          type: string
          description: The buyer's postal or ZIP code
    GetCheckoutData_Response_200:
      type: object
      description: Checkout data per seller
      properties:
        errors:
          type: array
          description: Errors
          items:
            $ref: '#/components/schemas/GetCheckoutData_Response_200_Errors'
        sellers:
          type: array
          description: Seller split
          items:
            $ref: '#/components/schemas/GetCheckoutData_Response_200_Sellers'
    GetCheckoutData_Response_200_Errors:
      type: object
      description: Checkout error
      properties:
        code:
          type: string
          description: >-
            The error code. One of: SHIPPING_ZONE_NOT_ALLOWED,
            SHIPPING_TYPE_NOT_ALLOWED, OFFER_NOT_FOUND, INSUFFICIENT_QUANTITY
        offerId:
          type: string
          description: The offer identifier
    GetCheckoutData_Response_200_Sellers:
      type: object
      description: Shipping charges per seller
      properties:
        choices:
          type: array
          description: List of shipping methods available
          items:
            $ref: '#/components/schemas/GetCheckoutData_Response_200_Sellers_Choices'
        offers:
          type: array
          description: List of offers
          items:
            $ref: '#/components/schemas/GetCheckoutData_Response_200_Sellers_Offers'
        selectedMethod:
          type: string
          description: Selected shipping method
        sellerId:
          type: string
          description: Seller identifier
        sellerName:
          type: string
          description: Seller name
    GetCheckoutData_Response_200_Sellers_Choices:
      type: object
      description: Shipping method
      properties:
        code:
          type: string
          description: Shipping method code
        currencyIsoCode:
          type: string
          description: Shipping method currency ISO code
        deliveryEstimate:
          $ref: >-
            #/components/schemas/GetCheckoutData_Response_200_Sellers_Choices_DeliveryEstimate
          description: Shipping method delivery estimate
        label:
          type: string
          description: Shipping method label
        price:
          type: number
          format: with decimals
          description: Shipping method price
    GetCheckoutData_Response_200_Sellers_Choices_DeliveryEstimate:
      type: object
      description: Expected delivery time
      properties:
        earliestDays:
          type: integer
          format: int32
          description: Earliest delivery time
        earliestDeliveryDate:
          type: string
          format: date-time
          description: Earliest delivery date
        latestDays:
          type: integer
          format: int32
          description: Latest delivery time
        latestDeliveryDate:
          type: string
          format: date-time
          description: Latest delivery date
    GetCheckoutData_Response_200_Sellers_Offers:
      type: object
      description: Offer details
      properties:
        availableQuantity:
          type: integer
          format: int32
          description: Quantity of offers available for delivery
        currencyIsoCode:
          type: string
          description: Currency ISO code of the offer price
        id:
          type: string
          description: Identifier of the offer
        offerPrice:
          type: number
          format: with decimals
          description: Offer unit price in the seller currency
        originalQuantity:
          type: integer
          format: int32
          description: Quantity of offers originally requested
        promotions:
          type: array
          description: Promotions applied to the order
          items:
            $ref: >-
              #/components/schemas/GetCheckoutData_Response_200_Sellers_Offers_Promotions
        shippingPriceAdditionalUnit:
          type: number
          format: with decimals
          description: Additional shipping price of the offer
        shippingPriceUnit:
          type: number
          format: with decimals
          description: Shipping price for the first unit of the offer
    GetCheckoutData_Response_200_Sellers_Offers_Promotions:
      type: object
      description: Promotion applied to the order
      properties:
        apportioned:
          type: boolean
          description: >-
            If reward amount is divided and allocated proportionally to multiple
            order lines or allocated to one order line
        campaign:
          $ref: >-
            #/components/schemas/GetCheckoutData_Response_200_Sellers_Offers_Promotions_Campaign
          description: Promotion campaign information, when applicable
        configuration:
          $ref: >-
            #/components/schemas/GetCheckoutData_Response_200_Sellers_Offers_Promotions_Configuration
          description: Configuration used to calculate the applied promotion
        deducedAmount:
          type: number
          format: with decimals
          description: Promotion's amount for this line
        id:
          type: string
          description: Promotion's id
        offeredQuantity:
          type: integer
          format: int32
          description: The quantity of free items offered by the promotion
        promoCode:
          type: string
          description: Promo code associated to the promotion
        publicDescription:
          type: string
          description: >-
            Promotion's customer-facing description, resolved for the requested
            locale
    GetCheckoutData_Response_200_Sellers_Offers_Promotions_Campaign:
      type: object
      description: Promotion campaign information
      properties:
        identifier:
          type: string
          description: The identifier of the promotion campaign.
    GetCheckoutData_Response_200_Sellers_Offers_Promotions_Configuration:
      type: object
      description: Configuration used to calculate the applied promotion
      properties:
        amountOff:
          type: number
          format: with decimals
          description: The amount off of the promotion
        freeItemsQuantity:
          type: integer
          format: int32
          description: The free item target quantity of the promotion
        internalDescription:
          type: string
          description: Promotion's internal description
        percentageOff:
          type: number
          format: with decimals
          description: The percentage off of the promotion
        reducedUnitPrice:
          type: number
          format: with decimals
          description: The new offer's unit price triggered by the promotion
        type:
          type: string
          description: Promotion's type
    GetConnection_Response_200:
      type: object
      description: Environment response
      properties:
        createdAt:
          type: string
          format: date-time
          description: The creation date of the environment
        enabled:
          type: boolean
          description: Enabled status of the environment
        id:
          type: string
          description: Unique identifier for the environment
        miraklApiEndpoint:
          type: string
          description: Mirakl API endpoint
        miraklTenant:
          type: string
          description: The Mirakl tenant identifier
        shopifyShopDomain:
          type: string
          description: The domain of the Shopify shop
        updatedAt:
          type: string
          format: date-time
          description: The last update date of the environment
    GetCustomCarrierRates_Request:
      type: object
      properties:
        rate:
          $ref: '#/components/schemas/GetCustomCarrierRates_Request_Rate'
          description: Shipping rate request
    GetCustomCarrierRates_Request_Rate:
      type: object
      description: Shipping rate request
      properties:
        currency:
          type: string
          description: Currency of the shipment
        destination:
          $ref: '#/components/schemas/GetCustomCarrierRates_Request_Rate_Destination'
          description: Destination address of the shipment
        items:
          type: array
          description: Items in the shipment
          items:
            $ref: '#/components/schemas/GetCustomCarrierRates_Request_Rate_Items'
        locale:
          type: string
          description: Locale of the shipment
        origin:
          $ref: '#/components/schemas/GetCustomCarrierRates_Request_Rate_Origin'
          description: Origin address of the shipment
    GetCustomCarrierRates_Request_Rate_Destination:
      type: object
      description: Destination address of the shipment
      properties:
        address1:
          type: string
          description: The first line of the address
        address2:
          type: string
          description: The second line of the address
        city:
          type: string
          description: The city
        country:
          type: string
          description: The country
        email:
          type: string
          description: The email
        latitude:
          type: string
          description: The latitude
        longitude:
          type: string
          description: The longitude
        name:
          type: string
          description: The address name
        phone:
          type: string
          description: The phone number
        postalCode:
          type: string
          description: The postal code
        province:
          type: string
          description: The province
    GetCustomCarrierRates_Request_Rate_Items:
      type: object
      description: Items in the shipment
      properties:
        fulfillmentService:
          type: string
          description: The fulfillment service
        grams:
          type: integer
          format: int32
          description: The weight of the item in grams
        name:
          type: string
          description: The name of the item
        price:
          type: integer
          format: int32
          description: The price of the item (x100)
        productId:
          type: string
          description: The product ID
        properties:
          type: object
          additionalProperties:
            type: string
          description: Custom attributes of the item
        quantity:
          type: integer
          format: int32
          description: The quantity of the item
        requiresShipping:
          type: boolean
          description: If the item requires shipping
        sku:
          type: string
          description: The SKU of the item
        taxable:
          type: boolean
          description: If the item is taxable
        variantId:
          type: string
          description: The variant ID
        vendor:
          type: string
          description: The vendor of the item
    GetCustomCarrierRates_Request_Rate_Origin:
      type: object
      description: Destination address of the shipment
      properties:
        address1:
          type: string
          description: The first line of the address
        address2:
          type: string
          description: The second line of the address
        city:
          type: string
          description: The city
        country:
          type: string
          description: The country
        email:
          type: string
          description: The email
        latitude:
          type: string
          description: The latitude
        longitude:
          type: string
          description: The longitude
        name:
          type: string
          description: The address name
        phone:
          type: string
          description: The phone number
        postalCode:
          type: string
          description: The postal code
        province:
          type: string
          description: The province
    GetCustomCarrierRates_Response_200:
      type: object
      propertie

# --- truncated at 32 KB (365 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mirakl/refs/heads/main/openapi/_original/mirakl-shopify-operator-connector-openapi.yaml