{"id":"e38f15b5-9f4f-4157-8a97-e7ce1de73165","shortId":"vLNRmk","kind":"skill","title":"telnyx-whatsapp-curl","tagline":">-","description":"# Telnyx WhatsApp Business API - 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      \"from\": \"+19452940762\",\n      \"to\": \"+18005551234\",\n      \"type\": \"WHATSAPP\",\n      \"whatsapp_message\": {\n        \"type\": \"text\",\n        \"text\": { \"body\": \"Hello from Telnyx!\" }\n      }\n  }' \\\n  \"https://api.telnyx.com/v2/messages/whatsapp\"\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### WhatsApp-Specific Errors\n\n- **40008** — Meta catch-all error. Check template parameters, phone number formatting, and 24-hour window rules.\n- **131047** — Message failed to send during the 24-hour window. The customer hasn't messaged you first (for non-template messages).\n- **131026** — Recipient phone number is not a WhatsApp user.\n- **132000** — Template parameter count mismatch. Ensure the number of parameters matches the template definition.\n- **132015** — Template paused or disabled by Meta due to quality issues.\n\n## Important Notes\n\n- **Phone numbers** must be in E.164 format (e.g., `+13125550001`). Include the `+` prefix and country code.\n- **Template messages** can be sent anytime. Free-form (session) messages can only be sent within a 24-hour window after the customer last messaged you.\n- **Template IDs**: You can reference templates by Telnyx UUID (`template_id`) instead of `name` + `language`. When `template_id` is provided, name and language are resolved automatically.\n- **Billing types**: Template messages are billed as `whatsapp_marketing`, `whatsapp_utility`, `whatsapp_authentication`, or `whatsapp_authentication_international` based on category and destination.\n\n## Operational Caveats\n\n- The sending phone number must be registered with a WhatsApp Business Account (WABA) and associated with a messaging profile.\n- Templates must be in `APPROVED` status before they can be used for sending.\n- Template names must be lowercase with underscores only (e.g., `order_confirmation`). No spaces, hyphens, or uppercase.\n- When creating templates, provide realistic sample values for body parameters — Meta reviewers check these during approval.\n- Category selection matters for billing: `AUTHENTICATION` templates get special pricing but must contain an OTP. `UTILITY` is for transactional messages. `MARKETING` for promotional content.\n- Meta may reclassify your template category (e.g., UTILITY to MARKETING) which affects billing.\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 a WhatsApp template message\n\nSend a pre-approved template message. Templates can be sent anytime — no 24-hour window restriction.\n\n`POST /messages/whatsapp`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | WhatsApp-enabled phone number in +E.164 format |\n| `to` | string (E.164) | Yes | Recipient phone number in +E.164 format |\n| `type` | string | No | Must be `WHATSAPP` |\n| `whatsapp_message.type` | string | Yes | Must be `template` |\n| `whatsapp_message.template.name` | string | Yes* | Template name (e.g., `order_confirmation`) |\n| `whatsapp_message.template.language.code` | string | Yes* | Language code (e.g., `en_US`) |\n| `whatsapp_message.template.template_id` | string (UUID) | No | Telnyx template UUID. If provided, `name` and `language` are resolved from DB |\n| `whatsapp_message.template.components` | array | No | Template parameter values |\n| `messaging_profile_id` | string (UUID) | No | Messaging profile to use |\n| `webhook_url` | string (URL) | No | Callback URL for delivery status updates |\n\n*Required unless `template_id` is provided.\n\n```bash\n# Send by template name + language\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n      \"from\": \"+19452940762\",\n      \"to\": \"+18005551234\",\n      \"type\": \"WHATSAPP\",\n      \"whatsapp_message\": {\n        \"type\": \"template\",\n        \"template\": {\n          \"name\": \"order_confirmation\",\n          \"language\": { \"code\": \"en_US\" },\n          \"components\": [\n            {\n              \"type\": \"body\",\n              \"parameters\": [\n                { \"type\": \"text\", \"text\": \"ORD-12345\" },\n                { \"type\": \"text\", \"text\": \"March 15, 2026\" }\n              ]\n            }\n          ]\n        }\n      }\n  }' \\\n  \"https://api.telnyx.com/v2/messages/whatsapp\"\n```\n\n```bash\n# Send by Telnyx template_id (no name/language needed)\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n      \"from\": \"+19452940762\",\n      \"to\": \"+18005551234\",\n      \"type\": \"WHATSAPP\",\n      \"whatsapp_message\": {\n        \"type\": \"template\",\n        \"template\": {\n          \"template_id\": \"019cd44b-3a1c-781b-956e-bd33e9fd2ac6\",\n          \"components\": [\n            {\n              \"type\": \"body\",\n              \"parameters\": [\n                { \"type\": \"text\", \"text\": \"483291\" }\n              ]\n            }\n          ]\n        }\n      }\n  }' \\\n  \"https://api.telnyx.com/v2/messages/whatsapp\"\n```\n\nPrimary response fields:\n- `.data.id` — Message UUID\n- `.data.to[0].status` — `queued`, `sent`, `delivered`, `failed`\n- `.data.from.phone_number`\n- `.data.type` — `WHATSAPP`\n\n### Send a free-form WhatsApp text message\n\nSend a text message within the 24-hour customer service window (customer must have messaged you first).\n\n`POST /messages/whatsapp`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `from` | string (E.164) | Yes | WhatsApp-enabled phone number |\n| `to` | string (E.164) | Yes | Recipient phone number |\n| `whatsapp_message.type` | string | Yes | `text` |\n| `whatsapp_message.text.body` | string | Yes | Message content |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n      \"from\": \"+19452940762\",\n      \"to\": \"+18005551234\",\n      \"type\": \"WHATSAPP\",\n      \"whatsapp_message\": {\n        \"type\": \"text\",\n        \"text\": { \"body\": \"Your order has shipped!\" }\n      }\n  }' \\\n  \"https://api.telnyx.com/v2/messages/whatsapp\"\n```\n\n### List WhatsApp Business Accounts\n\nRetrieve all WABAs associated with your Telnyx account.\n\n`GET /v2/whatsapp/business_accounts`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `page[number]` | integer | No | Page number (default: 1) |\n| `page[size]` | integer | No | Page size (default: 20) |\n\n```bash\ncurl \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  \"https://api.telnyx.com/v2/whatsapp/business_accounts\"\n```\n\nPrimary response fields:\n- `.data[].id` — Telnyx WABA UUID\n- `.data[].waba_id` — Meta WABA ID\n- `.data[].name` — Business name\n- `.data[].status` — Account status\n- `.data[].country` — WABA country\n\n### List templates\n\nRetrieve message templates, optionally filtered by WABA.\n\n`GET /v2/whatsapp/message_templates`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `waba_id` | string (UUID) | No | Filter by Telnyx WABA UUID (query parameter) |\n| `category` | string | No | Filter by category: `AUTHENTICATION`, `MARKETING`, `UTILITY` |\n| `status` | string | No | Filter by status: `APPROVED`, `PENDING`, `REJECTED`, `DISABLED` |\n| `page[number]` | integer | No | Page number |\n| `page[size]` | integer | No | Page size |\n\n```bash\ncurl \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  \"https://api.telnyx.com/v2/whatsapp/message_templates?waba_id=019c1ff0-5c30-7f36-8436-730b1d0b0e56&status=APPROVED\"\n```\n\nPrimary response fields:\n- `.data[].id` — Telnyx template UUID (use this as `template_id` when sending)\n- `.data[].name` — Template name\n- `.data[].category` — `AUTHENTICATION`, `MARKETING`, or `UTILITY`\n- `.data[].language` — Language code (e.g., `en_US`)\n- `.data[].status` — `APPROVED`, `PENDING`, `REJECTED`, `DISABLED`\n- `.data[].components` — Template components (header, body, footer, buttons)\n\n### Create a message template\n\nSubmit a new template for Meta review. Templates typically take minutes to hours for approval.\n\n`POST /v2/whatsapp/message_templates`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `waba_id` | string (UUID) | Yes | Telnyx WABA UUID (body parameter) |\n| `name` | string | Yes | Lowercase with underscores only (e.g., `order_update`) |\n| `category` | string | Yes | `AUTHENTICATION`, `MARKETING`, or `UTILITY` |\n| `language` | string | Yes | Language code (e.g., `en_US`) |\n| `components` | array | Yes | Template components |\n\n```bash\ncurl \\\n  -X POST \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n      \"waba_id\": \"019c1ff0-5c30-7f36-8436-730b1d0b0e56\",\n      \"name\": \"order_shipped\",\n      \"category\": \"UTILITY\",\n      \"language\": \"en_US\",\n      \"components\": [\n        {\n          \"type\": \"BODY\",\n          \"text\": \"Your order {{1}} has been shipped and will arrive by {{2}}.\",\n          \"example\": {\n            \"body_text\": [[\"ORD-12345\", \"March 20, 2026\"]]\n          }\n        }\n      ]\n  }' \\\n  \"https://api.telnyx.com/v2/whatsapp/message_templates\"\n```\n\nPrimary response fields:\n- `.data.id` — Telnyx template UUID\n- `.data.name` — Template name\n- `.data.status` — Initially `PENDING` until Meta approves\n\n### List phone numbers\n\n`GET /v2/whatsapp/phone_numbers`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `waba_id` | string (UUID) | No | Filter by Telnyx WABA UUID (query parameter) |\n\n```bash\ncurl \\\n  -H \"Authorization: Bearer $TELNYX_API_KEY\" \\\n  \"https://api.telnyx.com/v2/whatsapp/phone_numbers?waba_id=019c1ff0-5c30-7f36-8436-730b1d0b0e56\"\n```\n\nPrimary response fields:\n- `.data[].phone_number` — Phone number in E.164 format\n- `.data[].number_id` — Meta phone number ID\n- `.data[].quality_rating` — `GREEN`, `YELLOW`, or `RED`\n- `.data[].messaging_limit_tier` — Current messaging tier\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## Webhooks\n\nThese webhook payload fields are inline because they are part of the primary integration path.\n\n### Message Delivery Update\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `data.event_type` | enum: message.sent, message.finalized | Delivery status event |\n| `data.payload.id` | uuid | Message ID |\n| `data.payload.to[0].status` | string | `queued`, `sent`, `delivered`, `read`, `failed` |\n| `data.payload.template_id` | string | Telnyx template UUID (if template message) |\n| `data.payload.template_name` | string | Template name (if template message) |\n| `data.payload.cost` | object | Cost information |\n| `data.payload.errors` | array | Error details if failed |\n\n### Template Status Change\n\nConfigure webhook events on your WABA to receive template lifecycle notifications.\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `event_type` | string | `whatsapp.template.approved`, `whatsapp.template.rejected`, `whatsapp.template.disabled` |\n| `payload.template_id` | string | Telnyx template UUID |\n| `payload.template_name` | string | Template name |\n| `payload.status` | string | New template status |\n| `payload.reason` | string | Rejection/disable reason (if applicable) |\n| `payload.waba_id` | string | WABA ID |\n\n### Phone Number Quality Change\n\n| Field | Type | Description |\n|-------|------|-------------|\n| `event_type` | string | `whatsapp.phone_number.quality_changed` |\n| `payload.phone_number` | string | Phone number in E.164 format |\n| `payload.previous_quality_rating` | string | Previous rating (GREEN, YELLOW, RED) |\n| `payload.new_quality_rating` | string | New rating |\n\n## Template Best Practices\n\n- **Naming**: Use lowercase with underscores. Be descriptive (e.g., `appointment_reminder`, not `msg1`).\n- **Sample values**: Provide realistic examples in the `example` field — Meta reviewers check these.\n- **Category selection**:\n  - `AUTHENTICATION` — OTP/verification codes only. Gets special pricing.\n  - `UTILITY` — Transactional (order updates, shipping, account alerts).\n  - `MARKETING` — Promotional content, offers, newsletters.\n- **Keep it concise**: Meta prefers shorter templates. Avoid unnecessary formatting.\n- **Avoid prohibited content**: No misleading claims, prohibited products, or URL shorteners in template body.\n- **Parameters**: Use `{{1}}`, `{{2}}`, etc. for variable content. Always provide the correct number of parameters when sending.\n\n## Important Supporting Operations\n\n| Operation | Endpoint | Use Case |\n|-----------|----------|----------|\n| Get template details | `GET /v2/whatsapp_message_templates/{id}` | Check template status, view components |\n| Get business profile | `GET /v2/whatsapp/phone_numbers/{phone_number}/profile` | View business display name, photo, description |\n| Configure WABA settings | `PATCH /v2/whatsapp/business_accounts/{id}/settings` | Subscribe to template/account events |\n\n## Additional Operations\n\n| Operation | Method | Endpoint | Use Case | Required Params |\n|-----------|--------|----------|----------|-----------------|\n| Send WhatsApp message | POST | `/messages/whatsapp` | Send template or free-form message | `from`, `to`, `whatsapp_message` |\n| List WABAs | GET | `/v2/whatsapp/business_accounts` | List all business accounts | — |\n| Get WABA | GET | `/v2/whatsapp/business_accounts/{id}` | Get WABA details | `id` |\n| List templates | GET | `/v2/whatsapp/message_templates` | List templates with filtering | — |\n| Get template | GET | `/v2/whatsapp_message_templates/{id}` | Get template details | `id` |\n| Create template | POST | `/v2/whatsapp/message_templates` | Create new template | `waba_id`, `name`, `category`, `language`, `components` |\n| List phone numbers | GET | `/v2/whatsapp/phone_numbers` | List WABA phone numbers | — |\n| Get business profile | GET | `/v2/whatsapp/phone_numbers/{phone_number}/profile` | View profile info | `phone_number` |\n| Update business profile | PATCH | `/v2/whatsapp/phone_numbers/{phone_number}/profile` | Update profile info | `phone_number` |\n| Get WABA settings | GET | `/v2/whatsapp/business_accounts/{id}/settings` | View WABA settings/webhook config | `id` |\n| Update WABA settings | PATCH | `/v2/whatsapp/business_accounts/{id}/settings` | Set webhook URL and events | `id` |","tags":["telnyx","whatsapp","curl","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-whatsapp-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-whatsapp-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 (15,540 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:56.434Z","embedding":null,"createdAt":"2026-04-18T22:08:50.990Z","updatedAt":"2026-04-22T00:54:56.434Z","lastSeenAt":"2026-04-22T00:54:56.434Z","tsv":"'+13125550001':216 '+18005551234':87,637,697,816 '+19452940762':85,635,695,814 '-12345':660,1135 '-730':1106 '/messages/whatsapp':508,767,1547 '/profile':1516,1622,1635 '/settings':1529,1647,1659 '/v2/messages/whatsapp':101,669,723,831 '/v2/whatsapp/business_accounts':845,876,1527,1562,1570,1645,1657 '/v2/whatsapp/message_templates':913,1038,1141,1579,1596 '/v2/whatsapp/message_templates?waba_id=019c1ff0-5c30-7f36-8436-730b1d0b0e56&status=approved':971 '/v2/whatsapp/phone_numbers':1162,1513,1610,1619,1632 '/v2/whatsapp/phone_numbers?waba_id=019c1ff0-5c30-7f36-8436-730b1d0b0e56':1189 '/v2/whatsapp_message_templates':1502,1587 '0':731,1281 '019c1ff0':1102 '019c1ff0-5c30-7f36':1101 '019cd44b':708 '019cd44b-3a1c-781b-956e-bd33e9fd2ac6':707 '1':857,1122,1476 '10':22 '131026':172 '131047':150 '132000':181 '132015':195 '15':665 '2':1130,1477 '20':865,1137 '2026':666,1138 '24':146,157,240,503,755 '3a1c':709 '40008':133 '401':61,105 '403':109 '404':112 '422':57,116 '429':54,122 '483291':720 '5c30':1103 '781b':710 '7f36':1104 '8436':1105 '956e':711 'account':310,835,843,897,1443,1566 'addit':441,1534 'affect':398 'alert':1444 'alway':62,1241,1482 'anytim':228,501 'api':8,27,30,38,45,76,107,626,686,805,872,967,1091,1185 'api.telnyx.com':100,668,722,830,875,970,1140,1188 'api.telnyx.com/v2/messages/whatsapp':99,667,721,829 'api.telnyx.com/v2/whatsapp/business_accounts':874 'api.telnyx.com/v2/whatsapp/message_templates':1139 'api.telnyx.com/v2/whatsapp/message_templates?waba_id=019c1ff0-5c30-7f36-8436-730b1d0b0e56&status=approved':969 'api.telnyx.com/v2/whatsapp/phone_numbers?waba_id=019c1ff0-5c30-7f36-8436-730b1d0b0e56':1187 'applic':1360 'application/json':82,632,692,811,1097 'appoint':1412 'approv':322,362,494,945,1006,1036,1157 'array':581,1079,1311 'arriv':1128 'associ':313,839 'authent':41,59,287,290,368,936,993,1066,1431 'author':73,623,683,802,869,964,1088,1182 'automat':274 'avoid':1457,1460 'b1d0b0e56':1107 'backoff':128 'base':292 'bash':24,68,613,670,797,866,961,1083,1179 'bd33e9fd2ac6':712 'bearer':74,624,684,803,870,965,1089,1183 'best':1402 'beyond':469 'bill':275,280,367,399 'bodi':95,355,654,715,824,1015,1051,1118,1132,1473 'busi':7,309,834,893,1510,1518,1565,1616,1629 'button':1017 'call':46 'callback':601 'case':1497,1540 'catch':136 'catch-al':135 'categori':294,363,392,930,935,992,1063,1111,1429,1603 'caveat':298 'chang':1318,1369,1377 'check':119,139,359,1427,1504 'claim':1465 'code':67,104,222,435,559,649,1000,1074,1433 'common':102 'compon':652,713,1011,1013,1078,1082,1116,1508,1605 'concis':1452 'config':1651 'configur':1319,1523 'confirm':341,554,647 'contain':375 'content':80,386,630,690,796,809,1095,1447,1462,1481 'content-typ':79,629,689,808,1094 'core':483 'correct':1485 'cost':1308 'count':184 'countri':221,900,902 'creat':348,1018,1593,1597 'curl':4,9,12,69,619,679,798,867,962,1084,1180 'current':1219 'custom':161,245,757,760 'd':83,633,693,812,1098 'data':880,885,891,895,899,975,987,991,997,1004,1010,1193,1201,1208,1215 'data.event':1268 'data.from.phone':737 'data.id':727,1145 'data.name':1149 'data.payload.cost':1306 'data.payload.errors':1310 'data.payload.id':1276 'data.payload.template':1289,1298 'data.payload.to':1280 'data.status':1152 'data.to':730 'data.type':739 'db':579 'default':856,864 'definit':194 'deliv':735,1286 'deliveri':604,1263,1273 'descript':512,771,849,917,1042,1166,1267,1332,1372,1410,1522 'destin':296 'detail':1313,1500,1574,1591 'disabl':199,948,1009 'display':1519 'due':202 'e.164':213,515,523,527,533,774,783,1199,1384 'e.g':215,339,393,552,560,1001,1060,1075,1411 'ed25519':1228,1235 'en':561,650,1002,1076,1114 'enabl':519,778 'endpoint':1495,1538 'ensur':186 'enum':408,417,1270 'error':42,51,56,60,64,103,118,132,138,1312 'etc':1478 'event':1275,1321,1333,1373,1533,1664 'exampl':34,472,1131,1420,1423 'exponenti':127 'export':25 'fail':48,152,736,1288,1315 'field':120,410,413,420,468,482,726,879,974,1144,1192,1250,1265,1330,1370,1424 'filter':909,923,933,942,1172,1583 'first':166,765 'footer':1016 'form':231,745,1553 'format':121,144,214,524,534,1200,1385,1459 'found':115 'free':230,744,1552 'free-form':229,743,1551 'get':370,844,912,1161,1435,1498,1501,1509,1512,1561,1567,1569,1572,1578,1584,1586,1589,1609,1615,1618,1641,1644 'green':1211,1392 'h':72,78,622,628,682,688,801,807,868,963,1087,1093,1181 'handl':43,63 'hasn':162 'header':1014,1240 'hello':96 'hour':147,158,241,504,756,1034 'hyphen':344 'id':250,259,266,564,588,610,675,706,881,887,890,919,976,984,1044,1100,1168,1203,1207,1279,1290,1340,1362,1365,1503,1528,1571,1575,1588,1592,1601,1646,1652,1658,1665 'import':206,1491 'includ':217,1231 'info':1625,1638 'inform':1309 'initi':1153 'inlin':426,471,1252 'instal':10,16 'instead':260 'insuffici':110 'integ':852,860,951,957 'integr':1260 'intern':291 'invalid':106 'invent':405 'issu':205 'keep':1450 'key':28,31,39,77,108,627,687,806,873,968,1092,1186 'languag':263,271,558,575,618,648,998,999,1070,1073,1113,1604 'last':246 'lifecycl':1328 'limit':53,124,1217 'linux':19 'list':832,903,1158,1559,1563,1576,1580,1606,1611 'lowercas':335,1056,1406 'maco':18 'march':664,1136 'market':283,383,396,937,994,1067,1445 'match':191,466 'matter':365 'may':388 'messag':91,151,164,171,224,233,247,278,316,382,489,496,586,592,641,701,728,748,752,763,795,820,906,1020,1216,1220,1262,1278,1297,1305,1545,1554,1558 'message.finalized':1272 'message.sent':1271 'meta':134,201,357,387,888,1027,1156,1204,1425,1453 'method':1537 'minut':1032 'mislead':1464 'mismatch':185 'msg1':1415 'must':210,303,319,333,374,538,544,761 'name':262,269,332,551,573,617,645,892,894,988,990,1053,1108,1151,1299,1302,1346,1349,1404,1520,1602 'name/language':677 'need':422,678 'network':50 'new':1024,1352,1399,1598 'newslett':1449 'non':169 'non-templ':168 'note':207 'notif':1329 'number':143,175,188,209,302,521,531,738,780,787,851,855,950,954,1160,1195,1197,1202,1206,1367,1379,1382,1486,1515,1608,1614,1621,1627,1634,1640 'object':1307 'offer':1448 'oper':297,439,442,1493,1494,1535,1536 'option':446,451,908 'optional-paramet':445,450 'ord':659,1134 'order':340,553,646,826,1061,1109,1121,1440 'otp':377 'otp/verification':1432 'page':850,854,858,862,949,953,955,959 'param':1542 'paramet':141,183,190,356,407,416,447,452,509,584,655,716,768,846,914,929,1039,1052,1163,1178,1474,1488 'part':1256 'patch':1526,1631,1656 'path':1261 'paus':197 'payload':476,481,1249 'payload.new':1395 'payload.phone':1378 'payload.previous':1386 'payload.reason':1355 'payload.status':1350 'payload.template':1339,1345 'payload.waba':1361 'pend':946,1007,1154 'permiss':111 'phone':142,174,208,301,520,530,779,786,1159,1194,1196,1205,1366,1381,1514,1607,1613,1620,1626,1633,1639 'photo':1521 'post':71,507,621,681,766,800,1037,1086,1546,1595 'practic':1403 'pre':15,493 'pre-approv':492 'pre-instal':14 'prefer':1454 'prefix':219 'previous':1390 'price':372,1437 'primari':724,877,972,1142,1190,1259 'product':66,1245,1467 'profil':317,587,593,1511,1617,1624,1630,1637 'prohibit':1461,1466 'promot':385,1446 'provid':268,350,572,612,1418,1483 'qualiti':204,1209,1368,1387,1396 'queri':928,1177 'queu':733,1284 'rate':52,123,1210,1388,1391,1397,1400 'read':430,443,464,473,1287 'realist':351,1419 'reason':1358 'receiv':1326 'recipi':173,529,785 'reclassifi':389 'red':1214,1394 'refer':253,400,477 'references/api-details.md':431,432,449,459,478 'regist':305 'reject':947,1008 'rejection/disable':1357 'remind':1413 'request':1230 'requir':511,607,770,848,916,1041,1165,1541 'resolv':273,577 'resourc':113 'respons':409,419,456,461,725,878,973,1143,1191 'response-schema':455,460 'restrict':506 'retri':125 'retriev':836,905 'review':358,1028,1426 'rule':149,402 'sampl':352,1416 'schema':457,462 'section':448,458 'select':364,1430 'send':154,300,330,485,490,614,671,741,749,986,1490,1543,1548 'sent':227,237,500,734,1285 'servic':758 'session':232 'set':1525,1643,1655,1660 'settings/webhook':1650 'setup':23 'ship':828,1110,1125,1442 'shorten':1470 'shorter':1455 'shown':425 'sign':1225 'signatur':1234,1243 'size':859,863,956,960 'skill':429 'skill-telnyx-whatsapp-curl' 'source-team-telnyx' 'space':343 'special':371,1436 'specif':131 'status':323,605,732,896,898,939,944,1005,1274,1282,1317,1354,1506 'string':514,526,536,542,548,556,565,589,598,773,782,789,793,920,931,940,1045,1054,1064,1071,1169,1283,1291,1300,1335,1341,1347,1351,1356,1363,1375,1380,1389,1398 'submit':1022 'subscrib':1530 'support':1492 'take':1031 'task':484 'telnyx':2,5,26,37,75,98,256,406,568,625,673,685,804,842,871,882,925,966,977,1048,1090,1146,1174,1184,1224,1233,1238,1292,1342 'telnyx-signature-ed25519':1232 'telnyx-timestamp':1237 'telnyx-whatsapp-curl':1 'templat':140,170,182,193,196,223,249,254,258,265,277,318,331,349,369,391,488,495,497,546,550,569,583,609,616,643,644,674,703,704,705,904,907,978,983,989,1012,1021,1025,1029,1081,1147,1150,1293,1296,1301,1304,1316,1327,1343,1348,1353,1401,1456,1472,1499,1505,1549,1577,1581,1585,1590,1594,1599 'template/account':1532 'text':11,93,94,657,658,662,663,718,719,747,751,791,822,823,1119,1133 'tier':1218,1221 'timestamp':1239 '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' 'transact':381,1439 'type':81,88,92,276,510,535,631,638,642,653,656,661,691,698,702,714,717,769,810,817,821,847,915,1040,1096,1117,1164,1266,1269,1331,1334,1371,1374 'typic':1030 'underscor':337,1058,1408 'unless':608 'unnecessari':1458 'updat':606,1062,1264,1441,1628,1636,1653 'uppercas':346 'url':597,599,602,1469,1662 'us':562,651,1003,1077,1115 'use':36,328,401,437,595,980,1405,1475,1496,1539 'user':180 'util':285,378,394,938,996,1069,1112,1438 'uuid':257,566,570,590,729,884,921,927,979,1046,1050,1148,1170,1176,1277,1294,1344 'valid':55,117 'valu':353,585,1417 'variabl':1480 'verif':1223 'verifi':1242 'view':1507,1517,1623,1648 'waba':311,838,883,886,889,901,911,918,926,1043,1049,1099,1167,1175,1324,1364,1524,1560,1568,1573,1600,1612,1642,1649,1654 'webhook':412,467,475,480,596,1222,1226,1246,1248,1320,1661 'webhook-payload-field':479 'whatsapp':3,6,89,90,130,179,282,284,286,289,308,487,518,540,639,640,699,700,740,746,777,818,819,833,1544,1557 'whatsapp-en':517,776 'whatsapp-specif':129 'whatsapp.phone_number.quality':1376 'whatsapp.template.approved':1336 'whatsapp.template.disabled':1338 'whatsapp.template.rejected':1337 'whatsapp_message.template.components':580 'whatsapp_message.template.language.code':555 'whatsapp_message.template.name':547 'whatsapp_message.template.template':563 'whatsapp_message.text.body':792 'whatsapp_message.type':541,788 'window':21,148,159,242,505,759 'within':238,753 'write':434 'x':70,620,680,799,1085 'yellow':1212,1393 'yes':516,528,543,549,557,775,784,790,794,1047,1055,1065,1072,1080","prices":[{"id":"7cddf4a0-669c-42bf-8d32-af5d031ce874","listingId":"e38f15b5-9f4f-4157-8a97-e7ce1de73165","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:50.990Z"}],"sources":[{"listingId":"e38f15b5-9f4f-4157-8a97-e7ce1de73165","source":"github","sourceId":"team-telnyx/ai/telnyx-whatsapp-curl","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-whatsapp-curl","isPrimary":false,"firstSeenAt":"2026-04-18T22:08:50.990Z","lastSeenAt":"2026-04-22T00:54:56.434Z"}],"details":{"listingId":"e38f15b5-9f4f-4157-8a97-e7ce1de73165","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-whatsapp-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":"cfb222ffa756065173f043ea6fb792d577977a4f","skill_md_path":"skills/telnyx-whatsapp-curl/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-whatsapp-curl"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-whatsapp-curl","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-whatsapp-curl"},"updatedAt":"2026-04-22T00:54:56.434Z"}}