Optimizely Carts API

The Carts API from Optimizely — 8 operation(s) for carts.

Operations 18

GET /api/v1/carts/{cartId}/promotions #
POST /api/v1/carts/{cartId}/promotions #
DELETE /api/v1/carts/{cartId}/promotions #
GET /api/v1/carts/{cartId}/promotions/{promotionId} #
DELETE /api/v1/carts/{cartId}/promotions/{promotionId} #
GET /api/v1/carts #
POST /api/v1/carts #
GET /api/v1/carts/{cartId} #
DELETE /api/v1/carts/{cartId} #
PATCH /api/v1/carts/{cartId} #
GET /api/v1/carts/{cartId}/cartlines #
POST /api/v1/carts/{cartId}/cartlines #
DELETE /api/v1/carts/{cartId}/cartlines #
GET /api/v1/carts/{cartId}/cartlines/{cartLineId} #
DELETE /api/v1/carts/{cartId}/cartlines/{cartLineId} #
PATCH /api/v1/carts/{cartId}/cartlines/{cartLineId} #
POST /api/v1/carts/{cartId}/cartlines/batch #
POST /api/v1/carts/{cartId}/cartlines/wishlist/{wishListId} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely-carts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optimizely-carts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: storefront-v1
  title: Storefront API V1 Carts API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Carts
paths:
  /api/v1/carts/{cartId}/promotions:
    get:
      tags:
      - Carts
      operationId: PromotionsV1_GetCollectionAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
    post:
      tags:
      - Carts
      operationId: PromotionsV1_PostAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
    delete:
      tags:
      - Carts
      operationId: PromotionsV1_DeleteCollectionAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionCollectionModel'
  /api/v1/carts/{cartId}/promotions/{promotionId}:
    get:
      tags:
      - Carts
      operationId: PromotionsV1_GetAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: promotionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
    delete:
      tags:
      - Carts
      operationId: PromotionsV1_DeleteAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: promotionId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Promotions.WebApi.V1.ApiModels.PromotionModel'
  /api/v1/carts:
    get:
      tags:
      - Carts
      operationId: CartsV1_GetCollectionAsync
      parameters:
      - name: parameter.billToId
        in: query
        required: false
        schema:
          type: string
          format: uuid
      - name: parameter.shipToId
        in: query
        required: false
        schema:
          type: string
          format: uuid
      - name: parameter.status
        in: query
        required: false
        schema:
          type: string
      - name: parameter.orderNumber
        in: query
        required: false
        schema:
          type: string
      - name: parameter.fromDate
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: parameter.toDate
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: parameter.orderTotalOperator
        in: query
        required: false
        schema:
          type: string
      - name: parameter.orderTotal
        in: query
        required: false
        schema:
          type: number
          format: decimal
      - name: parameter.orderSubtotalOperator
        in: query
        required: false
        schema:
          type: string
      - name: parameter.orderSubtotal
        in: query
        required: false
        schema:
          type: number
          format: decimal
      - name: parameter.vmiLocationId
        in: query
        required: false
        schema:
          type: string
          format: uuid
      - name: parameter.page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.sort
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartCollectionModel'
      security:
      - access_token: []
    post:
      tags:
      - Carts
      operationId: CartsV1_PostAsync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddCartModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddCartModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddCartModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddCartModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddCartModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddCartModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
  /api/v1/carts/{cartId}:
    get:
      tags:
      - Carts
      operationId: CartsV1_GetAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
    delete:
      tags:
      - Carts
      operationId: CartsV1_DeleteAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
    patch:
      tags:
      - Carts
      operationId: CartsV1_PatchAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
  /api/v1/carts/{cartId}/cartlines:
    get:
      tags:
      - Carts
      operationId: CartLinesV1_GetCollectionAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: cartLineCollectionParameter.cartId
        in: query
        required: false
        schema:
          type: string
      - name: cartLineCollectionParameter.page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: cartLineCollectionParameter.pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: cartLineCollectionParameter.sort
        in: query
        required: false
        schema:
          type: string
      - name: cartLineCollectionParameter.expand
        in: query
        required: false
        schema:
          type: string
      - name: cartLineCollectionParameter.cartLineIds
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
    post:
      tags:
      - Carts
      operationId: CartLinesV1_PostAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
    delete:
      tags:
      - Carts
      operationId: CartLinesV1_DeleteCartLinesAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
  /api/v1/carts/{cartId}/cartlines/{cartLineId}:
    get:
      tags:
      - Carts
      operationId: CartLinesV1_GetAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: cartLineId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
    delete:
      tags:
      - Carts
      operationId: CartLinesV1_DeleteAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: cartLineId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
    patch:
      tags:
      - Carts
      operationId: CartLinesV1_PatchAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: cartLineId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineModel'
  /api/v1/carts/{cartId}/cartlines/batch:
    post:
      tags:
      - Carts
      operationId: CartLinesV1_PostCollectionAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
  /api/v1/carts/{cartId}/cartlines/wishlist/{wishListId}:
    post:
      tags:
      - Carts
      operationId: CartLinesV1_PostWishListAsync
      parameters:
      - name: cartId
        in: path
        required: true
        schema:
          type: string
      - name: wishListId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddWishListToCartModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddWishListToCartModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddWishListToCartModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddWishListToCartModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddWishListToCartModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.AddWishListToCartModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartLineCollectionModel'
