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