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,48 +1,13 @@
|
|
|
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
|
|
3
|
+
from typing import Optional
|
|
5
4
|
|
|
6
5
|
from ....._models import BaseModel
|
|
6
|
+
from .cdr_usage_report_response_legacy import CdrUsageReportResponseLegacy
|
|
7
7
|
|
|
8
|
-
__all__ = ["VoiceDeleteResponse"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class Data(BaseModel):
|
|
12
|
-
id: Optional[str] = None
|
|
13
|
-
"""Identifies the resource"""
|
|
14
|
-
|
|
15
|
-
aggregation_type: Optional[int] = None
|
|
16
|
-
"""
|
|
17
|
-
Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
connections: Optional[List[int]] = None
|
|
21
|
-
|
|
22
|
-
created_at: Optional[datetime] = None
|
|
23
|
-
|
|
24
|
-
end_time: Optional[datetime] = None
|
|
25
|
-
|
|
26
|
-
product_breakdown: Optional[int] = None
|
|
27
|
-
"""
|
|
28
|
-
Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
|
|
29
|
-
vs Toll-free per Country = 3
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
record_type: Optional[str] = None
|
|
33
|
-
|
|
34
|
-
report_url: Optional[str] = None
|
|
35
|
-
|
|
36
|
-
result: Optional[object] = None
|
|
37
|
-
|
|
38
|
-
start_time: Optional[datetime] = None
|
|
39
|
-
|
|
40
|
-
status: Optional[int] = None
|
|
41
|
-
"""Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4"""
|
|
42
|
-
|
|
43
|
-
updated_at: Optional[datetime] = None
|
|
8
|
+
__all__ = ["VoiceDeleteResponse"]
|
|
44
9
|
|
|
45
10
|
|
|
46
11
|
class VoiceDeleteResponse(BaseModel):
|
|
47
|
-
data: Optional[
|
|
12
|
+
data: Optional[CdrUsageReportResponseLegacy] = None
|
|
48
13
|
"""Legacy V2 CDR usage report response"""
|
|
@@ -1,59 +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
4
|
|
|
6
5
|
from ....._models import BaseModel
|
|
6
|
+
from .standard_pagination_meta import StandardPaginationMeta
|
|
7
|
+
from .cdr_usage_report_response_legacy import CdrUsageReportResponseLegacy
|
|
7
8
|
|
|
8
|
-
__all__ = ["VoiceListResponse"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class Data(BaseModel):
|
|
12
|
-
id: Optional[str] = None
|
|
13
|
-
"""Identifies the resource"""
|
|
14
|
-
|
|
15
|
-
aggregation_type: Optional[int] = None
|
|
16
|
-
"""
|
|
17
|
-
Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
connections: Optional[List[int]] = None
|
|
21
|
-
|
|
22
|
-
created_at: Optional[datetime] = None
|
|
23
|
-
|
|
24
|
-
end_time: Optional[datetime] = None
|
|
25
|
-
|
|
26
|
-
product_breakdown: Optional[int] = None
|
|
27
|
-
"""
|
|
28
|
-
Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
|
|
29
|
-
vs Toll-free per Country = 3
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
record_type: Optional[str] = None
|
|
33
|
-
|
|
34
|
-
report_url: Optional[str] = None
|
|
35
|
-
|
|
36
|
-
result: Optional[object] = None
|
|
37
|
-
|
|
38
|
-
start_time: Optional[datetime] = None
|
|
39
|
-
|
|
40
|
-
status: Optional[int] = None
|
|
41
|
-
"""Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4"""
|
|
42
|
-
|
|
43
|
-
updated_at: Optional[datetime] = None
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class Meta(BaseModel):
|
|
47
|
-
page_number: Optional[int] = None
|
|
48
|
-
|
|
49
|
-
page_size: Optional[int] = None
|
|
50
|
-
|
|
51
|
-
total_pages: Optional[int] = None
|
|
52
|
-
|
|
53
|
-
total_results: Optional[int] = None
|
|
9
|
+
__all__ = ["VoiceListResponse"]
|
|
54
10
|
|
|
55
11
|
|
|
56
12
|
class VoiceListResponse(BaseModel):
|
|
57
|
-
data: Optional[List[
|
|
13
|
+
data: Optional[List[CdrUsageReportResponseLegacy]] = None
|
|
58
14
|
|
|
59
|
-
meta: Optional[
|
|
15
|
+
meta: Optional[StandardPaginationMeta] = None
|
|
@@ -1,48 +1,13 @@
|
|
|
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
|
|
3
|
+
from typing import Optional
|
|
5
4
|
|
|
6
5
|
from ....._models import BaseModel
|
|
6
|
+
from .cdr_usage_report_response_legacy import CdrUsageReportResponseLegacy
|
|
7
7
|
|
|
8
|
-
__all__ = ["VoiceRetrieveResponse"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class Data(BaseModel):
|
|
12
|
-
id: Optional[str] = None
|
|
13
|
-
"""Identifies the resource"""
|
|
14
|
-
|
|
15
|
-
aggregation_type: Optional[int] = None
|
|
16
|
-
"""
|
|
17
|
-
Aggregation type: All = 0, By Connections = 1, By Tags = 2, By Billing Group = 3
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
connections: Optional[List[int]] = None
|
|
21
|
-
|
|
22
|
-
created_at: Optional[datetime] = None
|
|
23
|
-
|
|
24
|
-
end_time: Optional[datetime] = None
|
|
25
|
-
|
|
26
|
-
product_breakdown: Optional[int] = None
|
|
27
|
-
"""
|
|
28
|
-
Product breakdown type: No breakdown = 0, DID vs Toll-free = 1, Country = 2, DID
|
|
29
|
-
vs Toll-free per Country = 3
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
record_type: Optional[str] = None
|
|
33
|
-
|
|
34
|
-
report_url: Optional[str] = None
|
|
35
|
-
|
|
36
|
-
result: Optional[object] = None
|
|
37
|
-
|
|
38
|
-
start_time: Optional[datetime] = None
|
|
39
|
-
|
|
40
|
-
status: Optional[int] = None
|
|
41
|
-
"""Status of the report: Pending = 1, Complete = 2, Failed = 3, Expired = 4"""
|
|
42
|
-
|
|
43
|
-
updated_at: Optional[datetime] = None
|
|
8
|
+
__all__ = ["VoiceRetrieveResponse"]
|
|
44
9
|
|
|
45
10
|
|
|
46
11
|
class VoiceRetrieveResponse(BaseModel):
|
|
47
|
-
data: Optional[
|
|
12
|
+
data: Optional[CdrUsageReportResponseLegacy] = None
|
|
48
13
|
"""Legacy V2 CDR usage report response"""
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
from .verify_profile_message_template_response import VerifyProfileMessageTemplateResponse
|
|
7
|
+
|
|
8
|
+
__all__ = ["MessageTemplate"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class MessageTemplate(BaseModel):
|
|
12
|
+
data: Optional[VerifyProfileMessageTemplateResponse] = None
|
|
@@ -42,6 +42,9 @@ class MessagingProfile(BaseModel):
|
|
|
42
42
|
mms_transcoding: Optional[bool] = None
|
|
43
43
|
"""enables automated resizing of MMS media."""
|
|
44
44
|
|
|
45
|
+
mobile_only: Optional[bool] = None
|
|
46
|
+
"""Send messages only to mobile phone numbers."""
|
|
47
|
+
|
|
45
48
|
name: Optional[str] = None
|
|
46
49
|
"""A user friendly name for the messaging profile."""
|
|
47
50
|
|
|
@@ -47,6 +47,9 @@ class MessagingProfileCreateParams(TypedDict, total=False):
|
|
|
47
47
|
mms_transcoding: bool
|
|
48
48
|
"""enables automated resizing of MMS media."""
|
|
49
49
|
|
|
50
|
+
mobile_only: bool
|
|
51
|
+
"""Send messages only to mobile phone numbers."""
|
|
52
|
+
|
|
50
53
|
number_pool_settings: Optional[NumberPoolSettingsParam]
|
|
51
54
|
"""
|
|
52
55
|
Number Pool allows you to send messages from a pool of numbers of different
|
|
@@ -37,6 +37,9 @@ class MessagingProfileUpdateParams(TypedDict, total=False):
|
|
|
37
37
|
mms_transcoding: bool
|
|
38
38
|
"""enables automated resizing of MMS media."""
|
|
39
39
|
|
|
40
|
+
mobile_only: bool
|
|
41
|
+
"""Send messages only to mobile phone numbers."""
|
|
42
|
+
|
|
40
43
|
name: str
|
|
41
44
|
"""A user friendly name for the messaging profile."""
|
|
42
45
|
|
|
@@ -15,3 +15,4 @@ from .tf_phone_number_param import TfPhoneNumberParam as TfPhoneNumberParam
|
|
|
15
15
|
from .tf_verification_status import TfVerificationStatus as TfVerificationStatus
|
|
16
16
|
from .verification_request_egress import VerificationRequestEgress as VerificationRequestEgress
|
|
17
17
|
from .verification_request_status import VerificationRequestStatus as VerificationRequestStatus
|
|
18
|
+
from .toll_free_verification_entity_type import TollFreeVerificationEntityType as TollFreeVerificationEntityType
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Iterable
|
|
5
|
+
from typing import Iterable, Optional
|
|
6
6
|
from typing_extensions import Required, Annotated, TypedDict
|
|
7
7
|
|
|
8
8
|
from .volume import Volume
|
|
@@ -10,6 +10,7 @@ from ...._utils import PropertyInfo
|
|
|
10
10
|
from .url_param import URLParam
|
|
11
11
|
from .use_case_categories import UseCaseCategories
|
|
12
12
|
from .tf_phone_number_param import TfPhoneNumberParam
|
|
13
|
+
from .toll_free_verification_entity_type import TollFreeVerificationEntityType
|
|
13
14
|
|
|
14
15
|
__all__ = ["RequestCreateParams"]
|
|
15
16
|
|
|
@@ -84,8 +85,57 @@ class RequestCreateParams(TypedDict, total=False):
|
|
|
84
85
|
use_case_summary: Required[Annotated[str, PropertyInfo(alias="useCaseSummary")]]
|
|
85
86
|
"""Human-readable summary of the desired use-case"""
|
|
86
87
|
|
|
88
|
+
age_gated_content: Annotated[bool, PropertyInfo(alias="ageGatedContent")]
|
|
89
|
+
"""Indicates if messaging content requires age gating (e.g., 18+).
|
|
90
|
+
|
|
91
|
+
Defaults to false if not provided.
|
|
92
|
+
"""
|
|
93
|
+
|
|
87
94
|
business_addr2: Annotated[str, PropertyInfo(alias="businessAddr2")]
|
|
88
95
|
"""Line 2 of the business address"""
|
|
89
96
|
|
|
97
|
+
business_registration_country: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationCountry")]
|
|
98
|
+
"""ISO 3166-1 alpha-2 country code of the issuing business authority.
|
|
99
|
+
|
|
100
|
+
Must be exactly 2 letters. Automatically converted to uppercase. Required from
|
|
101
|
+
January 2026.
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
business_registration_number: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationNumber")]
|
|
105
|
+
"""
|
|
106
|
+
Official business registration number (e.g., Employer Identification Number
|
|
107
|
+
(EIN) in the U.S.). Required from January 2026.
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
business_registration_type: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationType")]
|
|
111
|
+
"""Type of business registration being provided. Required from January 2026."""
|
|
112
|
+
|
|
113
|
+
doing_business_as: Annotated[Optional[str], PropertyInfo(alias="doingBusinessAs")]
|
|
114
|
+
"""Doing Business As (DBA) name if different from legal name"""
|
|
115
|
+
|
|
116
|
+
entity_type: Annotated[Optional[TollFreeVerificationEntityType], PropertyInfo(alias="entityType")]
|
|
117
|
+
"""Business entity classification"""
|
|
118
|
+
|
|
119
|
+
help_message_response: Annotated[Optional[str], PropertyInfo(alias="helpMessageResponse")]
|
|
120
|
+
"""The message returned when users text 'HELP'"""
|
|
121
|
+
|
|
122
|
+
opt_in_confirmation_response: Annotated[Optional[str], PropertyInfo(alias="optInConfirmationResponse")]
|
|
123
|
+
"""Message sent to users confirming their opt-in to receive messages"""
|
|
124
|
+
|
|
125
|
+
opt_in_keywords: Annotated[Optional[str], PropertyInfo(alias="optInKeywords")]
|
|
126
|
+
"""Keywords used to collect and process consumer opt-ins"""
|
|
127
|
+
|
|
128
|
+
privacy_policy_url: Annotated[Optional[str], PropertyInfo(alias="privacyPolicyURL")]
|
|
129
|
+
"""URL pointing to the business's privacy policy.
|
|
130
|
+
|
|
131
|
+
Plain string, no URL format validation.
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
terms_and_condition_url: Annotated[Optional[str], PropertyInfo(alias="termsAndConditionURL")]
|
|
135
|
+
"""URL pointing to the business's terms and conditions.
|
|
136
|
+
|
|
137
|
+
Plain string, no URL format validation.
|
|
138
|
+
"""
|
|
139
|
+
|
|
90
140
|
webhook_url: Annotated[str, PropertyInfo(alias="webhookUrl")]
|
|
91
141
|
"""URL that should receive webhooks relating to this verification request"""
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Iterable
|
|
5
|
+
from typing import Iterable, Optional
|
|
6
6
|
from typing_extensions import Required, Annotated, TypedDict
|
|
7
7
|
|
|
8
8
|
from .volume import Volume
|
|
@@ -10,6 +10,7 @@ from ...._utils import PropertyInfo
|
|
|
10
10
|
from .url_param import URLParam
|
|
11
11
|
from .use_case_categories import UseCaseCategories
|
|
12
12
|
from .tf_phone_number_param import TfPhoneNumberParam
|
|
13
|
+
from .toll_free_verification_entity_type import TollFreeVerificationEntityType
|
|
13
14
|
|
|
14
15
|
__all__ = ["RequestUpdateParams"]
|
|
15
16
|
|
|
@@ -84,8 +85,57 @@ class RequestUpdateParams(TypedDict, total=False):
|
|
|
84
85
|
use_case_summary: Required[Annotated[str, PropertyInfo(alias="useCaseSummary")]]
|
|
85
86
|
"""Human-readable summary of the desired use-case"""
|
|
86
87
|
|
|
88
|
+
age_gated_content: Annotated[bool, PropertyInfo(alias="ageGatedContent")]
|
|
89
|
+
"""Indicates if messaging content requires age gating (e.g., 18+).
|
|
90
|
+
|
|
91
|
+
Defaults to false if not provided.
|
|
92
|
+
"""
|
|
93
|
+
|
|
87
94
|
business_addr2: Annotated[str, PropertyInfo(alias="businessAddr2")]
|
|
88
95
|
"""Line 2 of the business address"""
|
|
89
96
|
|
|
97
|
+
business_registration_country: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationCountry")]
|
|
98
|
+
"""ISO 3166-1 alpha-2 country code of the issuing business authority.
|
|
99
|
+
|
|
100
|
+
Must be exactly 2 letters. Automatically converted to uppercase. Required from
|
|
101
|
+
January 2026.
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
business_registration_number: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationNumber")]
|
|
105
|
+
"""
|
|
106
|
+
Official business registration number (e.g., Employer Identification Number
|
|
107
|
+
(EIN) in the U.S.). Required from January 2026.
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
business_registration_type: Annotated[Optional[str], PropertyInfo(alias="businessRegistrationType")]
|
|
111
|
+
"""Type of business registration being provided. Required from January 2026."""
|
|
112
|
+
|
|
113
|
+
doing_business_as: Annotated[Optional[str], PropertyInfo(alias="doingBusinessAs")]
|
|
114
|
+
"""Doing Business As (DBA) name if different from legal name"""
|
|
115
|
+
|
|
116
|
+
entity_type: Annotated[Optional[TollFreeVerificationEntityType], PropertyInfo(alias="entityType")]
|
|
117
|
+
"""Business entity classification"""
|
|
118
|
+
|
|
119
|
+
help_message_response: Annotated[Optional[str], PropertyInfo(alias="helpMessageResponse")]
|
|
120
|
+
"""The message returned when users text 'HELP'"""
|
|
121
|
+
|
|
122
|
+
opt_in_confirmation_response: Annotated[Optional[str], PropertyInfo(alias="optInConfirmationResponse")]
|
|
123
|
+
"""Message sent to users confirming their opt-in to receive messages"""
|
|
124
|
+
|
|
125
|
+
opt_in_keywords: Annotated[Optional[str], PropertyInfo(alias="optInKeywords")]
|
|
126
|
+
"""Keywords used to collect and process consumer opt-ins"""
|
|
127
|
+
|
|
128
|
+
privacy_policy_url: Annotated[Optional[str], PropertyInfo(alias="privacyPolicyURL")]
|
|
129
|
+
"""URL pointing to the business's privacy policy.
|
|
130
|
+
|
|
131
|
+
Plain string, no URL format validation.
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
terms_and_condition_url: Annotated[Optional[str], PropertyInfo(alias="termsAndConditionURL")]
|
|
135
|
+
"""URL pointing to the business's terms and conditions.
|
|
136
|
+
|
|
137
|
+
Plain string, no URL format validation.
|
|
138
|
+
"""
|
|
139
|
+
|
|
90
140
|
webhook_url: Annotated[str, PropertyInfo(alias="webhookUrl")]
|
|
91
141
|
"""URL that should receive webhooks relating to this verification request"""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing_extensions import Literal, TypeAlias
|
|
4
|
+
|
|
5
|
+
__all__ = ["TollFreeVerificationEntityType"]
|
|
6
|
+
|
|
7
|
+
TollFreeVerificationEntityType: TypeAlias = Literal[
|
|
8
|
+
"SOLE_PROPRIETOR", "PRIVATE_PROFIT", "PUBLIC_PROFIT", "NON_PROFIT", "GOVERNMENT"
|
|
9
|
+
]
|
|
@@ -10,6 +10,7 @@ from ...._models import BaseModel
|
|
|
10
10
|
from .tf_phone_number import TfPhoneNumber
|
|
11
11
|
from .use_case_categories import UseCaseCategories
|
|
12
12
|
from .tf_verification_status import TfVerificationStatus
|
|
13
|
+
from .toll_free_verification_entity_type import TollFreeVerificationEntityType
|
|
13
14
|
|
|
14
15
|
__all__ = ["VerificationRequestEgress"]
|
|
15
16
|
|
|
@@ -59,8 +60,31 @@ class VerificationRequestEgress(BaseModel):
|
|
|
59
60
|
|
|
60
61
|
verification_request_id: str = FieldInfo(alias="verificationRequestId")
|
|
61
62
|
|
|
63
|
+
age_gated_content: Optional[bool] = FieldInfo(alias="ageGatedContent", default=None)
|
|
64
|
+
|
|
62
65
|
business_addr2: Optional[str] = FieldInfo(alias="businessAddr2", default=None)
|
|
63
66
|
|
|
67
|
+
business_registration_country: Optional[str] = FieldInfo(alias="businessRegistrationCountry", default=None)
|
|
68
|
+
|
|
69
|
+
business_registration_number: Optional[str] = FieldInfo(alias="businessRegistrationNumber", default=None)
|
|
70
|
+
|
|
71
|
+
business_registration_type: Optional[str] = FieldInfo(alias="businessRegistrationType", default=None)
|
|
72
|
+
|
|
73
|
+
doing_business_as: Optional[str] = FieldInfo(alias="doingBusinessAs", default=None)
|
|
74
|
+
|
|
75
|
+
entity_type: Optional[TollFreeVerificationEntityType] = FieldInfo(alias="entityType", default=None)
|
|
76
|
+
"""Business entity classification"""
|
|
77
|
+
|
|
78
|
+
help_message_response: Optional[str] = FieldInfo(alias="helpMessageResponse", default=None)
|
|
79
|
+
|
|
80
|
+
opt_in_confirmation_response: Optional[str] = FieldInfo(alias="optInConfirmationResponse", default=None)
|
|
81
|
+
|
|
82
|
+
opt_in_keywords: Optional[str] = FieldInfo(alias="optInKeywords", default=None)
|
|
83
|
+
|
|
84
|
+
privacy_policy_url: Optional[str] = FieldInfo(alias="privacyPolicyURL", default=None)
|
|
85
|
+
|
|
86
|
+
terms_and_condition_url: Optional[str] = FieldInfo(alias="termsAndConditionURL", default=None)
|
|
87
|
+
|
|
64
88
|
verification_status: Optional[TfVerificationStatus] = FieldInfo(alias="verificationStatus", default=None)
|
|
65
89
|
"""Tollfree verification status"""
|
|
66
90
|
|
|
@@ -11,6 +11,7 @@ from ...._models import BaseModel
|
|
|
11
11
|
from .tf_phone_number import TfPhoneNumber
|
|
12
12
|
from .use_case_categories import UseCaseCategories
|
|
13
13
|
from .tf_verification_status import TfVerificationStatus
|
|
14
|
+
from .toll_free_verification_entity_type import TollFreeVerificationEntityType
|
|
14
15
|
|
|
15
16
|
__all__ = ["VerificationRequestStatus"]
|
|
16
17
|
|
|
@@ -61,12 +62,35 @@ class VerificationRequestStatus(BaseModel):
|
|
|
61
62
|
verification_status: TfVerificationStatus = FieldInfo(alias="verificationStatus")
|
|
62
63
|
"""Tollfree verification status"""
|
|
63
64
|
|
|
65
|
+
age_gated_content: Optional[bool] = FieldInfo(alias="ageGatedContent", default=None)
|
|
66
|
+
|
|
64
67
|
business_addr2: Optional[str] = FieldInfo(alias="businessAddr2", default=None)
|
|
65
68
|
|
|
69
|
+
business_registration_country: Optional[str] = FieldInfo(alias="businessRegistrationCountry", default=None)
|
|
70
|
+
|
|
71
|
+
business_registration_number: Optional[str] = FieldInfo(alias="businessRegistrationNumber", default=None)
|
|
72
|
+
|
|
73
|
+
business_registration_type: Optional[str] = FieldInfo(alias="businessRegistrationType", default=None)
|
|
74
|
+
|
|
66
75
|
created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
|
|
67
76
|
|
|
77
|
+
doing_business_as: Optional[str] = FieldInfo(alias="doingBusinessAs", default=None)
|
|
78
|
+
|
|
79
|
+
entity_type: Optional[TollFreeVerificationEntityType] = FieldInfo(alias="entityType", default=None)
|
|
80
|
+
"""Business entity classification"""
|
|
81
|
+
|
|
82
|
+
help_message_response: Optional[str] = FieldInfo(alias="helpMessageResponse", default=None)
|
|
83
|
+
|
|
84
|
+
opt_in_confirmation_response: Optional[str] = FieldInfo(alias="optInConfirmationResponse", default=None)
|
|
85
|
+
|
|
86
|
+
opt_in_keywords: Optional[str] = FieldInfo(alias="optInKeywords", default=None)
|
|
87
|
+
|
|
88
|
+
privacy_policy_url: Optional[str] = FieldInfo(alias="privacyPolicyURL", default=None)
|
|
89
|
+
|
|
68
90
|
reason: Optional[str] = None
|
|
69
91
|
|
|
92
|
+
terms_and_condition_url: Optional[str] = FieldInfo(alias="termsAndConditionURL", default=None)
|
|
93
|
+
|
|
70
94
|
updated_at: Optional[datetime] = FieldInfo(alias="updatedAt", default=None)
|
|
71
95
|
|
|
72
96
|
webhook_url: Optional[str] = FieldInfo(alias="webhookUrl", default=None)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .number_order_with_phone_numbers import NumberOrderWithPhoneNumbers
|
|
7
|
+
|
|
8
|
+
__all__ = ["NumberOrderStatusUpdateWebhookEvent", "Data", "Meta"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Data(BaseModel):
|
|
12
|
+
id: str
|
|
13
|
+
"""Unique identifier for the event"""
|
|
14
|
+
|
|
15
|
+
event_type: str
|
|
16
|
+
"""The type of event being sent"""
|
|
17
|
+
|
|
18
|
+
occurred_at: datetime
|
|
19
|
+
"""ISO 8601 timestamp of when the event occurred"""
|
|
20
|
+
|
|
21
|
+
payload: NumberOrderWithPhoneNumbers
|
|
22
|
+
|
|
23
|
+
record_type: str
|
|
24
|
+
"""Type of record"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Meta(BaseModel):
|
|
28
|
+
attempt: int
|
|
29
|
+
"""Webhook delivery attempt number"""
|
|
30
|
+
|
|
31
|
+
delivered_to: str
|
|
32
|
+
"""URL where the webhook was delivered"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class NumberOrderStatusUpdateWebhookEvent(BaseModel):
|
|
36
|
+
data: Data
|
|
37
|
+
|
|
38
|
+
meta: Meta
|
|
@@ -0,0 +1,59 @@
|
|
|
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__ = ["OAuthClient"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class OAuthClient(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"""
|
|
@@ -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__ = ["OAuthClientCreateResponse"
|
|
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__ = ["OAuthClientCreateResponse"]
|
|
60
9
|
|
|
61
10
|
|
|
62
11
|
class OAuthClientCreateResponse(BaseModel):
|
|
63
|
-
data: Optional[
|
|
12
|
+
data: Optional[OAuthClient] = None
|