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