{"id":"eed9f411-26e4-413f-8c40-c16877d1d313","shortId":"phyFWd","kind":"skill","title":"telnyx-porting-in-javascript","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Porting In - JavaScript\n\n## Installation\n\n```bash\nnpm install telnyx\n```\n\n## Setup\n\n```javascript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx({\n  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted\n});\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```javascript\ntry {\n  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });\n} catch (err) {\n  if (err instanceof Telnyx.APIConnectionError) {\n    console.error('Network error — check connectivity and retry');\n  } else if (err instanceof Telnyx.RateLimitError) {\n    // 429: rate limited — wait and retry with exponential backoff\n    const retryAfter = err.headers?.['retry-after'] || 1;\n    await new Promise(r => setTimeout(r, retryAfter * 1000));\n  } else if (err instanceof Telnyx.APIError) {\n    console.error(`API error ${err.status}: ${err.message}`);\n    if (err.status === 422) {\n      console.error('Validation error — check required fields and formats');\n    }\n  }\n}\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 an auto-paginating iterator. Use `for await (const item of result) { ... }` to iterate through all pages automatically.\n\n## Run a portability check\n\nRuns a portability check, returning the results immediately.\n\n`POST /portability_checks`\n\nOptional: `phone_numbers` (array[string])\n\n```javascript\nconst response = await client.portabilityChecks.run({\n    phoneNumbers: [\"+18005550101\"],\n});\n\nconsole.log(response.data);\n```\n\nReturns: `fast_portable` (boolean), `not_portable_reason` (string), `phone_number` (string), `portable` (boolean), `record_type` (string)\n\n## List all porting events\n\nReturns a list of all porting events.\n\n`GET /porting/events`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const eventListResponse of client.porting.events.list()) {\n  console.log(eventListResponse);\n}\n```\n\nReturns: `available_notification_methods` (array[string]), `event_type` (enum: porting_order.deleted), `id` (uuid), `payload` (object), `payload_status` (enum: created, completed), `porting_order_id` (uuid)\n\n## Show a porting event\n\nShow a specific porting event.\n\n`GET /porting/events/{id}`\n\n```javascript\nconst event = await client.porting.events.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(event.data);\n```\n\nReturns: `available_notification_methods` (array[string]), `event_type` (enum: porting_order.deleted), `id` (uuid), `payload` (object), `payload_status` (enum: created, completed), `porting_order_id` (uuid)\n\n## Republish a porting event\n\nRepublish a specific porting event.\n\n`POST /porting/events/{id}/republish`\n\n```javascript\nawait client.porting.events.republish('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n```\n\n## List LOA configurations\n\nList the LOA configurations.\n\n`GET /porting/loa_configurations`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingLoaConfiguration of client.porting.loaConfigurations.list()) {\n  console.log(portingLoaConfiguration.id);\n}\n```\n\nReturns: `address` (object), `company_name` (string), `contact` (object), `created_at` (date-time), `id` (uuid), `logo` (object), `name` (string), `organization_id` (string), `record_type` (string), `updated_at` (date-time)\n\n## Create a LOA configuration\n\nCreate a LOA configuration.\n\n`POST /porting/loa_configurations`\n\n```javascript\nconst loaConfiguration = await client.porting.loaConfigurations.create({\n  address: {\n    city: 'Austin',\n    country_code: 'US',\n    state: 'TX',\n    street_address: '600 Congress Avenue',\n    zip_code: '78701',\n  },\n  company_name: 'Telnyx',\n  contact: { email: 'testing@telnyx.com', phone_number: '+12003270001' },\n  logo: { document_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n  name: 'My LOA Configuration',\n});\n\nconsole.log(loaConfiguration.data);\n```\n\nReturns: `address` (object), `company_name` (string), `contact` (object), `created_at` (date-time), `id` (uuid), `logo` (object), `name` (string), `organization_id` (string), `record_type` (string), `updated_at` (date-time)\n\n## Preview the LOA configuration parameters\n\nPreview the LOA template that would be generated without need to create LOA configuration.\n\n`POST /porting/loa_configurations/preview`\n\n```javascript\nconst response = await client.porting.loaConfigurations.preview({\n  address: {\n    city: 'Austin',\n    country_code: 'US',\n    state: 'TX',\n    street_address: '600 Congress Avenue',\n    zip_code: '78701',\n  },\n  company_name: 'Telnyx',\n  contact: { email: 'testing@telnyx.com', phone_number: '+12003270001' },\n  logo: { document_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n  name: 'My LOA Configuration',\n});\n\nconsole.log(response);\n\nconst content = await response.blob();\nconsole.log(content);\n```\n\n## Retrieve a LOA configuration\n\nRetrieve a specific LOA configuration.\n\n`GET /porting/loa_configurations/{id}`\n\n```javascript\nconst loaConfiguration = await client.porting.loaConfigurations.retrieve(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(loaConfiguration.data);\n```\n\nReturns: `address` (object), `company_name` (string), `contact` (object), `created_at` (date-time), `id` (uuid), `logo` (object), `name` (string), `organization_id` (string), `record_type` (string), `updated_at` (date-time)\n\n## Update a LOA configuration\n\nUpdate a specific LOA configuration.\n\n`PATCH /porting/loa_configurations/{id}`\n\n```javascript\nconst loaConfiguration = await client.porting.loaConfigurations.update(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  {\n    address: {\n      city: 'Austin',\n      country_code: 'US',\n      state: 'TX',\n      street_address: '600 Congress Avenue',\n      zip_code: '78701',\n    },\n    company_name: 'Telnyx',\n    contact: { email: 'testing@telnyx.com', phone_number: '+12003270001' },\n    logo: { document_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n    name: 'My LOA Configuration',\n  },\n);\n\nconsole.log(loaConfiguration.data);\n```\n\nReturns: `address` (object), `company_name` (string), `contact` (object), `created_at` (date-time), `id` (uuid), `logo` (object), `name` (string), `organization_id` (string), `record_type` (string), `updated_at` (date-time)\n\n## Delete a LOA configuration\n\nDelete a specific LOA configuration.\n\n`DELETE /porting/loa_configurations/{id}`\n\n```javascript\nawait client.porting.loaConfigurations.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n```\n\n## Preview a LOA configuration\n\nPreview a specific LOA configuration.\n\n`GET /porting/loa_configurations/{id}/preview`\n\n```javascript\nconst response = await client.porting.loaConfigurations.preview1(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response);\n\nconst content = await response.blob();\nconsole.log(content);\n```\n\n## List porting related reports\n\nList the reports generated about porting operations.\n\n`GET /porting/reports`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingReport of client.porting.reports.list()) {\n  console.log(portingReport.id);\n}\n```\n\nReturns: `created_at` (date-time), `document_id` (uuid), `id` (uuid), `params` (object), `record_type` (string), `report_type` (enum: export_porting_orders_csv), `status` (enum: pending, completed), `updated_at` (date-time)\n\n## Create a porting related report\n\nGenerate reports about porting operations.\n\n`POST /porting/reports`\n\n```javascript\nconst report = await client.porting.reports.create({\n  params: { filters: {} },\n  report_type: 'export_porting_orders_csv',\n});\n\nconsole.log(report.data);\n```\n\nReturns: `created_at` (date-time), `document_id` (uuid), `id` (uuid), `params` (object), `record_type` (string), `report_type` (enum: export_porting_orders_csv), `status` (enum: pending, completed), `updated_at` (date-time)\n\n## Retrieve a report\n\nRetrieve a specific report generated.\n\n`GET /porting/reports/{id}`\n\n```javascript\nconst report = await client.porting.reports.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(report.data);\n```\n\nReturns: `created_at` (date-time), `document_id` (uuid), `id` (uuid), `params` (object), `record_type` (string), `report_type` (enum: export_porting_orders_csv), `status` (enum: pending, completed), `updated_at` (date-time)\n\n## List available carriers in the UK\n\nList available carriers in the UK.\n\n`GET /porting/uk_carriers`\n\n```javascript\nconst response = await client.porting.listUkCarriers();\n\nconsole.log(response.data);\n```\n\nReturns: `alternative_cupids` (array[string]), `created_at` (date-time), `cupid` (string), `id` (uuid), `name` (string), `record_type` (string), `updated_at` (date-time)\n\n## List all porting orders\n\nReturns a list of your porting order.\n\n`GET /porting_orders`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingOrder of client.portingOrders.list()) {\n  console.log(portingOrder.id);\n}\n```\n\nReturns: `activation_settings` (object), `additional_steps` (array[string]), `created_at` (date-time), `customer_group_reference` (string | null), `customer_reference` (string | null), `description` (string), `documents` (object), `end_user` (object), `id` (uuid), `messaging` (object), `misc` (object), `old_service_provider_ocn` (string), `parent_support_key` (string | null), `phone_number_configuration` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `phone_numbers` (array[object]), `porting_phone_numbers_count` (integer), `record_type` (string), `requirements` (array[object]), `requirements_met` (boolean), `status` (object), `support_key` (string | null), `updated_at` (date-time), `user_feedback` (object), `user_id` (uuid), `webhook_url` (uri)\n\n## Create a porting order\n\nCreates a new porting order object.\n\n`POST /porting_orders` — Required: `phone_numbers`\n\nOptional: `customer_group_reference` (string), `customer_reference` (string | null)\n\n```javascript\nconst portingOrder = await client.portingOrders.create({\n  phone_numbers: ['+13035550000', '+13035550001', '+13035550002'],\n});\n\nconsole.log(portingOrder.data);\n```\n\nReturns: `activation_settings` (object), `additional_steps` (array[string]), `created_at` (date-time), `customer_group_reference` (string | null), `customer_reference` (string | null), `description` (string), `documents` (object), `end_user` (object), `id` (uuid), `messaging` (object), `misc` (object), `old_service_provider_ocn` (string), `parent_support_key` (string | null), `phone_number_configuration` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `phone_numbers` (array[object]), `porting_phone_numbers_count` (integer), `record_type` (string), `requirements` (array[object]), `requirements_met` (boolean), `status` (object), `support_key` (string | null), `updated_at` (date-time), `user_feedback` (object), `user_id` (uuid), `webhook_url` (uri)\n\n## List all exception types\n\nReturns a list of all possible exception types for a porting order.\n\n`GET /porting_orders/exception_types`\n\n```javascript\nconst response = await client.portingOrders.retrieveExceptionTypes();\n\nconsole.log(response.data);\n```\n\nReturns: `code` (enum: ACCOUNT_NUMBER_MISMATCH, AUTH_PERSON_MISMATCH, BTN_ATN_MISMATCH, ENTITY_NAME_MISMATCH, FOC_EXPIRED, FOC_REJECTED, LOCATION_MISMATCH, LSR_PENDING, MAIN_BTN_PORTING, OSP_IRRESPONSIVE, OTHER, PASSCODE_PIN_INVALID, PHONE_NUMBER_HAS_SPECIAL_FEATURE, PHONE_NUMBER_MISMATCH, PHONE_NUMBER_NOT_PORTABLE, PORT_TYPE_INCORRECT, PORTING_ORDER_SPLIT_REQUIRED, POSTAL_CODE_MISMATCH, RATE_CENTER_NOT_PORTABLE, SV_CONFLICT, SV_UNKNOWN_FAILURE), `description` (string)\n\n## List all phone number configurations\n\nReturns a list of phone number configurations paginated.\n\n`GET /porting_orders/phone_number_configurations`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const phoneNumberConfigurationListResponse of client.portingOrders.phoneNumberConfigurations.list()) {\n  console.log(phoneNumberConfigurationListResponse.id);\n}\n```\n\nReturns: `created_at` (date-time), `id` (uuid), `porting_phone_number_id` (uuid), `record_type` (string), `updated_at` (date-time), `user_bundle_id` (uuid)\n\n## Create a list of phone number configurations\n\nCreates a list of phone number configurations.\n\n`POST /porting_orders/phone_number_configurations`\n\n```javascript\nconst phoneNumberConfiguration = await client.portingOrders.phoneNumberConfigurations.create();\n\nconsole.log(phoneNumberConfiguration.data);\n```\n\nReturns: `created_at` (date-time), `id` (uuid), `porting_phone_number_id` (uuid), `record_type` (string), `updated_at` (date-time), `user_bundle_id` (uuid)\n\n## Retrieve a porting order\n\nRetrieves the details of an existing porting order.\n\n`GET /porting_orders/{id}`\n\n```javascript\nconst portingOrder = await client.portingOrders.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(portingOrder.data);\n```\n\nReturns: `activation_settings` (object), `additional_steps` (array[string]), `created_at` (date-time), `customer_group_reference` (string | null), `customer_reference` (string | null), `description` (string), `documents` (object), `end_user` (object), `id` (uuid), `messaging` (object), `misc` (object), `old_service_provider_ocn` (string), `parent_support_key` (string | null), `phone_number_configuration` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `phone_numbers` (array[object]), `porting_phone_numbers_count` (integer), `record_type` (string), `requirements` (array[object]), `requirements_met` (boolean), `status` (object), `support_key` (string | null), `updated_at` (date-time), `user_feedback` (object), `user_id` (uuid), `webhook_url` (uri)\n\n## Edit a porting order\n\nEdits the details of an existing porting order. Any or all of a porting orders attributes may be included in the resource object included in a PATCH request. If a request does not include all of the attributes for a resource, the system will interpret the missing attributes as if they were included with their current values.\n\n`PATCH /porting_orders/{id}`\n\nOptional: `activation_settings` (object), `customer_group_reference` (string), `customer_reference` (string), `documents` (object), `end_user` (object), `messaging` (object), `misc` (object), `phone_number_configuration` (object), `requirement_group_id` (uuid), `requirements` (array[object]), `user_feedback` (object), `webhook_url` (uri)\n\n```javascript\nconst portingOrder = await client.portingOrders.update('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(portingOrder.data);\n```\n\nReturns: `activation_settings` (object), `additional_steps` (array[string]), `created_at` (date-time), `customer_group_reference` (string | null), `customer_reference` (string | null), `description` (string), `documents` (object), `end_user` (object), `id` (uuid), `messaging` (object), `misc` (object), `old_service_provider_ocn` (string), `parent_support_key` (string | null), `phone_number_configuration` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `phone_numbers` (array[object]), `porting_phone_numbers_count` (integer), `record_type` (string), `requirements` (array[object]), `requirements_met` (boolean), `status` (object), `support_key` (string | null), `updated_at` (date-time), `user_feedback` (object), `user_id` (uuid), `webhook_url` (uri)\n\n## Delete a porting order\n\nDeletes an existing porting order. This operation is restrict to porting orders in draft state.\n\n`DELETE /porting_orders/{id}`\n\n```javascript\nawait client.portingOrders.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n```\n\n## Activate every number in a porting order asynchronously.\n\nActivate each number in a porting order asynchronously. This operation is limited to US FastPort orders only.\n\n`POST /porting_orders/{id}/actions/activate`\n\n```javascript\nconst response = await client.portingOrders.actions.activate(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response.data);\n```\n\nReturns: `activate_at` (date-time), `activation_type` (enum: scheduled, on-demand), `activation_windows` (array[object]), `created_at` (date-time), `id` (uuid), `record_type` (string), `status` (enum: created, in-process, completed, failed), `updated_at` (date-time)\n\n## Cancel a porting order\n\n`POST /porting_orders/{id}/actions/cancel`\n\n```javascript\nconst response = await client.portingOrders.actions.cancel('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response.data);\n```\n\nReturns: `activation_settings` (object), `additional_steps` (array[string]), `created_at` (date-time), `customer_group_reference` (string | null), `customer_reference` (string | null), `description` (string), `documents` (object), `end_user` (object), `id` (uuid), `messaging` (object), `misc` (object), `old_service_provider_ocn` (string), `parent_support_key` (string | null), `phone_number_configuration` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `phone_numbers` (array[object]), `porting_phone_numbers_count` (integer), `record_type` (string), `requirements` (array[object]), `requirements_met` (boolean), `status` (object), `support_key` (string | null), `updated_at` (date-time), `user_feedback` (object), `user_id` (uuid), `webhook_url` (uri)\n\n## Submit a porting order.\n\nConfirm and submit your porting order.\n\n`POST /porting_orders/{id}/actions/confirm`\n\n```javascript\nconst response = await client.portingOrders.actions.confirm('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response.data);\n```\n\nReturns: `activation_settings` (object), `additional_steps` (array[string]), `created_at` (date-time), `customer_group_reference` (string | null), `customer_reference` (string | null), `description` (string), `documents` (object), `end_user` (object), `id` (uuid), `messaging` (object), `misc` (object), `old_service_provider_ocn` (string), `parent_support_key` (string | null), `phone_number_configuration` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `phone_numbers` (array[object]), `porting_phone_numbers_count` (integer), `record_type` (string), `requirements` (array[object]), `requirements_met` (boolean), `status` (object), `support_key` (string | null), `updated_at` (date-time), `user_feedback` (object), `user_id` (uuid), `webhook_url` (uri)\n\n## Share a porting order\n\nCreates a sharing token for a porting order. The token can be used to share the porting order with non-Telnyx users.\n\n`POST /porting_orders/{id}/actions/share`\n\n```javascript\nconst response = await client.portingOrders.actions.share('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(response.data);\n```\n\nReturns: `created_at` (date-time), `expires_at` (date-time), `expires_in_seconds` (integer), `id` (uuid), `permissions` (array[string]), `porting_order_id` (uuid), `record_type` (string), `token` (string)\n\n## List all porting activation jobs\n\nReturns a list of your porting activation jobs.\n\n`GET /porting_orders/{id}/activation_jobs`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingOrdersActivationJob of client.portingOrders.activationJobs.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(portingOrdersActivationJob.id);\n}\n```\n\nReturns: `activate_at` (date-time), `activation_type` (enum: scheduled, on-demand), `activation_windows` (array[object]), `created_at` (date-time), `id` (uuid), `record_type` (string), `status` (enum: created, in-process, completed, failed), `updated_at` (date-time)\n\n## Retrieve a porting activation job\n\nReturns a porting activation job.\n\n`GET /porting_orders/{id}/activation_jobs/{activationJobId}`\n\n```javascript\nconst activationJob = await client.portingOrders.activationJobs.retrieve(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n);\n\nconsole.log(activationJob.data);\n```\n\nReturns: `activate_at` (date-time), `activation_type` (enum: scheduled, on-demand), `activation_windows` (array[object]), `created_at` (date-time), `id` (uuid), `record_type` (string), `status` (enum: created, in-process, completed, failed), `updated_at` (date-time)\n\n## Update a porting activation job\n\nUpdates the activation time of a porting activation job.\n\n`PATCH /porting_orders/{id}/activation_jobs/{activationJobId}`\n\n```javascript\nconst activationJob = await client.portingOrders.activationJobs.update(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  { id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n);\n\nconsole.log(activationJob.data);\n```\n\nReturns: `activate_at` (date-time), `activation_type` (enum: scheduled, on-demand), `activation_windows` (array[object]), `created_at` (date-time), `id` (uuid), `record_type` (string), `status` (enum: created, in-process, completed, failed), `updated_at` (date-time)\n\n## List additional documents\n\nReturns a list of additional documents for a porting order.\n\n`GET /porting_orders/{id}/additional_documents`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const additionalDocumentListResponse of client.portingOrders.additionalDocuments.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(additionalDocumentListResponse.id);\n}\n```\n\nReturns: `content_type` (string), `created_at` (date-time), `document_id` (uuid), `document_type` (enum: loa, invoice, csr, other), `filename` (string), `id` (uuid), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## Create a list of additional documents\n\nCreates a list of additional documents for a porting order.\n\n`POST /porting_orders/{id}/additional_documents`\n\n```javascript\nconst additionalDocument = await client.portingOrders.additionalDocuments.create(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(additionalDocument.data);\n```\n\nReturns: `content_type` (string), `created_at` (date-time), `document_id` (uuid), `document_type` (enum: loa, invoice, csr, other), `filename` (string), `id` (uuid), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## Delete an additional document\n\nDeletes an additional document for a porting order.\n\n`DELETE /porting_orders/{id}/additional_documents/{additional_document_id}`\n\n```javascript\nawait client.portingOrders.additionalDocuments.delete('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', {\n  id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n});\n```\n\n## List allowed FOC dates\n\nReturns a list of allowed FOC dates for a porting order.\n\n`GET /porting_orders/{id}/allowed_foc_windows`\n\n```javascript\nconst response = await client.portingOrders.retrieveAllowedFocWindows(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response.data);\n```\n\nReturns: `ended_at` (date-time), `record_type` (string), `started_at` (date-time)\n\n## List all comments of a porting order\n\nReturns a list of all comments of a porting order.\n\n`GET /porting_orders/{id}/comments`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const commentListResponse of client.portingOrders.comments.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(commentListResponse.id);\n}\n```\n\nReturns: `body` (string), `created_at` (date-time), `id` (uuid), `porting_order_id` (uuid), `record_type` (string), `user_type` (enum: admin, user, system)\n\n## Create a comment for a porting order\n\nCreates a new comment for a porting order.\n\n`POST /porting_orders/{id}/comments`\n\nOptional: `body` (string)\n\n```javascript\nconst comment = await client.portingOrders.comments.create('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(comment.data);\n```\n\nReturns: `body` (string), `created_at` (date-time), `id` (uuid), `porting_order_id` (uuid), `record_type` (string), `user_type` (enum: admin, user, system)\n\n## Download a porting order loa template\n\n`GET /porting_orders/{id}/loa_template`\n\n```javascript\nconst response = await client.portingOrders.retrieveLoaTemplate(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response);\n\nconst content = await response.blob();\nconsole.log(content);\n```\n\n## List porting order requirements\n\nReturns a list of all requirements based on country/number type for this porting order.\n\n`GET /porting_orders/{id}/requirements`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingOrderRetrieveRequirementsResponse of client.portingOrders.retrieveRequirements(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(portingOrderRetrieveRequirementsResponse.field_type);\n}\n```\n\nReturns: `field_type` (enum: document, textual), `field_value` (string), `record_type` (string), `requirement_status` (string), `requirement_type` (object)\n\n## Retrieve the associated V1 sub_request_id and port_request_id\n\n`GET /porting_orders/{id}/sub_request`\n\n```javascript\nconst response = await client.portingOrders.retrieveSubRequest(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response.data);\n```\n\nReturns: `port_request_id` (string), `sub_request_id` (string)\n\n## List verification codes\n\nReturns a list of verification codes for a porting order.\n\n`GET /porting_orders/{id}/verification_codes`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const verificationCodeListResponse of client.portingOrders.verificationCodes.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(verificationCodeListResponse.id);\n}\n```\n\nReturns: `created_at` (date-time), `id` (uuid), `phone_number` (string), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time), `verified` (boolean)\n\n## Send the verification codes\n\nSend the verification code for all porting phone numbers.\n\n`POST /porting_orders/{id}/verification_codes/send`\n\n```javascript\nawait client.portingOrders.verificationCodes.send('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n```\n\n## Verify the verification code for a list of phone numbers\n\nVerifies the verification code for a list of phone numbers.\n\n`POST /porting_orders/{id}/verification_codes/verify`\n\n```javascript\nconst response = await client.portingOrders.verificationCodes.verify(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response.data);\n```\n\nReturns: `created_at` (date-time), `id` (uuid), `phone_number` (string), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time), `verified` (boolean)\n\n## List action requirements for a porting order\n\nReturns a list of action requirements for a specific porting order.\n\n`GET /porting_orders/{porting_order_id}/action_requirements`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const actionRequirementListResponse of client.portingOrders.actionRequirements.list(\n  'porting_order_id',\n)) {\n  console.log(actionRequirementListResponse.id);\n}\n```\n\nReturns: `action_type` (string), `action_url` (string | null), `cancel_reason` (string | null), `created_at` (date-time), `id` (string), `porting_order_id` (string), `record_type` (enum: porting_action_requirement), `requirement_type_id` (string), `status` (enum: created, pending, completed, cancelled, failed), `updated_at` (date-time)\n\n## Initiate an action requirement\n\nInitiates a specific action requirement for a porting order.\n\n`POST /porting_orders/{porting_order_id}/action_requirements/{id}/initiate`\n\n```javascript\nconst response = await client.portingOrders.actionRequirements.initiate('id', {\n  porting_order_id: '550e8400-e29b-41d4-a716-446655440000',\n  params: { first_name: 'John', last_name: 'Doe' },\n});\n\nconsole.log(response.data);\n```\n\nReturns: `action_type` (string), `action_url` (string | null), `cancel_reason` (string | null), `created_at` (date-time), `id` (string), `porting_order_id` (string), `record_type` (enum: porting_action_requirement), `requirement_type_id` (string), `status` (enum: created, pending, completed, cancelled, failed), `updated_at` (date-time)\n\n## List all associated phone numbers\n\nReturns a list of all associated phone numbers for a porting order. Associated phone numbers are used for partial porting in GB to specify which phone numbers should be kept or disconnected.\n\n`GET /porting_orders/{porting_order_id}/associated_phone_numbers`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingAssociatedPhoneNumber of client.portingOrders.associatedPhoneNumbers.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(portingAssociatedPhoneNumber.id);\n}\n```\n\nReturns: `action` (enum: keep, disconnect), `country_code` (string), `created_at` (date-time), `id` (uuid), `phone_number_range` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## Create an associated phone number\n\nCreates a new associated phone number for a porting order. This is used for partial porting in GB to specify which phone numbers should be kept or disconnected.\n\n`POST /porting_orders/{porting_order_id}/associated_phone_numbers`\n\n```javascript\nconst associatedPhoneNumber = await client.portingOrders.associatedPhoneNumbers.create(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  {\n    action: 'keep',\n    phone_number_range: {},\n  },\n);\n\nconsole.log(associatedPhoneNumber.data);\n```\n\nReturns: `action` (enum: keep, disconnect), `country_code` (string), `created_at` (date-time), `id` (uuid), `phone_number_range` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## Delete an associated phone number\n\nDeletes an associated phone number from a porting order.\n\n`DELETE /porting_orders/{porting_order_id}/associated_phone_numbers/{id}`\n\n```javascript\nconst associatedPhoneNumber = await client.portingOrders.associatedPhoneNumbers.delete(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  { porting_order_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n);\n\nconsole.log(associatedPhoneNumber.data);\n```\n\nReturns: `action` (enum: keep, disconnect), `country_code` (string), `created_at` (date-time), `id` (uuid), `phone_number_range` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `porting_order_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## List all phone number blocks\n\nReturns a list of all phone number blocks of a porting order.\n\n`GET /porting_orders/{porting_order_id}/phone_number_blocks`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingPhoneNumberBlock of client.portingOrders.phoneNumberBlocks.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(portingPhoneNumberBlock.id);\n}\n```\n\nReturns: `activation_ranges` (array[object]), `country_code` (string), `created_at` (date-time), `id` (uuid), `phone_number_range` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `record_type` (string), `updated_at` (date-time)\n\n## Create a phone number block\n\nCreates a new phone number block.\n\n`POST /porting_orders/{porting_order_id}/phone_number_blocks`\n\n```javascript\nconst phoneNumberBlock = await client.portingOrders.phoneNumberBlocks.create(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  {\n    activation_ranges: [{ end_at: '+4930244999910', start_at: '+4930244999901' }],\n    phone_number_range: { end_at: '+4930244999910', start_at: '+4930244999901' },\n  },\n);\n\nconsole.log(phoneNumberBlock.data);\n```\n\nReturns: `activation_ranges` (array[object]), `country_code` (string), `created_at` (date-time), `id` (uuid), `phone_number_range` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `record_type` (string), `updated_at` (date-time)\n\n## Delete a phone number block\n\nDeletes a phone number block.\n\n`DELETE /porting_orders/{porting_order_id}/phone_number_blocks/{id}`\n\n```javascript\nconst phoneNumberBlock = await client.portingOrders.phoneNumberBlocks.delete(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  { porting_order_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n);\n\nconsole.log(phoneNumberBlock.data);\n```\n\nReturns: `activation_ranges` (array[object]), `country_code` (string), `created_at` (date-time), `id` (uuid), `phone_number_range` (object), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `record_type` (string), `updated_at` (date-time)\n\n## List all phone number extensions\n\nReturns a list of all phone number extensions of a porting order.\n\n`GET /porting_orders/{porting_order_id}/phone_number_extensions`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingPhoneNumberExtension of client.portingOrders.phoneNumberExtensions.list(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n)) {\n  console.log(portingPhoneNumberExtension.id);\n}\n```\n\nReturns: `activation_ranges` (array[object]), `created_at` (date-time), `extension_range` (object), `id` (uuid), `porting_phone_number_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## Create a phone number extension\n\nCreates a new phone number extension.\n\n`POST /porting_orders/{porting_order_id}/phone_number_extensions`\n\n```javascript\nconst phoneNumberExtension = await client.portingOrders.phoneNumberExtensions.create(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  {\n    activation_ranges: [{ end_at: 10, start_at: 1 }],\n    extension_range: { end_at: 10, start_at: 1 },\n    porting_phone_number_id: 'f24151b6-3389-41d3-8747-7dd8c681e5e2',\n  },\n);\n\nconsole.log(phoneNumberExtension.data);\n```\n\nReturns: `activation_ranges` (array[object]), `created_at` (date-time), `extension_range` (object), `id` (uuid), `porting_phone_number_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## Delete a phone number extension\n\nDeletes a phone number extension.\n\n`DELETE /porting_orders/{porting_order_id}/phone_number_extensions/{id}`\n\n```javascript\nconst phoneNumberExtension = await client.portingOrders.phoneNumberExtensions.delete(\n  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n  { porting_order_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e' },\n);\n\nconsole.log(phoneNumberExtension.data);\n```\n\nReturns: `activation_ranges` (array[object]), `created_at` (date-time), `extension_range` (object), `id` (uuid), `porting_phone_number_id` (uuid), `record_type` (string), `updated_at` (date-time)\n\n## List all porting phone numbers\n\nReturns a list of your porting phone numbers.\n\n`GET /porting_phone_numbers`\n\n```javascript\n// Automatically fetches more pages as needed.\nfor await (const portingPhoneNumberListResponse of client.portingPhoneNumbers.list()) {\n  console.log(portingPhoneNumberListResponse.porting_order_id);\n}\n```\n\nReturns: `activation_status` (enum: New, Pending, Conflict, Cancel Pending, Failed, Concurred, Activate RDY, Disconnect Pending, Concurrence Sent, Old, Sending, Active, Cancelled), `phone_number` (string), `phone_number_type` (enum: landline, local, mobile, national, shared_cost, toll_free), `portability_status` (enum: pending, confirmed, provisional), `porting_order_id` (uuid), `porting_order_status` (enum: draft, in-process, submitted, exception, foc-date-confirmed, cancel-pending, ported, cancelled), `record_type` (string), `requirements_status` (enum: requirement-info-pending, requirement-info-under-review, requirement-info-exception, approved), `support_key` (string)","tags":["telnyx","porting","javascript","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-porting-in-javascript","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-porting-in-javascript","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 (35,800 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:45.670Z","embedding":null,"createdAt":"2026-04-18T22:07:30.142Z","updatedAt":"2026-04-22T06:54:45.670Z","lastSeenAt":"2026-04-22T06:54:45.670Z","tsv":"'+12003270001':479,575,699 '+13035550000':1177 '+13035550001':1178 '+13035550002':1179 '+13125550001':82,187 '+13125550002':84 '+18005550101':246 '+4930244999901':3690,3699 '+4930244999910':3687,3696 '-3389':3940 '-41':3941 '-7':3944 '-8747':3943 '/action_requirements':3125,3207 '/actions/activate':1873 '/actions/cancel':1934 '/actions/confirm':2060 '/actions/share':2203 '/activation_jobs':2262,2337,2416 '/additional_documents':2494,2570,2634 '/allowed_foc_windows':2672 '/associated_phone_numbers':3321,3424,3505 '/comments':2720,2783 '/initiate':3209 '/loa_template':2832 '/phone_number_blocks':3594,3671,3756 '/phone_number_extensions':3841,3907,3991 '/portability_checks':234 '/porting/events':277,326,374 '/porting/loa_configurations':394,449,607,662,755,776 '/porting/loa_configurations/preview':545 '/porting/reports':811,870,927 '/porting/uk_carriers':987 '/porting_orders':1031,1157,1487,1663,1834,1871,1932,2058,2201,2260,2335,2414,2492,2568,2632,2670,2718,2781,2830,2871,2926,2965,3028,3061,3121,3203,3317,3420,3501,3590,3667,3752,3837,3903,3987 '/porting_orders/exception_types':1298 '/porting_orders/phone_number_configurations':1385,1441 '/porting_phone_numbers':4057 '/preview':778 '/republish':376 '/requirements':2873 '/sub_request':2928 '/verification_codes':2967 '/verification_codes/send':3030 '/verification_codes/verify':3063 '1':120,3926,3934 '10':3923,3931 '1000':128 '182bd5e5':334,381,484,580,615,670,704,761,786,935,1495,1708,1840,1880,1941,2067,2210,2277,2345,2352,2424,2431,2509,2577,2642,2649,2679,2735,2793,2839,2888,2935,2982,3035,3070,3336,3431,3513,3522,3609,3678,3764,3773,3856,3914,3999,4008 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':333,380,483,579,614,669,703,760,785,934,1494,1707,1839,1879,1940,2066,2209,2276,2344,2351,2423,2430,2508,2576,2641,2648,2678,2734,2792,2838,2887,2934,2981,3034,3069,3335,3430,3512,3521,3608,3677,3763,3772,3855,3913,3998,4007 '401':68,153 '403':157 '404':160 '41d4':3222 '422':64,141,164 '429':61,105,170 '446655440000':3224 '4fe4':336,383,486,582,617,672,706,763,788,937,1497,1710,1842,1882,1943,2069,2212,2279,2347,2354,2426,2433,2511,2579,2644,2651,2681,2737,2795,2841,2890,2937,2984,3037,3072,3338,3433,3515,3524,3611,3680,3766,3775,3858,3916,4001,4010 '550e8400':3219 '600':465,561,685 '6e1a':335,382,485,581,616,671,705,762,787,936,1496,1709,1841,1881,1942,2068,2211,2278,2346,2353,2425,2432,2510,2578,2643,2650,2680,2736,2794,2840,2889,2936,2983,3036,3071,3337,3432,3514,3523,3610,3679,3765,3774,3857,3915,4000,4009 '78701':470,566,690 'a716':3223 'a799':337,384,487,583,618,673,707,764,789,938,1498,1711,1843,1883,1944,2070,2213,2280,2348,2355,2427,2434,2512,2580,2645,2652,2682,2738,2796,2842,2891,2938,2985,3038,3073,3339,3434,3516,3525,3612,3681,3767,3776,3859,3917,4002,4011 'aa6d9a6ab26e':338,385,488,584,619,674,708,765,790,939,1499,1712,1844,1884,1945,2071,2214,2281,2349,2356,2428,2435,2513,2581,2646,2653,2683,2739,2797,2843,2892,2939,2986,3039,3074,3340,3435,3517,3526,3613,3682,3768,3777,3860,3918,4003,4012 'account':1309 'action':3103,3113,3145,3148,3171,3191,3196,3235,3238,3261,3344,3436,3444,3530 'actionrequirementlistrespons':3136 'actionrequirementlistresponse.id':3143 'activ':1048,1183,1503,1666,1716,1845,1853,1888,1893,1900,1949,2075,2249,2257,2285,2290,2297,2327,2332,2360,2365,2372,2402,2406,2411,2439,2444,2451,3617,3683,3703,3781,3864,3919,3949,4016,4076,4086,4094 'activationjob':2341,2420 'activationjob.data':2358,2437 'activationjobid':2338,2417 'addit':1051,1186,1506,1719,1952,2078,2479,2485,2555,2561,2621,2625,2635 'additionaldocu':2573 'additionaldocument.data':2583 'additionaldocumentlistrespons':2505 'additionaldocumentlistresponse.id':2515 'address':411,455,464,496,551,560,623,675,684,716 'admin':2762,2820 'allow':2655,2662 'alreadi':44 'altern':996 'alway':69 'api':28,52,135,155 'apikey':25 'approv':4159 'array':238,297,345,998,1053,1110,1121,1188,1245,1256,1508,1565,1576,1694,1721,1778,1789,1902,1954,2011,2022,2080,2137,2148,2235,2299,2374,2453,3619,3705,3783,3866,3951,4018 'associ':2916,3281,3289,3296,3388,3394,3488,3493 'associatedphonenumb':3427,3509 'associatedphonenumber.data':3442,3528 'assum':41 'asynchron':1852,1860 'atn':1316 'attribut':1620,1642,1652 'austin':457,553,677 'auth':1312 'authent':66 'auto':205 'auto-pagin':204 'automat':220,279,396,813,1033,1387,2264,2496,2722,2875,2969,3127,3323,3596,3843,4059 'avail':294,342,975,981 'avenu':467,563,687 'await':79,121,210,243,286,331,378,403,453,549,593,612,667,758,782,795,820,874,932,991,1040,1173,1302,1394,1445,1492,1705,1837,1877,1938,2064,2207,2271,2342,2421,2503,2574,2639,2676,2729,2790,2836,2848,2882,2932,2976,3032,3067,3134,3213,3330,3428,3510,3603,3675,3761,3850,3911,3996,4066 'backoff':113,176 'base':2862 'bash':11 'block':3576,3584,3659,3665,3745,3750 'bodi':2743,2785,2801 'boolean':252,261,1125,1260,1580,1793,2026,2152,3013,3101 'btn':1315,1330 'bundl':1423,1471 'call':53 'cancel':1927,3152,3182,3242,3272,4082,4095,4136,4139 'cancel-pend':4135 'carrier':976,982 'catch':87 'center':1361 'check':96,145,167,224,228 'citi':456,552,676 'client':22,42 'client.messages.send':80 'client.portabilitychecks.run':244 'client.porting.events.list':290 'client.porting.events.republish':379 'client.porting.events.retrieve':332 'client.porting.listukcarriers':992 'client.porting.loaconfigurations':783 'client.porting.loaconfigurations.create':454 'client.porting.loaconfigurations.delete':759 'client.porting.loaconfigurations.list':407 'client.porting.loaconfigurations.preview':550 'client.porting.loaconfigurations.retrieve':613 'client.porting.loaconfigurations.update':668 'client.porting.reports.create':875 'client.porting.reports.list':824 'client.porting.reports.retrieve':933 'client.portingorders.actionrequirements.initiate':3214 'client.portingorders.actionrequirements.list':3138 'client.portingorders.actions.activate':1878 'client.portingorders.actions.cancel':1939 'client.portingorders.actions.confirm':2065 'client.portingorders.actions.share':2208 'client.portingorders.activationjobs.list':2275 'client.portingorders.activationjobs.retrieve':2343 'client.portingorders.activationjobs.update':2422 'client.portingorders.additionaldocuments.create':2575 'client.portingorders.additionaldocuments.delete':2640 'client.portingorders.additionaldocuments.list':2507 'client.portingorders.associatedphonenumbers.create':3429 'client.portingorders.associatedphonenumbers.delete':3511 'client.portingorders.associatedphonenumbers.list':3334 'client.portingorders.comments.create':2791 'client.portingorders.comments.list':2733 'client.portingorders.create':1174 'client.portingorders.delete':1838 'client.portingorders.list':1044 'client.portingorders.phonenumberblocks.create':3676 'client.portingorders.phonenumberblocks.delete':3762 'client.portingorders.phonenumberblocks.list':3607 'client.portingorders.phonenumberconfigurations.create':1446 'client.portingorders.phonenumberconfigurations.list':1398 'client.portingorders.phonenumberextensions.create':3912 'client.portingorders.phonenumberextensions.delete':3997 'client.portingorders.phonenumberextensions.list':3854 'client.portingorders.retrieve':1493 'client.portingorders.retrieveallowedfocwindows':2677 'client.portingorders.retrieveexceptiontypes':1303 'client.portingorders.retrieveloatemplate':2837 'client.portingorders.retrieverequirements':2886 'client.portingorders.retrievesubrequest':2933 'client.portingorders.update':1706 'client.portingorders.verificationcodes.list':2980 'client.portingorders.verificationcodes.send':3033 'client.portingorders.verificationcodes.verify':3068 'client.portingphonenumbers.list':4070 'code':74,152,193,459,469,555,565,679,689,1307,1358,2953,2959,3017,3021,3043,3053,3349,3449,3535,3622,3708,3786 'comment':2702,2712,2767,2775,2789 'comment.data':2799 'commentlistrespons':2731 'commentlistresponse.id':2741 'common':150 'compani':413,471,498,567,625,691,718 'complet':311,359,853,912,968,1920,2317,2392,2471,3181,3271 'concur':4085 'concurr':4090 'configur':388,392,443,447,492,528,543,588,600,605,655,660,712,748,753,769,774,1094,1229,1375,1382,1432,1439,1549,1687,1762,1995,2121 'confirm':2051,4115,4134 'conflict':1365,4081 'congress':466,562,686 'connect':97 'console.error':93,134,142 'console.log':247,291,339,408,493,589,595,620,713,791,797,825,884,940,993,1045,1180,1304,1399,1447,1500,1713,1885,1946,2072,2215,2282,2357,2436,2514,2582,2684,2740,2798,2844,2850,2893,2940,2987,3075,3142,3232,3341,3441,3527,3614,3700,3778,3861,3946,4013,4071 'const':21,77,114,211,241,287,329,404,451,547,591,610,665,780,793,821,872,930,989,1041,1171,1300,1395,1443,1490,1703,1875,1936,2062,2205,2272,2340,2419,2504,2572,2674,2730,2788,2834,2846,2883,2930,2977,3065,3135,3211,3331,3426,3508,3604,3673,3759,3851,3909,3994,4067 'contact':416,474,501,570,628,694,721 'content':592,596,794,798,2517,2585,2847,2851 'cost':1105,1240,1560,1773,2006,2132,3371,3471,3557,3644,3730,3808,4108 'count':1115,1250,1570,1783,2016,2142 'countri':192,458,554,678,3348,3448,3534,3621,3707,3785 'country/number':2864 'creat':310,358,418,440,444,503,541,630,723,828,859,887,943,1000,1055,1146,1150,1190,1402,1426,1433,1450,1510,1723,1904,1916,1956,2082,2177,2218,2301,2313,2376,2388,2455,2467,2520,2551,2557,2588,2745,2765,2772,2803,2990,3078,3156,3179,3246,3269,3351,3386,3391,3451,3537,3624,3655,3660,3710,3788,3868,3891,3896,3953,4020 'csr':2533,2601 'csv':849,883,908,964 'cupid':997,1005 'current':1660 'custom':1060,1065,1162,1166,1195,1200,1515,1520,1669,1673,1728,1733,1961,1966,2087,2092 'd3':3942 'dash':196 'date':421,438,506,523,633,650,726,743,831,857,890,916,946,972,1003,1017,1058,1135,1193,1270,1405,1420,1453,1468,1513,1590,1726,1803,1891,1907,1925,1959,2036,2085,2162,2221,2226,2288,2304,2322,2363,2379,2397,2442,2458,2476,2523,2549,2591,2617,2657,2664,2690,2698,2748,2806,2993,3010,3081,3098,3159,3187,3249,3277,3354,3384,3454,3484,3540,3570,3627,3653,3713,3739,3791,3817,3871,3889,3956,3974,4023,4041,4133 'date-tim':420,437,505,522,632,649,725,742,830,856,889,915,945,971,1002,1016,1057,1134,1192,1269,1404,1419,1452,1467,1512,1589,1725,1802,1890,1906,1924,1958,2035,2084,2161,2220,2225,2287,2303,2321,2362,2378,2396,2441,2457,2475,2522,2548,2590,2616,2689,2697,2747,2805,2992,3009,3080,3097,3158,3186,3248,3276,3353,3383,3453,3483,3539,3569,3626,3652,3712,3738,3790,3816,3870,3888,3955,3973,4022,4040 'dd8c681e5e2':3945 'default':33 'delet':745,749,754,1814,1818,1833,2619,2623,2631,3486,3491,3500,3741,3746,3751,3976,3981,3986 'demand':1899,2296,2371,2450 'descript':1069,1204,1369,1524,1737,1970,2096 'detail':1480,1607 'disconnect':3315,3347,3418,3447,3533,4088 'document':481,577,701,833,892,948,1071,1206,1526,1676,1739,1972,2098,2480,2486,2525,2528,2556,2562,2593,2596,2622,2626,2636,2900 'doe':3231 'download':2823 'draft':1831,4125 'e.164':184 'e.g':186 'e29b':3221 'e29b-41d4-a716':3220 'edit':1601,1605 'els':100,129 'email':475,571,695 'end':1073,1208,1528,1678,1741,1974,2100,2687,3685,3694,3921,3929 'entiti':1318 'enum':301,309,349,357,845,851,904,910,960,966,1099,1234,1308,1554,1767,1895,1915,2000,2126,2292,2312,2367,2387,2446,2466,2530,2598,2761,2819,2899,3169,3178,3259,3268,3345,3365,3445,3465,3531,3551,3638,3724,3802,4078,4102,4113,4124,4145 'err':88,90,102,131 'err.headers':116 'err.message':138 'err.status':137,140 'error':49,58,63,67,71,95,136,144,151,166 'event':268,275,299,319,324,330,347,367,372 'event.data':340 'eventlistrespons':288,292 'everi':1846 'exampl':39 'except':1283,1291,4130,4158 'exist':1483,1610,1820 'expir':1322,2223,2228 'exponenti':112,175 'export':846,880,905,961 'extens':3823,3831,3873,3895,3901,3927,3958,3980,3985,4025 'f24151b6':3939 'fail':55,1921,2318,2393,2472,3183,3273,4084 'failur':1368 'fast':250 'fastport':1867 'featur':1342 'feedback':1138,1273,1593,1697,1806,2039,2165 'fetch':280,397,814,1034,1388,2265,2497,2723,2876,2970,3128,3324,3597,3844,4060 'field':147,168,2897,2902 'filenam':2535,2603 'filter':877 'first':3226 'foc':1321,1323,2656,2663,4132 'foc-date-confirm':4131 'format':149,169,185 'found':163 'free':1107,1242,1562,1775,2008,2134,3373,3473,3559,3646,3732,3810,4110 'gb':3305,3408 'generat':537,806,864,925 'get':276,325,393,606,775,810,926,986,1030,1297,1384,1486,2259,2334,2491,2669,2717,2829,2870,2925,2964,3120,3316,3589,3836,4056 'group':1061,1163,1196,1516,1670,1690,1729,1962,2088 'handl':50,70 'hello':86 'id':303,314,327,351,362,375,423,430,482,508,515,578,608,635,642,663,702,728,735,756,777,834,836,893,895,928,949,951,1007,1076,1141,1211,1276,1407,1412,1424,1455,1460,1472,1488,1531,1596,1664,1691,1744,1809,1835,1872,1909,1933,1977,2042,2059,2103,2168,2202,2232,2239,2261,2306,2336,2350,2381,2415,2429,2460,2493,2526,2537,2541,2569,2594,2605,2609,2633,2637,2647,2671,2719,2750,2754,2782,2808,2812,2831,2872,2920,2924,2927,2945,2949,2966,2995,3002,3029,3062,3083,3090,3124,3141,3161,3165,3175,3206,3208,3215,3218,3251,3255,3265,3320,3356,3376,3423,3456,3476,3504,3506,3520,3542,3562,3593,3629,3670,3715,3755,3757,3771,3793,3840,3876,3881,3906,3938,3961,3966,3990,3992,4006,4028,4033,4074,4119 'immedi':232 'import':17,177 'in-process':1917,2314,2389,2468,4126 'includ':188,1623,1628,1638,1657 'incorrect':1352 'info':4148,4152,4157 'initi':45,3189,3193 'instal':10,13 'instanceof':91,103,132 'insuffici':158 'integ':1116,1251,1571,1784,2017,2143,2231 'interpret':1649 'invalid':154,1337 'invoic':2532,2600 'irrespons':1333 'item':212 'iter':207,216 'javascript':5,9,16,75,240,278,328,377,395,450,546,609,664,757,779,812,871,929,988,1032,1170,1299,1386,1442,1489,1702,1836,1874,1935,2061,2204,2263,2339,2418,2495,2571,2638,2673,2721,2787,2833,2874,2929,2968,3031,3064,3126,3210,3322,3425,3507,3595,3672,3758,3842,3908,3993,4058 'job':2250,2258,2328,2333,2403,2412 'john':3228 'keep':3346,3437,3446,3532 'kept':3313,3416 'key':29,156,1089,1129,1224,1264,1544,1584,1757,1797,1990,2030,2116,2156,4161 'landlin':1100,1235,1555,1768,2001,2127,3366,3466,3552,3639,3725,3803,4103 'last':3229 'limit':60,107,172,1864 'list':200,265,271,386,389,799,803,974,980,1019,1025,1281,1287,1371,1378,1428,1435,2246,2253,2478,2483,2553,2559,2654,2660,2700,2709,2852,2858,2951,2956,3046,3056,3102,3111,3279,3286,3572,3579,3819,3826,4043,4050 'loa':387,391,442,446,491,527,532,542,587,599,604,654,659,711,747,752,768,773,2531,2599,2827 'loaconfigur':452,611,666 'loaconfiguration.data':494,621,714 'local':1101,1236,1556,1769,2002,2128,3367,3467,3553,3640,3726,3804,4104 'locat':1325 'logo':425,480,510,576,637,700,730 'lsr':1327 'main':1329 'may':1621 'messag':1078,1213,1533,1681,1746,1979,2105 'met':1124,1259,1579,1792,2025,2151 'method':201,296,344 'misc':1080,1215,1535,1683,1748,1981,2107 'mismatch':1311,1314,1317,1320,1326,1345,1359 'miss':1651 'mobil':1102,1237,1557,1770,2003,2129,3368,3468,3554,3641,3727,3805,4105 'must':181 'name':414,427,472,489,499,512,568,585,626,639,692,709,719,732,1009,1319,3227,3230 'nation':1103,1238,1558,1771,2004,2130,3369,3469,3555,3642,3728,3806,4106 'need':284,401,539,818,1038,1392,2269,2501,2727,2880,2974,3132,3328,3601,3848,4064 'network':57,94 'new':23,122,1152,2774,3393,3662,3898,4079 'non':2197 'non-telnyx':2196 'note':178 'notif':295,343 'npm':12 'null':1064,1068,1091,1131,1169,1199,1203,1226,1266,1519,1523,1546,1586,1732,1736,1759,1799,1965,1969,1992,2032,2091,2095,2118,2158,3151,3155,3241,3245 'number':180,237,258,478,574,698,1093,1097,1109,1114,1160,1176,1228,1232,1244,1249,1310,1339,1344,1347,1374,1381,1411,1431,1438,1459,1548,1552,1564,1569,1686,1761,1765,1777,1782,1847,1855,1994,1998,2010,2015,2120,2124,2136,2141,2998,3026,3049,3059,3086,3283,3291,3298,3310,3359,3363,3390,3396,3413,3439,3459,3463,3490,3495,3545,3549,3575,3583,3632,3636,3658,3664,3692,3718,3722,3744,3749,3796,3800,3822,3830,3880,3894,3900,3937,3965,3979,3984,4032,4047,4055,4097,4100 'object':306,354,412,417,426,497,502,511,624,629,638,717,722,731,839,898,954,1050,1072,1075,1079,1081,1095,1111,1122,1127,1139,1155,1185,1207,1210,1214,1216,1230,1246,1257,1262,1274,1505,1527,1530,1534,1536,1550,1566,1577,1582,1594,1627,1668,1677,1680,1682,1684,1688,1695,1698,1718,1740,1743,1747,1749,1763,1779,1790,1795,1807,1903,1951,1973,1976,1980,1982,1996,2012,2023,2028,2040,2077,2099,2102,2106,2108,2122,2138,2149,2154,2166,2300,2375,2454,2913,3361,3461,3547,3620,3634,3706,3720,3784,3798,3867,3875,3952,3960,4019,4027 'ocn':1085,1220,1540,1753,1986,2112 'old':1082,1217,1537,1750,1983,2109,4092 'omit':37 'on-demand':1897,2294,2369,2448 'oper':809,868,1824,1862 'option':235,1161,1665,2784 'order':313,361,848,882,907,963,1022,1029,1149,1154,1296,1354,1477,1485,1604,1612,1619,1817,1822,1829,1851,1859,1868,1930,2050,2056,2176,2184,2194,2238,2490,2540,2566,2608,2630,2668,2706,2716,2753,2771,2779,2811,2826,2854,2869,2963,3001,3089,3108,3119,3123,3140,3164,3201,3205,3217,3254,3295,3319,3375,3400,3422,3475,3499,3503,3519,3561,3588,3592,3669,3754,3770,3835,3839,3905,3989,4005,4073,4118,4122 'organ':429,514,641,734 'osp':1332 'page':219,282,399,816,1036,1390,2267,2499,2725,2878,2972,3130,3326,3599,3846,4062 'pagin':199,206,1383 'param':838,876,897,953,3225 'paramet':529 'parent':1087,1222,1542,1755,1988,2114 'parenthes':198 'partial':3302,3405 'passcod':1335 'patch':661,1631,1662,2413 'payload':305,307,353,355 'pend':852,911,967,1328,3180,3270,4080,4083,4089,4114,4137,4149 'permiss':159,2234 'person':1313 'phone':179,236,257,477,573,697,1092,1096,1108,1113,1159,1175,1227,1231,1243,1248,1338,1343,1346,1373,1380,1410,1430,1437,1458,1547,1551,1563,1568,1685,1760,1764,1776,1781,1993,1997,2009,2014,2119,2123,2135,2140,2997,3025,3048,3058,3085,3282,3290,3297,3309,3358,3362,3389,3395,3412,3438,3458,3462,3489,3494,3544,3548,3574,3582,3631,3635,3657,3663,3691,3717,3721,3743,3748,3795,3799,3821,3829,3879,3893,3899,3936,3964,3978,3983,4031,4046,4054,4096,4099 'phonenumb':245 'phonenumberblock':3674,3760 'phonenumberblock.data':3701,3779 'phonenumberconfigur':1444 'phonenumberconfiguration.data':1448 'phonenumberconfigurationlistrespons':1396 'phonenumberconfigurationlistresponse.id':1400 'phonenumberextens':3910,3995 'phonenumberextension.data':3947,4014 'pin':1336 'port':3,7,267,274,312,318,323,360,366,371,800,808,847,861,867,881,906,962,1021,1028,1112,1148,1153,1247,1295,1331,1350,1353,1409,1457,1476,1484,1567,1603,1611,1618,1780,1816,1821,1828,1850,1858,1929,2013,2049,2055,2139,2175,2183,2193,2237,2248,2256,2326,2331,2401,2410,2489,2539,2565,2607,2629,2667,2705,2715,2752,2770,2778,2810,2825,2853,2868,2922,2943,2962,3000,3024,3088,3107,3118,3122,3139,3163,3170,3200,3204,3216,3253,3260,3294,3303,3318,3374,3399,3406,3421,3474,3498,3502,3518,3560,3587,3591,3668,3753,3769,3834,3838,3878,3904,3935,3963,3988,4004,4030,4045,4053,4117,4121,4138 'portabl':223,227,251,254,260,1349,1363,4111 'porting_order.deleted':302,350 'portingassociatedphonenumb':3332 'portingassociatedphonenumber.id':3342 'portingloaconfigur':405 'portingloaconfiguration.id':409 'portingord':1042,1172,1491,1704 'portingorder.data':1181,1501,1714 'portingorder.id':1046 'portingorderretrieverequirementsrespons':2884 'portingorderretrieverequirementsresponse.field':2894 'portingordersactivationjob':2273 'portingordersactivationjob.id':2283 'portingphonenumberblock':3605 'portingphonenumberblock.id':3615 'portingphonenumberextens':3852 'portingphonenumberextension.id':3862 'portingphonenumberlistrespons':4068 'portingphonenumberlistresponse.porting':4072 'portingreport':822 'portingreport.id':826 'possibl':1290 'post':233,373,448,544,869,1156,1440,1870,1931,2057,2200,2567,2780,3027,3060,3202,3419,3666,3902 'postal':1357 'prefix':190 'preview':525,530,766,770 'preview1':784 'process':1919,2316,2391,2470,4128 'process.env':26 'product':73 'promis':123 'provid':1084,1219,1539,1752,1985,2111 'provision':4116 'r':124,126 'rang':3360,3440,3460,3546,3618,3633,3684,3693,3704,3719,3782,3797,3865,3874,3920,3928,3950,3959,4017,4026 'rate':59,106,171,1360 'rdi':4087 'reason':255,3153,3243 'record':262,432,517,644,737,840,899,955,1011,1117,1252,1414,1462,1572,1785,1911,2018,2144,2241,2308,2383,2462,2543,2611,2692,2756,2814,2905,3004,3092,3167,3257,3378,3478,3564,3647,3733,3811,3883,3968,4035,4140 'refer':1062,1066,1164,1167,1197,1201,1517,1521,1671,1674,1730,1734,1963,1967,2089,2093 'reject':1324 'relat':801,862 'report':802,805,843,863,865,873,878,902,920,924,931,958 'report.data':885,941 'republish':364,368 'request':1632,1635,2919,2923,2944,2948 'requir':146,1120,1123,1158,1255,1258,1356,1575,1578,1689,1693,1788,1791,2021,2024,2147,2150,2855,2861,2908,2911,3104,3114,3172,3173,3192,3197,3262,3263,4143,4147,4151,4156 'requirement-info-except':4155 'requirement-info-pend':4146 'requirement-info-under-review':4150 'resourc':161,1626,1645 'respons':242,548,590,781,792,990,1301,1876,1937,2063,2206,2675,2835,2845,2931,3066,3212 'response.blob':594,796,2849 'response.data':248,994,1305,1886,1947,2073,2216,2685,2941,3076,3233 'restrict':1826 'result':78,214,231 'retri':99,110,118,173 'retriev':597,601,918,921,1474,1478,2324,2914 'retry-aft':117 'retryaft':115,127 'return':202,229,249,269,293,341,410,495,622,715,827,886,942,995,1023,1047,1182,1285,1306,1376,1401,1449,1502,1715,1887,1948,2074,2217,2251,2284,2329,2359,2438,2481,2516,2584,2658,2686,2707,2742,2800,2856,2896,2942,2954,2989,3077,3109,3144,3234,3284,3343,3443,3529,3577,3616,3702,3780,3824,3863,3948,4015,4048,4075 'review':4154 'run':221,225 'schedul':1896,2293,2368,2447 'second':2230 'send':3014,3018,4093 'sent':4091 'servic':1083,1218,1538,1751,1984,2110 'set':1049,1184,1504,1667,1717,1950,2076 'settimeout':125 'setup':15 'share':1104,1239,1559,1772,2005,2131,2173,2179,2191,3370,3470,3556,3643,3729,3807,4107 'show':316,320 'shown':47 'skill' 'skill-telnyx-porting-in-javascript' 'source-team-telnyx' 'space':195 'special':1341 'specif':322,370,603,658,751,772,923,3117,3195 'specifi':3307,3410 'split':1355 'start':2695,3688,3697,3924,3932 'state':461,557,681,1832 'status':308,356,850,909,965,1126,1261,1581,1794,1914,2027,2153,2311,2386,2465,2909,3177,3267,4077,4112,4123,4144 'step':1052,1187,1507,1720,1953,2079 'street':463,559,683 'string':239,256,259,264,298,346,415,428,431,434,500,513,516,519,627,640,643,646,720,733,736,739,842,901,957,999,1006,1010,1013,1054,1063,1067,1070,1086,1090,1119,1130,1165,1168,1189,1198,1202,1205,1221,1225,1254,1265,1370,1416,1464,1509,1518,1522,1525,1541,1545,1574,1585,1672,1675,1722,1731,1735,1738,1754,1758,1787,1798,1913,1955,1964,1968,1971,1987,1991,2020,2031,2081,2090,2094,2097,2113,2117,2146,2157,2236,2243,2245,2310,2385,2464,2519,2536,2545,2587,2604,2613,2694,2744,2758,2786,2802,2816,2904,2907,2910,2946,2950,2999,3006,3087,3094,3147,3150,3154,3162,3166,3176,3237,3240,3244,3252,3256,3266,3350,3380,3450,3480,3536,3566,3623,3649,3709,3735,3787,3813,3885,3970,4037,4098,4142,4162 'sub':2918,2947 'submit':2047,2053,4129 'support':1088,1128,1223,1263,1543,1583,1756,1796,1989,2029,2115,2155,4160 'sv':1364,1366 'system':1647,2764,2822 'telnyx':2,6,14,18,20,24,27,473,569,693,2198 'telnyx-porting-in-javascript':1 'telnyx.apiconnectionerror':92 'telnyx.apierror':133 'telnyx.ratelimiterror':104 'templat':533,2828 'testing@telnyx.com':476,572,696 'text':85 'textual':2901 'time':422,439,507,524,634,651,727,744,832,858,891,917,947,973,1004,1018,1059,1136,1194,1271,1406,1421,1454,1469,1514,1591,1727,1804,1892,1908,1926,1960,2037,2086,2163,2222,2227,2289,2305,2323,2364,2380,2398,2407,2443,2459,2477,2524,2550,2592,2618,2691,2699,2749,2807,2994,3011,3082,3099,3160,3188,3250,3278,3355,3385,3455,3485,3541,3571,3628,3654,3714,3740,3792,3818,3872,3890,3957,3975,4024,4042 'token':2180,2186,2244 'toll':1106,1241,1561,1774,2007,2133,3372,3472,3558,3645,3731,3809,4109 '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' 'tri':76 'tx':462,558,682 'type':263,300,348,433,518,645,738,841,844,879,900,903,956,959,1012,1098,1118,1233,1253,1284,1292,1351,1415,1463,1553,1573,1766,1786,1894,1912,1999,2019,2125,2145,2242,2291,2309,2366,2384,2445,2463,2518,2529,2544,2586,2597,2612,2693,2757,2760,2815,2818,2865,2895,2898,2906,2912,3005,3093,3146,3168,3174,3236,3258,3264,3364,3379,3464,3479,3550,3565,3637,3648,3723,3734,3801,3812,3884,3969,4036,4101,4141 'uk':979,985 'unknown':1367 'updat':435,520,647,652,656,740,854,913,969,1014,1132,1267,1417,1465,1587,1800,1922,2033,2159,2319,2394,2399,2404,2473,2546,2614,3007,3095,3184,3274,3381,3481,3567,3650,3736,3814,3886,3971,4038 'uri':1145,1280,1600,1701,1813,2046,2172 'url':1144,1279,1599,1700,1812,2045,2171,3149,3239 'us':460,556,680,1866 'use':208,2189,3300,3403 'user':1074,1137,1140,1209,1272,1275,1422,1470,1529,1592,1595,1679,1696,1742,1805,1808,1975,2038,2041,2101,2164,2167,2199,2759,2763,2817,2821 'uuid':304,315,352,363,424,509,636,729,835,837,894,896,950,952,1008,1077,1142,1212,1277,1408,1413,1425,1456,1461,1473,1532,1597,1692,1745,1810,1910,1978,2043,2104,2169,2233,2240,2307,2382,2461,2527,2538,2542,2595,2606,2610,2751,2755,2809,2813,2996,3003,3084,3091,3357,3377,3457,3477,3543,3563,3630,3716,3794,3877,3882,3962,3967,4029,4034,4120 'v1':2917 'valid':62,143,165 'valu':1661,2903 'verif':2952,2958,3016,3020,3042,3052 'verifi':3012,3040,3050,3100 'verificationcodelistrespons':2978 'verificationcodelistresponse.id':2988 'wait':108 'webhook':1143,1278,1598,1699,1811,2044,2170 'window':1901,2298,2373,2452 'without':538 'would':535 'zip':468,564,688","prices":[{"id":"7a36ac29-8534-4c25-b38a-d523127dee8d","listingId":"eed9f411-26e4-413f-8c40-c16877d1d313","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:07:30.142Z"}],"sources":[{"listingId":"eed9f411-26e4-413f-8c40-c16877d1d313","source":"github","sourceId":"team-telnyx/ai/telnyx-porting-in-javascript","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-porting-in-javascript","isPrimary":false,"firstSeenAt":"2026-04-18T22:07:30.142Z","lastSeenAt":"2026-04-22T06:54:45.670Z"}],"details":{"listingId":"eed9f411-26e4-413f-8c40-c16877d1d313","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-porting-in-javascript","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":"6999e50fea5aedf7b75ace8d531d7e179b38cfe8","skill_md_path":"skills/telnyx-porting-in-javascript/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-porting-in-javascript"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-porting-in-javascript","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-porting-in-javascript"},"updatedAt":"2026-04-22T06:54:45.670Z"}}