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/td-synnex-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 Partner Authentication Customers 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: Customers
description: End customer account management
paths:
/v3/accounts/{accountId}/customers:
get:
operationId: listCustomers
summary: List Customers
description: List all end customers associated with the partner account.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/AccountId'
- name: page
in: query
description: Page number for pagination
schema:
type: integer
default: 1
- name: pageSize
in: query
description: Number of results per page
schema:
type: integer
default: 25
responses:
'200':
description: List of customers
content:
application/json:
schema:
type: object
properties:
customers:
type: array
items:
$ref: '#/components/schemas/Customer'
totalCount:
type: integer
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createCustomer
summary: Create Customer
description: Add a new end customer to the platform.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/AccountId'
requestBody:
required: true
description: New customer details
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerRequest'
responses:
'201':
description: Customer created successfully
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: Modify an existing end customer's information.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/CustomerId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerRequest'
responses:
'200':
description: Customer updated
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'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: Fetch linked cloud provider profile details for a specific 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'
components:
responses:
NotFound:
description: Not Found - Requested resource does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad Request - Invalid request parameters or body
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - Valid OAuth 2.0 token required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Address:
type: object
properties:
street:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
CloudProfile:
type: object
description: A customer's cloud provider account profile
properties:
profileId:
type: string
vendor:
type: string
example: Microsoft
tenantId:
type: string
status:
type: string
CustomerRequest:
type: object
required:
- companyName
- email
properties:
companyName:
type: string
email:
type: string
phone:
type: string
address:
$ref: '#/components/schemas/Address'
Customer:
type: object
description: An end customer account
properties:
customerId:
type: string
description: Unique customer identifier
companyName:
type: string
description: Customer's company name
email:
type: string
description: Primary contact email
phone:
type: string
description: Primary contact phone
address:
$ref: '#/components/schemas/Address'
status:
type: string
enum:
- ACTIVE
- INACTIVE
- SUSPENDED
createdDate:
type: string
format: date-time
modifiedDate:
type: string
format: date-time
Error:
type: object
properties:
code:
type: string
description: Error code
message:
type: string
description: Human-readable error message
details:
type: array
items:
type: string
parameters:
CustomerId:
name: customerId
in: path
required: true
description: End customer identifier
schema:
type: string
AccountId:
name: accountId
in: path
required: true
description: Partner account identifier
schema:
type: string
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