openapi: 3.1.0 info: title: TD SYNNEX StreamOne Ion Authentication 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: Authentication description: OAuth 2.0 token management paths: /oauth/token: post: operationId: generateToken summary: Generate OAuth Access Token description: Exchange a refresh token for an OAuth 2.0 bearer access token. Access tokens expire after 7200 seconds (2 hours). Refresh tokens are valid for 32 days and are single-use. tags: - Authentication security: [] requestBody: required: true content: application/json: schema: type: object required: - refresh_token - grant_type properties: refresh_token: type: string description: The refresh token obtained from the StreamOne Ion portal. grant_type: type: string enum: - refresh_token description: Must be "refresh_token". responses: '200': description: Access token response content: application/json: schema: $ref: '#/components/schemas/TokenResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Error: type: object properties: code: type: string message: type: string details: type: array items: type: string TokenResponse: type: object properties: access_token: type: string description: The OAuth 2.0 bearer access token. token_type: type: string example: Bearer expires_in: type: integer description: Token lifetime in seconds (7200). example: 7200 refresh_token: type: string description: New refresh token for subsequent token requests. securitySchemes: BearerAuth: type: http scheme: bearer description: OAuth 2.0 bearer token obtained via the /oauth/token endpoint.