OpenAPI Specification
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.