TD SYNNEX Products API

Technology product catalog browsing

OpenAPI Specification

td-synnex-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TD SYNNEX StreamOne Ion Partner Authentication Products 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: Products
  description: Technology product catalog browsing
paths:
  /v3/accounts/{accountId}/products:
    get:
      operationId: listProducts
      summary: List Products
      description: Retrieve the list of technology products available through TD SYNNEX.
      tags:
      - Products
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: vendor
        in: query
        description: Filter by vendor name
        schema:
          type: string
      - name: category
        in: query
        description: Filter by product category
        schema:
          type: string
      - name: page
        in: query
        schema:
          type: integer
      - name: pageSize
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: List of available products
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
                  totalCount:
                    type: integer
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/products/{productId}:
    get:
      operationId: getProduct
      summary: Get Product
      description: Access detailed information for a specific technology product.
      tags:
      - Products
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - name: productId
        in: path
        required: true
        description: Unique product identifier
        schema:
          type: string
      responses:
        '200':
          description: Product details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/accounts/{accountId}/products/verticals:
    post:
      operationId: listProductVerticals
      summary: List Product Verticals
      description: List product verticals (industry/market segments) available in the catalog.
      tags:
      - Products
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: List of product verticals
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/products/categories:
    put:
      operationId: listProductCategories
      summary: List Product Categories
      description: List product categories available in the catalog.
      tags:
      - Products
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: List of product categories
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    NotFound:
      description: Not Found - Requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - Valid OAuth 2.0 token required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Product:
      type: object
      description: A technology product available for distribution
      properties:
        productId:
          type: string
        name:
          type: string
        description:
          type: string
        vendor:
          type: string
        category:
          type: string
        vertical:
          type: string
        sku:
          type: string
        pricing:
          type: object
          properties:
            unitPrice:
              type: number
              format: double
            currency:
              type: string
            billingFrequency:
              type: string
              enum:
              - MONTHLY
              - ANNUAL
              - ONE_TIME
        features:
          type: array
          items:
            type: string
        status:
          type: string
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: string
  parameters:
    AccountId:
      name: accountId
      in: path
      required: true
      description: Partner account identifier
      schema:
        type: string
  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