TD SYNNEX Authentication API

OAuth 2.0 token management

OpenAPI Specification

td-synnex-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TD SYNNEX StreamOne Ion Partner Authentication 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: Authentication
  description: OAuth 2.0 token management
paths:
  /oauth/token:
    post:
      operationId: getAccessToken
      summary: Get Access Token
      description: Acquire an OAuth 2.0 access token using a refresh token. Used to authenticate all subsequent API requests.
      tags:
      - Authentication
      security: []
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - grant_type
              - refresh_token
              properties:
                grant_type:
                  type: string
                  enum:
                  - refresh_token
                  description: OAuth 2.0 grant type
                refresh_token:
                  type: string
                  description: Valid refresh token from initial authorization
      responses:
        '200':
          description: Access token response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    TokenResponse:
      type: object
      description: OAuth 2.0 token response
      properties:
        access_token:
          type: string
          description: Bearer access token for API authentication
        token_type:
          type: string
          example: Bearer
        expires_in:
          type: integer
          description: Token expiration time in seconds
    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:
    BadRequest:
      description: Bad Request - Invalid request parameters or body
      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'
  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