naftiko: 1.0.0-alpha2 info: label: TD SYNNEX Cloud Distribution description: Workflow capability for TD SYNNEX StreamOne Ion cloud distribution management. Enables MSPs and resellers to automate end-to-end cloud subscription lifecycle management including customer provisioning, product ordering, subscription tracking, and business intelligence reporting across multiple cloud vendors through a single unified interface. tags: - TD SYNNEX - StreamOne Ion - Cloud Distribution - Technology Distribution - MSP - Reseller - Subscription Management - Order Management created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: TDSYNNEX_ACCESS_TOKEN: TDSYNNEX_ACCESS_TOKEN capability: consumes: - type: http namespace: streamone-ion baseUri: https://ion.tdsynnex.com description: TD SYNNEX StreamOne Ion Partner API for cloud distribution authentication: type: bearer token: '{{TDSYNNEX_ACCESS_TOKEN}}' resources: - name: customers path: /v3/accounts/{accountId}/customers description: End customer account management operations: - name: list-customers method: GET description: List all end customers inputParameters: - name: accountId in: path type: string required: true - name: page in: query type: integer required: false - name: pageSize in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-customer method: POST description: Add a new end customer to the platform inputParameters: - name: accountId in: path type: string required: true body: type: json data: companyName: '{{tools.companyName}}' email: '{{tools.email}}' phone: '{{tools.phone}}' address: '{{tools.address}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-customer method: GET description: Get details for a specific customer inputParameters: - name: accountId in: path type: string required: true - name: customerId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-customer method: PUT description: Update an existing customer's information inputParameters: - name: accountId in: path type: string required: true - name: customerId in: path type: string required: true body: type: json data: companyName: '{{tools.companyName}}' email: '{{tools.email}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: products path: /v3/accounts/{accountId}/products description: Technology product catalog operations: - name: list-products method: GET description: List available technology products inputParameters: - name: accountId in: path type: string required: true - name: vendor in: query type: string required: false - name: category in: query type: string required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-product method: GET description: Get details for a specific product inputParameters: - name: accountId in: path type: string required: true - name: productId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orders path: /v3/accounts/{accountId}/orders description: Order management operations: - name: list-orders method: GET description: List all orders for the account inputParameters: - name: accountId in: path type: string required: true - name: status in: query type: string required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-order method: POST description: Create a new technology product order inputParameters: - name: accountId in: path type: string required: true body: type: json data: customerId: '{{tools.customerId}}' items: '{{tools.items}}' notes: '{{tools.notes}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-order method: GET description: Get details for a specific order inputParameters: - name: accountId in: path type: string required: true - name: orderId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions path: /v3/accounts/{accountId}/customers/{customerId}/subscriptions description: Cloud subscription management operations: - name: list-subscriptions method: GET description: List all subscriptions for a customer inputParameters: - name: accountId in: path type: string required: true - name: customerId in: path type: string required: true - name: vendor in: query type: string required: false - name: status in: query type: string required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: reports path: /v3/accounts/{accountId}/reports description: Business intelligence reports operations: - name: list-reports method: GET description: List available business intelligence reports inputParameters: - name: accountId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-report-data method: GET description: Access report data inputParameters: - name: accountId in: path type: string required: true - name: reportId in: path type: string required: true - name: format in: query type: string required: false outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: tdsynnex-cloud-distribution-api description: Unified REST API for TD SYNNEX cloud distribution lifecycle management. resources: - path: /v1/customers name: customers description: End customer account management operations: - method: GET name: list-customers description: List all end customers in the partner account call: streamone-ion.list-customers with: accountId: rest.accountId outputParameters: - type: object mapping: $. - method: POST name: create-customer description: Add a new end customer to the platform call: streamone-ion.create-customer with: accountId: rest.accountId companyName: rest.companyName email: rest.email phone: rest.phone address: rest.address outputParameters: - type: object mapping: $. - path: /v1/customers/{customerId} name: customer-detail description: Single customer management operations: - method: GET name: get-customer description: Get details for a specific customer call: streamone-ion.get-customer with: accountId: rest.accountId customerId: rest.customerId outputParameters: - type: object mapping: $. - path: /v1/products name: products description: Technology product catalog operations: - method: GET name: list-products description: Browse available technology products call: streamone-ion.list-products with: accountId: rest.accountId vendor: rest.vendor category: rest.category outputParameters: - type: object mapping: $. - path: /v1/orders name: orders description: Product order management operations: - method: GET name: list-orders description: List all orders for the account call: streamone-ion.list-orders with: accountId: rest.accountId status: rest.status outputParameters: - type: object mapping: $. - method: POST name: create-order description: Create a new technology product order call: streamone-ion.create-order with: accountId: rest.accountId customerId: rest.customerId items: rest.items notes: rest.notes outputParameters: - type: object mapping: $. - path: /v1/orders/{orderId} name: order-detail description: Single order management operations: - method: GET name: get-order description: Get details for a specific order call: streamone-ion.get-order with: accountId: rest.accountId orderId: rest.orderId outputParameters: - type: object mapping: $. - path: /v1/customers/{customerId}/subscriptions name: subscriptions description: Customer subscription management operations: - method: GET name: list-subscriptions description: List cloud subscriptions for a customer call: streamone-ion.list-subscriptions with: accountId: rest.accountId customerId: rest.customerId vendor: rest.vendor status: rest.status outputParameters: - type: object mapping: $. - path: /v1/reports name: reports description: Business intelligence reports operations: - method: GET name: list-reports description: List available business intelligence reports call: streamone-ion.list-reports with: accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/reports/{reportId}/data name: report-data description: Report data access operations: - method: GET name: get-report-data description: Access report data call: streamone-ion.get-report-data with: accountId: rest.accountId reportId: rest.reportId outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: tdsynnex-cloud-distribution-mcp transport: http description: MCP server for AI-assisted TD SYNNEX cloud distribution management. tools: - name: list-customers description: List all end customers in the TD SYNNEX partner account hints: readOnly: true openWorld: false call: streamone-ion.list-customers with: accountId: tools.accountId outputParameters: - type: object mapping: $. - name: create-customer description: Add a new end customer to the TD SYNNEX StreamOne platform hints: readOnly: false destructive: false idempotent: false call: streamone-ion.create-customer with: accountId: tools.accountId companyName: tools.companyName email: tools.email phone: tools.phone address: tools.address outputParameters: - type: object mapping: $. - name: get-customer description: Get details for a specific end customer including cloud profiles hints: readOnly: true openWorld: false call: streamone-ion.get-customer with: accountId: tools.accountId customerId: tools.customerId outputParameters: - type: object mapping: $. - name: list-products description: Browse available technology products in the TD SYNNEX distribution catalog hints: readOnly: true openWorld: true call: streamone-ion.list-products with: accountId: tools.accountId vendor: tools.vendor category: tools.category outputParameters: - type: object mapping: $. - name: get-product description: Get detailed information for a specific technology product including pricing hints: readOnly: true openWorld: true call: streamone-ion.get-product with: accountId: tools.accountId productId: tools.productId outputParameters: - type: object mapping: $. - name: list-orders description: List all technology product orders for the partner account hints: readOnly: true openWorld: false call: streamone-ion.list-orders with: accountId: tools.accountId status: tools.status outputParameters: - type: object mapping: $. - name: create-order description: Create a new technology product order for an end customer hints: readOnly: false destructive: false idempotent: false call: streamone-ion.create-order with: accountId: tools.accountId customerId: tools.customerId items: tools.items notes: tools.notes outputParameters: - type: object mapping: $. - name: get-order description: Get status and details for a specific technology product order hints: readOnly: true openWorld: false call: streamone-ion.get-order with: accountId: tools.accountId orderId: tools.orderId outputParameters: - type: object mapping: $. - name: list-customer-subscriptions description: List all active cloud software subscriptions for a customer hints: readOnly: true openWorld: false call: streamone-ion.list-subscriptions with: accountId: tools.accountId customerId: tools.customerId vendor: tools.vendor status: tools.status outputParameters: - type: object mapping: $. - name: list-reports description: List available business intelligence reports for distribution analytics hints: readOnly: true openWorld: false call: streamone-ion.list-reports with: accountId: tools.accountId outputParameters: - type: object mapping: $. - name: get-report-data description: Access business intelligence report data for distribution analytics hints: readOnly: true openWorld: false call: streamone-ion.get-report-data with: accountId: tools.accountId reportId: tools.reportId outputParameters: - type: object mapping: $.