Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "4.98.0"
".": "4.99.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 1028
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/telnyx%2Ftelnyx-69dc36f47cc644b1e8545a6bb4710ef7114039fb14979dfe9a99c5c38d077cf9.yml
openapi_spec_hash: 96bb6b6903356ad6d5181a8635cdbe1d
config_hash: 4509ecd06ed7f91d4e57b8e084216074
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/telnyx%2Ftelnyx-832968186670a31afff89bd833c23949b290f9b59b0336e8ea56bb8c9da89ed2.yml
openapi_spec_hash: ba9edee70674bb1eba2b983d06ecdd97
config_hash: b6ba7e605cce12826014008cad46406c
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 4.99.0 (2026-04-08)

Full Changelog: [v4.98.0...v4.99.0](https://github.com/team-telnyx/telnyx-python/compare/v4.98.0...v4.99.0)

### Features

* TELAPPS-5707: Add privacy parameter to Call Control dial and transfer ([994a4ae](https://github.com/team-telnyx/telnyx-python/commit/994a4ae45ea23d56e53d9b63c0900ff194579b81))


### Reverts

* revert stainless.yml changes from pronunciation dictionaries commit ([62f4c82](https://github.com/team-telnyx/telnyx-python/commit/62f4c82b7231098bac5254a4a4ae05ec0c5550a4))

## 4.98.0 (2026-04-08)

Full Changelog: [v4.97.0...v4.98.0](https://github.com/team-telnyx/telnyx-python/compare/v4.97.0...v4.98.0)
Expand Down
18 changes: 10 additions & 8 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,8 @@ from telnyx.types.ai import (
InferenceEmbeddingWebhookToolParams,
InsightSettings,
MessagingSettings,
Observability,
ObservabilityReq,
PrivacySettings,
RetrievalTool,
TelephonySettings,
Expand Down Expand Up @@ -5520,33 +5522,33 @@ Types:
```python
from telnyx.types.enterprises import (
EnterpriseReputationPublic,
ReputationCreateResponse,
ReputationListResponse,
ReputationRetrieveResponse,
ReputationEnableResponse,
ReputationUpdateFrequencyResponse,
)
```

Methods:

- <code title="post /enterprises/{enterprise_id}/reputation">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">create</a>(enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation_create_params.py">params</a>) -> <a href="./src/telnyx/types/enterprises/reputation_create_response.py">ReputationCreateResponse</a></code>
- <code title="get /enterprises/{enterprise_id}/reputation">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">list</a>(enterprise_id) -> <a href="./src/telnyx/types/enterprises/reputation_list_response.py">ReputationListResponse</a></code>
- <code title="delete /enterprises/{enterprise_id}/reputation">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">delete_all</a>(enterprise_id) -> None</code>
- <code title="get /enterprises/{enterprise_id}/reputation">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">retrieve</a>(enterprise_id) -> <a href="./src/telnyx/types/enterprises/reputation_retrieve_response.py">ReputationRetrieveResponse</a></code>
- <code title="delete /enterprises/{enterprise_id}/reputation">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">disable</a>(enterprise_id) -> None</code>
- <code title="post /enterprises/{enterprise_id}/reputation">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">enable</a>(enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation_enable_params.py">params</a>) -> <a href="./src/telnyx/types/enterprises/reputation_enable_response.py">ReputationEnableResponse</a></code>
- <code title="patch /enterprises/{enterprise_id}/reputation/frequency">client.enterprises.reputation.<a href="./src/telnyx/resources/enterprises/reputation/reputation.py">update_frequency</a>(enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation_update_frequency_params.py">params</a>) -> <a href="./src/telnyx/types/enterprises/reputation_update_frequency_response.py">ReputationUpdateFrequencyResponse</a></code>

### Numbers

Types:

```python
from telnyx.types.enterprises.reputation import NumberCreateResponse, NumberRetrieveResponse
from telnyx.types.enterprises.reputation import NumberRetrieveResponse, NumberAssociateResponse
```

Methods:

- <code title="post /enterprises/{enterprise_id}/reputation/numbers">client.enterprises.reputation.numbers.<a href="./src/telnyx/resources/enterprises/reputation/numbers.py">create</a>(enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation/number_create_params.py">params</a>) -> <a href="./src/telnyx/types/enterprises/reputation/number_create_response.py">NumberCreateResponse</a></code>
- <code title="get /enterprises/{enterprise_id}/reputation/numbers/{phone_number}">client.enterprises.reputation.numbers.<a href="./src/telnyx/resources/enterprises/reputation/numbers.py">retrieve</a>(phone_number, \*, enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation/number_retrieve_params.py">params</a>) -> <a href="./src/telnyx/types/enterprises/reputation/number_retrieve_response.py">NumberRetrieveResponse</a></code>
- <code title="get /enterprises/{enterprise_id}/reputation/numbers">client.enterprises.reputation.numbers.<a href="./src/telnyx/resources/enterprises/reputation/numbers.py">list</a>(enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation/number_list_params.py">params</a>) -> <a href="./src/telnyx/types/shared/reputation_phone_number_with_reputation_data.py">SyncDefaultFlatPagination[ReputationPhoneNumberWithReputationData]</a></code>
- <code title="delete /enterprises/{enterprise_id}/reputation/numbers/{phone_number}">client.enterprises.reputation.numbers.<a href="./src/telnyx/resources/enterprises/reputation/numbers.py">delete</a>(phone_number, \*, enterprise_id) -> None</code>
- <code title="post /enterprises/{enterprise_id}/reputation/numbers">client.enterprises.reputation.numbers.<a href="./src/telnyx/resources/enterprises/reputation/numbers.py">associate</a>(enterprise_id, \*\*<a href="src/telnyx/types/enterprises/reputation/number_associate_params.py">params</a>) -> <a href="./src/telnyx/types/enterprises/reputation/number_associate_response.py">NumberAssociateResponse</a></code>
- <code title="delete /enterprises/{enterprise_id}/reputation/numbers/{phone_number}">client.enterprises.reputation.numbers.<a href="./src/telnyx/resources/enterprises/reputation/numbers.py">disassociate</a>(phone_number, \*, enterprise_id) -> None</code>

# Reputation

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "telnyx"
version = "4.98.0"
version = "4.99.0"
description = "The official Python library for the telnyx API"
dynamic = ["readme"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion src/telnyx/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "telnyx"
__version__ = "4.98.0" # x-release-please-version
__version__ = "4.99.0" # x-release-please-version
9 changes: 5 additions & 4 deletions src/telnyx/resources/ai/assistants/assistants.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
from ....types.ai.insight_settings_param import InsightSettingsParam
from ....types.ai.privacy_settings_param import PrivacySettingsParam
from ....types.ai.assistant_chat_response import AssistantChatResponse
from ....types.ai.observability_req_param import ObservabilityReqParam
from ....types.ai.messaging_settings_param import MessagingSettingsParam
from ....types.ai.telephony_settings_param import TelephonySettingsParam
from ....types.ai.assistant_delete_response import AssistantDeleteResponse
Expand Down Expand Up @@ -158,7 +159,7 @@ def create(
insight_settings: InsightSettingsParam | Omit = omit,
llm_api_key_ref: str | Omit = omit,
messaging_settings: MessagingSettingsParam | Omit = omit,
observability_settings: assistant_create_params.ObservabilitySettings | Omit = omit,
observability_settings: ObservabilityReqParam | Omit = omit,
privacy_settings: PrivacySettingsParam | Omit = omit,
telephony_settings: TelephonySettingsParam | Omit = omit,
tool_ids: SequenceNotStr[str] | Omit = omit,
Expand Down Expand Up @@ -313,7 +314,7 @@ def update(
messaging_settings: MessagingSettingsParam | Omit = omit,
model: str | Omit = omit,
name: str | Omit = omit,
observability_settings: assistant_update_params.ObservabilitySettings | Omit = omit,
observability_settings: ObservabilityReqParam | Omit = omit,
privacy_settings: PrivacySettingsParam | Omit = omit,
promote_to_main: bool | Omit = omit,
telephony_settings: TelephonySettingsParam | Omit = omit,
Expand Down Expand Up @@ -765,7 +766,7 @@ async def create(
insight_settings: InsightSettingsParam | Omit = omit,
llm_api_key_ref: str | Omit = omit,
messaging_settings: MessagingSettingsParam | Omit = omit,
observability_settings: assistant_create_params.ObservabilitySettings | Omit = omit,
observability_settings: ObservabilityReqParam | Omit = omit,
privacy_settings: PrivacySettingsParam | Omit = omit,
telephony_settings: TelephonySettingsParam | Omit = omit,
tool_ids: SequenceNotStr[str] | Omit = omit,
Expand Down Expand Up @@ -920,7 +921,7 @@ async def update(
messaging_settings: MessagingSettingsParam | Omit = omit,
model: str | Omit = omit,
name: str | Omit = omit,
observability_settings: assistant_update_params.ObservabilitySettings | Omit = omit,
observability_settings: ObservabilityReqParam | Omit = omit,
privacy_settings: PrivacySettingsParam | Omit = omit,
promote_to_main: bool | Omit = omit,
telephony_settings: TelephonySettingsParam | Omit = omit,
Expand Down
5 changes: 3 additions & 2 deletions src/telnyx/resources/ai/assistants/versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
from ....types.ai.widget_settings_param import WidgetSettingsParam
from ....types.ai.insight_settings_param import InsightSettingsParam
from ....types.ai.privacy_settings_param import PrivacySettingsParam
from ....types.ai.observability_req_param import ObservabilityReqParam
from ....types.ai.messaging_settings_param import MessagingSettingsParam
from ....types.ai.telephony_settings_param import TelephonySettingsParam
from ....types.ai.transcription_settings_param import TranscriptionSettingsParam
Expand Down Expand Up @@ -116,7 +117,7 @@ def update(
messaging_settings: MessagingSettingsParam | Omit = omit,
model: str | Omit = omit,
name: str | Omit = omit,
observability_settings: version_update_params.ObservabilitySettings | Omit = omit,
observability_settings: ObservabilityReqParam | Omit = omit,
privacy_settings: PrivacySettingsParam | Omit = omit,
telephony_settings: TelephonySettingsParam | Omit = omit,
tool_ids: SequenceNotStr[str] | Omit = omit,
Expand Down Expand Up @@ -416,7 +417,7 @@ async def update(
messaging_settings: MessagingSettingsParam | Omit = omit,
model: str | Omit = omit,
name: str | Omit = omit,
observability_settings: version_update_params.ObservabilitySettings | Omit = omit,
observability_settings: ObservabilityReqParam | Omit = omit,
privacy_settings: PrivacySettingsParam | Omit = omit,
telephony_settings: TelephonySettingsParam | Omit = omit,
tool_ids: SequenceNotStr[str] | Omit = omit,
Expand Down
12 changes: 12 additions & 0 deletions src/telnyx/resources/calls/actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -3443,6 +3443,7 @@ def transfer(
mute_dtmf: Literal["none", "both", "self", "opposite"] | Omit = omit,
park_after_unbridge: str | Omit = omit,
preferred_codecs: str | Omit = omit,
privacy: Literal["id", "none"] | Omit = omit,
record: Literal["record-from-answer"] | Omit = omit,
record_channels: Literal["single", "dual"] | Omit = omit,
record_custom_file_name: str | Omit = omit,
Expand Down Expand Up @@ -3549,6 +3550,10 @@ def transfer(
call. The codecs supported are `G722`, `PCMU`, `PCMA`, `G729`, `OPUS`, `VP8`,
`H264`, `AMR-WB`.

privacy: Indicates the privacy level to be used for the call. When set to `id`, caller ID
information (name and number) will be hidden from the called party. When set to
`none` or omitted, caller ID will be shown normally.

record: Start recording automatically after an event. Disabled by default.

record_channels: Defines which channel should be recorded ('single' or 'dual') when `record` is
Expand Down Expand Up @@ -3649,6 +3654,7 @@ def transfer(
"mute_dtmf": mute_dtmf,
"park_after_unbridge": park_after_unbridge,
"preferred_codecs": preferred_codecs,
"privacy": privacy,
"record": record,
"record_channels": record_channels,
"record_custom_file_name": record_custom_file_name,
Expand Down Expand Up @@ -7043,6 +7049,7 @@ async def transfer(
mute_dtmf: Literal["none", "both", "self", "opposite"] | Omit = omit,
park_after_unbridge: str | Omit = omit,
preferred_codecs: str | Omit = omit,
privacy: Literal["id", "none"] | Omit = omit,
record: Literal["record-from-answer"] | Omit = omit,
record_channels: Literal["single", "dual"] | Omit = omit,
record_custom_file_name: str | Omit = omit,
Expand Down Expand Up @@ -7149,6 +7156,10 @@ async def transfer(
call. The codecs supported are `G722`, `PCMU`, `PCMA`, `G729`, `OPUS`, `VP8`,
`H264`, `AMR-WB`.

privacy: Indicates the privacy level to be used for the call. When set to `id`, caller ID
information (name and number) will be hidden from the called party. When set to
`none` or omitted, caller ID will be shown normally.

record: Start recording automatically after an event. Disabled by default.

record_channels: Defines which channel should be recorded ('single' or 'dual') when `record` is
Expand Down Expand Up @@ -7249,6 +7260,7 @@ async def transfer(
"mute_dtmf": mute_dtmf,
"park_after_unbridge": park_after_unbridge,
"preferred_codecs": preferred_codecs,
"privacy": privacy,
"record": record,
"record_channels": record_channels,
"record_custom_file_name": record_custom_file_name,
Expand Down
12 changes: 12 additions & 0 deletions src/telnyx/resources/calls/calls.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ def dial(
park_after_unbridge: str | Omit = omit,
preferred_codecs: str | Omit = omit,
prevent_double_bridge: bool | Omit = omit,
privacy: Literal["id", "none"] | Omit = omit,
record: Literal["record-from-answer"] | Omit = omit,
record_channels: Literal["single", "dual"] | Omit = omit,
record_custom_file_name: str | Omit = omit,
Expand Down Expand Up @@ -247,6 +248,10 @@ def dial(
prevent_double_bridge: Prevents bridging and hangs up the call if the target is already bridged.
Disabled by default.

privacy: Indicates the privacy level to be used for the call. When set to `id`, caller ID
information (name and number) will be hidden from the called party. When set to
`none` or omitted, caller ID will be shown normally.

record: Start recording automatically after an event. Disabled by default.

record_channels: Defines which channel should be recorded ('single' or 'dual') when `record` is
Expand Down Expand Up @@ -373,6 +378,7 @@ def dial(
"park_after_unbridge": park_after_unbridge,
"preferred_codecs": preferred_codecs,
"prevent_double_bridge": prevent_double_bridge,
"privacy": privacy,
"record": record,
"record_channels": record_channels,
"record_custom_file_name": record_custom_file_name,
Expand Down Expand Up @@ -501,6 +507,7 @@ async def dial(
park_after_unbridge: str | Omit = omit,
preferred_codecs: str | Omit = omit,
prevent_double_bridge: bool | Omit = omit,
privacy: Literal["id", "none"] | Omit = omit,
record: Literal["record-from-answer"] | Omit = omit,
record_channels: Literal["single", "dual"] | Omit = omit,
record_custom_file_name: str | Omit = omit,
Expand Down Expand Up @@ -645,6 +652,10 @@ async def dial(
prevent_double_bridge: Prevents bridging and hangs up the call if the target is already bridged.
Disabled by default.

privacy: Indicates the privacy level to be used for the call. When set to `id`, caller ID
information (name and number) will be hidden from the called party. When set to
`none` or omitted, caller ID will be shown normally.

record: Start recording automatically after an event. Disabled by default.

record_channels: Defines which channel should be recorded ('single' or 'dual') when `record` is
Expand Down Expand Up @@ -771,6 +782,7 @@ async def dial(
"park_after_unbridge": park_after_unbridge,
"preferred_codecs": preferred_codecs,
"prevent_double_bridge": prevent_double_bridge,
"privacy": privacy,
"record": record,
"record_channels": record_channels,
"record_custom_file_name": record_custom_file_name,
Expand Down
Loading
Loading