Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/tech-data-customers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: TD SYNNEX StreamOne Ion Authentication Customers 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: Customers
description: End customer account management
paths:
/v3/accounts/{accountId}/customers:
get:
operationId: listCustomers
summary: List Customers
description: Retrieve a paginated list of all end customers for the reseller account.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/accountId'
- name: page
in: query
schema:
type: integer
default: 1
description: Page number for pagination.
- name: pageSize
in: query
schema:
type: integer
default: 20
description: Number of records per page.
- name: status
in: query
schema:
type: string
description: Filter customers by status.
responses:
'200':
description: List of customers
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerList'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createCustomer
summary: Create Customer
description: Create a new end customer account under the reseller account.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerCreate'
responses:
'201':
description: Customer created
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/v3/accounts/{accountId}/customers/{customerId}:
get:
operationId: getCustomer
summary: Get Customer
description: Retrieve details for a specific end customer.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/customerId'
responses:
'200':
description: Customer details
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateCustomer
summary: Update Customer
description: Update an existing end customer account.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/customerId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerUpdate'
responses:
'200':
description: Customer updated
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/v3/accounts/{accountId}/customers/{customerId}/cloudProfiles:
get:
operationId: getCustomerCloudProfiles
summary: Get Customer Cloud Profiles
description: Retrieve cloud provider profiles associated with a customer.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/customerId'
responses:
'200':
description: Customer cloud profiles
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CloudProfile'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
BadRequest:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Forbidden - insufficient permissions
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - invalid or expired token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
CustomerList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Customer'
pagination:
$ref: '#/components/schemas/Pagination'
Pagination:
type: object
properties:
page:
type: integer
pageSize:
type: integer
totalRecords:
type: integer
totalPages:
type: integer
Customer:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
format: email
status:
type: string
enum:
- Active
- Inactive
- Suspended
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
address:
$ref: '#/components/schemas/Address'
CloudProfile:
type: object
properties:
id:
type: string
provider:
type: string
enum:
- Microsoft
- Google
- AWS
externalId:
type: string
status:
type: string
Address:
type: object
properties:
street:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
CustomerUpdate:
type: object
properties:
name:
type: string
email:
type: string
format: email
phone:
type: string
status:
type: string
address:
$ref: '#/components/schemas/Address'
Error:
type: object
properties:
code:
type: string
message:
type: string
details:
type: array
items:
type: string
CustomerCreate:
type: object
required:
- name
- email
properties:
name:
type: string
email:
type: string
format: email
phone:
type: string
address:
$ref: '#/components/schemas/Address'
parameters:
accountId:
name: accountId
in: path
required: true
schema:
type: string
description: The reseller account identifier.
customerId:
name: customerId
in: path
required: true
schema:
type: string
description: The customer account identifier.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: OAuth 2.0 bearer token obtained via the /oauth/token endpoint.