telnyx-api — quality + safety report

In the Skillier index (lap__telnyx-com-telnyx-com) · scanned 2026-06-03 · engine: builtin+triage

A
Quality
90/100
Safety

✓ Clean — no heuristic safety flags surfaced.

Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →

Skillproof quality grade A

📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.

Quality notes

Skill is large (~36769 tokens)
medium · quality · body
→ Tighten to the essential procedure; move long reference material to linked files.
No example
low · quality · body
→ Add at least one worked example (input → expected action/output).

About this skill

Telnyx API skill. Use when working with Telnyx for .well-known, 10dlc, access ip address. Covers 946 endpoints.

📄 Read the SKILL.md
---
name: telnyx-api
description: "Telnyx API skill. Use when working with Telnyx for .well-known, 10dlc, access_ip_address. Covers 946 endpoints."
version: 1.0.0
generator: lapsh
---

# Telnyx API
API version: 2.0.0

## Auth
Bearer bearer | OAuth2 | Bearer bearer | Bearer bearer

## Base URL
https://api.telnyx.com/v2

## Setup
1. Set Authorization header with your Bearer token
2. GET /.well-known/oauth-authorization-server -- verify access
3. POST /10dlc/brand -- create first brand

## Endpoints

946 endpoints across 154 groups. See references/api-spec.lap for full details.

### .well-known
| Method | Path | Description |
|--------|------|-------------|
| GET | /.well-known/oauth-authorization-server | Authorization server metadata |
| GET | /.well-known/oauth-protected-resource | Protected resource metadata |

### 10dlc
| Method | Path | Description |
|--------|------|-------------|
| GET | /10dlc/brand | List Brands |
| POST | /10dlc/brand | Create Brand |
| GET | /10dlc/brand/feedback/{brandId} | Get Brand Feedback By Id |
| GET | /10dlc/brand/smsOtp/{referenceId} | Get Brand SMS OTP Status |
| DELETE | /10dlc/brand/{brandId} | Delete Brand |
| GET | /10dlc/brand/{brandId} | Get Brand |
| PUT | /10dlc/brand/{brandId} | Update Brand |
| POST | /10dlc/brand/{brandId}/2faEmail | Resend brand 2FA email |
| GET | /10dlc/brand/{brandId}/externalVetting | List External Vettings |
| POST | /10dlc/brand/{brandId}/externalVetting | Order Brand External Vetting |
| PUT | /10dlc/brand/{brandId}/externalVetting | Import External Vetting Record |
| PUT | /10dlc/brand/{brandId}/revet | Revet Brand |
| GET | /10dlc/brand/{brandId}/smsOtp | Get Brand SMS OTP Status by Brand ID |
| POST | /10dlc/brand/{brandId}/smsOtp | Trigger Brand SMS OTP |
| PUT | /10dlc/brand/{brandId}/smsOtp | Verify Brand SMS OTP |
| GET | /10dlc/campaign | List Campaigns |
| POST | /10dlc/campaign/acceptSharing/{campaignId} | Accept Shared Campaign |
| GET | /10dlc/campaign/usecase/cost | Get Campaign Cost |
| DELETE | /10dlc/campaign/{campaignId} | Deactivate campaign |
| GET | /10dlc/campaign/{campaignId} | Get campaign |
| PUT | /10dlc/campaign/{campaignId} | Update campaign |
| POST | /10dlc/campaign/{campaignId}/appeal | Submit campaign appeal for manual review |
| GET | /10dlc/campaign/{campaignId}/mnoMetadata | Get Campaign Mno Metadata |
| GET | /10dlc/campaign/{campaignId}/operationStatus | Get campaign operation status |
| GET | /10dlc/campaign/{campaignId}/osr/attributes | Get OSR campaign attributes |
| GET | /10dlc/campaign/{campaignId}/sharing | Get Sharing Status |
| POST | /10dlc/campaignBuilder | Submit Campaign |
| GET | /10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase} | Qualify By Usecase |
| GET | /10dlc/enum/{endpoint} | Get Enum |
| GET | /10dlc/partnerCampaign/sharedByMe | List shared partner campaigns |
| GET | /10dlc/partnerCampaign/{campaignId}/sharing | Get Sharing Status |
| GET | /10dlc/partner_campaigns | List Shared Campaigns |
| GET | /10dlc/partner_campaigns/{campaignId} | Get Single Shared Campaign |
| PATCH | /10dlc/partner_campaigns/{campaignId} | Update Single Shared Campaign |
| POST | /10dlc/phoneNumberAssignmentByProfile | Assign Messaging Profile To Campaign |
| GET | /10dlc/phoneNumberAssignmentByProfile/{taskId} | Get Assignment Task Status |
| GET | /10dlc/phoneNumberAssignmentByProfile/{taskId}/phoneNumbers | Get Phone Number Status |
| GET | /10dlc/phone_number_campaigns | List phone number campaigns |
| POST | /10dlc/phone_number_campaigns | Create New Phone Number Campaign |
| DELETE | /10dlc/phone_number_campaigns/{phoneNumber} | Delete Phone Number Campaign |
| GET | /10dlc/phone_number_campaigns/{phoneNumber} | Get Single Phone Number Campaign |
| PUT | /10dlc/phone_number_campaigns/{phoneNumber} | Create New Phone Number Campaign |

