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