{"id":"3872ba1f-e3e7-46a4-b226-e8647523ab83","shortId":"MrbfgT","kind":"skill","title":"telnyx-voice-curl","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Voice - curl\n\n## Installation\n\n```text\n# curl is pre-installed on macOS, Linux, and Windows 10+\n```\n\n## Setup\n\n```bash\nexport TELNYX_API_KEY=\"YOUR_API_KEY_HERE\"\n```\n\nAll examples below use `$TELNYX_API_KEY` for authentication.\n\n## Error Handling\n\nAll API calls can fail with network errors, rate limits (429), validation errors (422),\nor authentication errors (401). Always handle errors in production code:\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"to\": \"+13125550001\",\n  \"from\": \"+18005550101\",\n  \"connection_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n}' \\\n  \"https://api.telnyx.com/v2/calls\"\n```\n\nCommon error codes: `401` invalid API key, `403` insufficient permissions,\n`404` resource not found, `422` validation error (check field formats),\n`429` rate limited (retry with exponential backoff).\n\n## Important Notes\n\n- **Phone numbers** must be in E.164 format (e.g., `+13125550001`). Include the `+` prefix and country code. No spaces, dashes, or parentheses.\n- **Pagination:** List endpoints return paginated results. Use `page[number]` and `page[size]` query parameters to navigate pages. Check `meta.total_pages` in the response.\n\n## Operational Caveats\n\n- Call Control is event-driven. After `dial()` or an inbound webhook, issue follow-up commands from webhook handlers using the `call_control_id` in the event payload.\n- Outbound and inbound flows are different: outbound calls start with `dial()`, while inbound calls must be answered from the incoming webhook before other commands run.\n- A publicly reachable webhook endpoint is required for real call control. Without it, calls may connect but your application cannot drive the live call state.\n\n## Reference Use Rules\n\nDo not invent Telnyx parameters, enums, response fields, or webhook fields.\n\n- If the parameter, enum, or response field you need is not shown inline in this skill, read [references/api-details.md](references/api-details.md) before writing code.\n- Before using any operation in `## Additional Operations`, read [the optional-parameters section](references/api-details.md#optional-parameters) and [the response-schemas section](references/api-details.md#response-schemas).\n- Before reading or matching webhook fields beyond the inline examples, read [the webhook payload reference](references/api-details.md#webhook-payload-fields).\n\n## Core Tasks\n\n### Dial an outbound call\n\nPrimary voice entrypoint. Agents need the async call-control identifiers returned here.\n\n`POST /calls`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `to` | string (E.164) | Yes | The DID or SIP URI to dial out to. |\n| `from` | string (E.164) | Yes | The `from` number to be used as the caller id presented to t... |\n| `connection_id` | string (UUID) | Yes | The ID of the Call Control App (formerly ID of the connectio... |\n| `timeout_secs` | integer | No | The number of seconds that Telnyx will wait for the call to ... |\n| `billing_group_id` | string (UUID) | No | Use this field to set the Billing Group ID for the call. |\n| `client_state` | string | No | Use this field to add state to every subsequent webhook. |\n| ... | | | +48 optional params in [references/api-details.md](references/api-details.md) |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"to\": \"+13125550001\",\n  \"from\": \"+18005550101\",\n  \"connection_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n}' \\\n  \"https://api.telnyx.com/v2/calls\"\n```\n\nPrimary response fields:\n- `.data.call_control_id`\n- `.data.call_leg_id`\n- `.data.call_session_id`\n- `.data.is_alive`\n- `.data.recording_id`\n- `.data.call_duration`\n\n### Answer an inbound call\n\nPrimary inbound call-control command.\n\n`POST /calls/{call_control_id}/actions/answer`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `call_control_id` | string (UUID) | Yes | Unique identifier and token for controlling the call |\n| `billing_group_id` | string (UUID) | No | Use this field to set the Billing Group ID for the call. |\n| `client_state` | string | No | Use this field to add state to every subsequent webhook. |\n| `webhook_url` | string (URL) | No | Use this field to override the URL for which Telnyx will sen... |\n| ... | | | +26 optional params in [references/api-details.md](references/api-details.md) |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  \"https://api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ/actions/answer\"\n```\n\nPrimary response fields:\n- `.data.result`\n- `.data.recording_id`\n\n### Transfer a live call\n\nCommon post-answer control path with downstream webhook implications.\n\n`POST /calls/{call_control_id}/actions/transfer`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `to` | string (E.164) | Yes | The DID or SIP URI to dial out to. |\n| `call_control_id` | string (UUID) | Yes | Unique identifier and token for controlling the call |\n| `timeout_secs` | integer | No | The number of seconds that Telnyx will wait for the call to ... |\n| `client_state` | string | No | Use this field to add state to every subsequent webhook. |\n| `webhook_url` | string (URL) | No | Use this field to override the URL for which Telnyx will sen... |\n| ... | | | +33 optional params in [references/api-details.md](references/api-details.md) |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"to\": \"+18005550100\"\n}' \\\n  \"https://api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ/actions/transfer\"\n```\n\nPrimary response fields:\n- `.data.result`\n\n---\n\n### Webhook Verification\n\nTelnyx signs webhooks with Ed25519. Each request includes `telnyx-signature-ed25519`\nand `telnyx-timestamp` headers. Always verify signatures in production:\n\n```bash\n# Telnyx signs webhooks with Ed25519 (asymmetric — NOT HMAC/Standard Webhooks).\n# Headers sent with each webhook:\n#   telnyx-signature-ed25519: base64-encoded Ed25519 signature\n#   telnyx-timestamp: Unix timestamp (reject if >5 minutes old for replay protection)\n#\n# Get your public key from: Telnyx Portal > Account Settings > Keys & Credentials\n# Use the Telnyx SDK in your language for verification (client.webhooks.unwrap).\n# Your endpoint MUST return 2xx within 2 seconds or Telnyx will retry (up to 3 attempts).\n# Configure a failover URL in Telnyx Portal for additional reliability.\n```\n\n## Webhooks\n\nThese webhook payload fields are inline because they are part of the primary integration path.\n\n### Call Answered\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: call.answered | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook ev... |\n\n### Call Hangup\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: call.hangup | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.call_leg_id` | string | ID that is unique to the call and can be used to correlate webhook events. |\n| `data.payload.call_session_id` | string | ID that is unique to the call session and can be used to correlate webhook ev... |\n\n### Call Initiated\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.record_type` | enum: event | Identifies the type of the resource. |\n| `data.event_type` | enum: call.initiated | The type of event being delivered. |\n| `data.id` | uuid | Identifies the type of resource. |\n| `data.occurred_at` | date-time | ISO 8601 datetime of when the event occurred. |\n| `data.payload.call_control_id` | string | Call ID used to issue commands via Call Control API. |\n| `data.payload.connection_id` | string | Call Control App ID (formerly Telnyx connection ID) used in the call. |\n| `data.payload.connection_codecs` | string | The list of comma-separated codecs enabled for the connection. |\n| `data.payload.offered_codecs` | string | The list of comma-separated codecs offered by caller. |\n\nIf you need webhook fields that are not listed inline here, read [the webhook payload reference](references/api-details.md#webhook-payload-fields) before writing the handler.\n\n---\n\n## Important Supporting Operations\n\nUse these when the core tasks above are close to your flow, but you need a common variation or follow-up step.\n\n### Hangup call\n\nEnd a live call from your webhook-driven control flow.\n\n`POST /calls/{call_control_id}/actions/hangup`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `call_control_id` | string (UUID) | Yes | Unique identifier and token for controlling the call |\n| `client_state` | string | No | Use this field to add state to every subsequent webhook. |\n| `command_id` | string (UUID) | No | Use this field to avoid duplicate commands. |\n| `custom_headers` | array[object] | No | Custom headers to be added to the SIP BYE message. |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  \"https://api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ/actions/hangup\"\n```\n\nPrimary response fields:\n- `.data.result`\n\n### Bridge calls\n\nTrigger a follow-up action in an existing workflow rather than creating a new top-level resource.\n\n`POST /calls/{call_control_id}/actions/bridge`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `call_control_id` | string (UUID) | Yes | The Call Control ID of the call you want to bridge with, can... |\n| `call_control_id` | string (UUID) | Yes | Unique identifier and token for controlling the call |\n| `client_state` | string | No | Use this field to add state to every subsequent webhook. |\n| `command_id` | string (UUID) | No | Use this field to avoid duplicate commands. |\n| `video_room_id` | string (UUID) | No | The ID of the video room you want to bridge with, can't be u... |\n| ... | | | +16 optional params in [references/api-details.md](references/api-details.md) |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"call_control_id\": \"v3:MdI91X4lWFEs7IgbBEOT9M4AigoY08M0WWZFISt1Yw2axZ_IiE4pqg\"\n}' \\\n  \"https://api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ/actions/bridge\"\n```\n\nPrimary response fields:\n- `.data.result`\n\n### Reject a call\n\nTrigger a follow-up action in an existing workflow rather than creating a new top-level resource.\n\n`POST /calls/{call_control_id}/actions/reject`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `cause` | enum (CALL_REJECTED, USER_BUSY) | Yes | Cause for call rejection. |\n| `call_control_id` | string (UUID) | Yes | Unique identifier and token for controlling the call |\n| `client_state` | string | No | Use this field to add state to every subsequent webhook. |\n| `command_id` | string (UUID) | No | Use this field to avoid duplicate commands. |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"cause\": \"USER_BUSY\"\n}' \\\n  \"https://api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ/actions/reject\"\n```\n\nPrimary response fields:\n- `.data.result`\n\n### Retrieve a call status\n\nFetch the current state before updating, deleting, or making control-flow decisions.\n\n`GET /calls/{call_control_id}`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `call_control_id` | string (UUID) | Yes | Unique identifier and token for controlling the call |\n\n```bash\ncurl -H \"Authorization: Bearer $TELNYX_API_KEY\" \"https://api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ\"\n```\n\nPrimary response fields:\n- `.data.call_control_id`\n- `.data.call_duration`\n- `.data.call_leg_id`\n- `.data.call_session_id`\n- `.data.client_state`\n- `.data.end_time`\n\n### List all active calls for given connection\n\nFetch the current state before updating, deleting, or making control-flow decisions.\n\n`GET /connections/{connection_id}/active_calls`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `connection_id` | string (UUID) | Yes | Telnyx connection id |\n| `page` | object | No | Consolidated page parameter (deepObject style). |\n\n```bash\ncurl -H \"Authorization: Bearer $TELNYX_API_KEY\" \"https://api.telnyx.com/v2/connections/1293384261075731461/active_calls\"\n```\n\nResponse wrapper:\n- items: `.data`\n- pagination: `.meta`\n\nPrimary item fields:\n- `call_control_id`\n- `call_duration`\n- `call_leg_id`\n- `call_session_id`\n- `client_state`\n- `record_type`\n\n### List call control applications\n\nInspect available resources or choose an existing resource before mutating it.\n\n`GET /call_control_applications`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `sort` | enum (created_at, connection_name, active) | No | Specifies the sort order for results. |\n| `filter` | object | No | Consolidated filter parameter (deepObject style). |\n| `page` | object | No | Consolidated page parameter (deepObject style). |\n\n```bash\ncurl -H \"Authorization: Bearer $TELNYX_API_KEY\" \"https://api.telnyx.com/v2/call_control_applications?sort=connection_name\"\n```\n\nResponse wrapper:\n- items: `.data`\n- pagination: `.meta`\n\nPrimary item fields:\n- `id`\n- `created_at`\n- `updated_at`\n- `active`\n- `anchorsite_override`\n- `application_name`\n\n---\n\n## Additional Operations\n\nUse the core tasks above first. The operations below are indexed here with exact SDK methods and required params; use [references/api-details.md](references/api-details.md) for full optional params, response schemas, and lower-frequency webhook payloads.\nBefore using any operation below, read [the optional-parameters section](references/api-details.md#optional-parameters) and [the response-schemas section](references/api-details.md#response-schemas) so you do not guess missing fields.\n\n| Operation | SDK method | Endpoint | Use when | Required params |\n|-----------|------------|----------|----------|-----------------|\n| Create a call control application | HTTP only | `POST /call_control_applications` | Create or provision an additional resource when the core tasks do not cover this flow. | `application_name`, `webhook_event_url` |\n| Retrieve a call control application | HTTP only | `GET /call_control_applications/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Update a call control application | HTTP only | `PATCH /call_control_applications/{id}` | Modify an existing resource without recreating it. | `application_name`, `webhook_event_url`, `id` |\n| Delete a call control application | HTTP only | `DELETE /call_control_applications/{id}` | Remove, detach, or clean up an existing resource. | `id` |\n| SIP Refer a call | HTTP only | `POST /calls/{call_control_id}/actions/refer` | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | `sip_address`, `call_control_id` |\n| Send SIP info | HTTP only | `POST /calls/{call_control_id}/actions/send_sip_info` | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | `content_type`, `body`, `call_control_id` |\n\n### Other Webhook Events\n\n| Event | `data.event_type` | Description |\n|-------|-------------------|-------------|\n| `callBridged` | `call.bridged` | Call Bridged |\n\n---\n\nFor exhaustive optional parameters, full response schemas, and complete webhook payloads, see [references/api-details.md](references/api-details.md).","tags":["telnyx","voice","curl","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-voice-curl","topic-agent-skills","topic-ai-coding-agent","topic-claude-code","topic-cpaas","topic-cursor","topic-iot","topic-llm","topic-sdk","topic-sip","topic-sms","topic-speech-to-text","topic-telephony"],"categories":["ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/team-telnyx/ai/telnyx-voice-curl","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (16,930 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:54:52.179Z","embedding":null,"createdAt":"2026-04-18T22:08:23.262Z","updatedAt":"2026-04-22T00:54:52.179Z","lastSeenAt":"2026-04-22T00:54:52.179Z","tsv":"'+13125550001':83,134,476 '+16':1463 '+18005550100':742 '+18005550101':85,478 '+26':591 '+33':719 '+48':453 '/actions/answer':523 '/actions/bridge':1378 '/actions/hangup':1270 '/actions/refer':2019 '/actions/reject':1525 '/actions/send_sip_info':2054 '/actions/transfer':640 '/active_calls':1700 '/call_control_applications':1772,1921,1950,1974,1997 '/calls':353,519,636,1266,1374,1521,1625,2015,2050 '/connections':1697 '/v2/call_control_applications?sort=connection_name':1817 '/v2/calls':96,489 '/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq':1657 '/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/answer':614 '/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/bridge':1493 '/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/hangup':1347 '/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/reject':1602 '/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/transfer':745 '/v2/connections/1293384261075731461/active_calls':1731 '10':20 '2':838 '2xx':836 '3':846 '401':59,100 '403':104 '404':107 '41d4':91,484 '422':55,111 '429':52,117 '446655440000':93,486 '5':805 '550e8400':88,481 '8601':912,1025,1138 'a716':92,485 'account':818 'action':1359,1506,2025,2060 'activ':1678,1783,1832 'ad':1324 'add':447,568,696,1297,1424,1563 'addit':291,856,1837,1926 'address':2040 'agent':342 'aliv':503 'alway':60,769 'anchorsit':1833 'answer':216,508,628,875 'api':25,28,36,43,74,102,467,605,733,932,1045,1158,1338,1477,1589,1653,1727,1813 'api.telnyx.com':95,488,613,744,1346,1492,1601,1656,1730,1816 'api.telnyx.com/v2/call_control_applications?sort=connection_name':1815 'api.telnyx.com/v2/calls':94,487 'api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq':1655 'api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/answer':612 'api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/bridge':1491 'api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/hangup':1345 'api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/reject':1600 'api.telnyx.com/v2/calls/v3:550e8400-e29b-41d4-a716-446655440000_gru1ogrkyq/actions/transfer':743 'api.telnyx.com/v2/connections/1293384261075731461/active_calls':1729 'app':399,938,1051,1164 'applic':243,1759,1835,1917,1937,1946,1970,1983,1993 'application/json':80,473,611,739,1344,1483,1595 'array':1317 'asymmetr':780 'async':345 'attempt':847 'authent':39,57 'author':71,464,602,730,1335,1474,1586,1650,1724,1810 'avail':1761 'avoid':1312,1439,1578 'backoff':123 'base64':794 'base64-encoded':793 'bash':22,66,459,597,725,774,1330,1469,1581,1647,1721,1807 'bearer':72,465,603,731,1336,1475,1587,1651,1725,1811 'beyond':319 'bill':421,433,542,554 'bodi':2076 'bridg':1352,1399,1457,2090 'busi':1535,1599 'bye':1328 'call':44,171,193,207,213,234,238,248,338,347,397,419,438,511,515,520,528,541,559,624,637,658,671,686,874,923,930,936,947,958,977,987,1036,1043,1049,1060,1071,1090,1100,1149,1156,1162,1173,1253,1257,1267,1275,1288,1353,1375,1383,1390,1395,1402,1415,1485,1500,1522,1532,1539,1541,1554,1609,1626,1633,1646,1679,1741,1744,1746,1749,1757,1915,1944,1968,1991,2011,2016,2041,2051,2077,2089 'call-control':346,514 'call.answered':892 'call.bridged':2088 'call.hangup':1005 'call.initiated':1118 'callbridg':2087 'caller':383,1200 'cannot':244 'caus':1530,1537,1597 'caveat':170 'check':114,163 'choos':1764 'clean':2002 'client':439,560,688,1289,1416,1555,1752 'client.webhooks.unwrap':831 'close':1237 'code':65,99,140,285 'codec':1175,1183,1189,1197 'comma':1181,1195 'comma-separ':1180,1194 'command':187,223,517,928,1041,1154,1303,1314,1430,1441,1569,1580 'common':97,625,1245 'complet':2099 'configur':848 'connect':86,240,388,479,942,1055,1168,1187,1682,1698,1705,1711,1781 'connectio':404 'consolid':1716,1794,1802 'content':78,471,609,737,1342,1481,1593,2074 'content-typ':77,470,608,736,1341,1480,1592 'control':172,194,235,348,398,494,516,521,529,539,629,638,659,669,920,931,937,1033,1044,1050,1146,1157,1163,1263,1268,1276,1286,1376,1384,1391,1403,1413,1486,1523,1542,1552,1621,1627,1634,1644,1662,1693,1742,1758,1916,1945,1962,1969,1992,2017,2042,2052,2078 'control-flow':1620,1692,1961 'core':333,1233,1841,1930 'correl':964,984,1077,1097 'countri':139 'cover':1934 'creat':1366,1513,1779,1828,1913,1922,2032,2067 'credenti':821 'curl':4,7,10,67,460,598,726,1331,1470,1582,1648,1722,1808 'current':1613,1685,1954 'custom':1315,1320 'd':81,474,740,1484,1596 'dash':143 'data':1735,1821 'data.call':493,496,499,506,1661,1664,1666,1669 'data.client':1672 'data.end':1674 'data.event':889,1002,1115,2084 'data.id':899,1012,1125 'data.is':502 'data.occurred':906,1019,1132 'data.payload.call':919,948,967,1032,1061,1080,1145 'data.payload.connection':933,1046,1159,1174 'data.payload.offered':1188 'data.record':879,992,1105 'data.recording':504,619 'data.result':618,749,1351,1497,1606 'date':909,1022,1135 'date-tim':908,1021,1134 'datetim':913,1026,1139 'decis':1623,1695,1964 'deepobject':1719,1797,1805 'delet':1617,1689,1958,1989,1996 'deliv':898,1011,1124 'descript':357,527,644,878,991,1104,1274,1382,1529,1632,1704,1776,2086 'detach':2000 'dial':178,210,335,368,655 'differ':205 'downstream':632 'drive':245 'driven':176,1262 'duplic':1313,1440,1579 'durat':507,1665,1745 'e.164':131,360,373,647 'e.g':133 'e29b':90,483 'e29b-41d4-a716':89,482 'ed25519':756,763,779,792,796 'enabl':1184 'encod':795 'end':1254 'endpoint':148,229,833,1908 'entrypoint':341 'enum':258,267,881,891,994,1004,1107,1117,1531,1778 'error':40,49,54,58,62,98,113 'ev':986,1099 'event':175,198,882,896,917,966,995,1009,1030,1079,1108,1122,1143,1940,1986,2082,2083 'event-driven':174 'everi':450,571,699,1300,1427,1566 'exact':1852 'exampl':32,322 'exhaust':2092 'exist':1362,1509,1766,1978,2005,2028,2063 'exponenti':122 'export':23 'fail':46 'failov':850 'fetch':1611,1683,1952 'field':115,260,263,270,318,332,429,445,492,550,566,581,617,694,709,748,862,876,989,1102,1205,1221,1295,1310,1350,1422,1437,1496,1561,1576,1605,1660,1740,1826,1904 'filter':1791,1795 'first':1844 'flow':203,1240,1264,1622,1694,1936,1963 'follow':185,1249,1357,1504,2023,2058 'follow-up':184,1248,1356,1503,2022,2057 'format':116,132 'former':400,940,1053,1166 'found':110 'frequenc':1870 'full':1862,2095 'get':811,1624,1696,1771,1949 'given':1681 'group':422,434,543,555 'guess':1902 'h':70,76,463,469,601,607,729,735,1334,1340,1473,1479,1585,1591,1649,1723,1809 'handl':41,61 'handler':190,1225 'hangup':988,1252 'header':768,784,1316,1321 'hmac/standard':782 'http':1918,1947,1971,1994,2012,2047 'id':87,195,384,389,394,401,423,435,480,495,498,501,505,522,530,544,556,620,639,660,921,924,934,939,943,950,952,969,971,1034,1037,1047,1052,1056,1063,1065,1082,1084,1147,1150,1160,1165,1169,1269,1277,1304,1377,1385,1392,1404,1431,1444,1449,1487,1524,1543,1570,1628,1635,1663,1668,1671,1699,1706,1712,1743,1748,1751,1827,1951,1965,1975,1988,1998,2007,2018,2043,2053,2079 'identifi':349,535,665,883,901,996,1014,1109,1127,1282,1409,1548,1640 'iie4pqg':1490 'implic':634 'import':124,1226 'inbound':181,202,212,510,513 'includ':135,759 'incom':219 'index':1849 'info':2046 'initi':1101 'inlin':276,321,864,1210 'inspect':1760 'instal':8,14 'insuffici':105 'integ':407,674 'integr':872 'invalid':101 'invent':255 'iso':911,1024,1137 'issu':183,927,1040,1153 'item':1734,1739,1820,1825 'key':26,29,37,75,103,468,606,734,814,820,1339,1478,1590,1654,1728,1814 'languag':828 'leg':497,949,1062,1667,1747 'level':1371,1518,2037,2072 'limit':51,119 'linux':17 'list':147,1178,1192,1209,1676,1756 'live':247,623,1256 'lower':1869 'lower-frequ':1868 'maco':16 'make':1619,1691,1960 'match':316 'may':239 'mdi91x4lwfes7igbbeot9m4aigoy08m0wwzfist1yw2axz':1489 'messag':1329 'meta':1737,1823 'meta.total':164 'method':1854,1907 'minut':806 'miss':1903 'modifi':1976 'must':128,214,834 'mutat':1769 'name':1782,1836,1938,1984 'navig':161 'need':272,343,1203,1243 'network':48 'new':1368,1515,2034,2069 'note':125 'number':127,154,377,410,677 'object':1318,1714,1792,1800 'occur':918,1031,1144 'offer':1198 'old':807 'oper':169,289,292,1228,1838,1846,1876,1905 'option':296,301,454,592,720,1464,1863,1881,1886,2093 'optional-paramet':295,300,1880,1885 'order':1788 'outbound':200,206,337 'overrid':583,711,1834 'page':153,156,162,165,1713,1717,1799,1803 'pagin':146,150,1736,1822 'param':455,593,721,1465,1857,1864,1912 'paramet':159,257,266,297,302,354,524,641,1271,1379,1526,1629,1701,1718,1773,1796,1804,1882,1887,2094 'parenthes':145 'part':868 'patch':1973 'path':630,873 'payload':199,326,331,861,1215,1220,1872,2101 'permiss':106 'phone':126 'portal':817,854 'post':69,352,462,518,600,627,635,728,1265,1333,1373,1472,1520,1584,1920,2014,2049 'post-answ':626 'pre':13 'pre-instal':12 'prefix':137 'present':385 'primari':339,490,512,615,746,871,1348,1494,1603,1658,1738,1824 'product':64,773 'protect':810 'provis':1924 'public':226,813 'queri':158 'rate':50,118 'rather':1364,1511,2030,2065 'reachabl':227 'read':280,293,314,323,1212,1878 'real':233 'record':1754 'recreat':1981 'refer':250,327,1216,2009 'references/api-details.md':281,282,299,309,328,457,458,595,596,723,724,1217,1467,1468,1859,1860,1884,1894,2103,2104 'reject':803,1498,1533,1540 'reliabl':857 'remov':1999 'replay':809 'request':758 'requir':231,356,526,643,1273,1381,1528,1631,1703,1775,1856,1911 'resourc':108,888,905,1001,1018,1114,1131,1372,1519,1762,1767,1927,1979,2006,2038,2073 'respons':168,259,269,306,311,491,616,747,1349,1495,1604,1659,1732,1818,1865,1891,1896,2096 'response-schema':305,310,1890,1895 'result':151,1790 'retri':120,843 'retriev':1607,1942 'return':149,350,835 'room':1443,1453 'rule':252 'run':224 'schema':307,312,1866,1892,1897,2097 'sdk':825,1853,1906 'sec':406,673 'second':412,679,839 'section':298,308,1883,1893 'see':2102 'sen':590,718 'send':2044 'sent':785 'separ':1182,1196 'session':500,968,978,1081,1091,1670,1750 'set':431,552,819 'setup':21 'shown':275 'sign':753,776 'signatur':762,771,791,797 'sip':365,652,1327,2008,2039,2045 'size':157 'skill':279 'skill-telnyx-voice-curl' 'sort':1777,1787 'source-team-telnyx' 'space':142 'specifi':1785 'start':208 'state':249,440,448,561,569,689,697,1290,1298,1417,1425,1556,1564,1614,1673,1686,1753,1955 'status':1610 'step':1251 'string':359,372,390,424,441,531,545,562,576,646,661,690,704,922,935,951,970,1035,1048,1064,1083,1148,1161,1176,1190,1278,1291,1305,1386,1405,1418,1432,1445,1544,1557,1571,1636,1707 'style':1720,1798,1806 'subsequ':451,572,700,1301,1428,1567 'support':1227 'task':334,1234,1842,1931 'telnyx':2,5,24,35,73,256,414,466,588,604,681,716,732,752,761,766,775,790,799,816,824,841,853,941,1054,1167,1337,1476,1588,1652,1710,1726,1812 'telnyx-signature-ed25519':760,789 'telnyx-timestamp':765,798 'telnyx-voice-curl':1 'text':9 'time':910,1023,1136,1675 'timeout':405,672 'timestamp':767,800,802 'token':537,667,1284,1411,1550,1642 'top':1370,1517,2036,2071 'top-level':1369,1516,2035,2070 'topic-agent-skills' 'topic-ai-coding-agent' 'topic-claude-code' 'topic-cpaas' 'topic-cursor' 'topic-iot' 'topic-llm' 'topic-sdk' 'topic-sip' 'topic-sms' 'topic-speech-to-text' 'topic-telephony' 'transfer':621 'trigger':1354,1501,2020,2055 'type':79,355,472,525,610,642,738,877,880,885,890,894,903,990,993,998,1003,1007,1016,1103,1106,1111,1116,1120,1129,1272,1343,1380,1482,1527,1594,1630,1702,1755,1774,2075,2085 'u':1462 'uniqu':534,664,955,974,1068,1087,1281,1408,1547,1639 'unix':801 'updat':1616,1688,1830,1957,1966 'uri':366,653 'url':575,577,585,703,705,713,851,1941,1987 'use':34,152,191,251,287,380,427,443,548,564,579,692,707,822,925,944,962,982,1038,1057,1075,1095,1151,1170,1229,1293,1308,1420,1435,1559,1574,1839,1858,1874,1909 'user':1534,1598 'uuid':391,425,532,546,662,900,1013,1126,1279,1306,1387,1406,1433,1446,1545,1572,1637,1708 'v3':1488 'valid':53,112 'variat':1246 'verif':751,830 'verifi':770 'via':929,1042,1155 'video':1442,1452 'voic':3,6,340 'wait':416,683 'want':1397,1455 'webhook':182,189,220,228,262,317,325,330,452,573,574,633,701,702,750,754,777,783,788,858,860,965,985,1078,1098,1204,1214,1219,1261,1302,1429,1568,1871,1939,1985,2081,2100 'webhook-driven':1260 'webhook-payload-field':329,1218 'window':19 'within':837 'without':236,1980 'workflow':1363,1510,2029,2064 'wrapper':1733,1819 'write':284,1223 'x':68,461,599,727,1332,1471,1583 'yes':361,374,392,533,648,663,1280,1388,1407,1536,1546,1638,1709","prices":[{"id":"02331667-ee4b-4370-8560-5265a1589660","listingId":"3872ba1f-e3e7-46a4-b226-e8647523ab83","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"team-telnyx","category":"ai","install_from":"skills.sh"},"createdAt":"2026-04-18T22:08:23.262Z"}],"sources":[{"listingId":"3872ba1f-e3e7-46a4-b226-e8647523ab83","source":"github","sourceId":"team-telnyx/ai/telnyx-voice-curl","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-curl","isPrimary":false,"firstSeenAt":"2026-04-18T22:08:23.262Z","lastSeenAt":"2026-04-22T00:54:52.179Z"}],"details":{"listingId":"3872ba1f-e3e7-46a4-b226-e8647523ab83","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-voice-curl","github":{"repo":"team-telnyx/ai","stars":167,"topics":["agent-skills","ai","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk","sip","sms","speech-to-text","telephony","telnyx","tts","twilio-migration","voice-agents","voice-ai","webrtc","windsurf"],"license":"mit","html_url":"https://github.com/team-telnyx/ai","pushed_at":"2026-04-21T22:09:49Z","description":"Official one-stop shop for AI Agents and developers building with Telnyx.","skill_md_sha":"534b759a51c0e423dd9e091a2e986f85373a445d","skill_md_path":"skills/telnyx-voice-curl/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-voice-curl"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-voice-curl","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-voice-curl"},"updatedAt":"2026-04-22T00:54:52.179Z"}}