### access_ip_address
| Method | Path | Description |
|--------|------|-------------|
| GET | /access_ip_address | List all Access IP Addresses |
| POST | /access_ip_address | Create new Access IP Address |
| DELETE | /access_ip_address/{access_ip_address_id} | Delete access IP address |
| GET | /access_ip_address/{access_ip_address_id} | Retrieve an access IP address |

### access_ip_ranges
| Method | Path | Description |
|--------|------|-------------|
| GET | /access_ip_ranges | List all Access IP Ranges |
| POST | /access_ip_ranges | Create new Access IP Range |
| DELETE | /access_ip_ranges/{access_ip_range_id} | Delete access IP ranges |

### actions
| Method | Path | Description |
|--------|------|-------------|
| POST | /actions/purchase/esims | Purchase eSIMs |
| POST | /actions/register/sim_cards | Register SIM cards |

### addresses
| Method | Path | Description |
|--------|------|-------------|
| GET | /addresses | List all addresses |
| POST | /addresses | Creates an address |
| POST | /addresses/actions/validate | Validate an address |
| DELETE | /addresses/{id} | Deletes an address |
| GET | /addresses/{id} | Retrieve an address |
| POST | /addresses/{id}/actions/accept_suggestions | Accepts this address suggestion as a new emergency address for Operator Connect and finishes the uploads of the numbers associated with it to Microsoft. |

### advanced_orders
| Method | Path | Description |
|--------|------|-------------|
| GET | /advanced_orders | List Advanced Orders |
| POST | /advanced_orders | Create Advanced Order |
| PATCH | /advanced_orders/{advanced-order-id}/requirement_group | Update Advanced Order |
| GET | /advanced_orders/{order_id} | Get Advanced Order |

