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