{"id":"a711ac4a-40af-4fa5-b225-5a947993a826","shortId":"epDUus","kind":"skill","title":"telnyx-numbers-python","tagline":">-","description":"<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->\n\n# Telnyx Numbers - Python\n\n## Installation\n\n```bash\npip install telnyx\n```\n\n## Setup\n\n```python\nimport os\nfrom telnyx import Telnyx\n\nclient = Telnyx(\n    api_key=os.environ.get(\"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```python\nimport telnyx\n\ntry:\n    available_phone_numbers = client.available_phone_numbers.list()\nexcept telnyx.APIConnectionError:\n    print(\"Network error — check connectivity and retry\")\nexcept telnyx.RateLimitError:\n    import time\n    time.sleep(1)  # Check Retry-After header for actual delay\nexcept telnyx.APIStatusError as e:\n    print(f\"API error {e.status_code}: {e.message}\")\n    if e.status_code == 422:\n        print(\"Validation error — check required fields and formats\")\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 item in page_result:` to iterate through all pages automatically.\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\n## Core Tasks\n\n### Search available phone numbers\n\nNumber search is the entrypoint for provisioning. Agents need the search method, key query filters, and the fields returned for candidate numbers.\n\n`client.available_phone_numbers.list()` — `GET /available_phone_numbers`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `filter` | object | No | Consolidated filter parameter (deepObject style). |\n\n```python\navailable_phone_numbers = client.available_phone_numbers.list()\nprint(available_phone_numbers.data)\n```\n\nResponse wrapper:\n- items: `available_phone_numbers.data`\n- pagination: `available_phone_numbers.meta`\n\nPrimary item fields:\n- `phone_number`\n- `record_type`\n- `quickship`\n- `reservable`\n- `best_effort`\n- `cost_information`\n\n### Create a number order\n\nNumber ordering is the production provisioning step after number selection.\n\n`client.number_orders.create()` — `POST /number_orders`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `phone_numbers` | array[object] | Yes |  |\n| `connection_id` | string (UUID) | No | Identifies the connection associated with this phone number. |\n| `messaging_profile_id` | string (UUID) | No | Identifies the messaging profile associated with the phone n... |\n| `billing_group_id` | string (UUID) | No | Identifies the billing group associated with the phone numbe... |\n| ... | | | +1 optional params in [references/api-details.md](references/api-details.md) |\n\n```python\nnumber_order = client.number_orders.create(\n    phone_numbers=[{\"phone_number\": \"+18005550101\"}],\n)\nprint(number_order.data)\n```\n\nPrimary response fields:\n- `number_order.data.id`\n- `number_order.data.status`\n- `number_order.data.phone_numbers_count`\n- `number_order.data.requirements_met`\n- `number_order.data.messaging_profile_id`\n- `number_order.data.connection_id`\n\n### Check number order status\n\nOrder status determines whether provisioning completed or additional requirements are still blocking fulfillment.\n\n`client.number_orders.retrieve()` — `GET /number_orders/{number_order_id}`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `number_order_id` | string (UUID) | Yes | The number order ID. |\n\n```python\nnumber_order = client.number_orders.retrieve(\n    \"number_order_id\",\n)\nprint(number_order.data)\n```\n\nPrimary response fields:\n- `number_order.data.id`\n- `number_order.data.status`\n- `number_order.data.requirements_met`\n- `number_order.data.phone_numbers_count`\n- `number_order.data.phone_numbers`\n- `number_order.data.connection_id`\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### Create a number reservation\n\nCreate or provision an additional resource when the core tasks do not cover this flow.\n\n`client.number_reservations.create()` — `POST /number_reservations`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `phone_numbers` | array[object] | Yes |  |\n| `status` | enum (pending, success, failure) | No | The status of the entire reservation. |\n| `id` | string (UUID) | No |  |\n| `record_type` | string | No |  |\n| ... | | | +3 optional params in [references/api-details.md](references/api-details.md) |\n\n```python\nnumber_reservation = client.number_reservations.create(\n    phone_numbers=[{\"phone_number\": \"+18005550101\"}],\n)\nprint(number_reservation.data)\n```\n\nPrimary response fields:\n- `number_reservation.data.id`\n- `number_reservation.data.status`\n- `number_reservation.data.created_at`\n- `number_reservation.data.updated_at`\n- `number_reservation.data.customer_reference`\n- `number_reservation.data.errors`\n\n### Retrieve a number reservation\n\nFetch the current state before updating, deleting, or making control-flow decisions.\n\n`client.number_reservations.retrieve()` — `GET /number_reservations/{number_reservation_id}`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `number_reservation_id` | string (UUID) | Yes | The number reservation ID. |\n\n```python\nnumber_reservation = client.number_reservations.retrieve(\n    \"number_reservation_id\",\n)\nprint(number_reservation.data)\n```\n\nPrimary response fields:\n- `number_reservation.data.id`\n- `number_reservation.data.status`\n- `number_reservation.data.created_at`\n- `number_reservation.data.updated_at`\n- `number_reservation.data.customer_reference`\n- `number_reservation.data.errors`\n\n### List Advanced Orders\n\nInspect available resources or choose an existing resource before mutating it.\n\n`client.advanced_orders.list()` — `GET /advanced_orders`\n\n```python\nadvanced_orders = client.advanced_orders.list()\nprint(advanced_orders.data)\n```\n\nResponse wrapper:\n- items: `advanced_orders.data`\n\nPrimary item fields:\n- `id`\n- `status`\n- `area_code`\n- `comments`\n- `country_code`\n- `customer_reference`\n\n### Create Advanced Order\n\nCreate or provision an additional resource when the core tasks do not cover this flow.\n\n`client.advanced_orders.create()` — `POST /advanced_orders`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `phone_number_type` | enum (local, mobile, toll_free, shared_cost, national, ...) | No |  |\n| `requirement_group_id` | string (UUID) | No | The ID of the requirement group to associate with this advan... |\n| `country_code` | string (ISO 3166-1 alpha-2) | No |  |\n| ... | | | +5 optional params in [references/api-details.md](references/api-details.md) |\n\n```python\nadvanced_order = client.advanced_orders.create()\nprint(advanced_order.id)\n```\n\nPrimary response fields:\n- `advanced_order.id`\n- `advanced_order.status`\n- `advanced_order.area_code`\n- `advanced_order.comments`\n- `advanced_order.country_code`\n- `advanced_order.customer_reference`\n\n### Update Advanced Order\n\nModify an existing resource without recreating it.\n\n`client.advanced_orders.update_requirement_group()` — `PATCH /advanced_orders/{advanced-order-id}/requirement_group`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `advanced-order-id` | string (UUID) | Yes |  |\n| `phone_number_type` | enum (local, mobile, toll_free, shared_cost, national, ...) | No |  |\n| `requirement_group_id` | string (UUID) | No | The ID of the requirement group to associate with this advan... |\n| `country_code` | string (ISO 3166-1 alpha-2) | No |  |\n| ... | | | +5 optional params in [references/api-details.md](references/api-details.md) |\n\n```python\nresponse = client.advanced_orders.update_requirement_group(\n    advanced_order_id=\"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n)\nprint(response.id)\n```\n\nPrimary response fields:\n- `response.id`\n- `response.status`\n- `response.area_code`\n- `response.comments`\n- `response.country_code`\n- `response.customer_reference`\n\n### Get Advanced Order\n\nFetch the current state before updating, deleting, or making control-flow decisions.\n\n`client.advanced_orders.retrieve()` — `GET /advanced_orders/{order_id}`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `order_id` | string (UUID) | Yes |  |\n\n```python\nadvanced_order = client.advanced_orders.retrieve(\n    \"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e\",\n)\nprint(advanced_order.id)\n```\n\nPrimary response fields:\n- `advanced_order.id`\n- `advanced_order.status`\n- `advanced_order.area_code`\n- `advanced_order.comments`\n- `advanced_order.country_code`\n- `advanced_order.customer_reference`\n\n### List available phone number blocks\n\nInspect available resources or choose an existing resource before mutating it.\n\n`client.available_phone_number_blocks.list()` — `GET /available_phone_number_blocks`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `filter` | object | No | Consolidated filter parameter (deepObject style). |\n\n```python\navailable_phone_number_blocks = client.available_phone_number_blocks.list()\nprint(available_phone_number_blocks.data)\n```\n\nResponse wrapper:\n- items: `available_phone_number_blocks.data`\n- pagination: `available_phone_number_blocks.meta`\n\nPrimary item fields:\n- `phone_number`\n- `cost_information`\n- `features`\n- `range`\n- `record_type`\n- `region_information`\n\n### Retrieve all comments\n\nInspect available resources or choose an existing resource before mutating it.\n\n`client.comments.list()` — `GET /comments`\n\n| Parameter | Type | Required | Description |\n|-----------|------|----------|-------------|\n| `filter` | object | No | Consolidated filter parameter (deepObject style). |\n\n```python\ncomments = client.comments.list()\nprint(comments.data)\n```\n\nResponse wrapper:\n- items: `comments.data`\n- pagination: `comments.meta`\n\nPrimary item fields:\n- `id`\n- `body`\n- `created_at`\n- `updated_at`\n- `comment_record_id`\n- `comment_record_type`\n\n---\n\n## Additional Operations\n\nUse the core tasks above first. The operations below are indexed here with exact SDK methods and required params; use [references/api-details.md](references/api-details.md) for full optional params, response schemas, and lower-frequency webhook payloads.\nBefore using any operation below, read [the optional-parameters section](references/api-details.md#optional-parameters) and [the response-schemas section](references/api-details.md#response-schemas) so you do not guess missing fields.\n\n| Operation | SDK method | Endpoint | Use when | Required params |\n|-----------|------------|----------|----------|-----------------|\n| Create a comment | `client.comments.create()` | `POST /comments` | Create or provision an additional resource when the core tasks do not cover this flow. | None |\n| Retrieve a comment | `client.comments.retrieve()` | `GET /comments/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Mark a comment as read | `client.comments.mark_as_read()` | `PATCH /comments/{id}/read` | Modify an existing resource without recreating it. | `id` |\n| Get country coverage | `client.country_coverage.retrieve()` | `GET /country_coverage` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Get coverage for a specific country | `client.country_coverage.retrieve_country()` | `GET /country_coverage/countries/{country_code}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `country_code` |\n| List customer service records | `client.customer_service_records.list()` | `GET /customer_service_records` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Create a customer service record | `client.customer_service_records.create()` | `POST /customer_service_records` | Create or provision an additional resource when the core tasks do not cover this flow. | None |\n| Verify CSR phone number coverage | `client.customer_service_records.verify_phone_number_coverage()` | `POST /customer_service_records/phone_number_coverages` | Create or provision an additional resource when the core tasks do not cover this flow. | None |\n| Get a customer service record | `client.customer_service_records.retrieve()` | `GET /customer_service_records/{customer_service_record_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `customer_service_record_id` |\n| List inexplicit number orders | `client.inexplicit_number_orders.list()` | `GET /inexplicit_number_orders` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Create an inexplicit number order | `client.inexplicit_number_orders.create()` | `POST /inexplicit_number_orders` | Create or provision an additional resource when the core tasks do not cover this flow. | `ordering_groups` |\n| Retrieve an inexplicit number order | `client.inexplicit_number_orders.retrieve()` | `GET /inexplicit_number_orders/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| Create an inventory coverage request | `client.inventory_coverage.list()` | `GET /inventory_coverage` | Inspect available resources or choose an existing resource before mutating it. | None |\n| List mobile network operators | `client.mobile_network_operators.list()` | `GET /mobile_network_operators` | Inspect available resources or choose an existing resource before mutating it. | None |\n| List network coverage locations | `client.network_coverage.list()` | `GET /network_coverage` | Inspect available resources or choose an existing resource before mutating it. | None |\n| List number block orders | `client.number_block_orders.list()` | `GET /number_block_orders` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Create a number block order | `client.number_block_orders.create()` | `POST /number_block_orders` | Create or provision an additional resource when the core tasks do not cover this flow. | `starting_number`, `range` |\n| Retrieve a number block order | `client.number_block_orders.retrieve()` | `GET /number_block_orders/{number_block_order_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `number_block_order_id` |\n| Retrieve a list of phone numbers associated to orders | `client.number_order_phone_numbers.list()` | `GET /number_order_phone_numbers` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Retrieve a single phone number within a number order. | `client.number_order_phone_numbers.retrieve()` | `GET /number_order_phone_numbers/{number_order_phone_number_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `number_order_phone_number_id` |\n| Update requirements for a single phone number within a number order. | `client.number_order_phone_numbers.update_requirements()` | `PATCH /number_order_phone_numbers/{number_order_phone_number_id}` | Modify an existing resource without recreating it. | `number_order_phone_number_id` |\n| List number orders | `client.number_orders.list()` | `GET /number_orders` | Create or inspect provisioning orders for number purchases. | None |\n| Update a number order | `client.number_orders.update()` | `PATCH /number_orders/{number_order_id}` | Modify an existing resource without recreating it. | `number_order_id` |\n| List number reservations | `client.number_reservations.list()` | `GET /number_reservations` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Extend a number reservation | `client.number_reservations.actions.extend()` | `POST /number_reservations/{number_reservation_id}/actions/extend` | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | `number_reservation_id` |\n| Retrieve the features for a list of numbers | `client.numbers_features.create()` | `POST /numbers_features` | Create or provision an additional resource when the core tasks do not cover this flow. | `phone_numbers` |\n| Lists the phone number blocks jobs | `client.phone_number_blocks.jobs.list()` | `GET /phone_number_blocks/jobs` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Deletes all numbers associated with a phone number block | `client.phone_number_blocks.jobs.delete_phone_number_block()` | `POST /phone_number_blocks/jobs/delete_phone_number_block` | Create or provision an additional resource when the core tasks do not cover this flow. | `phone_number_block_id` |\n| Retrieves a phone number blocks job | `client.phone_number_blocks.jobs.retrieve()` | `GET /phone_number_blocks/jobs/{id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `id` |\n| List sub number orders | `client.sub_number_orders.list()` | `GET /sub_number_orders` | Inspect available resources or choose an existing resource before mutating it. | None |\n| Retrieve a sub number order | `client.sub_number_orders.retrieve()` | `GET /sub_number_orders/{sub_number_order_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `sub_number_order_id` |\n| Update a sub number order's requirements | `client.sub_number_orders.update()` | `PATCH /sub_number_orders/{sub_number_order_id}` | Modify an existing resource without recreating it. | `sub_number_order_id` |\n| Cancel a sub number order | `client.sub_number_orders.cancel()` | `PATCH /sub_number_orders/{sub_number_order_id}/cancel` | Modify an existing resource without recreating it. | `sub_number_order_id` |\n| Create a sub number orders report | `client.sub_number_orders_report.create()` | `POST /sub_number_orders_report` | Create or provision an additional resource when the core tasks do not cover this flow. | None |\n| Retrieve a sub number orders report | `client.sub_number_orders_report.retrieve()` | `GET /sub_number_orders_report/{report_id}` | Fetch the current state before updating, deleting, or making control-flow decisions. | `report_id` |\n| Download a sub number orders report | `client.sub_number_orders_report.download()` | `GET /sub_number_orders_report/{report_id}/download` | Fetch the current state before updating, deleting, or making control-flow decisions. | `report_id` |\n\n### Other Webhook Events\n\n| Event | `data.event_type` | Description |\n|-------|-------------------|-------------|\n| `numberOrderStatusUpdate` | `number.order.status.update` | Number Order Status Update |\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","numbers","python","team-telnyx","agent-skills","ai-coding-agent","claude-code","cpaas","cursor","iot","llm","sdk"],"capabilities":["skill","source-team-telnyx","skill-telnyx-numbers-python","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-numbers-python","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add team-telnyx/ai","source_repo":"https://github.com/team-telnyx/ai","install_from":"skills.sh"}},"qualityScore":"0.533","qualityRationale":"deterministic score 0.53 from registry signals: · indexed on github topic:agent-skills · 167 github stars · SKILL.md body (19,693 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:43.512Z","embedding":null,"createdAt":"2026-04-18T22:07:15.837Z","updatedAt":"2026-04-22T06:54:43.512Z","lastSeenAt":"2026-04-22T06:54:43.512Z","tsv":"'+1':399 '+13125550001':165 '+18005550101':413,582 '+3':568 '+5':757,850 '-1':753,846 '-2':755,848 '/actions/extend':1687 '/advanced_orders':671,714,795,902 '/available_phone_number_blocks':956 '/available_phone_numbers':291 '/cancel':1902 '/comments':1012,1132,1154,1179 '/country_coverage':1195 '/country_coverage/countries':1217 '/customer_service_records':1241,1261,1312 '/customer_service_records/phone_number_coverages':1288 '/download':1976 '/inexplicit_number_orders':1340,1360,1385 '/inventory_coverage':1408 '/mobile_network_operators':1427 '/network_coverage':1446 '/number_block_orders':1465,1485,1511 '/number_order_phone_numbers':1544,1568,1606 '/number_orders':346,450,1629,1645 '/number_reservations':538,616,1664,1683 '/numbers_features':1720 '/phone_number_blocks/jobs':1746,1801 '/phone_number_blocks/jobs/delete_phone_number_block':1773 '/read':1181 '/requirement_group':800 '/sub_number_orders':1823,1843,1874,1897 '/sub_number_orders_report':1922,1947,1973 '1':96 '182bd5e5':865,919 '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e':864,918 '3166':752,845 '401':67,131 '403':135 '404':138 '422':63,119,142 '429':60,148 '4fe4':867,921 '6e1a':866,920 'a799':868,922 'aa6d9a6ab26e':869,923 'action':1693 'actual':103 'addit':239,442,525,701,1051,1137,1266,1293,1365,1490,1725,1778,1927 'advan':747,840 'advanc':656,673,695,764,782,797,806,861,885,915 'advanced-order-id':796,805 'advanced_order.area':774,931 'advanced_order.comments':776,933 'advanced_order.country':777,934 'advanced_order.customer':779,936 'advanced_order.id':768,772,925,929 'advanced_order.status':773,930 'advanced_orders.data':677,681 'agent':274 'alpha':754,847 'alreadi':43 'alway':68 'api':23,27,51,111,133 'area':687 'array':353,545 'associ':364,379,394,744,837,1539,1762 'assum':40 'authent':65 'auto':183 'auto-pagin':182 'automat':197 'avail':78,264,305,659,939,944,970,1000,1197,1243,1342,1410,1429,1448,1467,1546,1666,1748,1825 'available_phone_number_blocks.data':976,980 'available_phone_number_blocks.meta':982 'available_phone_numbers.data':310,314 'available_phone_numbers.meta':316 'backoff':154 'bash':9 'best':326 'bill':384,392 'block':446,942,973,1461,1481,1507,1513,1530,1742,1767,1771,1791,1797 'bodi':1040 'call':52 'cancel':1890 'candid':287 'check':87,97,123,145,431 'choos':662,947,1003,1200,1246,1345,1413,1432,1451,1470,1549,1669,1751,1828 'client':21,41 'client.advanced_orders.create':712,766 'client.advanced_orders.list':669,675 'client.advanced_orders.retrieve':900,917 'client.advanced_orders.update':791,858 'client.available_phone_number_blocks.list':954,974 'client.available_phone_numbers.list':81,289,308 'client.comments.create':1130 'client.comments.list':1010,1027 'client.comments.mark':1175 'client.comments.retrieve':1152 'client.country_coverage.retrieve':1193,1214 'client.customer_service_records.create':1259 'client.customer_service_records.list':1239 'client.customer_service_records.retrieve':1310 'client.customer_service_records.verify':1283 'client.inexplicit_number_orders.create':1358 'client.inexplicit_number_orders.list':1338 'client.inexplicit_number_orders.retrieve':1383 'client.inventory_coverage.list':1406 'client.mobile_network_operators.list':1425 'client.network_coverage.list':1444 'client.number_block_orders.create':1483 'client.number_block_orders.list':1463 'client.number_block_orders.retrieve':1509 'client.number_order_phone_numbers.list':1542 'client.number_order_phone_numbers.retrieve':1566 'client.number_order_phone_numbers.update':1603 'client.number_orders.create':344,408 'client.number_orders.list':1627 'client.number_orders.retrieve':448,471 'client.number_orders.update':1643 'client.number_reservations.actions.extend':1681 'client.number_reservations.create':536,577 'client.number_reservations.list':1662 'client.number_reservations.retrieve':614,637 'client.numbers_features.create':1718 'client.phone_number_blocks.jobs.delete':1768 'client.phone_number_blocks.jobs.list':1744 'client.phone_number_blocks.jobs.retrieve':1799 'client.sub_number_orders.cancel':1895 'client.sub_number_orders.list':1821 'client.sub_number_orders.retrieve':1841 'client.sub_number_orders.update':1872 'client.sub_number_orders_report.create':1920 'client.sub_number_orders_report.download':1971 'client.sub_number_orders_report.retrieve':1945 'close':502 'code':73,114,118,130,171,233,688,691,749,775,778,842,878,881,932,935,1219,1234 'comment':689,998,1026,1045,1048,1129,1151,1172 'comments.data':1029,1033 'comments.meta':1035 'common':128,510 'complet':440,2013 'connect':88,356,363 'consolid':299,964,1020 'control':611,897,1166,1230,1327,1397,1526,1584,1813,1858,1960,1987 'control-flow':610,896,1165,1229,1326,1396,1525,1583,1812,1857,1959,1986 'core':261,498,529,705,1055,1141,1270,1297,1369,1494,1729,1782,1931 'cost':328,728,821,988 'count':423,486 'countri':170,690,748,841,1191,1213,1215,1218,1233 'cover':533,709,1145,1274,1301,1373,1498,1733,1786,1935 'coverag':1192,1209,1282,1286,1404,1442 'creat':330,517,521,694,697,1041,1127,1133,1254,1262,1289,1353,1361,1401,1478,1486,1630,1700,1721,1774,1914,1923 'csr':1279 'current':603,889,1158,1222,1319,1389,1518,1576,1805,1850,1952,1979 'custom':692,1236,1256,1307,1313,1330 'dash':174 'data.event':1996 'decis':613,899,1168,1232,1329,1399,1528,1586,1815,1860,1962,1989 'deepobject':302,967,1023 'default':32 'delay':104 'delet':607,893,1162,1226,1323,1393,1522,1580,1759,1809,1854,1956,1983 'descript':295,350,457,542,623,718,804,908,960,1016,1998 'determin':437 'download':1965 'e':108 'e.164':162 'e.g':164 'e.message':115 'e.status':113,117 'effort':327 'endpoint':1122 'entir':558 'entrypoint':271 'enum':206,215,549,722,815 'error':48,57,62,66,70,86,112,122,129,144 'event':1994,1995 'exact':1066 'exampl':38 'except':82,91,105 'exhaust':2006 'exist':664,786,949,1005,1184,1202,1248,1347,1415,1434,1453,1472,1551,1614,1651,1671,1696,1753,1830,1881,1905 'exponenti':153 'extend':1677 'f':110 'fail':54 'failur':552 'featur':990,1712 'fetch':601,887,1156,1220,1317,1387,1516,1574,1803,1848,1950,1977 'field':125,146,208,211,218,284,319,418,479,587,645,684,771,874,928,985,1038,1118 'filter':281,296,300,961,965,1017,1021 'first':1058 'flow':505,535,612,711,898,1147,1167,1231,1276,1303,1328,1375,1398,1500,1527,1585,1735,1788,1814,1859,1937,1961,1988 'follow':514,1691 'follow-up':513,1690 'format':127,147,163 'found':141 'free':726,819 'frequenc':1084 'fulfil':447 'full':1076,2009 'get':290,449,615,670,884,901,955,1011,1153,1190,1194,1208,1216,1240,1305,1311,1339,1384,1407,1426,1445,1464,1510,1543,1567,1628,1663,1745,1800,1822,1842,1946,1972 'group':385,393,732,742,793,825,835,860,1377 'guess':1116 'handl':49,69 'header':101 'id':357,371,386,428,430,453,460,467,474,490,560,619,626,633,640,685,733,738,799,808,826,831,863,904,910,1039,1047,1155,1169,1180,1189,1316,1333,1386,1400,1515,1532,1573,1591,1611,1623,1648,1658,1686,1709,1792,1802,1816,1847,1864,1878,1889,1901,1913,1949,1964,1975,1991 'identifi':361,375,390 'import':15,19,75,93,155,491 'includ':166 'index':1063 'inexplicit':1335,1355,1380 'inform':329,989,995 'initi':44 'inlin':224 'inspect':658,943,999,1196,1242,1341,1409,1428,1447,1466,1545,1632,1665,1747,1824 'instal':8,11 'insuffici':136 'invalid':132 'invent':203 'inventori':1403 'iso':751,844 'item':188,313,318,680,683,979,984,1032,1037 'iter':185,193 'job':1743,1798 'key':24,28,134,279 'level':1705 'limit':59,150 'list':178,655,938,1235,1334,1421,1440,1459,1535,1624,1659,1715,1738,1817 'local':723,816 'locat':1443 'lower':1083 'lower-frequ':1082 'make':609,895,1164,1228,1325,1395,1524,1582,1811,1856,1958,1985 'mark':1170 'messag':369,377 'met':425,483 'method':179,278,1068,1121 'miss':1117 'mobil':724,817,1422 'modifi':784,1182,1612,1649,1879,1903 'must':159 'mutat':667,952,1008,1205,1251,1350,1418,1437,1456,1475,1554,1674,1756,1833 'n':383 'nation':729,822 'need':220,275,508 'network':56,85,1423,1441 'new':1702 'none':1148,1207,1253,1277,1304,1352,1420,1439,1458,1477,1556,1638,1676,1758,1835,1938 'note':156 'numb':398 'number':3,6,80,158,266,267,288,307,321,332,334,342,352,368,406,410,412,422,432,451,458,465,469,472,485,488,519,544,575,579,581,599,617,624,631,635,638,720,813,941,972,987,1281,1285,1336,1356,1381,1460,1480,1502,1506,1512,1529,1538,1561,1564,1569,1572,1587,1590,1598,1601,1607,1610,1619,1622,1625,1636,1641,1646,1656,1660,1679,1684,1707,1717,1737,1741,1761,1766,1770,1790,1796,1819,1839,1845,1862,1868,1876,1887,1893,1899,1911,1917,1942,1968,2001 'number.order.status.update':2000 'number_order.data':415,476 'number_order.data.connection':429,489 'number_order.data.id':419,480 'number_order.data.messaging':426 'number_order.data.phone':421,484,487 'number_order.data.requirements':424,482 'number_order.data.status':420,481 'number_reservation.data':584,642 'number_reservation.data.created':590,648 'number_reservation.data.customer':594,652 'number_reservation.data.errors':596,654 'number_reservation.data.id':588,646 'number_reservation.data.status':589,647 'number_reservation.data.updated':592,650 'numberorderstatusupd':1999 'object':297,354,546,962,1018 'omit':36 'oper':237,240,493,1052,1060,1090,1119,1424 'option':244,249,400,569,758,851,1077,1095,1100,2007 'optional-paramet':243,248,1094,1099 'order':333,335,407,433,435,452,459,466,470,473,657,674,696,765,783,798,807,862,886,903,909,916,1337,1357,1376,1382,1462,1482,1508,1514,1531,1541,1565,1570,1588,1602,1608,1620,1626,1634,1642,1647,1657,1820,1840,1846,1863,1869,1877,1888,1894,1900,1912,1918,1943,1969,2002 'os':16 'os.environ.get':25 'page':190,196 'pagin':177,184,315,981,1034 'param':401,570,759,852,1071,1078,1126 'paramet':205,214,245,250,292,301,347,454,539,620,715,801,905,957,966,1013,1022,1096,1101,2008 'parenthes':176 'patch':794,1178,1605,1644,1873,1896 'payload':1086,2015 'pend':550 'permiss':137 'phone':79,157,265,306,320,351,367,382,397,409,411,543,578,580,719,812,940,971,986,1280,1284,1537,1560,1571,1589,1597,1609,1621,1736,1740,1765,1769,1789,1795 'pip':10 'post':345,537,713,1131,1260,1287,1359,1484,1682,1719,1772,1921 'prefix':168 'primari':317,416,477,585,643,682,769,872,926,983,1036 'print':84,109,120,309,414,475,583,641,676,767,870,924,975,1028 'product':72,338 'profil':370,378,427 'provis':273,339,439,523,699,1135,1264,1291,1363,1488,1633,1723,1776,1925 'purchas':1637 'python':4,7,14,74,304,405,468,574,634,672,763,856,914,969,1025 'queri':280 'quickship':324 'rang':991,1503 'rate':58,149 'rather':1698 'read':228,241,1092,1174,1177 'record':322,564,992,1046,1049,1238,1258,1309,1315,1332 'recreat':789,1187,1617,1654,1884,1908 'refer':198,595,653,693,780,883,937 'references/api-details.md':229,230,247,257,403,404,572,573,761,762,854,855,1073,1074,1098,1108,2017,2018 'region':994 'report':1919,1944,1948,1963,1970,1974,1990 'request':1405 'requir':124,294,349,443,456,541,622,717,731,741,792,803,824,834,859,907,959,1015,1070,1125,1593,1604,1871 'reserv':325,520,559,576,600,618,625,632,636,639,1661,1680,1685,1708 'resourc':139,526,660,665,702,787,945,950,1001,1006,1138,1185,1198,1203,1244,1249,1267,1294,1343,1348,1366,1411,1416,1430,1435,1449,1454,1468,1473,1491,1547,1552,1615,1652,1667,1672,1706,1726,1749,1754,1779,1826,1831,1882,1906,1928 'respons':207,217,254,259,311,417,478,586,644,678,770,857,873,927,977,1030,1079,1105,1110,2010 'response-schema':253,258,1104,1109 'response.area':877 'response.comments':879 'response.country':880 'response.customer':882 'response.id':871,875 'response.status':876 'result':191 'retri':90,99,151 'retriev':597,996,1149,1378,1504,1533,1557,1710,1793,1836,1939 'retry-aft':98 'return':180,285 'rule':200 'schema':255,260,1080,1106,1111,2011 'sdk':1067,1120 'search':263,268,277 'section':246,256,1097,1107 'see':2016 'select':343 'servic':1237,1257,1308,1314,1331 'setup':13 'share':727,820 'shown':46,223 'singl':1559,1596 'skill':227 'skill-telnyx-numbers-python' 'source-team-telnyx' 'space':173 'specif':1212 'start':1501 'state':604,890,1159,1223,1320,1390,1519,1577,1806,1851,1953,1980 'status':434,436,548,555,686,2003 'step':340,516 'still':445 'string':358,372,387,461,561,566,627,734,750,809,827,843,911 'style':303,968,1024 'sub':1818,1838,1844,1861,1867,1875,1886,1892,1898,1910,1916,1941,1967 'success':551 'support':492 'task':262,499,530,706,1056,1142,1271,1298,1370,1495,1730,1783,1932 'telnyx':2,5,12,18,20,22,26,76,204 'telnyx-numbers-python':1 'telnyx.apiconnectionerror':83 'telnyx.apistatuserror':106 'telnyx.ratelimiterror':92 'time':94 'time.sleep':95 'toll':725,818 'top':1704 'top-level':1703 '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':77 'trigger':1688 'type':293,323,348,455,540,565,621,716,721,802,814,906,958,993,1014,1050,1997 'updat':606,781,892,1043,1161,1225,1322,1392,1521,1579,1592,1639,1808,1853,1865,1955,1982,2004 'use':186,199,235,494,1053,1072,1088,1123 'uuid':359,373,388,462,562,628,735,810,828,912 'valid':61,121,143 'variat':511 'verifi':1278 'webhook':210,1085,1993,2014 'whether':438 'within':1562,1599 'without':788,1186,1616,1653,1883,1907 'workflow':1697 'wrapper':312,679,978,1031 'write':232 'yes':355,463,547,629,811,913","prices":[{"id":"2e5f732b-c5d6-4c90-9c92-fe65809a26e4","listingId":"a711ac4a-40af-4fa5-b225-5a947993a826","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:15.837Z"}],"sources":[{"listingId":"a711ac4a-40af-4fa5-b225-5a947993a826","source":"github","sourceId":"team-telnyx/ai/telnyx-numbers-python","sourceUrl":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-numbers-python","isPrimary":false,"firstSeenAt":"2026-04-18T22:07:15.837Z","lastSeenAt":"2026-04-22T06:54:43.512Z"}],"details":{"listingId":"a711ac4a-40af-4fa5-b225-5a947993a826","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"team-telnyx","slug":"telnyx-numbers-python","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":"4d2aaf37452d0af6ea350a8e002421a7b486071d","skill_md_path":"skills/telnyx-numbers-python/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/team-telnyx/ai/tree/main/skills/telnyx-numbers-python"},"layout":"multi","source":"github","category":"ai","frontmatter":{"name":"telnyx-numbers-python","description":">-"},"skills_sh_url":"https://skills.sh/team-telnyx/ai/telnyx-numbers-python"},"updatedAt":"2026-04-22T06:54:43.512Z"}}