TD SYNNEX Cart Items API

Shopping cart item management

OpenAPI Specification

td-synnex-cart-items-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TD SYNNEX StreamOne Ion Partner Authentication Cart Items API
  description: The StreamOne Ion Partner API provides partners with programmatic access to TD SYNNEX cloud distribution services. Partners can manage end customers, browse product catalogs, create and manage orders, track subscriptions, manage shopping carts, and access business intelligence reports through a unified REST interface supporting multiple cloud vendors. The API enables MSPs, resellers, and technology partners to automate their cloud distribution workflows.
  version: '3'
  contact:
    name: TD SYNNEX StreamOne Support
    url: https://www.tdsynnex.com/ion/api/
servers:
- url: https://ion.tdsynnex.com
  description: TD SYNNEX StreamOne Ion Production API
security:
- OAuth2: []
tags:
- name: Cart Items
  description: Shopping cart item management
paths:
  /v3/accounts/{accountId}/customers/{customerId}/carts/{cartId}/items:
    get:
      operationId: listCartItems
      summary: List Cart Items
      description: List all items in a shopping cart.
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/CartId'
      responses:
        '200':
          description: List of cart items
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CartItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: addCartItem
      summary: Add Cart Item
      description: Add a product item to the shopping cart.
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/CartId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CartItemRequest'
      responses:
        '201':
          description: Item added to cart
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/customers/{customerId}/carts/{cartId}/items/{itemId}:
    get:
      operationId: getCartItem
      summary: Get Cart Item
      description: Retrieve details for a specific cart item.
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/CartId'
      - $ref: '#/components/parameters/ItemId'
      responses:
        '200':
          description: Cart item details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      operationId: updateCartItem
      summary: Update Cart Item
      description: Modify an existing item in the shopping cart (e.g., change quantity).
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CustomerId'
      - $ref: '#/components/parameters/CartId'
      - $ref: '#/components/parameters/ItemId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CartItemRequest'
      responses:
        '200':
          description: Cart item updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    ItemId:
      name: itemId
      in: path
      required: true
      description: Cart item identifier
      schema:
        type: string
    CustomerId:
      name: customerId
      in: path
      required: true
      description: End customer identifier
      schema:
        type: string
    AccountId:
      name: accountId
      in: path
      required: true
      description: Partner account identifier
      schema:
        type: string
    CartId:
      name: cartId
      in: path
      required: true
      description: Shopping cart identifier
      schema:
        type: string
  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: string
    CartItem:
      type: object
      properties:
        itemId:
          type: string
        productId:
          type: string
        productName:
          type: string
        quantity:
          type: integer
        unitPrice:
          type: number
          format: double
        totalPrice:
          type: number
          format: double
    CartItemRequest:
      type: object
      required:
      - productId
      - quantity
      properties:
        productId:
          type: string
        quantity:
          type: integer
  responses:
    Unauthorized:
      description: Unauthorized - Valid OAuth 2.0 token required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    OAuth2:
      type: oauth2
      description: TD SYNNEX StreamOne Ion uses OAuth 2.0 with refresh token flow
      flows:
        clientCredentials:
          tokenUrl: https://ion.tdsynnex.com/oauth/token
          scopes:
            read: Read access to partner resources
            write: Write access to create and update resources