{"id":"cc891f74-043a-43c3-a4af-ddc3d932abf7","shortId":"j7YNwV","kind":"skill","title":"telnyx-messaging-curl","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Messaging - 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      \"text\": \"Hello from Telnyx!\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages\"\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- The sending number must already be assigned to the correct messaging profile before you send traffic from it.\n- US A2P long-code traffic must complete 10DLC registration before production sending or carriers will block or heavily filter messages.\n- Delivery webhooks are asynchronous. Treat the send response as acceptance of the request, not final carrier delivery.\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### Send an SMS\n\nPrimary outbound messaging flow. Agents need exact request fields and delivery-related response fields.\n\n`POST /messages`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `to` | string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |\n| `from` | string (E.164) | Yes | Sending address (+E.164 formatted phone number, alphanumeric... |\n| `text` | string | Yes | Message body (i.e., content) as a non-empty string. |\n| `messaging_profile_id` | string (UUID) | No | Unique identifier for a messaging profile. |\n| `media_urls` | array[string] | No | A list of media URLs. |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| ... | | | +7 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      \"text\": \"Hello from Telnyx!\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.text`\n- `.data.sent_at`\n- `.data.errors`\n\n### Send an SMS with an alphanumeric sender ID\n\nCommon sender variant that requires different request shape.\n\n`POST /messages/alphanumeric_sender_id`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | A valid alphanumeric sender ID on the user's account. |\n| `to` | string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |\n| `text` | string | Yes | The message body. |\n| `messaging_profile_id` | string (UUID) | Yes | The messaging profile ID to use. |\n| `webhook_url` | string (URL) | No | Callback URL for delivery status updates. |\n| `webhook_failover_url` | string (URL) | No | Failover callback URL for delivery status updates. |\n| `use_profile_webhooks` | boolean | No | If true, use the messaging profile's webhook settings. |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"from\": \"MyCompany\",\n  \"to\": \"+13125550001\",\n  \"text\": \"Hello from Telnyx!\",\n  \"messaging_profile_id\": \"550e8400-e29b-41d4-a716-446655440000\"\n}' \\\n  \"https://api.telnyx.com/v2/messages/alphanumeric_sender_id\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.text`\n- `.data.sent_at`\n- `.data.errors`\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### Delivery Update\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.event_type` | enum: message.sent, message.finalized | The type of event being delivered. |\n| `data.payload.id` | uuid | Identifies the type of resource. |\n| `data.payload.to` | array[object] |  |\n| `data.payload.text` | string | Message body (i.e., content) as a non-empty string. |\n| `data.payload.sent_at` | date-time | ISO 8601 formatted date indicating when the message was sent. |\n| `data.payload.completed_at` | date-time | ISO 8601 formatted date indicating when the message was finalized. |\n| `data.payload.cost` | object \\| null |  |\n| `data.payload.errors` | array[object] | These errors may point at addressees when referring to unsuccessful/unconfirm... |\n\n### Inbound Message\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.event_type` | enum: message.received | The type of event being delivered. |\n| `data.payload.id` | uuid | Identifies the type of resource. |\n| `data.payload.direction` | enum: inbound | The direction of the message. |\n| `data.payload.to` | array[object] |  |\n| `data.payload.text` | string | Message body (i.e., content) as a non-empty string. |\n| `data.payload.type` | enum: SMS, MMS | The type of message. |\n| `data.payload.media` | array[object] |  |\n| `data.record_type` | enum: event | Identifies the type of the resource. |\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### Send a group MMS message\n\nSend one MMS payload to multiple recipients.\n\n`POST /messages/group_mms`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | Phone number, in +E.164 format, used to send the message. |\n| `to` | array[object] | Yes | A list of destinations. |\n| `media_urls` | array[string] | No | A list of media URLs. |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhook_failover_url` | string (URL) | No | The failover URL where webhooks related to this message will... |\n| ... | | | +3 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      \"from\": \"+18005550101\",\n      \"to\": [\n          \"+13125550001\"\n      ],\n      \"text\": \"Hello from Telnyx!\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages/group_mms\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.type`\n- `.data.direction`\n- `.data.text`\n\n### Send a long code message\n\nForce a long-code sending path instead of the generic send endpoint.\n\n`POST /messages/long_code`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | Phone number, in +E.164 format, used to send the message. |\n| `to` | string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |\n| `media_urls` | array[string] | No | A list of media URLs. |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhook_failover_url` | string (URL) | No | The failover URL where webhooks related to this message will... |\n| ... | | | +6 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      \"from\": \"+18005550101\",\n      \"to\": \"+13125550001\",\n      \"text\": \"Hello from Telnyx!\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages/long_code\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.type`\n- `.data.direction`\n- `.data.text`\n\n### Send a message using number pool\n\nLet a messaging profile or number pool choose the sender for you.\n\n`POST /messages/number_pool`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `messaging_profile_id` | string (UUID) | Yes | Unique identifier for a messaging profile. |\n| `to` | string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |\n| `media_urls` | array[string] | No | A list of media URLs. |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhook_failover_url` | string (URL) | No | The failover URL where webhooks related to this message will... |\n| ... | | | +6 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      \"messaging_profile_id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"to\": \"+13125550001\",\n      \"text\": \"Hello from Telnyx!\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages/number_pool\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.type`\n- `.data.direction`\n- `.data.text`\n\n### Send a short code message\n\nForce a short-code sending path when the sender must be a short code.\n\n`POST /messages/short_code`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | Phone number, in +E.164 format, used to send the message. |\n| `to` | string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |\n| `media_urls` | array[string] | No | A list of media URLs. |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhook_failover_url` | string (URL) | No | The failover URL where webhooks related to this message will... |\n| ... | | | +6 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      \"from\": \"12345\",\n      \"to\": \"+13125550001\",\n      \"text\": \"Hello from Telnyx!\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages/short_code\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.type`\n- `.data.direction`\n- `.data.text`\n\n### Schedule a message\n\nQueue a message for future delivery instead of sending immediately.\n\n`POST /messages/schedule`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `to` | string (E.164) | Yes | Receiving address (+E.164 formatted phone number or short co... |\n| `messaging_profile_id` | string (UUID) | No | Unique identifier for a messaging profile. |\n| `media_urls` | array[string] | No | A list of media URLs. |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| ... | | | +8 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      \"text\": \"Appointment reminder\",\n      \"send_at\": \"2025-07-01T15:00:00Z\"\n  }' \\\n  \"https://api.telnyx.com/v2/messages/schedule\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.type`\n- `.data.direction`\n- `.data.text`\n\n### Send a WhatsApp message\n\nSend WhatsApp traffic instead of SMS/MMS.\n\n`POST /messages/whatsapp`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | Phone number in +E.164 format associated with Whatsapp accou... |\n| `to` | string (E.164) | Yes | Phone number in +E.164 format |\n| `whatsapp_message` | object | Yes |  |\n| `type` | enum (WHATSAPP) | No | Message type - must be set to \"WHATSAPP\" |\n| `webhook_url` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n  \"from\": \"+13125551234\",\n  \"to\": \"+13125551234\",\n  \"whatsapp_message\": {}\n}' \\\n  \"https://api.telnyx.com/v2/messages/whatsapp\"\n```\n\nPrimary response fields:\n- `.data.id`\n- `.data.to`\n- `.data.from`\n- `.data.type`\n- `.data.direction`\n- `.data.body`\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| Retrieve a message | HTTP only | `GET /messages/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Cancel a scheduled message | HTTP only | `DELETE /messages/{id}` | Remove, detach, or clean up an existing resource. | `id` |\n| List alphanumeric sender IDs | HTTP only | `GET /alphanumeric_sender_ids` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Create an alphanumeric sender ID | HTTP only | `POST /alphanumeric_sender_ids` | Create or provision an additional resource when the core tasks do not cover this flow. | `alphanumeric_sender_id`, `messaging_profile_id` |\n| Retrieve an alphanumeric sender ID | HTTP only | `GET /alphanumeric_sender_ids/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Delete an alphanumeric sender ID | HTTP only | `DELETE /alphanumeric_sender_ids/{id}` | Remove, detach, or clean up an existing resource. | `id` |\n| Retrieve group MMS messages | HTTP only | `GET /messages/group/{message_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `message_id` |\n| List messaging hosted numbers | HTTP only | `GET /messaging_hosted_numbers` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Retrieve a messaging hosted number | HTTP only | `GET /messaging_hosted_numbers/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Update a messaging hosted number | HTTP only | `PATCH /messaging_hosted_numbers/{id}` | Modify an existing resource without recreating it. | `id` |\n| List opt-outs | HTTP only | `GET /messaging_optouts` | Inspect available resources or choose an existing resource before mutating it. | None |\n| List high-level messaging profile metrics | HTTP only | `GET /messaging_profile_metrics` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Regenerate messaging profile secret | HTTP only | `POST /messaging_profiles/{id}/actions/regenerate_secret` | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | `id` |\n| List alphanumeric sender IDs for a messaging profile | HTTP only | `GET /messaging_profiles/{id}/alphanumeric_sender_ids` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Get detailed messaging profile metrics | HTTP only | `GET /messaging_profiles/{id}/metrics` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| List Auto-Response Settings | HTTP only | `GET /messaging_profiles/{profile_id}/autoresp_configs` | Fetch the current state before updating, deleting, or making control-flow decisions. | `profile_id` |\n| Create auto-response setting | HTTP only | `POST /messaging_profiles/{profile_id}/autoresp_configs` | Create or provision an additional resource when the core tasks do not cover this flow. | `op`, `keywords`, `country_code`, `profile_id` |\n| Get Auto-Response Setting | HTTP only | `GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `profile_id`, `autoresp_cfg_id` |\n| Update Auto-Response Setting | HTTP only | `PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` | Modify an existing resource without recreating it. | `op`, `keywords`, `country_code`, `profile_id`, +1 more |\n| Delete Auto-Response Setting | HTTP only | `DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` | Remove, detach, or clean up an existing resource. | `profile_id`, `autoresp_cfg_id` |\n\n### Other Webhook Events\n\n| Event | `data.event_type` | Description |\n|-------|-------------------|-------------|\n| `replacedLinkClick` | `message.link_click` | Replaced Link Click |\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","messaging","curl","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-messaging-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-messaging-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 (19,004 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-22T06:54:38.396Z","embedding":null,"createdAt":"2026-04-18T22:06:37.197Z","updatedAt":"2026-04-22T06:54:38.396Z","lastSeenAt":"2026-04-22T06:54:38.396Z","tsv":"'+1':2227 '+13125550001':83,130,430,574,1033,1168,1308,1445,1555 '+13125551234':1667,1669 '+18005550101':85,432,1031,1166,1557 '+3':1008 '+6':1143,1276,1420 '+7':407 '+8':1532 '-01':1565 '-07':1564 '/actions/regenerate_secret':2032 '/alphanumeric_sender_ids':1807,1828,1858,1882,2066 '/autoresp_configs':2117,2144,2177,2210,2240 '/messages':327,1766,1789 '/messages/alphanumeric_sender_id':467 '/messages/group':1900 '/messages/group_mms':939 '/messages/long_code':1069 '/messages/number_pool':1204 '/messages/schedule':1476 '/messages/short_code':1346 '/messages/whatsapp':1592 '/messaging_hosted_numbers':1925,1946,1970 '/messaging_optouts':1987 '/messaging_profile_metrics':2010 '/messaging_profiles':2030,2064,2089,2114,2141,2174,2207,2237 '/metrics':2091 '/v2/messages':92,439 '/v2/messages/alphanumeric_sender_id':590 '/v2/messages/group_mms':1040 '/v2/messages/long_code':1175 '/v2/messages/number_pool':1315 '/v2/messages/schedule':1571 '/v2/messages/short_code':1452 '/v2/messages/whatsapp':1674 '00':1567 '00z':1568 '10':20 '10dlc':193 '12345':1443 '2':689 '2025':1563 '2xx':687 '3':697 '401':59,96 '403':100 '404':103 '41d4':585,1304 '422':55,107 '429':52,113 '446655440000':587,1306 '5':656 '550e8400':582,1301 '8601':769,784 'a2p':186 'a716':586,1305 'accept':215 'accou':1609 'account':485,669 'action':2038 'addit':264,707,1684,1833,2149 'address':337,350,491,1093,1226,1370,1486 'addresse':804 'agent':315 'alphanumer':355,455,478,1801,1822,1844,1852,1876,2054 'alreadi':171 'alway':60,620 'api':25,28,36,43,74,98,421,563,1022,1157,1290,1434,1546,1658 'api.telnyx.com':91,438,589,1039,1174,1314,1451,1570,1673 'api.telnyx.com/v2/messages':90,437 'api.telnyx.com/v2/messages/alphanumeric_sender_id':588 'api.telnyx.com/v2/messages/group_mms':1038 'api.telnyx.com/v2/messages/long_code':1173 'api.telnyx.com/v2/messages/number_pool':1313 'api.telnyx.com/v2/messages/schedule':1569 'api.telnyx.com/v2/messages/short_code':1450 'api.telnyx.com/v2/messages/whatsapp':1672 'application/json':80,427,569,1028,1163,1296,1440,1552,1664 'appoint':1559 'array':383,749,797,840,863,959,968,1103,1236,1380,1508 'assign':173 'associ':1606 'asymmetr':631 'asynchron':209 'attempt':698 'authent':39,57 'author':71,418,560,1019,1154,1287,1431,1543,1655 'auto':2108,2135,2168,2201,2231 'auto-respons':2107,2134,2167,2200,2230 'autoresp':2178,2196,2211,2241,2254 'avail':1809,1927,1989,2012 'backoff':119 'base64':645 'base64-encoded':644 'bash':22,66,413,555,625,1014,1149,1282,1426,1538,1650 'bearer':72,419,561,1020,1155,1288,1432,1544,1656 'beyond':292 'block':201 'bodi':360,504,754,845 'boolean':544 'call':44 'callback':522,535 'cancel':1782 'carrier':199,221 'caveat':166 'cfg':2179,2197,2212,2242,2255 'check':110,159 'choos':1198,1812,1930,1992,2015 'clean':1794,1887,2247 'click':2266,2269 'client.webhooks.unwrap':682 'close':911 'co':344,498,1100,1233,1377,1493 'code':65,95,136,189,258,1053,1059,1328,1334,1344,2163,2224 'common':93,458,919 'complet':192,2278 'configur':699 'content':78,362,425,567,756,847,1026,1161,1294,1438,1550,1662 'content-typ':77,424,566,1025,1160,1293,1437,1549,1661 'control':1778,1870,1913,1958,2077,2102,2128,2191 'control-flow':1777,1869,1912,1957,2076,2101,2127,2190 'core':306,907,1688,1837,2153 'correct':176 'countri':135,2162,2223 'cover':1841,2157 'creat':1820,1829,2045,2133,2145 'credenti':672 'curl':4,7,10,67,414,556,1015,1150,1283,1427,1539,1651 'current':1770,1862,1905,1950,2069,2094,2120,2183 'd':81,428,570,1029,1164,1297,1441,1553,1665 'dash':139 'data.body':1683 'data.direction':1048,1183,1323,1460,1579,1682 'data.errors':449,600 'data.event':730,814,2261 'data.from':445,596,1046,1181,1321,1458,1577,1680 'data.id':443,594,1044,1179,1319,1456,1575,1678 'data.payload.completed':778 'data.payload.cost':793 'data.payload.direction':831 'data.payload.errors':796 'data.payload.id':741,824 'data.payload.media':862 'data.payload.sent':763 'data.payload.text':751,842 'data.payload.to':748,839 'data.payload.type':854 'data.record':865 'data.sent':447,598 'data.text':446,597,1049,1184,1324,1461,1580 'data.to':444,595,1045,1180,1320,1457,1576,1679 'data.type':1047,1182,1322,1459,1578,1681 'date':766,771,781,786 'date-tim':765,780 'decis':1780,1872,1915,1960,2079,2104,2130,2193 'delet':1774,1788,1866,1874,1881,1909,1954,2073,2098,2124,2187,2229,2236 'deliv':740,823 'deliveri':206,222,322,525,538,725,1470 'delivery-rel':321 'descript':331,471,729,813,943,1073,1208,1350,1480,1596,2263 'destin':965 'detach':1792,1885,2245 'detail':2082 'differ':463 'direct':835 'e.164':127,334,338,347,351,474,488,492,946,951,1076,1081,1090,1094,1223,1227,1353,1358,1367,1371,1483,1487,1599,1604,1612,1617 'e.g':129 'e29b':584,1303 'e29b-41d4-a716':583,1302 'ed25519':607,614,630,643,647 'empti':367,761,852 'encod':646 'endpoint':144,684,1067,1755 'enum':231,240,732,816,832,855,867,1624 'error':40,49,54,58,62,94,109,800 'event':738,821,868,2259,2260 'exact':317,1699 'exampl':32,295 'exhaust':2271 'exist':1797,1814,1890,1932,1974,1994,2017,2041,2216,2250 'exponenti':118 'export':23 'fail':46 'failov':529,534,701,993,999,1128,1134,1261,1267,1405,1411 'fetch':1768,1860,1903,1948,2067,2092,2118,2181 'field':111,233,236,243,291,305,319,325,442,593,713,727,811,879,895,1043,1178,1318,1455,1574,1677,1751 'filter':204 'final':220,792 'first':1691 'flow':314,914,1779,1843,1871,1914,1959,2078,2103,2129,2159,2192 'follow':923,2036 'follow-up':922,2035 'forc':1055,1330 'format':112,128,339,352,493,770,785,952,1082,1095,1228,1359,1372,1488,1605,1618 'found':106 'frequenc':1717 'full':1709,2274 'futur':1469 'generic':1065 'get':662,1765,1806,1857,1899,1924,1945,1986,2009,2063,2081,2088,2113,2166,2173 'group':928,1894 'guess':1749 'h':70,76,417,423,559,565,1018,1024,1153,1159,1286,1292,1430,1436,1542,1548,1654,1660 'handl':41,61 'handler':899 'header':619,635 'heavili':203 'hello':87,434,576,1035,1170,1310,1447 'high':2002 'high-level':2001 'hmac/standard':633 'host':1920,1941,1965 'http':1763,1786,1804,1825,1855,1879,1897,1922,1943,1967,1984,2007,2027,2061,2086,2111,2138,2171,2204,2234 'i.e':361,755,846 'id':371,457,480,507,514,581,1211,1300,1496,1767,1781,1790,1799,1803,1824,1846,1849,1854,1859,1873,1878,1883,1892,1902,1917,1947,1961,1971,1979,2031,2052,2056,2065,2080,2090,2105,2116,2132,2143,2165,2176,2180,2195,2198,2209,2213,2226,2239,2243,2253,2256 'identifi':376,743,826,869,1216,1501 'immedi':1474 'import':120,900 'inbound':809,833 'includ':131,610 'index':1696 'indic':772,787 'inlin':249,294,715,884 'inspect':1808,1926,1988,2011 'instal':8,14 'instead':1062,1471,1588 'insuffici':101 'integr':723 'invalid':97 'invent':228 'iso':768,783 'key':26,29,37,75,99,422,564,665,671,1023,1158,1291,1435,1547,1659 'keyword':2161,2222 'languag':679 'let':1191 'level':2003,2050 'limit':51,115 'link':2268 'linux':17 'list':143,387,883,963,972,1107,1240,1384,1512,1800,1918,1980,2000,2053,2106 'long':188,1052,1058 'long-cod':187,1057 'lower':1716 'lower-frequ':1715 'maco':16 'make':1776,1868,1911,1956,2075,2100,2126,2189 'match':289 'may':801 'media':381,389,966,974,1101,1109,1234,1242,1378,1386,1506,1514 'messag':3,6,177,205,313,359,369,379,403,503,505,512,550,579,753,775,790,810,838,844,861,930,957,988,1006,1054,1087,1123,1141,1187,1193,1209,1219,1256,1274,1298,1329,1364,1400,1418,1464,1467,1494,1504,1528,1584,1620,1627,1646,1671,1762,1785,1847,1896,1901,1916,1919,1940,1964,2004,2024,2059,2083 'message.finalized':734 'message.link':2265 'message.received':817 'message.sent':733 'meta.total':160 'method':1701,1754 'metric':2006,2085 'minut':657 'miss':1750 'mms':857,929,933,1895 'modifi':1972,2214 'multipl':936 'must':124,170,191,685,1340,1629 'mutat':1817,1935,1997,2020 'mycompani':572 'navig':157 'need':245,316,877,917 'network':48 'new':2047 'non':366,760,851 'non-empti':365,759,850 'none':1819,1937,1999,2022 'note':121 'null':795 'number':123,150,169,341,354,495,949,1079,1097,1189,1196,1230,1356,1374,1490,1602,1615,1921,1942,1966 'object':750,794,798,841,864,960,1621 'old':658 'one':932 'op':2160,2221 'oper':165,262,265,902,1685,1693,1723,1752 'opt':1982 'opt-out':1981 'option':269,274,408,1009,1144,1277,1421,1533,1710,1728,1733,2272 'optional-paramet':268,273,1727,1732 'out':1983 'outbound':312 'page':149,152,158,161 'pagin':142,146 'param':409,1010,1145,1278,1422,1534,1704,1711,1759 'paramet':155,230,239,270,275,328,468,940,1070,1205,1347,1477,1593,1729,1734,2273 'parenthes':141 'part':719 'patch':1969 'path':724,1061,1336 'payload':299,304,712,889,894,934,1719,2280 'permiss':102 'phone':122,340,353,494,948,1078,1096,1229,1355,1373,1489,1601,1614 'point':802 'pool':1190,1197 'portal':668,705 'post':69,326,416,466,558,938,1017,1068,1152,1203,1285,1345,1429,1475,1541,1591,1653,1827,2029,2140 'pre':13 'pre-instal':12 'prefix':133 'primari':311,440,591,722,1041,1176,1316,1453,1572,1675 'product':64,196,624 'profil':178,370,380,506,513,542,551,580,1194,1210,1220,1299,1495,1505,1848,2005,2025,2060,2084,2115,2131,2142,2164,2175,2194,2208,2225,2238,2252 'protect':661 'provis':1831,2147 'public':664 'put':2206 'queri':154 'queue':1465 'rate':50,114 'rather':2043 'read':253,266,287,296,886,1725 'receiv':336,490,1092,1225,1369,1485 'recipi':937 'recreat':1977,2219 'refer':223,300,806,890 'references/api-details.md':254,255,272,282,301,411,412,891,1012,1013,1147,1148,1280,1281,1424,1425,1536,1537,1706,1707,1731,1741,2282,2283 'regener':2023 'registr':194 'reject':654 'relat':323,400,985,1003,1120,1138,1253,1271,1397,1415,1525,1643 'reliabl':708 'remind':1560 'remov':1791,1884,2244 'replac':2267 'replacedlinkclick':2264 'replay':660 'request':218,318,464,609 'requir':330,462,470,942,1072,1207,1349,1479,1595,1703,1758 'resourc':104,747,830,874,1798,1810,1815,1834,1891,1928,1933,1975,1990,1995,2013,2018,2051,2150,2217,2251 'respons':164,213,232,242,279,284,324,441,592,1042,1177,1317,1454,1573,1676,1712,1738,1743,2109,2136,2169,2202,2232,2275 'response-schema':278,283,1737,1742 'result':147 'retri':116,694 'retriev':1760,1850,1893,1938 'return':145,686 'rule':225 'schedul':1462,1784 'schema':280,285,1713,1739,1744,2276 'sdk':676,1700,1753 'second':690 'secret':2026 'section':271,281,1730,1740 'see':2281 'send':168,181,197,212,308,349,450,926,931,955,1050,1060,1066,1085,1185,1325,1335,1362,1473,1561,1581,1585 'sender':456,459,479,1200,1339,1802,1823,1845,1853,1877,2055 'sent':406,636,777,991,1126,1259,1403,1531,1649 'set':554,670,1631,2110,2137,2170,2203,2233 'setup':21 'shape':465 'short':343,497,1099,1232,1327,1333,1343,1376,1492 'short-cod':1332 'shown':248 'sign':604,627 'signatur':613,622,642,648 'size':153 'skill':252 'skill-telnyx-messaging-curl' 'sms':310,452,856 'sms/mms':1590 'source-team-telnyx' 'space':138 'state':1771,1863,1906,1951,2070,2095,2121,2184 'status':526,539 'step':925 'string':333,346,357,368,372,384,393,473,487,500,508,519,531,752,762,843,853,945,969,978,995,1075,1089,1104,1113,1130,1212,1222,1237,1246,1263,1352,1366,1381,1390,1407,1482,1497,1509,1518,1598,1611,1636 'support':901 't15':1566 'task':307,908,1689,1838,2154 'telnyx':2,5,24,35,73,89,229,420,436,562,578,603,612,617,626,641,650,667,675,692,704,1021,1037,1156,1172,1289,1312,1433,1449,1545,1657 'telnyx-messaging-curl':1 'telnyx-signature-ed25519':611,640 'telnyx-timestamp':616,649 'text':9,86,356,433,499,575,1034,1169,1309,1446,1558 'time':767,782 'timestamp':618,651,653 'top':2049 'top-level':2048 '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' 'traffic':182,190,1587 'treat':210 'trigger':2033 'true':547 'type':79,329,426,469,568,728,731,736,745,812,815,819,828,859,866,871,941,1027,1071,1162,1206,1295,1348,1439,1478,1551,1594,1623,1628,1663,2262 'uniqu':375,1215,1500 'unix':652 'unsuccessful/unconfirm':808 'updat':527,540,726,1773,1865,1908,1953,1962,2072,2097,2123,2186,2199 'url':382,390,392,394,397,518,520,523,530,532,536,702,967,975,977,979,982,994,996,1000,1102,1110,1112,1114,1117,1129,1131,1135,1235,1243,1245,1247,1250,1262,1264,1268,1379,1387,1389,1391,1394,1406,1408,1412,1507,1515,1517,1519,1522,1635,1637,1640 'us':185 'use':34,148,224,260,516,541,548,673,903,953,1083,1188,1360,1686,1705,1721,1756 'user':483 'uuid':373,509,742,825,1213,1498 'valid':53,108,477 'variant':460 'variat':920 'verif':602,681 'verifi':621 'webhook':207,235,290,298,303,391,399,517,528,543,553,601,605,628,634,639,709,711,878,888,893,976,984,992,1002,1111,1119,1127,1137,1244,1252,1260,1270,1388,1396,1404,1414,1516,1524,1634,1642,1718,2258,2279 'webhook-payload-field':302,892 'whatsapp':1583,1586,1608,1619,1625,1633,1670 'window':19 'within':688 'without':1976,2218 'workflow':2042 'write':257,897 'x':68,415,557,1016,1151,1284,1428,1540,1652 'yes':335,348,358,475,489,501,510,947,961,1077,1091,1214,1224,1354,1368,1484,1600,1613,1622","prices":[{"id":"1d4c61f9-3927-48fa-a984-a069ea7ede43","listingId":"cc891f74-043a-43c3-a4af-ddc3d932abf7","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:06:37.197Z"}],"sources":[{"listingId":"cc891f74-043a-43c3-a4af-ddc3d932abf7","source":"github","sourceId":"team-telnyx/ai/telnyx-messaging-curl","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-messaging-curl","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:37.197Z","lastSeenAt":"2026-04-22T06:54:38.396Z"}],"details":{"listingId":"cc891f74-043a-43c3-a4af-ddc3d932abf7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-messaging-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":"83915173a97b2603aead3acf86080467a77652dd","skill_md_path":"skills/telnyx-messaging-curl/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-messaging-curl"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-messaging-curl","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-messaging-curl"},"updatedAt":"2026-04-22T06:54:38.396Z"}}