components:
  schemas:
    Insite.Websites.WebApi.V1.ApiModels.CountryModel:
      type: object
      properties:
        uri:
          type: string
        id:
          type: string
        name:
          type: string
        abbreviation:
          type: string
        states:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Websites.WebApi.V1.ApiModels.StateModel'
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Cart.WebApi.V1.ApiModels.CartCollectionModel:
      type: object
      properties:
        uri:
          type: string
        carts:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Cart.WebApi.V1.ApiModels.CartModel'
        pagination:
          $ref: '#/components/schemas/Insite.Core.WebApi.PaginationModel'
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Catalog.Services.Dtos.ConfigSectionOptionDto:
      type: object
      properties:
        sectionOptionId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        sectionName:
          type: string
        productName:
          type: string
        productId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        price:
          format: decimal
          type: number
        userProductPrice:
          type: boolean
        selected:
          type: boolean
        sortOrder:
          format: int32
          type: integer
        quantity:
          format: decimal
          type: number
        cantBuy:
          type: boolean
    Insite.Core.WebApi.PaginationModel:
      type: object
      properties:
        currentPage:
          format: int32
          type: integer
        page:
          format: int32
          type: integer
        pageSize:
          format: int32
          type: integer
        defaultPageSize:
          format: int32
          type: integer
        totalItemCount:
          format: int32
          type: integer
        numberOfPages:
          format: int32
          type: integer
        pageSizeOptions:
          type: array
          items:
            format: int32
            type: integer
        sortOptions:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Core.WebApi.SortOptionModel'
        sortType:
          type: string
        nextPageUri:
          type: string
        prevPageUri:
          type: string
        nextPageToken:
          type: string
    Insite.Customers.Services.Dtos.AgingBucketDto:
      type: object
      properties:
        amount:
          format: decimal
          type: number
        amountDisplay:
          type: string
        label:
          type: string
    Insite.Cart.Services.Dtos.WarehouseDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        countryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        isDefault:
          type: boolean
        name:
          type: string
        phone:
          type: string
        postalCode:
          type: string
        shipSite:
          type: string
        state:
          type: string
    Insite.Catalog.Services.Dtos.ConfigSectionDto:
      type: object
      properties:
        sectionName:
          type: string
        label:
          type: string
        options:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.ConfigSectionOptionDto'
    Insite.Cart.Services.Dtos.CarrierDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        shipVias:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Cart.Services.Dtos.ShipViaDto'
    Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel:
      type: object
      properties:
        uri:
          type: string
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        contactName:
          type: string
        countryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        deactivateOn:
          format: date-time
          type: string
        description:
          type: string
        phone:
          type: string
        postalCode:
          type: string
        shipSite:
          type: string
        state:
          type: string
        isDefault:
          type: boolean
        alternateWarehouses:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel'
        latitude:
          format: decimal
          type: number
        longitude:
          format: decimal
          type: number
        hours:
          type: string
        distance:
          format: double
          type: number
        allowPickup:
          type: boolean
        pickupShipViaId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Customers.Services.Dtos.AccountsReceivableDto:
      type: object
      properties:
        agingBuckets:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Customers.Services.Dtos.AgingBucketDto'
        agingBucketTotal:
          $ref: '#/components/schemas/Insite.Customers.Services.Dtos.AgingBucketDto'
        agingBucketFuture:
          $ref: '#/components/schemas/Insite.Customers.Services.Dtos.AgingBucketDto'
    Insite.Catalog.Services.Dtos.BadgeDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 0

# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/optimizely-carts-api-openapi.yml