{"id":"96caf9f4-bb9a-428c-b0c0-58e233867e7f","shortId":"Ekr5sT","kind":"skill","title":"telnyx-messaging-java","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Messaging - Java\n\n## Installation\n\n```text\n<!-- Maven -->\n<dependency>\n    <groupId>com.telnyx.sdk</groupId>\n    <artifactId>telnyx</artifactId>\n    <version>6.36.0</version>\n</dependency>\n\n// Gradle\nimplementation(\"com.telnyx.sdk:telnyx:6.36.0\")\n```\n\n## Setup\n\n```java\nimport com.telnyx.sdk.client.TelnyxClient;\nimport com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;\n\nTelnyxClient client = TelnyxOkHttpClient.fromEnv();\n```\n\nAll examples below assume `client` is already initialized as shown above.\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```java\nimport com.telnyx.sdk.models.messages.MessageSendParams;\nimport com.telnyx.sdk.models.messages.MessageSendResponse;\nMessageSendParams params = MessageSendParams.builder()\n    .to(\"+18445550001\")\n    .from(\"+18005550101\")\n    .text(\"Hello from Telnyx!\")\n    .build();\nMessageSendResponse response = client.messages().send(params);\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 methods return a page. Use `.autoPager()` for automatic iteration: `for (var item : page.autoPager()) { ... }`. For manual control, use `.hasNextPage()` and `.nextPage()`.\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`client.messages().send()` — `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| `messagingProfileId` | string (UUID) | No | Unique identifier for a messaging profile. |\n| `mediaUrls` | array[string] | No | A list of media URLs. |\n| `webhookUrl` | 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```java\nimport com.telnyx.sdk.models.messages.MessageSendParams;\nimport com.telnyx.sdk.models.messages.MessageSendResponse;\n\nMessageSendParams params = MessageSendParams.builder()\n    .to(\"+18445550001\")\n    .from(\"+18005550101\")\n\n    .text(\"Hello from Telnyx!\")\n    .build();\nMessageSendResponse response = client.messages().send(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.text`\n- `response.data.sentAt`\n- `response.data.errors`\n\n### Send an SMS with an alphanumeric sender ID\n\nCommon sender variant that requires different request shape.\n\n`client.messages().sendWithAlphanumericSender()` — `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| `messagingProfileId` | string (UUID) | Yes | The messaging profile ID to use. |\n| `webhookUrl` | string (URL) | No | Callback URL for delivery status updates. |\n| `webhookFailoverUrl` | string (URL) | No | Failover callback URL for delivery status updates. |\n| `useProfileWebhooks` | boolean | No | If true, use the messaging profile's webhook settings. |\n\n```java\nimport com.telnyx.sdk.models.messages.MessageSendWithAlphanumericSenderParams;\nimport com.telnyx.sdk.models.messages.MessageSendWithAlphanumericSenderResponse;\n\nMessageSendWithAlphanumericSenderParams params = MessageSendWithAlphanumericSenderParams.builder()\n    .from(\"MyCompany\")\n    .messagingProfileId(\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\")\n    .text(\"Hello from Telnyx!\")\n    .to(\"+13125550001\")\n    .build();\nMessageSendWithAlphanumericSenderResponse response = client.messages().sendWithAlphanumericSender(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.text`\n- `response.data.sentAt`\n- `response.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```java\nimport com.telnyx.sdk.core.UnwrapWebhookParams;\nimport com.telnyx.sdk.core.http.Headers;\n\n// In your webhook handler (e.g., Spring — use raw body):\n@PostMapping(\"/webhooks\")\npublic ResponseEntity<String> handleWebhook(\n    @RequestBody String payload,\n    HttpServletRequest request) {\n  try {\n    Headers headers = Headers.builder()\n        .put(\"telnyx-signature-ed25519\", request.getHeader(\"telnyx-signature-ed25519\"))\n        .put(\"telnyx-timestamp\", request.getHeader(\"telnyx-timestamp\"))\n        .build();\n    var event = client.webhooks().unwrap(\n        UnwrapWebhookParams.builder()\n            .body(payload)\n            .headers(headers)\n            .build());\n    // Signature valid — process the event\n    System.out.println(\"Received webhook event\");\n    return ResponseEntity.ok(\"OK\");\n  } catch (Exception e) {\n    System.err.println(\"Webhook verification failed: \" + e.getMessage());\n    return ResponseEntity.badRequest().body(\"Invalid signature\");\n  }\n}\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`client.messages().sendGroupMms()` — `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| `mediaUrls` | array[string] | No | A list of media URLs. |\n| `webhookUrl` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhookFailoverUrl` | 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```java\nimport com.telnyx.sdk.models.messages.MessageSendGroupMmsParams;\nimport com.telnyx.sdk.models.messages.MessageSendGroupMmsResponse;\n\nMessageSendGroupMmsParams params = MessageSendGroupMmsParams.builder()\n    .from(\"+13125551234\")\n    .addTo(\"+18655551234\")\n    .addTo(\"+14155551234\")\n    .text(\"Hello from Telnyx!\")\n    .build();\nMessageSendGroupMmsResponse response = client.messages().sendGroupMms(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.type`\n- `response.data.direction`\n- `response.data.text`\n\n### Send a long code message\n\nForce a long-code sending path instead of the generic send endpoint.\n\n`client.messages().sendLongCode()` — `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| `mediaUrls` | array[string] | No | A list of media URLs. |\n| `webhookUrl` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhookFailoverUrl` | 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```java\nimport com.telnyx.sdk.models.messages.MessageSendLongCodeParams;\nimport com.telnyx.sdk.models.messages.MessageSendLongCodeResponse;\n\nMessageSendLongCodeParams params = MessageSendLongCodeParams.builder()\n    .from(\"+18445550001\")\n    .to(\"+13125550002\")\n    .text(\"Hello from Telnyx!\")\n    .build();\nMessageSendLongCodeResponse response = client.messages().sendLongCode(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.type`\n- `response.data.direction`\n- `response.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`client.messages().sendNumberPool()` — `POST /messages/number_pool`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `messagingProfileId` | 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| `mediaUrls` | array[string] | No | A list of media URLs. |\n| `webhookUrl` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhookFailoverUrl` | 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```java\nimport com.telnyx.sdk.models.messages.MessageSendNumberPoolParams;\nimport com.telnyx.sdk.models.messages.MessageSendNumberPoolResponse;\n\nMessageSendNumberPoolParams params = MessageSendNumberPoolParams.builder()\n    .messagingProfileId(\"abc85f64-5717-4562-b3fc-2c9600000000\")\n    .to(\"+13125550002\")\n    .text(\"Hello from Telnyx!\")\n    .build();\nMessageSendNumberPoolResponse response = client.messages().sendNumberPool(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.type`\n- `response.data.direction`\n- `response.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`client.messages().sendShortCode()` — `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| `mediaUrls` | array[string] | No | A list of media URLs. |\n| `webhookUrl` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n| `webhookFailoverUrl` | 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```java\nimport com.telnyx.sdk.models.messages.MessageSendShortCodeParams;\nimport com.telnyx.sdk.models.messages.MessageSendShortCodeResponse;\n\nMessageSendShortCodeParams params = MessageSendShortCodeParams.builder()\n    .from(\"+18445550001\")\n    .to(\"+18445550001\")\n    .text(\"Hello from Telnyx!\")\n    .build();\nMessageSendShortCodeResponse response = client.messages().sendShortCode(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.type`\n- `response.data.direction`\n- `response.data.text`\n\n### Schedule a message\n\nQueue a message for future delivery instead of sending immediately.\n\n`client.messages().schedule()` — `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| `messagingProfileId` | string (UUID) | No | Unique identifier for a messaging profile. |\n| `mediaUrls` | array[string] | No | A list of media URLs. |\n| `webhookUrl` | 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```java\nimport com.telnyx.sdk.models.messages.MessageScheduleParams;\nimport com.telnyx.sdk.models.messages.MessageScheduleResponse;\n\nMessageScheduleParams params = MessageScheduleParams.builder()\n    .to(\"+18445550001\")\n    .from(\"+18005550101\")\n\n    .text(\"Appointment reminder\")\n\n    .sendAt(\"2025-07-01T15:00:00Z\")\n    .build();\nMessageScheduleResponse response = client.messages().schedule(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.type`\n- `response.data.direction`\n- `response.data.text`\n\n### Send a WhatsApp message\n\nSend WhatsApp traffic instead of SMS/MMS.\n\n`client.messages().sendWhatsapp()` — `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| `whatsappMessage` | object | Yes |  |\n| `type` | enum (WHATSAPP) | No | Message type - must be set to \"WHATSAPP\" |\n| `webhookUrl` | string (URL) | No | The URL where webhooks related to this message will be sent. |\n\n```java\nimport com.telnyx.sdk.models.messages.MessageSendWhatsappParams;\nimport com.telnyx.sdk.models.messages.MessageSendWhatsappResponse;\nimport com.telnyx.sdk.models.messages.WhatsappMessageContent;\n\nMessageSendWhatsappParams params = MessageSendWhatsappParams.builder()\n    .from(\"+13125551234\")\n    .to(\"+13125551234\")\n    .whatsappMessage(WhatsappMessageContent.builder().build())\n    .build();\nMessageSendWhatsappResponse response = client.messages().sendWhatsapp(params);\n```\n\nPrimary response fields:\n- `response.data.id`\n- `response.data.to`\n- `response.data.from`\n- `response.data.type`\n- `response.data.direction`\n- `response.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 | `client.messages().retrieve()` | `GET /messages/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Cancel a scheduled message | `client.messages().cancelScheduled()` | `DELETE /messages/{id}` | Remove, detach, or clean up an existing resource. | `id` |\n| List alphanumeric sender IDs | `client.alphanumericSenderIds().list()` | `GET /alphanumeric_sender_ids` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Create an alphanumeric sender ID | `client.alphanumericSenderIds().create()` | `POST /alphanumeric_sender_ids` | Create or provision an additional resource when the core tasks do not cover this flow. | `alphanumericSenderId`, `messagingProfileId` |\n| Retrieve an alphanumeric sender ID | `client.alphanumericSenderIds().retrieve()` | `GET /alphanumeric_sender_ids/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Delete an alphanumeric sender ID | `client.alphanumericSenderIds().delete()` | `DELETE /alphanumeric_sender_ids/{id}` | Remove, detach, or clean up an existing resource. | `id` |\n| Retrieve group MMS messages | `client.messages().retrieveGroupMessages()` | `GET /messages/group/{message_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `messageId` |\n| List messaging hosted numbers | `client.messagingHostedNumbers().list()` | `GET /messaging_hosted_numbers` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Retrieve a messaging hosted number | `client.messagingHostedNumbers().retrieve()` | `GET /messaging_hosted_numbers/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Update a messaging hosted number | `client.messagingHostedNumbers().update()` | `PATCH /messaging_hosted_numbers/{id}` | Modify an existing resource without recreating it. | `id` |\n| List opt-outs | `client.messagingOptouts().list()` | `GET /messaging_optouts` | Inspect available resources or choose an existing resource before mutating it. | None |\n| List high-level messaging profile metrics | `client.messagingProfileMetrics().list()` | `GET /messaging_profile_metrics` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Regenerate messaging profile secret | `client.messagingProfiles().actions().regenerateSecret()` | `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 | `client.messagingProfiles().listAlphanumericSenderIds()` | `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 | `client.messagingProfiles().retrieveMetrics()` | `GET /messaging_profiles/{id}/metrics` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| List Auto-Response Settings | `client.messagingProfiles().autorespConfigs().list()` | `GET /messaging_profiles/{profile_id}/autoresp_configs` | Fetch the current state before updating, deleting, or making control-flow decisions. | `profileId` |\n| Create auto-response setting | `client.messagingProfiles().autorespConfigs().create()` | `POST /messaging_profiles/{profile_id}/autoresp_configs` | Create or provision an additional resource when the core tasks do not cover this flow. | `op`, `keywords`, `countryCode`, `profileId` |\n| Get Auto-Response Setting | `client.messagingProfiles().autorespConfigs().retrieve()` | `GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `profileId`, `autorespCfgId` |\n| Update Auto-Response Setting | `client.messagingProfiles().autorespConfigs().update()` | `PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` | Modify an existing resource without recreating it. | `op`, `keywords`, `countryCode`, `profileId`, +1 more |\n| Delete Auto-Response Setting | `client.messagingProfiles().autorespConfigs().delete()` | `DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}` | Remove, detach, or clean up an existing resource. | `profileId`, `autorespCfgId` |\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","java","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-messaging-java","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-java","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 (22,209 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:39.295Z","embedding":null,"createdAt":"2026-04-18T22:06:43.939Z","updatedAt":"2026-04-22T06:54:39.295Z","lastSeenAt":"2026-04-22T06:54:39.295Z","tsv":"'+1':2148 '+13125550001':123,556 '+13125550002':1122,1251 '+13125551234':990,1592,1594 '+14155551234':994 '+18005550101':75,414,1486 '+18445550001':73,412,1120,1379,1381,1484 '+18655551234':992 '+3':975 '+6':1105,1229,1364 '+7':397 '+8':1469 '-01':1493 '-07':1492 '-4562':1246 '-5717':1245 '/actions/regenerate_secret':1957 '/alphanumeric_sender_ids':1736,1757,1783,1807,1991 '/autoresp_configs':2043,2070,2102,2133,2162 '/messages':321,1695,1718 '/messages/alphanumeric_sender_id':453 '/messages/group':1825 '/messages/group_mms':910 '/messages/long_code':1035 '/messages/number_pool':1163 '/messages/schedule':1417 '/messages/short_code':1294 '/messages/whatsapp':1525 '/messaging_hosted_numbers':1849,1870,1894 '/messaging_optouts':1911 '/messaging_profile_metrics':1934 '/messaging_profiles':1955,1989,2014,2040,2067,2099,2130,2159 '/metrics':2016 '/webhooks':611 '00':1495 '00z':1496 '10dlc':185 '182bd5e5':546 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':545 '2025':1491 '2c9600000000':1249 '401':57,89 '403':93 '404':96 '422':53,100 '429':50,106 '4fe4':548 '6.36.0':12,17 '6e1a':547 '8601':738,753 'a2p':178 'a799':549 'aa6d9a6ab26e':550 'abc85f64':1244 'accept':207 'accou':1542 'account':471 'action':1952,1963 'addit':256,1613,1762,2075 'address':331,344,477,1059,1183,1318,1427 'addresse':773 'addto':991,993 'agent':307 'alphanumer':349,439,464,1730,1751,1777,1801,1979 'alphanumericsenderid':1773 'alreadi':33,163 'alway':58,591 'api':41,91 'appoint':1488 'array':374,718,766,809,832,930,938,1068,1192,1327,1446 'assign':165 'associ':1539 'assum':30 'asynchron':201 'authent':55 'auto':2033,2060,2092,2123,2152 'auto-respons':2032,2059,2091,2122,2151 'automat':144 'autopag':142 'autoresp':2103,2134,2163 'autorespcfgid':2120,2175 'autorespconfig':2037,2064,2096,2127,2156 'avail':1738,1851,1913,1936 'b3fc':1248 'b3fc-2c9600000000':1247 'backoff':112 'beyond':284 'block':193 'bodi':354,490,609,648,675,723,814 'boolean':523 'build':80,419,557,642,652,999,1127,1256,1386,1497,1597,1598 'call':42 'callback':505,516 'cancel':1711 'cancelschedul':1716 'carrier':191,213 'catch':665 'caveat':158 'cfg':2104,2135,2164 'check':103 'choos':1155,1741,1854,1916,1939 'clean':1723,1812,2169 'click':2185,2188 'client':25,31 'client.alphanumericsenderids':1733,1754,1780,1804 'client.messages':83,318,422,450,560,907,1002,1032,1130,1160,1259,1291,1389,1414,1500,1522,1601,1692,1715,1822 'client.messaginghostednumbers':1846,1867,1891 'client.messagingoptouts':1908 'client.messagingprofilemetrics':1931 'client.messagingprofiles':1951,1986,2011,2036,2063,2095,2126,2155 'client.webhooks':645 'close':880 'co':338,484,1066,1190,1325,1434 'code':63,88,129,181,250,1017,1023,1274,1280,1290 'com.telnyx.sdk':10,15 'com.telnyx.sdk.client.okhttp.telnyxokhttpclient':23 'com.telnyx.sdk.client.telnyxclient':21 'com.telnyx.sdk.core.http.headers':600 'com.telnyx.sdk.core.unwrapwebhookparams':598 'com.telnyx.sdk.models.messages.messagescheduleparams':1477 'com.telnyx.sdk.models.messages.messagescheduleresponse':1479 'com.telnyx.sdk.models.messages.messagesendgroupmmsparams':983 'com.telnyx.sdk.models.messages.messagesendgroupmmsresponse':985 'com.telnyx.sdk.models.messages.messagesendlongcodeparams':1113 'com.telnyx.sdk.models.messages.messagesendlongcoderesponse':1115 'com.telnyx.sdk.models.messages.messagesendnumberpoolparams':1237 'com.telnyx.sdk.models.messages.messagesendnumberpoolresponse':1239 'com.telnyx.sdk.models.messages.messagesendparams':66,405 'com.telnyx.sdk.models.messages.messagesendresponse':68,407 'com.telnyx.sdk.models.messages.messagesendshortcodeparams':1372 'com.telnyx.sdk.models.messages.messagesendshortcoderesponse':1374 'com.telnyx.sdk.models.messages.messagesendwhatsappparams':1583 'com.telnyx.sdk.models.messages.messagesendwhatsappresponse':1585 'com.telnyx.sdk.models.messages.messagesendwithalphanumericsenderparams':536 'com.telnyx.sdk.models.messages.messagesendwithalphanumericsenderresponse':538 'com.telnyx.sdk.models.messages.whatsappmessagecontent':1587 'common':86,442,888 'complet':184,2197 'content':356,725,816 'control':152,1707,1795,1838,1882,2002,2027,2054,2116 'control-flow':1706,1794,1837,1881,2001,2026,2053,2115 'core':298,876,1617,1766,2079 'correct':168 'countri':128 'countrycod':2088,2146 'cover':1770,2083 'creat':1749,1755,1758,1970,2058,2065,2071 'current':1699,1787,1830,1874,1994,2019,2046,2108 'dash':132 'data.event':699,783,2180 'data.payload.completed':747 'data.payload.cost':762 'data.payload.direction':800 'data.payload.errors':765 'data.payload.id':710,793 'data.payload.media':831 'data.payload.sent':732 'data.payload.text':720,811 'data.payload.to':717,808 'data.payload.type':823 'data.record':834 'date':735,740,750,755 'date-tim':734,749 'decis':1709,1797,1840,1884,2004,2029,2056,2118 'delet':1703,1717,1791,1799,1805,1806,1834,1878,1998,2023,2050,2112,2150,2157,2158 'deliv':709,792 'deliveri':198,214,314,508,519,694,1409 'delivery-rel':313 'descript':325,457,698,782,914,1039,1167,1298,1421,1529,2182 'destin':936 'detach':1721,1810,2167 'detail':2007 'differ':447 'direct':804 'e':667 'e.164':120,328,332,341,345,460,474,478,917,922,1042,1047,1056,1060,1180,1184,1301,1306,1315,1319,1424,1428,1532,1537,1545,1550 'e.g':122,605 'e.getmessage':672 'ed25519':578,585,628,633 'empti':361,730,821 'endpoint':1031,1684 'enum':223,232,701,785,801,824,836,1556 'error':38,47,52,56,60,87,102,769 'event':644,657,661,707,790,837,2178,2179 'exact':309,1628 'exampl':28,287 'except':666 'exhaust':2190 'exist':1726,1743,1815,1856,1898,1918,1941,1966,2139,2172 'exponenti':111 'fail':44,671 'failov':515,966,1096,1220,1355 'fetch':1697,1785,1828,1872,1992,2017,2044,2106 'field':104,225,228,235,283,297,311,317,427,565,682,696,780,848,864,1007,1135,1264,1394,1505,1606,1680 'filter':196 'final':212,761 'first':1620 'flow':306,883,1708,1772,1796,1839,1883,2003,2028,2055,2085,2117 'follow':892,1961 'follow-up':891,1960 'forc':1019,1276 'format':105,121,333,346,479,739,754,923,1048,1061,1185,1307,1320,1429,1538,1551 'found':99 'frequenc':1646 'full':1638,2193 'futur':1408 'generic':1029 'get':1694,1735,1782,1824,1848,1869,1910,1933,1988,2006,2013,2039,2090,2098 'gradl':13 'group':897,1819 'guess':1678 'handl':39,59 'handler':604,868 'handlewebhook':614 'hasnextpag':154 'header':590,621,622,650,651 'headers.builder':623 'heavili':195 'hello':77,416,552,996,1124,1253,1383 'high':1926 'high-level':1925 'host':1844,1865,1889 'httpservletrequest':618 'i.e':355,724,815 'id':441,466,498,1696,1710,1719,1728,1732,1753,1779,1784,1798,1803,1808,1817,1827,1871,1885,1895,1903,1956,1977,1981,1990,2005,2015,2030,2042,2069,2101,2105,2132,2136,2161,2165 'identifi':368,712,795,838,1173,1440 'immedi':1413 'implement':14 'import':20,22,65,67,113,404,406,535,537,597,599,869,982,984,1112,1114,1236,1238,1371,1373,1476,1478,1582,1584,1586 'inbound':778,802 'includ':124,581 'index':1625 'indic':741,756 'initi':34 'inlin':241,286,684,853 'inspect':1737,1850,1912,1935 'instal':8 'instead':1026,1410,1519 'insuffici':94 'integr':692 'invalid':90,676 'invent':220 'iso':737,752 'item':148 'iter':145 'java':4,7,19,64,403,534,596,981,1111,1235,1370,1475,1581 'key':92 'keyword':2087,2145 'let':1148 'level':1927,1975 'limit':49,108 'link':2187 'list':136,378,852,934,942,1072,1196,1331,1450,1729,1734,1842,1847,1904,1909,1924,1932,1978,2031,2038 'listalphanumericsenderid':1987 'long':180,1016,1022 'long-cod':179,1021 'lower':1645 'lower-frequ':1644 'make':1705,1793,1836,1880,2000,2025,2052,2114 'manual':151 'match':281 'may':770 'media':380,944,1074,1198,1333,1452 'mediaurl':373,937,1067,1191,1326,1445 'messag':3,6,169,197,305,353,371,393,489,496,529,722,744,759,779,807,813,830,899,928,957,973,1018,1053,1087,1103,1144,1150,1176,1211,1227,1275,1312,1346,1362,1403,1406,1443,1465,1515,1559,1577,1691,1714,1821,1826,1843,1864,1888,1928,1948,1984,2008 'message.finalized':703 'message.link':2184 'message.received':786 'message.sent':702 'messageid':1841 'messagescheduleparam':1480 'messagescheduleparams.builder':1482 'messageschedulerespons':1498 'messagesendgroupmmsparam':986 'messagesendgroupmmsparams.builder':988 'messagesendgroupmmsrespons':1000 'messagesendlongcodeparam':1116 'messagesendlongcodeparams.builder':1118 'messagesendlongcoderespons':1128 'messagesendnumberpoolparam':1240 'messagesendnumberpoolparams.builder':1242 'messagesendnumberpoolrespons':1257 'messagesendparam':69,408 'messagesendparams.builder':71,410 'messagesendrespons':81,420 'messagesendshortcodeparam':1375 'messagesendshortcodeparams.builder':1377 'messagesendshortcoderespons':1387 'messagesendwhatsappparam':1588 'messagesendwhatsappparams.builder':1590 'messagesendwhatsapprespons':1599 'messagesendwithalphanumericsenderparam':539 'messagesendwithalphanumericsenderparams.builder':541 'messagesendwithalphanumericsenderrespons':558 'messagingprofileid':363,491,544,1168,1243,1435,1774 'method':137,1630,1683 'metric':1930,2010 'miss':1679 'mms':826,898,902,1820 'modifi':1896,2137 'multipl':905 'must':117,162,183,1286,1561 'mutat':1746,1859,1921,1944 'mycompani':543 'need':237,308,846,886 'network':46 'new':1972 'nextpag':156 'non':360,729,820 'non-empti':359,728,819 'none':1748,1861,1923,1946 'note':114 'null':764 'number':116,161,335,348,481,920,1045,1063,1146,1153,1187,1304,1322,1431,1535,1548,1845,1866,1890 'object':719,763,767,810,833,931,1553 'ok':664 'one':901 'op':2086,2144 'oper':157,254,257,871,1614,1622,1652,1681 'opt':1906 'opt-out':1905 'option':261,266,398,976,1106,1230,1365,1470,1639,1657,1662,2191 'optional-paramet':260,265,1656,1661 'out':1907 'outbound':304 'page':140 'page.autopager':149 'pagin':135 'param':70,85,399,409,424,540,562,977,987,1004,1107,1117,1132,1231,1241,1261,1366,1376,1391,1471,1481,1502,1589,1603,1633,1640,1688 'paramet':222,231,262,267,322,454,911,1036,1164,1295,1418,1526,1658,1663,2192 'parenthes':134 'part':688 'patch':1893 'path':693,1025,1282 'payload':291,296,617,649,681,858,863,903,1648,2199 'permiss':95 'phone':115,334,347,480,919,1044,1062,1186,1303,1321,1430,1534,1547 'point':771 'pool':1147,1154 'post':320,452,909,1034,1162,1293,1416,1524,1756,1954,2066 'postmap':610 'prefix':126 'primari':303,425,563,691,1005,1133,1262,1392,1503,1604 'process':655 'product':62,188,595 'profil':170,372,497,530,1151,1177,1444,1929,1949,1985,2009,2041,2068,2100,2131,2160 'profileid':2057,2089,2119,2147,2174 'provis':1760,2073 'public':612 'put':624,634,2129 'queue':1404 'rate':48,107 'rather':1968 'raw':608 'read':245,258,279,288,855,1654 'receiv':330,476,659,1058,1182,1317,1426 'recipi':906 'recreat':1901,2142 'refer':215,292,775,859 'references/api-details.md':246,247,264,274,293,401,402,860,979,980,1109,1110,1233,1234,1368,1369,1473,1474,1635,1636,1660,1670,2201,2202 'regener':1947 'regeneratesecret':1953 'registr':186 'relat':315,390,954,970,1084,1100,1208,1224,1343,1359,1462,1574 'remind':1489 'remov':1720,1809,2166 'replac':2186 'replacedlinkclick':2183 'request':210,310,448,580,619 'request.getheader':629,638 'requestbodi':615 'requir':324,446,456,913,1038,1166,1297,1420,1528,1632,1687 'resourc':97,716,799,843,1727,1739,1744,1763,1816,1852,1857,1899,1914,1919,1937,1942,1976,2076,2140,2173 'respons':82,205,224,234,271,276,316,421,426,559,564,1001,1006,1129,1134,1258,1263,1388,1393,1499,1504,1600,1605,1641,1667,1672,2034,2061,2093,2124,2153,2194 'response-schema':270,275,1666,1671 'response.data.body':1612 'response.data.direction':1012,1140,1269,1399,1510,1611 'response.data.errors':433,571 'response.data.from':430,568,1010,1138,1267,1397,1508,1609 'response.data.id':428,566,1008,1136,1265,1395,1506,1607 'response.data.sentat':432,570 'response.data.text':431,569,1013,1141,1270,1400,1511 'response.data.to':429,567,1009,1137,1266,1396,1507,1608 'response.data.type':1011,1139,1268,1398,1509,1610 'responseent':613 'responseentity.badrequest':674 'responseentity.ok':663 'retri':109 'retriev':1689,1693,1775,1781,1818,1862,1868,2097 'retrievegroupmessag':1823 'retrievemetr':2012 'return':138,662,673 'rule':217 'schedul':1401,1415,1501,1713 'schema':272,277,1642,1668,1673,2195 'sdk':1629,1682 'secret':1950 'section':263,273,1659,1669 'see':2200 'send':84,160,173,189,204,300,319,343,423,434,895,900,926,1014,1024,1030,1051,1142,1271,1281,1310,1412,1512,1516 'sendat':1490 'sender':440,443,465,1157,1285,1731,1752,1778,1802,1980 'sendgroupmm':908,1003 'sendlongcod':1033,1131 'sendnumberpool':1161,1260 'sendshortcod':1292,1390 'sendwhatsapp':1523,1602 'sendwithalphanumericsend':451,561 'sent':396,746,960,1090,1214,1349,1468,1580 'set':533,1563,2035,2062,2094,2125,2154 'setup':18 'shape':449 'short':337,483,1065,1189,1273,1279,1289,1324,1433 'short-cod':1278 'shown':36,240 'sign':575 'signatur':584,593,627,632,653,677 'skill':244 'skill-telnyx-messaging-java' 'sms':302,436,825 'sms/mms':1521 'source-team-telnyx' 'space':131 'spring':606 'state':1700,1788,1831,1875,1995,2020,2047,2109 'status':509,520 'step':894 'string':327,340,351,362,364,375,383,459,473,486,492,502,512,616,721,731,812,822,916,939,947,962,1041,1055,1069,1077,1092,1169,1179,1193,1201,1216,1300,1314,1328,1336,1351,1423,1436,1447,1455,1531,1544,1567 'support':870 'system.err.println':668 'system.out.println':658 't15':1494 'task':299,877,1618,1767,2080 'telnyx':2,5,11,16,79,221,418,554,574,583,588,626,631,636,640,998,1126,1255,1385 'telnyx-messaging-java':1 'telnyx-signature-ed25519':582,625,630 'telnyx-timestamp':587,635,639 'telnyxcli':24 'telnyxokhttpclient.fromenv':26 'text':9,76,350,415,485,551,995,1123,1252,1382,1487 'time':736,751 'timestamp':589,637,641 'top':1974 'top-level':1973 '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':174,182,1518 'treat':202 'tri':620 'trigger':1958 'true':526 'type':323,455,697,700,705,714,781,784,788,797,828,835,840,912,1037,1165,1296,1419,1527,1555,1560,2181 'uniqu':367,1172,1439 'unsuccessful/unconfirm':777 'unwrap':646 'unwrapwebhookparams.builder':647 'updat':510,521,695,1702,1790,1833,1877,1886,1892,1997,2022,2049,2111,2121,2128 'url':381,384,387,503,506,513,517,945,948,951,963,967,1075,1078,1081,1093,1097,1199,1202,1205,1217,1221,1334,1337,1340,1352,1356,1453,1456,1459,1568,1571 'us':177 'use':141,153,216,252,500,527,607,872,924,1049,1145,1308,1615,1634,1650,1685 'useprofilewebhook':522 'user':469 'uuid':365,493,711,794,1170,1437 'valid':51,101,463,654 'var':147,643 'variant':444 'variat':889 'verif':573,670 'verifi':592 'webhook':199,227,282,290,295,389,532,572,576,603,660,669,678,680,847,857,862,953,969,1083,1099,1207,1223,1342,1358,1461,1573,1647,2177,2198 'webhook-payload-field':294,861 'webhookfailoverurl':511,961,1091,1215,1350 'webhookurl':382,501,946,1076,1200,1335,1454,1566 'whatsapp':1514,1517,1541,1557,1565 'whatsappmessag':1552,1595 'whatsappmessagecontent.builder':1596 'without':1900,2141 'workflow':1967 'write':249,866 'yes':329,342,352,461,475,487,494,918,932,1043,1057,1171,1181,1302,1316,1425,1533,1546,1554","prices":[{"id":"d00a4792-82d4-4894-a1ec-76bab19540cd","listingId":"96caf9f4-bb9a-428c-b0c0-58e233867e7f","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:43.939Z"}],"sources":[{"listingId":"96caf9f4-bb9a-428c-b0c0-58e233867e7f","source":"github","sourceId":"team-telnyx/ai/telnyx-messaging-java","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-messaging-java","isPrimary":false,"firstSeenAt":"2026-04-18T22:06:43.939Z","lastSeenAt":"2026-04-22T06:54:39.295Z"}],"details":{"listingId":"96caf9f4-bb9a-428c-b0c0-58e233867e7f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-messaging-java","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":"a66c22411ca2f058b4c2b0ba5b94b9b1fedac545","skill_md_path":"skills/telnyx-messaging-java/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-messaging-java"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-messaging-java","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-messaging-java"},"updatedAt":"2026-04-22T06:54:39.295Z"}}