TD SYNNEX Reports API

Business intelligence and reporting

OpenAPI Specification

td-synnex-reports-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TD SYNNEX StreamOne Ion Partner Authentication Reports 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: Reports
  description: Business intelligence and reporting
paths:
  /v3/accounts/{accountId}/reports:
    get:
      operationId: listReports
      summary: List Reports
      description: List all available business intelligence reports for the account.
      tags:
      - Reports
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: List of available reports
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReportMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/reports/{reportId}/metadata:
    get:
      operationId: getReportMetadata
      summary: Get Report Metadata
      description: Retrieve structure and schema information for a specific report.
      tags:
      - Reports
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          description: Report metadata and structure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v3/accounts/{accountId}/reports/{reportId}/data:
    get:
      operationId: getReportData
      summary: Get Report Data
      description: Access report data. Use format=csv query parameter to export as CSV.
      tags:
      - Reports
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ReportId'
      - name: format
        in: query
        description: Output format (omit for JSON, use 'csv' for CSV export)
        schema:
          type: string
          enum:
          - csv
      - name: startDate
        in: query
        description: Report start date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        description: Report end date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Report data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportData'
            text/csv:
              schema:
                type: string
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    ReportId:
      name: reportId
      in: path
      required: true
      description: Report identifier
      schema:
        type: string
    AccountId:
      name: accountId
      in: path
      required: true
      description: Partner account identifier
      schema:
        type: string
  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: string
    ReportMetadata:
      type: object
      description: Report structure and metadata
      properties:
        reportId:
          type: string
        name:
          type: string
        description:
          type: string
        columns:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
              description:
                type: string
        filters:
          type: array
          items:
            type: string
    ReportData:
      type: object
      description: Business intelligence report data
      properties:
        reportId:
          type: string
        generatedAt:
          type: string
          format: date-time
        totalRows:
          type: integer
        data:
          type: array
          items:
            type: object
            additionalProperties: true
  responses:
    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