Tech Data Subscriptions API

Customer subscription management

OpenAPI Specification

tech-data-subscriptions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: TD SYNNEX StreamOne Ion Authentication Subscriptions API
  description: The StreamOne Ion API provides reseller partners with programmatic access to TD SYNNEX's cloud distribution platform. Partners can manage end customers, browse product catalogs, create and manage orders, handle subscriptions, configure cloud provider accounts, manage shopping carts, and access billing reports. The API supports multi-vendor cloud management across Microsoft, Google, and AWS through a unified interface.
  version: v3
  contact:
    name: TD SYNNEX StreamOne Ion
    url: https://docs.streamone.cloud/
  license:
    name: TD SYNNEX Terms of Service
    url: https://eu.tdsynnex.com/CatAdminHtmlContentEditor/uploads/Country/COM/NEW%20Terms-and-Conditions/StreamOne/Partner%20API%20Service%20Specification%20Addendum%20to%20ION%20Platform%20Agreement.pdf
servers:
- url: https://ion.tdsynnex.com/api
  description: TD SYNNEX StreamOne Ion Production
security:
- BearerAuth: []
tags:
- name: Subscriptions
  description: Customer subscription management
paths:
  /v3/accounts/{accountId}/customers/{customerId}/subscriptions:
    get:
      operationId: listCustomerSubscriptions
      summary: List Customer Subscriptions
      description: Retrieve all active subscriptions for a specific customer.
      tags:
      - Subscriptions
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/customerId'
      responses:
        '200':
          description: List of subscriptions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionList'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/accounts/{accountId}/customers/{customerId}/subscriptions/{subscriptionId}:
    get:
      operationId: getCustomerSubscription
      summary: Get Customer 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
        schema:
          type: string
        description: The unique subscription identifier.
      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
      properties:
        id:
          type: string
        customerId:
          type: string
        productId:
          type: string
        productName:
          type: string
        status:
          type: string
          enum:
          - Active
          - Suspended
          - Cancelled
          - Expired
        quantity:
          type: integer
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        renewalDate:
          type: string
          format: date
        billingPeriod:
          type: string
    SubscriptionList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Subscription'
        pagination:
          $ref: '#/components/schemas/Pagination'
    Pagination:
      type: object
      properties:
        page:
          type: integer
        pageSize:
          type: integer
        totalRecords:
          type: integer
        totalPages:
          type: integer
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - invalid or expired token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    accountId:
      name: accountId
      in: path
      required: true
      schema:
        type: string
      description: The reseller account identifier.
    customerId:
      name: customerId
      in: path
      required: true
      schema:
        type: string
      description: The customer account identifier.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token obtained via the /oauth/token endpoint.