telnyx 3.7.0a0__py3-none-any.whl → 3.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of telnyx might be problematic. Click here for more details.
- telnyx/__init__.py +2 -0
- telnyx/_client.py +25 -756
- telnyx/_exceptions.py +4 -0
- telnyx/_version.py +1 -1
- telnyx/resources/advanced_orders.py +63 -63
- telnyx/resources/ai/assistants/assistants.py +15 -17
- telnyx/resources/ai/assistants/versions.py +13 -15
- telnyx/resources/brand/brand.py +8 -4
- telnyx/resources/calls/actions.py +10 -6
- telnyx/resources/calls/calls.py +16 -2
- telnyx/resources/documents.py +242 -37
- telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
- telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
- telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
- telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
- telnyx/resources/outbound_voice_profiles.py +24 -4
- telnyx/resources/sim_cards/actions.py +12 -12
- telnyx/resources/texml/accounts/calls/calls.py +11 -0
- telnyx/resources/texml/accounts/conferences/participants.py +11 -0
- telnyx/resources/verified_numbers/verified_numbers.py +25 -4
- telnyx/resources/verify_profiles.py +9 -10
- telnyx/resources/webhooks.py +57 -3
- telnyx/types/__init__.py +18 -15
- telnyx/types/access_ip_address_list_response.py +3 -12
- telnyx/types/access_ip_range_list_response.py +3 -12
- telnyx/types/addresses/action_validate_response.py +7 -2
- telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
- telnyx/types/ai/__init__.py +1 -3
- telnyx/types/ai/assistant_import_params.py +1 -1
- telnyx/types/ai/assistants/__init__.py +0 -3
- telnyx/types/ai/assistants_list.py +4 -88
- telnyx/types/ai/import_metadata.py +1 -1
- telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
- telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
- telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
- telnyx/types/ai/voice_settings.py +49 -2
- telnyx/types/ai/voice_settings_param.py +49 -2
- telnyx/types/brand_create_params.py +2 -1
- telnyx/types/brand_update_params.py +2 -1
- telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
- telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
- telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
- telnyx/types/call_answered_webhook_event1.py +75 -0
- telnyx/types/call_bridged_webhook_event1.py +58 -0
- telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
- telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
- telnyx/types/call_dial_params.py +10 -1
- telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
- telnyx/types/call_enqueued_webhook_event1.py +59 -0
- telnyx/types/call_fork_started_webhook_event1.py +53 -0
- telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
- telnyx/types/call_gather_ended_webhook_event1.py +64 -0
- telnyx/types/call_hangup_webhook_event1.py +150 -0
- telnyx/types/call_initiated_webhook_event1.py +96 -0
- telnyx/types/call_left_queue_webhook_event1.py +62 -0
- telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
- telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
- telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
- telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
- telnyx/types/call_playback_ended_webhook_event1.py +70 -0
- telnyx/types/call_playback_started_webhook_event1.py +62 -0
- telnyx/types/call_recording_error_webhook_event1.py +60 -0
- telnyx/types/call_recording_saved_webhook_event1.py +94 -0
- telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
- telnyx/types/call_refer_completed_webhook_event1.py +61 -0
- telnyx/types/call_refer_failed_webhook_event1.py +61 -0
- telnyx/types/call_refer_started_webhook_event1.py +61 -0
- telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
- telnyx/types/call_siprec_started_webhook_event1.py +50 -0
- telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
- telnyx/types/call_speak_ended_webhook_event1.py +53 -0
- telnyx/types/call_speak_started_webhook_event1.py +50 -0
- telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
- telnyx/types/call_streaming_started_webhook_event1.py +53 -0
- telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
- telnyx/types/calls/__init__.py +1 -0
- telnyx/types/calls/action_start_streaming_params.py +2 -1
- telnyx/types/calls/action_start_transcription_params.py +160 -6
- telnyx/types/calls/telnyx_transcription_language.py +108 -0
- telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
- telnyx/types/calls/transcription_start_request_param.py +161 -6
- telnyx/types/campaign_status_update_webhook_event1.py +26 -0
- telnyx/types/conference_created_webhook_event1.py +53 -0
- telnyx/types/conference_ended_webhook_event1.py +56 -0
- telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
- telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
- telnyx/types/conference_participant_left_webhook_event1.py +53 -0
- telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
- telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
- telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
- telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
- telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
- telnyx/types/conference_playback_started_webhook_event1.py +49 -0
- telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
- telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
- telnyx/types/conference_speak_started_webhook_event1.py +40 -0
- telnyx/types/country_coverage_retrieve_country_response.py +7 -0
- telnyx/types/country_coverage_retrieve_response.py +7 -0
- telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
- telnyx/types/delivery_update_webhook_event1.py +40 -0
- telnyx/types/document_upload_json_params.py +39 -0
- telnyx/types/document_upload_json_response.py +12 -0
- telnyx/types/fax_delivered_webhook_event1.py +69 -0
- telnyx/types/fax_failed_webhook_event1.py +66 -0
- telnyx/types/fax_media_processed_webhook_event1.py +63 -0
- telnyx/types/fax_queued_webhook_event1.py +63 -0
- telnyx/types/fax_sending_started_webhook_event1.py +63 -0
- telnyx/types/inbound_message_webhook_event1.py +227 -0
- telnyx/types/legacy/reporting/__init__.py +2 -0
- telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
- telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -0
- telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
- telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +4 -26
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
- telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
- telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
- telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +4 -26
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
- telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
- telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
- telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
- telnyx/types/legacy/reporting/filter.py +31 -0
- telnyx/types/legacy/reporting/filter_param.py +30 -0
- telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -0
- telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
- telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +4 -34
- telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
- telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
- telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
- telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
- telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
- telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
- telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
- telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
- telnyx/types/message_template.py +12 -0
- telnyx/types/messaging_profile.py +3 -0
- telnyx/types/messaging_profile_create_params.py +3 -0
- telnyx/types/messaging_profile_update_params.py +3 -0
- telnyx/types/messaging_tollfree/verification/__init__.py +1 -0
- telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
- telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
- telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
- telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
- telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
- telnyx/types/number_order_status_update_webhook_event1.py +38 -0
- telnyx/types/oauth_client.py +59 -0
- telnyx/types/oauth_client_create_response.py +4 -55
- telnyx/types/oauth_client_list_response.py +5 -69
- telnyx/types/oauth_client_retrieve_response.py +4 -55
- telnyx/types/oauth_client_update_response.py +4 -55
- telnyx/types/oauth_grant.py +29 -0
- telnyx/types/oauth_grant_delete_response.py +4 -25
- telnyx/types/oauth_grant_list_response.py +5 -39
- telnyx/types/oauth_grant_retrieve_response.py +4 -25
- telnyx/types/outbound_voice_profile.py +27 -1
- telnyx/types/outbound_voice_profile_create_params.py +27 -1
- telnyx/types/outbound_voice_profile_list_params.py +1 -1
- telnyx/types/outbound_voice_profile_update_params.py +27 -1
- telnyx/types/pagination_meta_cloudflare_ip_list_sync.py +15 -0
- telnyx/types/pagination_meta_oauth.py +21 -0
- telnyx/types/phone_number_blocks/__init__.py +1 -0
- telnyx/types/phone_number_blocks/job.py +3 -34
- telnyx/types/phone_number_blocks/job_error.py +32 -0
- telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
- telnyx/types/replaced_link_click_webhook_event1.py +32 -0
- telnyx/types/report_list_mdrs_response.py +3 -12
- telnyx/types/reports/__init__.py +1 -0
- telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
- telnyx/types/reports/pagination_meta_reporting.py +17 -0
- telnyx/types/requirement_group.py +2 -2
- telnyx/types/requirement_group_list_params.py +1 -1
- telnyx/types/shared/__init__.py +1 -0
- telnyx/types/{api_error.py → shared/api_error.py} +1 -1
- telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
- telnyx/types/streaming_failed_webhook_event1.py +70 -0
- telnyx/types/streaming_started_webhook_event1.py +53 -0
- telnyx/types/streaming_stopped_webhook_event1.py +53 -0
- telnyx/types/texml/accounts/call_calls_params.py +16 -1
- telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
- telnyx/types/transcription_webhook_event1.py +72 -0
- telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
- telnyx/types/verifications/__init__.py +1 -0
- telnyx/types/verifications/by_phone_number_list_response.py +4 -13
- telnyx/types/verifications/verify_meta.py +17 -0
- telnyx/types/verified_number_create_params.py +10 -0
- telnyx/types/verify_profile.py +18 -3
- telnyx/types/verify_profile_list_response.py +4 -13
- telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
- telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/METADATA +6 -4
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/RECORD +201 -127
- telnyx/types/ai/assistant_create_response.py +0 -92
- telnyx/types/ai/assistant_retrieve_response.py +0 -92
- telnyx/types/ai/assistants/version_promote_response.py +0 -92
- telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
- telnyx/types/ai/assistants/version_update_response.py +0 -92
- telnyx/types/client_create_bucket_params.py +0 -13
- telnyx/types/client_delete_objects_params.py +0 -20
- telnyx/types/client_get_object_params.py +0 -15
- telnyx/types/client_list_objects_params.py +0 -13
- telnyx/types/client_put_object_params.py +0 -20
- telnyx/types/list_buckets_response.py +0 -20
- telnyx/types/list_objects_response.py +0 -24
- telnyx/types/verify_profile_update_template_response.py +0 -17
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/WHEEL +0 -0
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,79 +1,15 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
from typing import List, Optional
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
from typing_extensions import Literal
|
|
6
4
|
|
|
7
5
|
from .._models import BaseModel
|
|
6
|
+
from .oauth_client import OAuthClient
|
|
7
|
+
from .pagination_meta_oauth import PaginationMetaOAuth
|
|
8
8
|
|
|
9
|
-
__all__ = ["OAuthClientListResponse"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Data(BaseModel):
|
|
13
|
-
client_id: str
|
|
14
|
-
"""OAuth client identifier"""
|
|
15
|
-
|
|
16
|
-
client_type: Literal["public", "confidential"]
|
|
17
|
-
"""OAuth client type"""
|
|
18
|
-
|
|
19
|
-
created_at: datetime
|
|
20
|
-
"""Timestamp when the client was created"""
|
|
21
|
-
|
|
22
|
-
name: str
|
|
23
|
-
"""Human-readable name for the OAuth client"""
|
|
24
|
-
|
|
25
|
-
org_id: str
|
|
26
|
-
"""Organization ID that owns this OAuth client"""
|
|
27
|
-
|
|
28
|
-
record_type: Literal["oauth_client"]
|
|
29
|
-
"""Record type identifier"""
|
|
30
|
-
|
|
31
|
-
require_pkce: bool
|
|
32
|
-
"""Whether PKCE (Proof Key for Code Exchange) is required for this client"""
|
|
33
|
-
|
|
34
|
-
updated_at: datetime
|
|
35
|
-
"""Timestamp when the client was last updated"""
|
|
36
|
-
|
|
37
|
-
user_id: str
|
|
38
|
-
"""User ID that created this OAuth client"""
|
|
39
|
-
|
|
40
|
-
allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
|
|
41
|
-
"""List of allowed OAuth grant types"""
|
|
42
|
-
|
|
43
|
-
allowed_scopes: Optional[List[str]] = None
|
|
44
|
-
"""List of allowed OAuth scopes"""
|
|
45
|
-
|
|
46
|
-
client_secret: Optional[str] = None
|
|
47
|
-
"""Client secret (only included when available, for confidential clients)"""
|
|
48
|
-
|
|
49
|
-
logo_uri: Optional[str] = None
|
|
50
|
-
"""URL of the client logo"""
|
|
51
|
-
|
|
52
|
-
policy_uri: Optional[str] = None
|
|
53
|
-
"""URL of the client's privacy policy"""
|
|
54
|
-
|
|
55
|
-
redirect_uris: Optional[List[str]] = None
|
|
56
|
-
"""List of allowed redirect URIs"""
|
|
57
|
-
|
|
58
|
-
tos_uri: Optional[str] = None
|
|
59
|
-
"""URL of the client's terms of service"""
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
class Meta(BaseModel):
|
|
63
|
-
page_number: Optional[int] = None
|
|
64
|
-
"""Current page number"""
|
|
65
|
-
|
|
66
|
-
page_size: Optional[int] = None
|
|
67
|
-
"""Number of items per page"""
|
|
68
|
-
|
|
69
|
-
total_pages: Optional[int] = None
|
|
70
|
-
"""Total number of pages"""
|
|
71
|
-
|
|
72
|
-
total_results: Optional[int] = None
|
|
73
|
-
"""Total number of results"""
|
|
9
|
+
__all__ = ["OAuthClientListResponse"]
|
|
74
10
|
|
|
75
11
|
|
|
76
12
|
class OAuthClientListResponse(BaseModel):
|
|
77
|
-
data: Optional[List[
|
|
13
|
+
data: Optional[List[OAuthClient]] = None
|
|
78
14
|
|
|
79
|
-
meta: Optional[
|
|
15
|
+
meta: Optional[PaginationMetaOAuth] = None
|
|
@@ -1,63 +1,12 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
from typing_extensions import Literal
|
|
3
|
+
from typing import Optional
|
|
6
4
|
|
|
7
5
|
from .._models import BaseModel
|
|
6
|
+
from .oauth_client import OAuthClient
|
|
8
7
|
|
|
9
|
-
__all__ = ["OAuthClientRetrieveResponse"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Data(BaseModel):
|
|
13
|
-
client_id: str
|
|
14
|
-
"""OAuth client identifier"""
|
|
15
|
-
|
|
16
|
-
client_type: Literal["public", "confidential"]
|
|
17
|
-
"""OAuth client type"""
|
|
18
|
-
|
|
19
|
-
created_at: datetime
|
|
20
|
-
"""Timestamp when the client was created"""
|
|
21
|
-
|
|
22
|
-
name: str
|
|
23
|
-
"""Human-readable name for the OAuth client"""
|
|
24
|
-
|
|
25
|
-
org_id: str
|
|
26
|
-
"""Organization ID that owns this OAuth client"""
|
|
27
|
-
|
|
28
|
-
record_type: Literal["oauth_client"]
|
|
29
|
-
"""Record type identifier"""
|
|
30
|
-
|
|
31
|
-
require_pkce: bool
|
|
32
|
-
"""Whether PKCE (Proof Key for Code Exchange) is required for this client"""
|
|
33
|
-
|
|
34
|
-
updated_at: datetime
|
|
35
|
-
"""Timestamp when the client was last updated"""
|
|
36
|
-
|
|
37
|
-
user_id: str
|
|
38
|
-
"""User ID that created this OAuth client"""
|
|
39
|
-
|
|
40
|
-
allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
|
|
41
|
-
"""List of allowed OAuth grant types"""
|
|
42
|
-
|
|
43
|
-
allowed_scopes: Optional[List[str]] = None
|
|
44
|
-
"""List of allowed OAuth scopes"""
|
|
45
|
-
|
|
46
|
-
client_secret: Optional[str] = None
|
|
47
|
-
"""Client secret (only included when available, for confidential clients)"""
|
|
48
|
-
|
|
49
|
-
logo_uri: Optional[str] = None
|
|
50
|
-
"""URL of the client logo"""
|
|
51
|
-
|
|
52
|
-
policy_uri: Optional[str] = None
|
|
53
|
-
"""URL of the client's privacy policy"""
|
|
54
|
-
|
|
55
|
-
redirect_uris: Optional[List[str]] = None
|
|
56
|
-
"""List of allowed redirect URIs"""
|
|
57
|
-
|
|
58
|
-
tos_uri: Optional[str] = None
|
|
59
|
-
"""URL of the client's terms of service"""
|
|
8
|
+
__all__ = ["OAuthClientRetrieveResponse"]
|
|
60
9
|
|
|
61
10
|
|
|
62
11
|
class OAuthClientRetrieveResponse(BaseModel):
|
|
63
|
-
data: Optional[
|
|
12
|
+
data: Optional[OAuthClient] = None
|
|
@@ -1,63 +1,12 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
from typing_extensions import Literal
|
|
3
|
+
from typing import Optional
|
|
6
4
|
|
|
7
5
|
from .._models import BaseModel
|
|
6
|
+
from .oauth_client import OAuthClient
|
|
8
7
|
|
|
9
|
-
__all__ = ["OAuthClientUpdateResponse"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Data(BaseModel):
|
|
13
|
-
client_id: str
|
|
14
|
-
"""OAuth client identifier"""
|
|
15
|
-
|
|
16
|
-
client_type: Literal["public", "confidential"]
|
|
17
|
-
"""OAuth client type"""
|
|
18
|
-
|
|
19
|
-
created_at: datetime
|
|
20
|
-
"""Timestamp when the client was created"""
|
|
21
|
-
|
|
22
|
-
name: str
|
|
23
|
-
"""Human-readable name for the OAuth client"""
|
|
24
|
-
|
|
25
|
-
org_id: str
|
|
26
|
-
"""Organization ID that owns this OAuth client"""
|
|
27
|
-
|
|
28
|
-
record_type: Literal["oauth_client"]
|
|
29
|
-
"""Record type identifier"""
|
|
30
|
-
|
|
31
|
-
require_pkce: bool
|
|
32
|
-
"""Whether PKCE (Proof Key for Code Exchange) is required for this client"""
|
|
33
|
-
|
|
34
|
-
updated_at: datetime
|
|
35
|
-
"""Timestamp when the client was last updated"""
|
|
36
|
-
|
|
37
|
-
user_id: str
|
|
38
|
-
"""User ID that created this OAuth client"""
|
|
39
|
-
|
|
40
|
-
allowed_grant_types: Optional[List[Literal["client_credentials", "authorization_code", "refresh_token"]]] = None
|
|
41
|
-
"""List of allowed OAuth grant types"""
|
|
42
|
-
|
|
43
|
-
allowed_scopes: Optional[List[str]] = None
|
|
44
|
-
"""List of allowed OAuth scopes"""
|
|
45
|
-
|
|
46
|
-
client_secret: Optional[str] = None
|
|
47
|
-
"""Client secret (only included when available, for confidential clients)"""
|
|
48
|
-
|
|
49
|
-
logo_uri: Optional[str] = None
|
|
50
|
-
"""URL of the client logo"""
|
|
51
|
-
|
|
52
|
-
policy_uri: Optional[str] = None
|
|
53
|
-
"""URL of the client's privacy policy"""
|
|
54
|
-
|
|
55
|
-
redirect_uris: Optional[List[str]] = None
|
|
56
|
-
"""List of allowed redirect URIs"""
|
|
57
|
-
|
|
58
|
-
tos_uri: Optional[str] = None
|
|
59
|
-
"""URL of the client's terms of service"""
|
|
8
|
+
__all__ = ["OAuthClientUpdateResponse"]
|
|
60
9
|
|
|
61
10
|
|
|
62
11
|
class OAuthClientUpdateResponse(BaseModel):
|
|
63
|
-
data: Optional[
|
|
12
|
+
data: Optional[OAuthClient] = None
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["OAuthGrant"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class OAuthGrant(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""Unique identifier for the OAuth grant"""
|
|
15
|
+
|
|
16
|
+
client_id: str
|
|
17
|
+
"""OAuth client identifier"""
|
|
18
|
+
|
|
19
|
+
created_at: datetime
|
|
20
|
+
"""Timestamp when the grant was created"""
|
|
21
|
+
|
|
22
|
+
record_type: Literal["oauth_grant"]
|
|
23
|
+
"""Record type identifier"""
|
|
24
|
+
|
|
25
|
+
scopes: List[str]
|
|
26
|
+
"""List of granted OAuth scopes"""
|
|
27
|
+
|
|
28
|
+
last_used_at: Optional[datetime] = None
|
|
29
|
+
"""Timestamp when the grant was last used"""
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
from typing_extensions import Literal
|
|
3
|
+
from typing import Optional
|
|
6
4
|
|
|
7
5
|
from .._models import BaseModel
|
|
6
|
+
from .oauth_grant import OAuthGrant
|
|
8
7
|
|
|
9
|
-
__all__ = ["OAuthGrantDeleteResponse"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Data(BaseModel):
|
|
13
|
-
id: str
|
|
14
|
-
"""Unique identifier for the OAuth grant"""
|
|
15
|
-
|
|
16
|
-
client_id: str
|
|
17
|
-
"""OAuth client identifier"""
|
|
18
|
-
|
|
19
|
-
created_at: datetime
|
|
20
|
-
"""Timestamp when the grant was created"""
|
|
21
|
-
|
|
22
|
-
record_type: Literal["oauth_grant"]
|
|
23
|
-
"""Record type identifier"""
|
|
24
|
-
|
|
25
|
-
scopes: List[str]
|
|
26
|
-
"""List of granted OAuth scopes"""
|
|
27
|
-
|
|
28
|
-
last_used_at: Optional[datetime] = None
|
|
29
|
-
"""Timestamp when the grant was last used"""
|
|
8
|
+
__all__ = ["OAuthGrantDeleteResponse"]
|
|
30
9
|
|
|
31
10
|
|
|
32
11
|
class OAuthGrantDeleteResponse(BaseModel):
|
|
33
|
-
data: Optional[
|
|
12
|
+
data: Optional[OAuthGrant] = None
|
|
@@ -1,49 +1,15 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
from typing import List, Optional
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
from typing_extensions import Literal
|
|
6
4
|
|
|
7
5
|
from .._models import BaseModel
|
|
6
|
+
from .oauth_grant import OAuthGrant
|
|
7
|
+
from .pagination_meta_oauth import PaginationMetaOAuth
|
|
8
8
|
|
|
9
|
-
__all__ = ["OAuthGrantListResponse"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Data(BaseModel):
|
|
13
|
-
id: str
|
|
14
|
-
"""Unique identifier for the OAuth grant"""
|
|
15
|
-
|
|
16
|
-
client_id: str
|
|
17
|
-
"""OAuth client identifier"""
|
|
18
|
-
|
|
19
|
-
created_at: datetime
|
|
20
|
-
"""Timestamp when the grant was created"""
|
|
21
|
-
|
|
22
|
-
record_type: Literal["oauth_grant"]
|
|
23
|
-
"""Record type identifier"""
|
|
24
|
-
|
|
25
|
-
scopes: List[str]
|
|
26
|
-
"""List of granted OAuth scopes"""
|
|
27
|
-
|
|
28
|
-
last_used_at: Optional[datetime] = None
|
|
29
|
-
"""Timestamp when the grant was last used"""
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class Meta(BaseModel):
|
|
33
|
-
page_number: Optional[int] = None
|
|
34
|
-
"""Current page number"""
|
|
35
|
-
|
|
36
|
-
page_size: Optional[int] = None
|
|
37
|
-
"""Number of items per page"""
|
|
38
|
-
|
|
39
|
-
total_pages: Optional[int] = None
|
|
40
|
-
"""Total number of pages"""
|
|
41
|
-
|
|
42
|
-
total_results: Optional[int] = None
|
|
43
|
-
"""Total number of results"""
|
|
9
|
+
__all__ = ["OAuthGrantListResponse"]
|
|
44
10
|
|
|
45
11
|
|
|
46
12
|
class OAuthGrantListResponse(BaseModel):
|
|
47
|
-
data: Optional[List[
|
|
13
|
+
data: Optional[List[OAuthGrant]] = None
|
|
48
14
|
|
|
49
|
-
meta: Optional[
|
|
15
|
+
meta: Optional[PaginationMetaOAuth] = None
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
4
|
-
from datetime import datetime
|
|
5
|
-
from typing_extensions import Literal
|
|
3
|
+
from typing import Optional
|
|
6
4
|
|
|
7
5
|
from .._models import BaseModel
|
|
6
|
+
from .oauth_grant import OAuthGrant
|
|
8
7
|
|
|
9
|
-
__all__ = ["OAuthGrantRetrieveResponse"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class Data(BaseModel):
|
|
13
|
-
id: str
|
|
14
|
-
"""Unique identifier for the OAuth grant"""
|
|
15
|
-
|
|
16
|
-
client_id: str
|
|
17
|
-
"""OAuth client identifier"""
|
|
18
|
-
|
|
19
|
-
created_at: datetime
|
|
20
|
-
"""Timestamp when the grant was created"""
|
|
21
|
-
|
|
22
|
-
record_type: Literal["oauth_grant"]
|
|
23
|
-
"""Record type identifier"""
|
|
24
|
-
|
|
25
|
-
scopes: List[str]
|
|
26
|
-
"""List of granted OAuth scopes"""
|
|
27
|
-
|
|
28
|
-
last_used_at: Optional[datetime] = None
|
|
29
|
-
"""Timestamp when the grant was last used"""
|
|
8
|
+
__all__ = ["OAuthGrantRetrieveResponse"]
|
|
30
9
|
|
|
31
10
|
|
|
32
11
|
class OAuthGrantRetrieveResponse(BaseModel):
|
|
33
|
-
data: Optional[
|
|
12
|
+
data: Optional[OAuthGrant] = None
|
|
@@ -8,7 +8,27 @@ from .traffic_type import TrafficType
|
|
|
8
8
|
from .usage_payment_method import UsagePaymentMethod
|
|
9
9
|
from .outbound_call_recording import OutboundCallRecording
|
|
10
10
|
|
|
11
|
-
__all__ = ["OutboundVoiceProfile"]
|
|
11
|
+
__all__ = ["OutboundVoiceProfile", "CallingWindow"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CallingWindow(BaseModel):
|
|
15
|
+
calls_per_cld: Optional[int] = None
|
|
16
|
+
"""
|
|
17
|
+
(BETA) The maximum number of calls that can be initiated to a single called
|
|
18
|
+
party (CLD) within the calling window. A null value means no limit.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
end_time: Optional[str] = None
|
|
22
|
+
"""
|
|
23
|
+
(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
|
|
24
|
+
longer allowed to start.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
start_time: Optional[str] = None
|
|
28
|
+
"""
|
|
29
|
+
(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
|
|
30
|
+
allowed to start.
|
|
31
|
+
"""
|
|
12
32
|
|
|
13
33
|
|
|
14
34
|
class OutboundVoiceProfile(BaseModel):
|
|
@@ -26,6 +46,12 @@ class OutboundVoiceProfile(BaseModel):
|
|
|
26
46
|
|
|
27
47
|
call_recording: Optional[OutboundCallRecording] = None
|
|
28
48
|
|
|
49
|
+
calling_window: Optional[CallingWindow] = None
|
|
50
|
+
"""
|
|
51
|
+
(BETA) Specifies the time window and call limits for calls made using this
|
|
52
|
+
outbound voice profile. Note that all times are UTC in 24-hour clock time.
|
|
53
|
+
"""
|
|
54
|
+
|
|
29
55
|
concurrent_call_limit: Optional[int] = None
|
|
30
56
|
"""Must be no more than your global concurrent call limit. Null means no limit."""
|
|
31
57
|
|
|
@@ -11,7 +11,7 @@ from .traffic_type import TrafficType
|
|
|
11
11
|
from .usage_payment_method import UsagePaymentMethod
|
|
12
12
|
from .outbound_call_recording_param import OutboundCallRecordingParam
|
|
13
13
|
|
|
14
|
-
__all__ = ["OutboundVoiceProfileCreateParams"]
|
|
14
|
+
__all__ = ["OutboundVoiceProfileCreateParams", "CallingWindow"]
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class OutboundVoiceProfileCreateParams(TypedDict, total=False):
|
|
@@ -26,6 +26,12 @@ class OutboundVoiceProfileCreateParams(TypedDict, total=False):
|
|
|
26
26
|
|
|
27
27
|
call_recording: OutboundCallRecordingParam
|
|
28
28
|
|
|
29
|
+
calling_window: CallingWindow
|
|
30
|
+
"""
|
|
31
|
+
(BETA) Specifies the time window and call limits for calls made using this
|
|
32
|
+
outbound voice profile. Note that all times are UTC in 24-hour clock time.
|
|
33
|
+
"""
|
|
34
|
+
|
|
29
35
|
concurrent_call_limit: Optional[int]
|
|
30
36
|
"""Must be no more than your global concurrent call limit. Null means no limit."""
|
|
31
37
|
|
|
@@ -70,3 +76,23 @@ class OutboundVoiceProfileCreateParams(TypedDict, total=False):
|
|
|
70
76
|
The list of destinations you want to be able to call using this outbound voice
|
|
71
77
|
profile formatted in alpha2.
|
|
72
78
|
"""
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class CallingWindow(TypedDict, total=False):
|
|
82
|
+
calls_per_cld: int
|
|
83
|
+
"""
|
|
84
|
+
(BETA) The maximum number of calls that can be initiated to a single called
|
|
85
|
+
party (CLD) within the calling window. A null value means no limit.
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
end_time: str
|
|
89
|
+
"""
|
|
90
|
+
(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
|
|
91
|
+
longer allowed to start.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
start_time: str
|
|
95
|
+
"""
|
|
96
|
+
(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
|
|
97
|
+
allowed to start.
|
|
98
|
+
"""
|
|
@@ -11,7 +11,7 @@ from .traffic_type import TrafficType
|
|
|
11
11
|
from .usage_payment_method import UsagePaymentMethod
|
|
12
12
|
from .outbound_call_recording_param import OutboundCallRecordingParam
|
|
13
13
|
|
|
14
|
-
__all__ = ["OutboundVoiceProfileUpdateParams"]
|
|
14
|
+
__all__ = ["OutboundVoiceProfileUpdateParams", "CallingWindow"]
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class OutboundVoiceProfileUpdateParams(TypedDict, total=False):
|
|
@@ -26,6 +26,12 @@ class OutboundVoiceProfileUpdateParams(TypedDict, total=False):
|
|
|
26
26
|
|
|
27
27
|
call_recording: OutboundCallRecordingParam
|
|
28
28
|
|
|
29
|
+
calling_window: CallingWindow
|
|
30
|
+
"""
|
|
31
|
+
(BETA) Specifies the time window and call limits for calls made using this
|
|
32
|
+
outbound voice profile.
|
|
33
|
+
"""
|
|
34
|
+
|
|
29
35
|
concurrent_call_limit: Optional[int]
|
|
30
36
|
"""Must be no more than your global concurrent call limit. Null means no limit."""
|
|
31
37
|
|
|
@@ -70,3 +76,23 @@ class OutboundVoiceProfileUpdateParams(TypedDict, total=False):
|
|
|
70
76
|
The list of destinations you want to be able to call using this outbound voice
|
|
71
77
|
profile formatted in alpha2.
|
|
72
78
|
"""
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class CallingWindow(TypedDict, total=False):
|
|
82
|
+
calls_per_cld: int
|
|
83
|
+
"""
|
|
84
|
+
(BETA) The maximum number of calls that can be initiated to a single called
|
|
85
|
+
party (CLD) within the calling window. A null value means no limit.
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
end_time: str
|
|
89
|
+
"""
|
|
90
|
+
(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are no
|
|
91
|
+
longer allowed to start.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
start_time: str
|
|
95
|
+
"""
|
|
96
|
+
(BETA) The UTC time of day (in HH:MM format, 24-hour clock) when calls are
|
|
97
|
+
allowed to start.
|
|
98
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from .._models import BaseModel
|
|
4
|
+
|
|
5
|
+
__all__ = ["PaginationMetaCloudflareIPListSync"]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class PaginationMetaCloudflareIPListSync(BaseModel):
|
|
9
|
+
page_number: int
|
|
10
|
+
|
|
11
|
+
page_size: int
|
|
12
|
+
|
|
13
|
+
total_pages: int
|
|
14
|
+
|
|
15
|
+
total_results: int
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["PaginationMetaOAuth"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PaginationMetaOAuth(BaseModel):
|
|
11
|
+
page_number: Optional[int] = None
|
|
12
|
+
"""Current page number"""
|
|
13
|
+
|
|
14
|
+
page_size: Optional[int] = None
|
|
15
|
+
"""Number of items per page"""
|
|
16
|
+
|
|
17
|
+
total_pages: Optional[int] = None
|
|
18
|
+
"""Total number of pages"""
|
|
19
|
+
|
|
20
|
+
total_results: Optional[int] = None
|
|
21
|
+
"""Total number of results"""
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from .job import Job as Job
|
|
6
|
+
from .job_error import JobError as JobError
|
|
6
7
|
from .job_list_params import JobListParams as JobListParams
|
|
7
8
|
from .job_list_response import JobListResponse as JobListResponse
|
|
8
9
|
from .job_retrieve_response import JobRetrieveResponse as JobRetrieveResponse
|
|
@@ -5,47 +5,16 @@ from datetime import datetime
|
|
|
5
5
|
from typing_extensions import Literal
|
|
6
6
|
|
|
7
7
|
from ..._models import BaseModel
|
|
8
|
+
from .job_error import JobError
|
|
8
9
|
|
|
9
|
-
__all__ = [
|
|
10
|
-
"Job",
|
|
11
|
-
"FailedOperation",
|
|
12
|
-
"FailedOperationError",
|
|
13
|
-
"FailedOperationErrorMeta",
|
|
14
|
-
"FailedOperationErrorSource",
|
|
15
|
-
"SuccessfulOperation",
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class FailedOperationErrorMeta(BaseModel):
|
|
20
|
-
url: Optional[str] = None
|
|
21
|
-
"""URL with additional information on the error."""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class FailedOperationErrorSource(BaseModel):
|
|
25
|
-
parameter: Optional[str] = None
|
|
26
|
-
"""Indicates which query parameter caused the error."""
|
|
27
|
-
|
|
28
|
-
pointer: Optional[str] = None
|
|
29
|
-
"""JSON pointer (RFC6901) to the offending entity."""
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class FailedOperationError(BaseModel):
|
|
33
|
-
code: str
|
|
34
|
-
|
|
35
|
-
title: str
|
|
36
|
-
|
|
37
|
-
detail: Optional[str] = None
|
|
38
|
-
|
|
39
|
-
meta: Optional[FailedOperationErrorMeta] = None
|
|
40
|
-
|
|
41
|
-
source: Optional[FailedOperationErrorSource] = None
|
|
10
|
+
__all__ = ["Job", "FailedOperation", "SuccessfulOperation"]
|
|
42
11
|
|
|
43
12
|
|
|
44
13
|
class FailedOperation(BaseModel):
|
|
45
14
|
id: Optional[str] = None
|
|
46
15
|
"""The phone number's ID"""
|
|
47
16
|
|
|
48
|
-
errors: Optional[List[
|
|
17
|
+
errors: Optional[List[JobError]] = None
|
|
49
18
|
|
|
50
19
|
phone_number: Optional[str] = None
|
|
51
20
|
"""The phone number in e164 format."""
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["JobError", "Meta", "Source"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Meta(BaseModel):
|
|
11
|
+
url: Optional[str] = None
|
|
12
|
+
"""URL with additional information on the error."""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Source(BaseModel):
|
|
16
|
+
parameter: Optional[str] = None
|
|
17
|
+
"""Indicates which query parameter caused the error."""
|
|
18
|
+
|
|
19
|
+
pointer: Optional[str] = None
|
|
20
|
+
"""JSON pointer (RFC6901) to the offending entity."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class JobError(BaseModel):
|
|
24
|
+
code: str
|
|
25
|
+
|
|
26
|
+
title: str
|
|
27
|
+
|
|
28
|
+
detail: Optional[str] = None
|
|
29
|
+
|
|
30
|
+
meta: Optional[Meta] = None
|
|
31
|
+
|
|
32
|
+
source: Optional[Source] = None
|