Telnyx Clusters API
Identify common themes and patterns in your embedded documents
Identify common themes and patterns in your embedded documents
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/telnyx-clusters-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
contact:
email: support@telnyx.com
description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
title: Telnyx Clusters API
version: 2.0.0
x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- description: Identify common themes and patterns in your embedded documents
name: Clusters
paths:
/ai/clusters:
get:
operationId: list_all_requested_clusters_public_text_clusters_get
parameters:
- description: 'Consolidated page parameter (deepObject style). Originally: page[number], page[size]'
explode: true
in: query
name: page
schema:
properties:
number:
default: 0
title: Page[Number]
type: integer
size:
default: 20
title: Page[Size]
type: integer
type: object
style: deepObject
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ClusteringRequestInfoData'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: List all clusters
tags:
- Clusters
x-latency-category: responsive
post:
description: Starts a background task to compute how the data in an [embedded storage bucket](https://developers.telnyx.com/api-reference/embeddings/embed-documents) is clustered. This helps identify common themes and patterns in the data.
operationId: compute_new_cluster_public_text_clusters_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PublicTextClusteringRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TextClusteringResponseData'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Compute new clusters
tags:
- Clusters
x-latency-category: responsive
/ai/clusters/{task_id}:
delete:
operationId: delete_cluster_by_task_id_public_text_clusters__task_id__delete
parameters:
- in: path
name: task_id
required: true
schema:
title: Task Id
type: string
responses:
'204':
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Delete a cluster
tags:
- Clusters
x-latency-category: responsive
get:
operationId: fetch_cluster_by_task_id_public_text_clusters__task_id__get
parameters:
- in: path
name: task_id
required: true
schema:
title: Task Id
type: string
- description: The number of nodes in the cluster to return in the response. Nodes will be sorted by their centrality within the cluster.
in: query
name: top_n_nodes
required: false
schema:
default: 0
title: Top N Nodes
type: integer
- description: Whether or not to include subclusters and their nodes in the response.
in: query
name: show_subclusters
required: false
schema:
default: false
title: Show Subclusters
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ClusteringStatusResponseData'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Fetch a cluster
tags:
- Clusters
x-latency-category: responsive
/ai/clusters/{task_id}/graph:
get:
operationId: fetch_cluster_image_by_task_id_public_text_clusters__task_id__image_get
parameters:
- in: path
name: task_id
required: true
schema:
title: Task Id
type: string
- in: query
name: cluster_id
required: false
schema:
title: Cluster Id
type: integer
responses:
'200':
content:
image/png:
schema:
format: binary
type: string
description: Successful Response - Returns a PNG image of the cluster visualization.
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
summary: Fetch a cluster visualization
tags:
- Clusters
x-latency-category: responsive
components:
schemas:
Meta:
properties:
page_number:
type: integer
page_size:
type: integer
total_pages:
type: integer
total_results:
type: integer
required:
- total_pages
- total_results
- page_number
- page_size
title: Meta
type: object
ClusteringRequestInfo:
properties:
bucket:
type: string
created_at:
format: date-time
type: string
finished_at:
format: date-time
type: string
min_cluster_size:
type: integer
min_subcluster_size:
type: integer
status:
$ref: '#/components/schemas/TaskStatus'
task_id:
type: string
required:
- task_id
- status
- bucket
- created_at
- finished_at
- min_cluster_size
- min_subcluster_size
title: ClusteringRequestInfo
type: object
ClusteringStatusResponse:
properties:
bucket:
type: string
clusters:
items:
$ref: '#/components/schemas/RecursiveCluster'
type: array
status:
$ref: '#/components/schemas/TaskStatus'
required:
- status
- bucket
- clusters
title: ClusteringStatusResponse
type: object
PublicTextClusteringRequest:
properties:
bucket:
description: The embedded storage bucket to compute the clusters from. The bucket must already be [embedded](https://developers.telnyx.com/api-reference/embeddings/embed-documents).
type: string
files:
description: Array of files to filter which are included.
items:
type: string
type: array
min_cluster_size:
default: 25
description: Smallest number of related text chunks to qualify as a cluster. Top-level clusters should be thought of as identifying broad themes in your data.
type: integer
min_subcluster_size:
default: 5
description: Smallest number of related text chunks to qualify as a sub-cluster. Sub-clusters should be thought of as identifying more specific topics within a broader theme.
type: integer
prefix:
description: Prefix to filter whcih files in the buckets are included.
type: string
required:
- bucket
title: PublicTextClusteringRequest
type: object
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
title: Location
type: array
msg:
title: Message
type: string
type:
title: Error Type
type: string
required:
- loc
- msg
- type
title: ValidationError
type: object
ClusterNode:
properties:
filename:
description: The corresponding source file of your embedded storage bucket that the node is from.
type: string
text:
description: The text of the node.
type: string
required:
- filename
- text
title: ClusterNode
type: object
TaskStatus:
enum:
- pending
- starting
- running
- completed
- failed
title: TaskStatus
type: string
TextClusteringResponseData:
properties:
data:
$ref: '#/components/schemas/TextClusteringResponse'
required:
- data
title: TextClusteringResponseData
type: object
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
title: Detail
type: array
title: HTTPValidationError
type: object
ClusteringStatusResponseData:
properties:
data:
$ref: '#/components/schemas/ClusteringStatusResponse'
required:
- data
title: ClusteringStatusResponseData
type: object
RecursiveCluster:
properties:
cluster_header:
type: string
cluster_id:
type: string
cluster_summary:
type: string
nodes:
items:
$ref: '#/components/schemas/ClusterNode'
type: array
subclusters:
items:
$ref: '#/components/schemas/RecursiveCluster'
type: array
total_number_of_nodes:
type: integer
required:
- cluster_id
- cluster_summary
- total_number_of_nodes
title: RecursiveCluster
type: object
ClusteringRequestInfoData:
properties:
data:
items:
$ref: '#/components/schemas/ClusteringRequestInfo'
type: array
meta:
$ref: '#/components/schemas/Meta'
required:
- data
- meta
title: ClusteringRequestInfoData
type: object
TextClusteringResponse:
properties:
task_id:
type: string
required:
- task_id
title: TextClusteringResponse
type: object
securitySchemes:
bearerAuth:
scheme: bearer
type: http
branded-calling_bearerAuth:
description: API key passed as a Bearer token in the Authorization header
scheme: bearer
type: http
oauthClientAuth:
description: OAuth 2.0 authentication for Telnyx API and MCP integrations
flows:
authorizationCode:
authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
refreshUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
tokenUrl: https://api.telnyx.com/v2/oauth/token
clientCredentials:
scopes:
admin: Administrative access to Telnyx resources
tokenUrl: https://api.telnyx.com/v2/oauth/token
type: oauth2
outbound-voice-profiles_bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http
pronunciation-dicts_bearerAuth:
description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
scheme: bearer
type: http
stored-payment-transactions_bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http