Tech Data Cart Items API

Cart line item management

OpenAPI Specification

tech-data-cart-items-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: TD SYNNEX StreamOne Ion Authentication Cart Items API
  description: The StreamOne Ion API provides reseller partners with programmatic access to TD SYNNEX's cloud distribution platform. Partners can manage end customers, browse product catalogs, create and manage orders, handle subscriptions, configure cloud provider accounts, manage shopping carts, and access billing reports. The API supports multi-vendor cloud management across Microsoft, Google, and AWS through a unified interface.
  version: v3
  contact:
    name: TD SYNNEX StreamOne Ion
    url: https://docs.streamone.cloud/
  license:
    name: TD SYNNEX Terms of Service
    url: https://eu.tdsynnex.com/CatAdminHtmlContentEditor/uploads/Country/COM/NEW%20Terms-and-Conditions/StreamOne/Partner%20API%20Service%20Specification%20Addendum%20to%20ION%20Platform%20Agreement.pdf
servers:
- url: https://ion.tdsynnex.com/api
  description: TD SYNNEX StreamOne Ion Production
security:
- BearerAuth: []
tags:
- name: Cart Items
  description: Cart line item management
paths:
  /v3/accounts/{accountId}/carts/{cartId}/items:
    get:
      operationId: listCartItems
      summary: List Cart Items
      description: Retrieve all items in a shopping cart.
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $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'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: addCartItem
      summary: Add Cart Item
      description: Add a product to a shopping cart.
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/cartId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CartItemCreate'
      responses:
        '201':
          description: Cart item added
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartItem'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/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/cartId'
      - $ref: '#/components/parameters/itemId'
      responses:
        '200':
          description: Cart item details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateCartItem
      summary: Update Cart Item
      description: Update quantity or configuration of a cart item.
      tags:
      - Cart Items
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/cartId'
      - $ref: '#/components/parameters/itemId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CartItemUpdate'
      responses:
        '200':
          description: Cart item updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartItem'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    CartItem:
      type: object
      properties:
        id:
          type: string
        cartId:
          type: string
        productId:
          type: string
        productName:
          type: string
        quantity:
          type: integer
        unitPrice:
          type: number
          format: float
        totalPrice:
          type: number
          format: float
    CartItemUpdate:
      type: object
      properties:
        quantity:
          type: integer
    CartItemCreate:
      type: object
      required:
      - productId
      - quantity
      properties:
        productId:
          type: string
        quantity:
          type: integer
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
  responses:
    Unauthorized:
      description: Unauthorized - invalid or expired token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    accountId:
      name: accountId
      in: path
      required: true
      schema:
        type: string
      description: The reseller account identifier.
    itemId:
      name: itemId
      in: path
      required: true
      schema:
        type: string
      description: The cart item identifier.
    cartId:
      name: cartId
      in: path
      required: true
      schema:
        type: string
      description: The cart identifier.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token obtained via the /oauth/token endpoint.