TD SYNNEX Subscriptions API

Cloud subscription management

OpenAPI Specification

td-synnex-subscriptions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TD SYNNEX StreamOne Ion Partner Authentication Subscriptions 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: Subscriptions
  description: Cloud subscription management
paths:
  /v3/accounts/{accountId}/customers/{customerId}/subscriptions:
    get:
      operationId: listCustomerSubscriptions
      summary: List Customer Subscriptions
      description: List all cloud software subscriptions for a specific customer.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CustomerId'
      - name: vendor
        in: query
        description: Filter subscriptions by vendor
        schema:
          type: string
      - name: status
        in: query
        description: Filter by subscription status
        schema:
          type: string
      responses:
        '200':
          description: List of customer subscriptions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Subscription'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/customers/{customerId}/subscriptions/{subscriptionId}:
    get:
      operationId: getSubscription
      summary: Get Subscription
      description: Retrieve details for a specific customer subscription.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/CustomerId'
      - name: subscriptionId
        in: path
        required: true
        description: Unique subscription identifier
        schema:
          type: string
      responses:
        '200':
          description: Subscription details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Subscription:
      type: object
      description: A cloud software subscription
      properties:
        subscriptionId:
          type: string
        customerId:
          type: string
        productId:
          type: string
        productName:
          type: string
        vendor:
          type: string
        quantity:
          type: integer
        status:
          type: string
          enum:
          - ACTIVE
          - SUSPENDED
          - CANCELLED
          - EXPIRED
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        renewalDate:
          type: string
          format: date
        autoRenew:
          type: boolean
        monthlyAmount:
          type: number
          format: double
        currency:
          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
  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'
  parameters:
    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
  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