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/telnyx:telnyx-kv-namespaces-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:
version: 2.0.0
x-latency-category: responsive
x-endpoint-cost: light
title: Telnyx kv namespaces API
description: SIP trunking, SMS, MMS, Call Control and Telephony Data Services.
contact:
email: support@telnyx.com
servers:
- url: https://api.telnyx.com/v2
description: Version 2.0.0 of the Telnyx API
security:
- bearerAuth: []
tags:
- name: kv namespaces
description: Manage KV storage namespaces
paths:
/storage/kvs:
get:
description: Lists the KV namespaces for the authenticated user's organization. Results use page-based pagination (`page[number]`/`page[size]`).
tags:
- kv namespaces
summary: List KV namespaces
operationId: ListKvNamespaces
parameters:
- description: The page number to load.
name: page[number]
in: query
schema:
type: integer
minimum: 1
default: 1
- description: The size of the page. Values above 250 are treated as 250.
name: page[size]
in: query
schema:
type: integer
minimum: 1
maximum: 250
default: 20
responses:
'200':
description: KV namespaces retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/KvNamespaceListResponseWrapper'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/GenericErrorResponse'
post:
description: 'Creates a new KV namespace. Provisioning is asynchronous: the namespace is returned with status `pending` and becomes usable once it reaches `provision_ok`.'
tags:
- kv namespaces
summary: Create a KV namespace
operationId: CreateKvNamespace
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateKvNamespaceRequest'
description: KV namespace creation request
required: true
responses:
'201':
description: KV namespace created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/KvNamespaceResponseWrapper'
'400':
description: Bad request — missing or invalid `name`
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'409':
description: Conflict — a namespace with this name already exists for your organization
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/GenericErrorResponse'
/storage/kvs/{id}:
delete:
description: 'Deletes a KV namespace and all of the keys it contains. Deletion is asynchronous: the namespace is returned with status `deleting`. Deleting a namespace whose deletion is already in progress returns a `409`.'
tags:
- kv namespaces
summary: Delete a KV namespace
operationId: DeleteKvNamespace
parameters:
- description: KV namespace ID
name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: KV namespace deletion initiated
content:
application/json:
schema:
$ref: '#/components/schemas/KvNamespaceResponseWrapper'
'400':
description: Bad request — `id` is not a valid UUID
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'404':
description: KV namespace not found
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'409':
description: Conflict — the namespace is already being deleted
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/GenericErrorResponse'
get:
description: Retrieves a KV namespace by its ID, including its provisioning status.
tags:
- kv namespaces
summary: Get a KV namespace
operationId: GetKvNamespace
parameters:
- description: KV namespace ID
name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: KV namespace retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/KvNamespaceResponseWrapper'
'400':
description: Bad request — `id` is not a valid UUID
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'404':
description: KV namespace not found
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/GenericErrorResponse'
components:
schemas:
KvNamespace:
type: object
properties:
record_type:
type: string
example: storage_kv
id:
type: string
format: uuid
example: 550e8400-e29b-41d4-a716-446655440000
name:
type: string
example: my-cache
status:
type: string
description: Provisioning status. A namespace is usable once `status` is `provision_ok`. Once deletion completes, the namespace no longer appears in the API.
enum:
- pending
- provision_ok
- provision_failed
- deleting
- delete_failed
example: provision_ok
created_at:
type: string
format: date-time
example: '2026-06-18T14:48:17Z'
updated_at:
type: string
format: date-time
example: '2026-06-18T14:48:17Z'
CreateKvNamespaceRequest:
type: object
properties:
name:
type: string
description: Namespace name. May contain lowercase letters, numbers, and hyphens only.
pattern: ^[a-z0-9-]+$
minLength: 1
maxLength: 255
example: my-cache
required:
- name
GenericErrorResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/edge-compute_Error'
ErrorSource:
type: object
properties:
parameter:
type: string
example: id
pointer:
type: string
example: /id
edge-compute_PaginationMeta:
type: object
properties:
page_number:
type: integer
example: 1
page_size:
type: integer
example: 20
total_pages:
type: integer
example: 3
total_results:
type: integer
example: 52
KvNamespaceResponseWrapper:
type: object
properties:
data:
$ref: '#/components/schemas/KvNamespace'
Errors:
properties:
errors:
type: array
items:
$ref: '#/components/schemas/billing-group_Error'
type: object
edge-compute_Error:
type: object
properties:
code:
type: string
example: '10005'
detail:
type: string
example: The requested function does not exist or you don't have access to it
meta:
$ref: '#/components/schemas/ErrorMeta'
source:
$ref: '#/components/schemas/ErrorSource'
title:
type: string
example: Function not found
KvNamespaceListResponseWrapper:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/KvNamespace'
meta:
$ref: '#/components/schemas/edge-compute_PaginationMeta'
ErrorMeta:
type: object
properties:
url:
type: string
example: https://docs.telnyx.com/api/errors/10005
billing-group_Error:
type: object
required:
- code
- title
properties:
code:
type: integer
format: int32
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
description: JSON pointer (RFC6901) to the offending entity.
type: string
parameter:
description: Indicates which query parameter caused the error.
type: string
meta:
type: object
properties: {}
additionalProperties: true
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: API key
description: 'Telnyx API key supplied as `Authorization: Bearer <token>`. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.'
Payment:
type: apiKey
in: header
name: Authorization
description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.'
agent-memory_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key
bearerAuth:
type: http
scheme: bearer
branded-calling_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
collections_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization.
number-reputation_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
oauthClientAuth:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
authorizationCode:
authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
tokenUrl: https://api.telnyx.com/v2/oauth/token
refreshUrl: https://api.telnyx.com/v2/oauth/token
scopes:
admin: Administrative access to Telnyx resources
description: OAuth 2.0 authentication for Telnyx API and MCP integrations
outbound-voice-profiles_bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
pronunciation-dicts_bearerAuth:
type: http
scheme: bearer
description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
rcs-registration_bearerAuth:
type: http
scheme: bearer
bearerFormat: API key
stored-payment-transactions_bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
transcriptions-search_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key. Results are automatically scoped to the authenticated user's organization.
web-search_bearerAuth:
type: http
scheme: bearer
description: Telnyx API key
x-service-info:
categories:
- communication
- developer-tools
docs:
apiReference: https://developers.telnyx.com
homepage: https://telnyx.com
llms: https://telnyx.com/llms.txt