OpenAPI Specification
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