### ai
| Method | Path | Description |
|--------|------|-------------|
| GET | /ai/assistants | List assistants |
| POST | /ai/assistants | Create an assistant |
| POST | /ai/assistants/import | Import assistants from external provider |
| GET | /ai/assistants/tests | List assistant tests with pagination |
| POST | /ai/assistants/tests | Create a new assistant test |
| GET | /ai/assistants/tests/test-suites | Get all test suite names |
| GET | /ai/assistants/tests/test-suites/{suite_name}/runs | Get test suite run history |
| POST | /ai/assistants/tests/test-suites/{suite_name}/runs | Trigger test suite execution |
| DELETE | /ai/assistants/tests/{test_id} | Delete an assistant test |
| GET | /ai/assistants/tests/{test_id} | Get assistant test by ID |
| PUT | /ai/assistants/tests/{test_id} | Update an assistant test |
| GET | /ai/assistants/tests/{test_id}/runs | Get test run history for a specific test |
| POST | /ai/assistants/tests/{test_id}/runs | Trigger a manual test run |
| GET | /ai/assistants/tests/{test_id}/runs/{run_id} | Get specific test run details |
| DELETE | /ai/assistants/{assistant_id} | Delete an assistant |
| GET | /ai/assistants/{assistant_id} | Get an assistant |
| POST | /ai/assistants/{assistant_id} | Update an assistant |
| DELETE | /ai/assistants/{assistant_id}/canary-deploys | Delete Canary Deploy |
| GET | /ai/assistants/{assistant_id}/canary-deploys | Get Canary Deploy |
| POST | /ai/assistants/{assistant_id}/canary-deploys | Create Canary Deploy |
| PUT | /ai/assistants/{assistant_id}/canary-deploys | Update Canary Deploy |
| POST | /ai/assistants/{assistant_id}/chat | Assistant Chat (BETA) |
| POST | /ai/assistants/{assistant_id}/chat/sms | Assistant Sms Chat |
| POST | /ai/assistants/{assistant_id}/clone | Clone Assistant |
| GET | /ai/assistants/{assistant_id}/scheduled_events | List scheduled events |
| POST | /ai/assistants/{assistant_id}/scheduled_events | Create a scheduled event |
| DELETE | /ai/assistants/{assistant_id}/scheduled_events/{event_id} | Delete a scheduled event |
| GET | /ai/assistants/{assistant_id}/scheduled_events/{event_id} | Get a scheduled event |
| GET | /ai/assistants/{assistant_id}/texml | Get assistant texml |
| POST | /ai/assistants/{assistant_id}/tools/{tool_id}/test | Test Assistant Tool |
| GET | /ai/assistants/{assistant_id}/versions | Get all versions of an assistant |
| DELETE | /ai/assistants/{assistant_id}/versions/{version_id} | Delete a specific assistant version |
| GET | /ai/assistants/{assistant_id}/versions/{version_id} | Get a specific assistant version |
| POST | /ai/assistants/{assistant_id}/versions/{version_id} | Update a specific assistant version |
| POST | /ai/assistants/{assistant_id}/versions/{version_id}/promote | Promote an assistant version to main |
| POST | /ai/audio/transcriptions | Transcribe speech to text |
| POST | /ai/chat/completions | Create a chat completion |
| GET | /ai/clusters | List all clusters |
| POST | /ai/clusters | Compute new clusters |
| DELETE | /ai/clusters/{task_id} | Delete a cluster |
| GET | /ai/clusters/{task_id} | Fetch a cluster |
| GET | /ai/clusters/{task_id}/graph | Fetch a cluster visualization |
| GET | /ai/conversations | List conversations |
| POST | /ai/conversations | Create a conversation |
| GET | /ai/conversations/insight-groups | Get Insight Template Groups |
| POST | /ai/conversations/insight-groups | Create Insight Template Group |
| DELETE | /ai/conversations/insight-groups/{group_id} | Delete Insight Template Group |
| GET | /ai/conversations/insight-groups/{group_id} | Get Insight Template Group |
| PUT | /ai/conversations/insight-groups/{group_id} | Update Insight Template Group |
| POST | /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/assign | Assign Insight Template To Group |
| DELETE | /ai/conversations/insight-groups/{group_id}/insights/{insight_id}/unassign | Unassign Insight Template From Group |
| GET | /ai/conversations/insights | Get Insight Templates |
| POST | /ai/conversations/insights | Create Insight Template |
| DELETE | /ai/conversations/insights/{insight_id} | Delete Insight Template |
| GET | /ai/conversations/insights/{insight_id} | Get Insight Template |
| PUT | /ai/conversations/insights/{insight_id} | Update Insight Template |
| DELETE | /ai/conversations/{conversation_id} | Delete a conversation |
| GET | /ai/conversations/{conversation_id} | Get a conversation |
| PUT | /ai/conversations/{conversation_id} | Update conversation metadata |
| GET | /ai/conversations/{conversation_id}/conversations-insights | Get insights for a conversation |
| POST | /ai/conversations/{conversation_id}/message | Create Message |
| GET | /ai/conversations/{conversation_id}/messages | Get conversation messages |
| GET | /ai/embeddings | Get Tasks by Status |
| POST | /ai/embeddings | Embed documents |
| GET | /ai/embeddings/buckets | List embedded buckets |
| DELETE | /ai/embeddings/buckets/{bucket_name} | Disable AI for an Embedded Bucket |
| GET | /ai/embeddings/buckets/{bucket_name} | Get file-level embedding statuses for a bucket |
| POST | /ai/embeddings/similarity-search | Search for documents |
| POST | /ai/embeddings/url | Embed URL content |
| GET | /ai/embeddings/{task_id} | Get an embedding task's status |
| GET | /ai/fine_tuning/jobs | List fine tuning jobs |
| POST | /ai/fine_tuning/jobs | Create a fine tuning job |
| GET | /ai/fine_tuning/jobs/{job_id} | Get a fine tuning job |
| POST | /ai/fine_tuning/jobs/{job_id}/cancel | Cancel a fine tuning job |
| GET | /ai/integrations | List Integrations |
| GET | /ai/integrations/connections | List User Integrations |
| DELETE | /ai/integrations/connections/{user_connection_id} | Delete Integration Connection |
| GET | /ai/integrations/connections/{user_connection_id} | Get User Integration connection By Id |
| GET | /ai/integrations/{integration_id} | List Integration By Id |
| GET | /ai/mcp_servers | List MCP Servers |
| POST | /ai/mcp_servers | Create MCP Server |
| DELETE | /ai/mcp_servers/{mcp_server_id} | Delete MCP Server |
| GET | /ai/mcp_servers/{mcp_server_id} | Get MCP Server |
| PUT | /ai/mcp_servers/{mcp_server_id} | Update MCP Server |
| GET | /ai/missions | List missions |
| POST | /ai/missions | Create mission |
| GET | /ai/missions/events | List recent events |
| GET | /ai/missions/runs | List recent runs |
| DELETE | /ai/missions/{mission_id} | Delete mission |
| GET | /ai/missions/{mission_id} | Get mission |

… (truncated)
Scan or optimize your own skill →

Want a live grade + an embeddable README badge? Run your skill through the free scanner.

Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.