telnyx 5.150.0 → 5.152.0

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.
Files changed (186) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -531
  3. data/README.md +10 -1
  4. data/lib/telnyx/models/advanced_order_create_params.rb +1 -86
  5. data/lib/telnyx/models/advanced_order_update_requirement_group_params.rb +1 -88
  6. data/lib/telnyx/models/ai_retrieve_conversation_histories_params.rb +22 -48
  7. data/lib/telnyx/models/ai_retrieve_conversation_histories_response.rb +10 -50
  8. data/lib/telnyx/models/calls/deepgram_nova2_config.rb +23 -1
  9. data/lib/telnyx/models/calls/deepgram_nova3_config.rb +22 -1
  10. data/lib/telnyx/models/calls/transcription_start_request.rb +5 -3
  11. data/lib/telnyx/models/dir/email_verification_status_wrapped.rb +82 -0
  12. data/lib/telnyx/models/dir/reference.rb +125 -0
  13. data/lib/telnyx/models/dir/reference_create_params.rb +43 -0
  14. data/lib/telnyx/models/dir/reference_input.rb +74 -0
  15. data/lib/telnyx/models/dir/reference_list.rb +18 -0
  16. data/lib/telnyx/models/dir/{phone_number_delete_all_params.rb → reference_list_params.rb} +3 -9
  17. data/lib/telnyx/models/dir/reference_update_params.rb +103 -0
  18. data/lib/telnyx/models/dir/reference_update_response.rb +23 -0
  19. data/lib/telnyx/models/dir/verify_email_confirm_params.rb +31 -0
  20. data/lib/telnyx/models/dir/verify_email_create_params.rb +22 -0
  21. data/lib/telnyx/models/dir/verify_email_list_params.rb +22 -0
  22. data/lib/telnyx/models/dir_update_infringement_params.rb +6 -2
  23. data/lib/telnyx/models/enterprises/dir_create_params.rb +10 -10
  24. data/lib/telnyx/models/public_internet_gateway.rb +24 -1
  25. data/lib/telnyx/models/storage/kv_create_params.rb +24 -0
  26. data/lib/telnyx/models/storage/kv_delete_params.rb +22 -0
  27. data/lib/telnyx/models/storage/kv_list_params.rb +32 -0
  28. data/lib/telnyx/models/storage/kv_namespace.rb +75 -0
  29. data/lib/telnyx/models/storage/kv_namespace_response_wrapper.rb +18 -0
  30. data/lib/telnyx/models/storage/kv_retrieve_params.rb +22 -0
  31. data/lib/telnyx/models/storage/kvs/key_delete_params.rb +30 -0
  32. data/lib/telnyx/models/storage/kvs/key_list_params.rb +49 -0
  33. data/lib/telnyx/models/storage/kvs/key_list_response.rb +82 -0
  34. data/lib/telnyx/models/storage/kvs/key_retrieve_params.rb +30 -0
  35. data/lib/telnyx/models/storage/kvs/key_update_params.rb +53 -0
  36. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +9 -69
  37. data/lib/telnyx/models/virtual_cross_connect_create.rb +176 -2
  38. data/lib/telnyx/models/whatsapp/phone_number_retrieve_conversation_window_params.rb +31 -0
  39. data/lib/telnyx/models/whatsapp/phone_number_retrieve_conversation_window_response.rb +54 -0
  40. data/lib/telnyx/models/wireguard_interface.rb +24 -1
  41. data/lib/telnyx/resources/ai.rb +20 -21
  42. data/lib/telnyx/resources/calls/actions.rb +1 -1
  43. data/lib/telnyx/resources/dir/references.rb +139 -0
  44. data/lib/telnyx/resources/dir/verify_email.rb +91 -0
  45. data/lib/telnyx/resources/dir.rb +17 -1
  46. data/lib/telnyx/resources/documents.rb +1 -1
  47. data/lib/telnyx/resources/enterprises/dir.rb +3 -3
  48. data/lib/telnyx/resources/storage/kvs/keys.rb +154 -0
  49. data/lib/telnyx/resources/storage/kvs.rb +115 -0
  50. data/lib/telnyx/resources/storage.rb +5 -0
  51. data/lib/telnyx/resources/whatsapp/phone_numbers.rb +27 -0
  52. data/lib/telnyx/version.rb +1 -1
  53. data/lib/telnyx.rb +29 -2
  54. data/rbi/telnyx/models/advanced_order_create_params.rbi +4 -198
  55. data/rbi/telnyx/models/advanced_order_update_requirement_group_params.rbi +2 -219
  56. data/rbi/telnyx/models/ai/assistant_get_texml_response.rbi +1 -1
  57. data/rbi/telnyx/models/ai/assistants/instruction_enhance_response.rbi +1 -1
  58. data/rbi/telnyx/models/ai_retrieve_conversation_histories_params.rbi +30 -97
  59. data/rbi/telnyx/models/ai_retrieve_conversation_histories_response.rbi +10 -85
  60. data/rbi/telnyx/models/calls/deepgram_nova2_config.rbi +34 -0
  61. data/rbi/telnyx/models/calls/deepgram_nova3_config.rbi +32 -0
  62. data/rbi/telnyx/models/calls/transcription_start_request.rbi +5 -0
  63. data/rbi/telnyx/models/dir/email_verification_status_wrapped.rbi +184 -0
  64. data/rbi/telnyx/models/dir/reference.rbi +162 -0
  65. data/rbi/telnyx/models/dir/reference_create_params.rbi +66 -0
  66. data/rbi/telnyx/models/dir/reference_input.rbi +93 -0
  67. data/rbi/telnyx/models/dir/reference_list.rbi +29 -0
  68. data/rbi/telnyx/models/dir/reference_list_params.rbi +37 -0
  69. data/rbi/telnyx/models/dir/reference_update_params.rbi +154 -0
  70. data/rbi/telnyx/models/dir/reference_update_response.rbi +39 -0
  71. data/rbi/telnyx/models/dir/{phone_number_delete_all_params.rbi → verify_email_confirm_params.rbi} +13 -7
  72. data/rbi/telnyx/models/dir/verify_email_create_params.rbi +40 -0
  73. data/rbi/telnyx/models/dir/verify_email_list_params.rbi +37 -0
  74. data/rbi/telnyx/models/dir_update_infringement_params.rbi +4 -2
  75. data/rbi/telnyx/models/enterprises/dir_create_params.rbi +10 -13
  76. data/rbi/telnyx/models/messaging_profiles/autoresp_config_delete_response.rbi +1 -1
  77. data/rbi/telnyx/models/public_internet_gateway.rbi +45 -3
  78. data/rbi/telnyx/models/storage/kv_create_params.rbi +42 -0
  79. data/rbi/telnyx/models/storage/kv_delete_params.rbi +37 -0
  80. data/rbi/telnyx/models/storage/kv_list_params.rbi +59 -0
  81. data/rbi/telnyx/models/storage/kv_namespace.rbi +131 -0
  82. data/rbi/telnyx/models/storage/kv_namespace_response_wrapper.rbi +35 -0
  83. data/rbi/telnyx/models/storage/kv_retrieve_params.rbi +37 -0
  84. data/rbi/telnyx/models/storage/kvs/key_delete_params.rbi +50 -0
  85. data/rbi/telnyx/models/storage/kvs/key_list_params.rbi +81 -0
  86. data/rbi/telnyx/models/storage/kvs/key_list_response.rbi +179 -0
  87. data/rbi/telnyx/models/storage/kvs/key_retrieve_params.rbi +50 -0
  88. data/rbi/telnyx/models/storage/kvs/key_update_params.rbi +77 -0
  89. data/rbi/telnyx/models/sub_number_orders_report_download_response.rbi +1 -1
  90. data/rbi/telnyx/models/telephony_credential_create_token_response.rbi +1 -1
  91. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +12 -189
  92. data/rbi/telnyx/models/virtual_cross_connect_create.rbi +265 -7
  93. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_conversation_window_params.rbi +54 -0
  94. data/rbi/telnyx/models/whatsapp/phone_number_retrieve_conversation_window_response.rbi +125 -0
  95. data/rbi/telnyx/models/wireguard_interface.rbi +48 -3
  96. data/rbi/telnyx/models/wireguard_peer_retrieve_config_response.rbi +1 -1
  97. data/rbi/telnyx/models.rbi +0 -7
  98. data/rbi/telnyx/resources/ai.rbi +21 -28
  99. data/rbi/telnyx/resources/calls/actions.rbi +1 -0
  100. data/rbi/telnyx/resources/dir/references.rbi +114 -0
  101. data/rbi/telnyx/resources/dir/verify_email.rbi +70 -0
  102. data/rbi/telnyx/resources/dir.rbi +13 -1
  103. data/rbi/telnyx/resources/enterprises/dir.rbi +4 -4
  104. data/rbi/telnyx/resources/storage/kvs/keys.rbi +115 -0
  105. data/rbi/telnyx/resources/storage/kvs.rbi +87 -0
  106. data/rbi/telnyx/resources/storage.rbi +4 -0
  107. data/rbi/telnyx/resources/whatsapp/phone_numbers.rbi +21 -0
  108. data/sig/telnyx/models/advanced_order_create_params.rbs +3 -99
  109. data/sig/telnyx/models/advanced_order_update_requirement_group_params.rbs +3 -94
  110. data/sig/telnyx/models/ai_retrieve_conversation_histories_params.rbs +15 -34
  111. data/sig/telnyx/models/ai_retrieve_conversation_histories_response.rbs +0 -24
  112. data/sig/telnyx/models/calls/deepgram_nova2_config.rbs +14 -0
  113. data/sig/telnyx/models/calls/deepgram_nova3_config.rbs +14 -0
  114. data/sig/telnyx/models/calls/transcription_start_request.rbs +1 -0
  115. data/sig/telnyx/models/dir/email_verification_status_wrapped.rbs +69 -0
  116. data/sig/telnyx/models/dir/reference.rbs +88 -0
  117. data/sig/telnyx/models/dir/reference_create_params.rbs +38 -0
  118. data/sig/telnyx/models/dir/reference_input.rbs +52 -0
  119. data/sig/telnyx/models/dir/reference_list.rbs +15 -0
  120. data/sig/telnyx/models/dir/reference_list_params.rbs +25 -0
  121. data/sig/telnyx/models/dir/reference_update_params.rbs +92 -0
  122. data/sig/telnyx/models/dir/reference_update_response.rbs +15 -0
  123. data/sig/telnyx/models/dir/{phone_number_delete_all_params.rbs → verify_email_confirm_params.rbs} +6 -6
  124. data/sig/telnyx/models/dir/verify_email_create_params.rbs +25 -0
  125. data/sig/telnyx/models/dir/verify_email_list_params.rbs +25 -0
  126. data/sig/telnyx/models/enterprises/dir_create_params.rbs +5 -7
  127. data/sig/telnyx/models/public_internet_gateway.rbs +32 -3
  128. data/sig/telnyx/models/storage/kv_create_params.rbs +25 -0
  129. data/sig/telnyx/models/storage/kv_delete_params.rbs +22 -0
  130. data/sig/telnyx/models/storage/kv_list_params.rbs +34 -0
  131. data/sig/telnyx/models/storage/kv_namespace.rbs +80 -0
  132. data/sig/telnyx/models/storage/kv_namespace_response_wrapper.rbs +20 -0
  133. data/sig/telnyx/models/storage/kv_retrieve_params.rbs +22 -0
  134. data/sig/telnyx/models/storage/kvs/key_delete_params.rbs +32 -0
  135. data/sig/telnyx/models/storage/kvs/key_list_params.rbs +46 -0
  136. data/sig/telnyx/models/storage/kvs/key_list_response.rbs +88 -0
  137. data/sig/telnyx/models/{enterprises/reputation/loa_patch_all_params.rbs → storage/kvs/key_retrieve_params.rbs} +11 -11
  138. data/sig/telnyx/models/storage/kvs/key_update_params.rbs +47 -0
  139. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +15 -63
  140. data/sig/telnyx/models/virtual_cross_connect_create.rbs +138 -7
  141. data/sig/telnyx/models/whatsapp/phone_number_retrieve_conversation_window_params.rbs +30 -0
  142. data/sig/telnyx/models/whatsapp/phone_number_retrieve_conversation_window_response.rbs +66 -0
  143. data/sig/telnyx/models/wireguard_interface.rbs +34 -3
  144. data/sig/telnyx/models.rbs +0 -1
  145. data/sig/telnyx/resources/ai.rbs +2 -3
  146. data/sig/telnyx/resources/dir/references.rbs +35 -0
  147. data/sig/telnyx/resources/dir/verify_email.rbs +25 -0
  148. data/sig/telnyx/resources/dir.rbs +4 -0
  149. data/sig/telnyx/resources/enterprises/dir.rbs +1 -1
  150. data/sig/telnyx/resources/storage/kvs/keys.rbs +39 -0
  151. data/sig/telnyx/resources/storage/kvs.rbs +32 -0
  152. data/sig/telnyx/resources/storage.rbs +2 -0
  153. data/sig/telnyx/resources/whatsapp/phone_numbers.rbs +6 -0
  154. metadata +86 -38
  155. data/lib/telnyx/models/dir/phone_number_create_params.rb +0 -47
  156. data/lib/telnyx/models/dir/phone_number_create_response.rb +0 -32
  157. data/lib/telnyx/models/dir/phone_number_delete_all_response.rb +0 -103
  158. data/lib/telnyx/models/dir_loa_params.rb +0 -79
  159. data/lib/telnyx/models/dir_retrieve_document_types_params.rb +0 -14
  160. data/lib/telnyx/models/dir_retrieve_document_types_response.rb +0 -51
  161. data/lib/telnyx/models/dir_retrieve_infringement_claims_params.rb +0 -40
  162. data/lib/telnyx/models/dir_retrieve_infringement_claims_response.rb +0 -30
  163. data/lib/telnyx/models/dir_update_infringement_update_params.rb +0 -134
  164. data/lib/telnyx/models/enterprises/reputation/loa_create_params.rb +0 -146
  165. data/lib/telnyx/models/enterprises/reputation/loa_patch_all_params.rb +0 -38
  166. data/rbi/telnyx/models/dir/phone_number_create_params.rbi +0 -72
  167. data/rbi/telnyx/models/dir/phone_number_create_response.rbi +0 -48
  168. data/rbi/telnyx/models/dir/phone_number_delete_all_response.rbi +0 -206
  169. data/rbi/telnyx/models/dir_loa_params.rbi +0 -120
  170. data/rbi/telnyx/models/dir_retrieve_document_types_params.rbi +0 -30
  171. data/rbi/telnyx/models/dir_retrieve_document_types_response.rbi +0 -103
  172. data/rbi/telnyx/models/dir_retrieve_infringement_claims_params.rbi +0 -66
  173. data/rbi/telnyx/models/dir_retrieve_infringement_claims_response.rbi +0 -55
  174. data/rbi/telnyx/models/dir_update_infringement_update_params.rbi +0 -256
  175. data/rbi/telnyx/models/enterprises/reputation/loa_create_params.rbi +0 -238
  176. data/rbi/telnyx/models/enterprises/reputation/loa_patch_all_params.rbi +0 -60
  177. data/sig/telnyx/models/dir/phone_number_create_params.rbs +0 -38
  178. data/sig/telnyx/models/dir/phone_number_create_response.rbs +0 -16
  179. data/sig/telnyx/models/dir/phone_number_delete_all_response.rbs +0 -86
  180. data/sig/telnyx/models/dir_loa_params.rbs +0 -61
  181. data/sig/telnyx/models/dir_retrieve_document_types_params.rbs +0 -15
  182. data/sig/telnyx/models/dir_retrieve_document_types_response.rbs +0 -41
  183. data/sig/telnyx/models/dir_retrieve_infringement_claims_params.rbs +0 -36
  184. data/sig/telnyx/models/dir_retrieve_infringement_claims_response.rbs +0 -25
  185. data/sig/telnyx/models/dir_update_infringement_update_params.rbs +0 -111
  186. data/sig/telnyx/models/enterprises/reputation/loa_create_params.rbs +0 -135
@@ -18,6 +18,17 @@ module Telnyx
18
18
  # @return [Telnyx::Resources::Dir::PhoneNumbers]
19
19
  attr_reader :phone_numbers
20
20
 
21
+ # Submit and manage the two business references and one financial reference that
22
+ # vouch for a DIR. References are contacted to confirm the business identity
23
+ # during vetting.
24
+ # @return [Telnyx::Resources::Dir::References]
25
+ attr_reader :references
26
+
27
+ # Verify ownership of a DIR's authorizer email. A short code is emailed and
28
+ # confirmed; the email must be verified before references can be submitted.
29
+ # @return [Telnyx::Resources::Dir::VerifyEmail]
30
+ attr_reader :verify_email
31
+
21
32
  # Returns a single DIR by id. The enterprise is resolved server-side from the DIR
22
33
  # id. Returns `404` if the DIR does not exist or is not yours.
23
34
  #
@@ -298,6 +309,9 @@ module Telnyx
298
309
  )
299
310
  end
300
311
 
312
+ # Some parameter documentations has been truncated, see
313
+ # {Telnyx::Models::DirUpdateInfringementParams} for more details.
314
+ #
301
315
  # Push a fix for a DIR that is `suspended` with an open infringement claim back
302
316
  # into vetting. `POST /dir/{dir_id}/submit` is blocked while a claim is open, so
303
317
  # this is the customer-callable path to update the DIR's content and re-certify
@@ -323,7 +337,7 @@ module Telnyx
323
337
  #
324
338
  # @param display_name [String, nil]
325
339
  #
326
- # @param documents [Array<Telnyx::Models::Document>, nil] Append-only supporting documents.
340
+ # @param documents [Array<Telnyx::Models::Document>, nil] Append-only supporting documents to attach while resolving the claim (e.g. autho
327
341
  #
328
342
  # @param logo_url [String, nil] Publicly accessible HTTPS URL (max 128 chars) to a 256x256 BMP logo (max 1 MB).
329
343
  #
@@ -351,6 +365,8 @@ module Telnyx
351
365
  @comments = Telnyx::Resources::Dir::Comments.new(client: client)
352
366
  @phone_number_batches = Telnyx::Resources::Dir::PhoneNumberBatches.new(client: client)
353
367
  @phone_numbers = Telnyx::Resources::Dir::PhoneNumbers.new(client: client)
368
+ @references = Telnyx::Resources::Dir::References.new(client: client)
369
+ @verify_email = Telnyx::Resources::Dir::VerifyEmail.new(client: client)
354
370
  end
355
371
  end
356
372
  end
@@ -120,7 +120,7 @@ module Telnyx
120
120
  @client.request(
121
121
  method: :get,
122
122
  path: ["documents/%1$s/download", id],
123
- headers: {"accept" => "*"},
123
+ headers: {"accept" => "application/octet-stream"},
124
124
  model: StringIO,
125
125
  options: params[:request_options]
126
126
  )
@@ -35,7 +35,7 @@ module Telnyx
35
35
  # `POST /enterprises/{id}/branded_calling`).
36
36
  # - `404` - enterprise does not exist or does not belong to your account.
37
37
  #
38
- # @overload create(enterprise_id, authorizer_email:, authorizer_name:, certify_brand_is_accurate:, certify_ip_ownership:, certify_no_shaft_content:, display_name:, call_reasons: nil, documents: nil, logo_url: nil, reselling: nil, request_options: {})
38
+ # @overload create(enterprise_id, authorizer_email:, authorizer_name:, call_reasons:, certify_brand_is_accurate:, certify_ip_ownership:, certify_no_shaft_content:, display_name:, documents: nil, logo_url: nil, reselling: nil, request_options: {})
39
39
  #
40
40
  # @param enterprise_id [String] The enterprise id. Lowercase UUID.
41
41
  #
@@ -43,6 +43,8 @@ module Telnyx
43
43
  #
44
44
  # @param authorizer_name [String] Name of the person at your enterprise who is authorizing this DIR registration.
45
45
  #
46
+ # @param call_reasons [Array<String>] 1–10 reasons your business calls customers. Validate phrasing against `POST /cal
47
+ #
46
48
  # @param certify_brand_is_accurate [Boolean, Telnyx::Models::Enterprises::DirCreateParams::CertifyBrandIsAccurate] Must be `true`.
47
49
  #
48
50
  # @param certify_ip_ownership [Boolean, Telnyx::Models::Enterprises::DirCreateParams::CertifyIPOwnership] Must be `true`. Confirms ownership of any logos/trademarks shown.
@@ -51,8 +53,6 @@ module Telnyx
51
53
  #
52
54
  # @param display_name [String] Name shown to call recipients. No emoji; not whitespace-only.
53
55
  #
54
- # @param call_reasons [Array<String>] 1–10 reasons your business calls customers. Validate phrasing against `POST /cal
55
- #
56
56
  # @param documents [Array<Telnyx::Models::Document>] Supporting documents. Each `document_id` may appear at most once on a DIR.
57
57
  #
58
58
  # @param logo_url [String] Publicly accessible HTTPS URL (max 128 chars) to a 256x256 BMP logo (max 1 MB).
@@ -0,0 +1,154 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Storage
6
+ class Kvs
7
+ # Read and write keys within a KV namespace
8
+ class Keys
9
+ # Some parameter documentations has been truncated, see
10
+ # {Telnyx::Models::Storage::Kvs::KeyRetrieveParams} for more details.
11
+ #
12
+ # Returns the raw stored value for a key. The response body is the value exactly
13
+ # as it was written; the `Content-Type` header echoes the value's stored content
14
+ # type (defaults to `application/octet-stream`).
15
+ #
16
+ # @overload retrieve(key, id:, request_options: {})
17
+ #
18
+ # @param key [String] Key name. Allowed characters: `a-z A-Z 0-9 - _ / = .`; maximum 256 characters; n
19
+ #
20
+ # @param id [String] KV namespace ID
21
+ #
22
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
23
+ #
24
+ # @return [StringIO]
25
+ #
26
+ # @see Telnyx::Models::Storage::Kvs::KeyRetrieveParams
27
+ def retrieve(key, params)
28
+ parsed, options = Telnyx::Storage::Kvs::KeyRetrieveParams.dump_request(params)
29
+ id =
30
+ parsed.delete(:id) do
31
+ raise ArgumentError.new("missing required path argument #{_1}")
32
+ end
33
+ @client.request(
34
+ method: :get,
35
+ path: ["storage/kvs/%1$s/keys/%2$s", id, key],
36
+ headers: {"accept" => "*/*"},
37
+ model: StringIO,
38
+ options: options
39
+ )
40
+ end
41
+
42
+ # Some parameter documentations has been truncated, see
43
+ # {Telnyx::Models::Storage::Kvs::KeyUpdateParams} for more details.
44
+ #
45
+ # Creates or replaces the value for a key. The request body is stored verbatim as
46
+ # the value — no base64, no JSON envelope — up to 1 MiB. The request's
47
+ # `Content-Type` header is stored with the value and echoed back on retrieval.
48
+ # Returns `201` when the key is created and `200` when an existing key is updated.
49
+ #
50
+ # @overload update(key, id:, body:, ttl_secs: nil, request_options: {})
51
+ #
52
+ # @param key [String] Path param: Key name. Allowed characters: `a-z A-Z 0-9 - _ / = .`; maximum 256 c
53
+ #
54
+ # @param id [String] Path param: KV namespace ID
55
+ #
56
+ # @param body [Pathname, StringIO, IO, String, Telnyx::FilePart] Body param: Raw value bytes, stored verbatim.
57
+ #
58
+ # @param ttl_secs [Integer] Query param: Time-to-live in seconds. When set, the key expires and is deleted a
59
+ #
60
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
61
+ #
62
+ # @return [nil]
63
+ #
64
+ # @see Telnyx::Models::Storage::Kvs::KeyUpdateParams
65
+ def update(key, params)
66
+ parsed, options = Telnyx::Storage::Kvs::KeyUpdateParams.dump_request(params)
67
+ query = Telnyx::Internal::Util.encode_query_params(parsed.except(:body))
68
+ id =
69
+ parsed.delete(:id) do
70
+ raise ArgumentError.new("missing required path argument #{_1}")
71
+ end
72
+ @client.request(
73
+ method: :put,
74
+ path: ["storage/kvs/%1$s/keys/%2$s", id, key],
75
+ query: query,
76
+ headers: {"content-type" => "*/*"},
77
+ body: parsed[:body],
78
+ model: NilClass,
79
+ options: options
80
+ )
81
+ end
82
+
83
+ # Lists the keys in a namespace. Returns key names and metadata only, never
84
+ # values. Results are paginated with `limit` and an opaque `cursor`.
85
+ #
86
+ # @overload list(id, cursor: nil, limit: nil, prefix: nil, request_options: {})
87
+ #
88
+ # @param id [String] KV namespace ID
89
+ #
90
+ # @param cursor [String] Opaque pagination cursor from a previous response's `meta.cursor`.
91
+ #
92
+ # @param limit [Integer] Maximum number of keys to return. Values above 1000 are treated as 1000.
93
+ #
94
+ # @param prefix [String] Return only keys that start with this prefix.
95
+ #
96
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
97
+ #
98
+ # @return [Telnyx::Models::Storage::Kvs::KeyListResponse]
99
+ #
100
+ # @see Telnyx::Models::Storage::Kvs::KeyListParams
101
+ def list(id, params = {})
102
+ parsed, options = Telnyx::Storage::Kvs::KeyListParams.dump_request(params)
103
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
104
+ @client.request(
105
+ method: :get,
106
+ path: ["storage/kvs/%1$s/keys", id],
107
+ query: query,
108
+ model: Telnyx::Models::Storage::Kvs::KeyListResponse,
109
+ options: options
110
+ )
111
+ end
112
+
113
+ # Some parameter documentations has been truncated, see
114
+ # {Telnyx::Models::Storage::Kvs::KeyDeleteParams} for more details.
115
+ #
116
+ # Deletes a key. Idempotent: deleting a key that does not exist still succeeds.
117
+ # The namespace itself must exist and be provisioned.
118
+ #
119
+ # @overload delete(key, id:, request_options: {})
120
+ #
121
+ # @param key [String] Key name. Allowed characters: `a-z A-Z 0-9 - _ / = .`; maximum 256 characters; n
122
+ #
123
+ # @param id [String] KV namespace ID
124
+ #
125
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
126
+ #
127
+ # @return [nil]
128
+ #
129
+ # @see Telnyx::Models::Storage::Kvs::KeyDeleteParams
130
+ def delete(key, params)
131
+ parsed, options = Telnyx::Storage::Kvs::KeyDeleteParams.dump_request(params)
132
+ id =
133
+ parsed.delete(:id) do
134
+ raise ArgumentError.new("missing required path argument #{_1}")
135
+ end
136
+ @client.request(
137
+ method: :delete,
138
+ path: ["storage/kvs/%1$s/keys/%2$s", id, key],
139
+ model: NilClass,
140
+ options: options
141
+ )
142
+ end
143
+
144
+ # @api private
145
+ #
146
+ # @param client [Telnyx::Client]
147
+ def initialize(client:)
148
+ @client = client
149
+ end
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Telnyx
4
+ module Resources
5
+ class Storage
6
+ # Manage KV storage namespaces
7
+ class Kvs
8
+ # Read and write keys within a KV namespace
9
+ # @return [Telnyx::Resources::Storage::Kvs::Keys]
10
+ attr_reader :keys
11
+
12
+ # Creates a new KV namespace. Provisioning is asynchronous: the namespace is
13
+ # returned with status `pending` and becomes usable once it reaches
14
+ # `provision_ok`.
15
+ #
16
+ # @overload create(name:, request_options: {})
17
+ #
18
+ # @param name [String] Namespace name. May contain lowercase letters, numbers, and hyphens only.
19
+ #
20
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
21
+ #
22
+ # @return [Telnyx::Models::Storage::KvNamespaceResponseWrapper]
23
+ #
24
+ # @see Telnyx::Models::Storage::KvCreateParams
25
+ def create(params)
26
+ parsed, options = Telnyx::Storage::KvCreateParams.dump_request(params)
27
+ @client.request(
28
+ method: :post,
29
+ path: "storage/kvs",
30
+ body: parsed,
31
+ model: Telnyx::Storage::KvNamespaceResponseWrapper,
32
+ options: options
33
+ )
34
+ end
35
+
36
+ # Retrieves a KV namespace by its ID, including its provisioning status.
37
+ #
38
+ # @overload retrieve(id, request_options: {})
39
+ #
40
+ # @param id [String] KV namespace ID
41
+ #
42
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [Telnyx::Models::Storage::KvNamespaceResponseWrapper]
45
+ #
46
+ # @see Telnyx::Models::Storage::KvRetrieveParams
47
+ def retrieve(id, params = {})
48
+ @client.request(
49
+ method: :get,
50
+ path: ["storage/kvs/%1$s", id],
51
+ model: Telnyx::Storage::KvNamespaceResponseWrapper,
52
+ options: params[:request_options]
53
+ )
54
+ end
55
+
56
+ # Lists the KV namespaces for the authenticated user's organization. Results use
57
+ # page-based pagination (`page[number]`/`page[size]`).
58
+ #
59
+ # @overload list(page_number: nil, page_size: nil, request_options: {})
60
+ #
61
+ # @param page_number [Integer] The page number to load.
62
+ #
63
+ # @param page_size [Integer] The size of the page. Values above 250 are treated as 250.
64
+ #
65
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
66
+ #
67
+ # @return [Telnyx::Internal::DefaultFlatPagination<Telnyx::Models::Storage::KvNamespace>]
68
+ #
69
+ # @see Telnyx::Models::Storage::KvListParams
70
+ def list(params = {})
71
+ parsed, options = Telnyx::Storage::KvListParams.dump_request(params)
72
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
73
+ @client.request(
74
+ method: :get,
75
+ path: "storage/kvs",
76
+ query: query.transform_keys(page_number: "page[number]", page_size: "page[size]"),
77
+ page: Telnyx::Internal::DefaultFlatPagination,
78
+ model: Telnyx::Storage::KvNamespace,
79
+ options: options
80
+ )
81
+ end
82
+
83
+ # Deletes a KV namespace and all of the keys it contains. Deletion is
84
+ # asynchronous: the namespace is returned with status `deleting`. Deleting a
85
+ # namespace whose deletion is already in progress returns a `409`.
86
+ #
87
+ # @overload delete(id, request_options: {})
88
+ #
89
+ # @param id [String] KV namespace ID
90
+ #
91
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
92
+ #
93
+ # @return [Telnyx::Models::Storage::KvNamespaceResponseWrapper]
94
+ #
95
+ # @see Telnyx::Models::Storage::KvDeleteParams
96
+ def delete(id, params = {})
97
+ @client.request(
98
+ method: :delete,
99
+ path: ["storage/kvs/%1$s", id],
100
+ model: Telnyx::Storage::KvNamespaceResponseWrapper,
101
+ options: params[:request_options]
102
+ )
103
+ end
104
+
105
+ # @api private
106
+ #
107
+ # @param client [Telnyx::Client]
108
+ def initialize(client:)
109
+ @client = client
110
+ @keys = Telnyx::Resources::Storage::Kvs::Keys.new(client: client)
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -16,6 +16,10 @@ module Telnyx
16
16
  # @return [Telnyx::Resources::Storage::Migrations]
17
17
  attr_reader :migrations
18
18
 
19
+ # Manage KV storage namespaces
20
+ # @return [Telnyx::Resources::Storage::Kvs]
21
+ attr_reader :kvs
22
+
19
23
  # List Migration Source coverage
20
24
  #
21
25
  # @overload list_migration_source_coverage(request_options: {})
@@ -42,6 +46,7 @@ module Telnyx
42
46
  @buckets = Telnyx::Resources::Storage::Buckets.new(client: client)
43
47
  @migration_sources = Telnyx::Resources::Storage::MigrationSources.new(client: client)
44
48
  @migrations = Telnyx::Resources::Storage::Migrations.new(client: client)
49
+ @kvs = Telnyx::Resources::Storage::Kvs.new(client: client)
45
50
  end
46
51
  end
47
52
  end
@@ -81,6 +81,33 @@ module Telnyx
81
81
  )
82
82
  end
83
83
 
84
+ # Returns whether the 24-hour conversation window is currently open for a given
85
+ # source/destination pair. If window_active is false, only template messages may
86
+ # be sent.
87
+ #
88
+ # @overload retrieve_conversation_window(phone_number, destination_number:, request_options: {})
89
+ #
90
+ # @param phone_number [String] Phone number (E.164 format)
91
+ #
92
+ # @param destination_number [String] Destination phone number in E.164 format
93
+ #
94
+ # @param request_options [Telnyx::RequestOptions, Hash{Symbol=>Object}, nil]
95
+ #
96
+ # @return [Telnyx::Models::Whatsapp::PhoneNumberRetrieveConversationWindowResponse]
97
+ #
98
+ # @see Telnyx::Models::Whatsapp::PhoneNumberRetrieveConversationWindowParams
99
+ def retrieve_conversation_window(phone_number, params)
100
+ parsed, options = Telnyx::Whatsapp::PhoneNumberRetrieveConversationWindowParams.dump_request(params)
101
+ query = Telnyx::Internal::Util.encode_query_params(parsed)
102
+ @client.request(
103
+ method: :get,
104
+ path: ["v2/whatsapp/phone_numbers/%1$s/conversation_window", phone_number],
105
+ query: query,
106
+ model: Telnyx::Models::Whatsapp::PhoneNumberRetrieveConversationWindowResponse,
107
+ options: options
108
+ )
109
+ end
110
+
84
111
  # Submit verification code for a phone number
85
112
  #
86
113
  # @overload verify(phone_number, code:, request_options: {})
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Telnyx
4
- VERSION = "5.150.0"
4
+ VERSION = "5.152.0"
5
5
  end
data/lib/telnyx.rb CHANGED
@@ -688,6 +688,7 @@ require_relative "telnyx/models/calls/transcription_engine_azure_config"
688
688
  require_relative "telnyx/models/calls/transcription_engine_b_config"
689
689
  require_relative "telnyx/models/calls/transcription_engine_deepgram_config"
690
690
  require_relative "telnyx/models/calls/transcription_engine_google_config"
691
+ require_relative "telnyx/models/calls/transcription_engine_parakeet_config"
691
692
  require_relative "telnyx/models/calls/transcription_engine_soniox_config"
692
693
  require_relative "telnyx/models/calls/transcription_engine_speechmatics_config"
693
694
  require_relative "telnyx/models/calls/transcription_engine_telnyx_config"
@@ -870,6 +871,7 @@ require_relative "telnyx/models/dir/comment_type"
870
871
  require_relative "telnyx/models/dir/dir_comment"
871
872
  require_relative "telnyx/models/dir/dir_phone_number"
872
873
  require_relative "telnyx/models/dir/dir_phone_number_status"
874
+ require_relative "telnyx/models/dir/email_verification_status_wrapped"
873
875
  require_relative "telnyx/models/dir/phone_number_add_params"
874
876
  require_relative "telnyx/models/dir/phone_number_add_response"
875
877
  require_relative "telnyx/models/dir/phone_number_batch"
@@ -879,7 +881,17 @@ require_relative "telnyx/models/dir/phone_number_batch_retrieve_response"
879
881
  require_relative "telnyx/models/dir/phone_number_list_params"
880
882
  require_relative "telnyx/models/dir/phone_number_remove_params"
881
883
  require_relative "telnyx/models/dir/phone_number_remove_response"
884
+ require_relative "telnyx/models/dir/reference"
885
+ require_relative "telnyx/models/dir/reference_create_params"
886
+ require_relative "telnyx/models/dir/reference_input"
887
+ require_relative "telnyx/models/dir/reference_list"
888
+ require_relative "telnyx/models/dir/reference_list_params"
889
+ require_relative "telnyx/models/dir/reference_update_params"
890
+ require_relative "telnyx/models/dir/reference_update_response"
882
891
  require_relative "telnyx/models/dir/rejection_reason"
892
+ require_relative "telnyx/models/dir/verify_email_confirm_params"
893
+ require_relative "telnyx/models/dir/verify_email_create_params"
894
+ require_relative "telnyx/models/dir/verify_email_list_params"
883
895
  require_relative "telnyx/models/dir"
884
896
  require_relative "telnyx/models/dir_delete_params"
885
897
  require_relative "telnyx/models/dir_list"
@@ -2146,6 +2158,17 @@ require_relative "telnyx/models/storage/buckets/usage_get_api_usage_params"
2146
2158
  require_relative "telnyx/models/storage/buckets/usage_get_api_usage_response"
2147
2159
  require_relative "telnyx/models/storage/buckets/usage_get_bucket_usage_params"
2148
2160
  require_relative "telnyx/models/storage/buckets/usage_get_bucket_usage_response"
2161
+ require_relative "telnyx/models/storage/kv_create_params"
2162
+ require_relative "telnyx/models/storage/kv_delete_params"
2163
+ require_relative "telnyx/models/storage/kv_list_params"
2164
+ require_relative "telnyx/models/storage/kv_namespace"
2165
+ require_relative "telnyx/models/storage/kv_namespace_response_wrapper"
2166
+ require_relative "telnyx/models/storage/kv_retrieve_params"
2167
+ require_relative "telnyx/models/storage/kvs/key_delete_params"
2168
+ require_relative "telnyx/models/storage/kvs/key_list_params"
2169
+ require_relative "telnyx/models/storage/kvs/key_list_response"
2170
+ require_relative "telnyx/models/storage/kvs/key_retrieve_params"
2171
+ require_relative "telnyx/models/storage/kvs/key_update_params"
2149
2172
  require_relative "telnyx/models/storage/migration_create_params"
2150
2173
  require_relative "telnyx/models/storage/migration_create_response"
2151
2174
  require_relative "telnyx/models/storage/migration_list_params"
@@ -2441,6 +2464,8 @@ require_relative "telnyx/models/whatsapp/phone_number_delete_params"
2441
2464
  require_relative "telnyx/models/whatsapp/phone_number_list_params"
2442
2465
  require_relative "telnyx/models/whatsapp/phone_number_list_response"
2443
2466
  require_relative "telnyx/models/whatsapp/phone_number_resend_verification_params"
2467
+ require_relative "telnyx/models/whatsapp/phone_number_retrieve_conversation_window_params"
2468
+ require_relative "telnyx/models/whatsapp/phone_number_retrieve_conversation_window_response"
2444
2469
  require_relative "telnyx/models/whatsapp/phone_numbers/calling_setting_retrieve_params"
2445
2470
  require_relative "telnyx/models/whatsapp/phone_numbers/calling_setting_retrieve_response"
2446
2471
  require_relative "telnyx/models/whatsapp/phone_numbers/calling_setting_update_params"
@@ -2613,6 +2638,8 @@ require_relative "telnyx/resources/dir"
2613
2638
  require_relative "telnyx/resources/dir/comments"
2614
2639
  require_relative "telnyx/resources/dir/phone_number_batches"
2615
2640
  require_relative "telnyx/resources/dir/phone_numbers"
2641
+ require_relative "telnyx/resources/dir/references"
2642
+ require_relative "telnyx/resources/dir/verify_email"
2616
2643
  require_relative "telnyx/resources/document_links"
2617
2644
  require_relative "telnyx/resources/documents"
2618
2645
  require_relative "telnyx/resources/dynamic_emergency_addresses"
@@ -2804,6 +2831,8 @@ require_relative "telnyx/resources/storage"
2804
2831
  require_relative "telnyx/resources/storage/buckets"
2805
2832
  require_relative "telnyx/resources/storage/buckets/ssl_certificate"
2806
2833
  require_relative "telnyx/resources/storage/buckets/usage"
2834
+ require_relative "telnyx/resources/storage/kvs"
2835
+ require_relative "telnyx/resources/storage/kvs/keys"
2807
2836
  require_relative "telnyx/resources/storage/migrations"
2808
2837
  require_relative "telnyx/resources/storage/migrations/actions"
2809
2838
  require_relative "telnyx/resources/storage/migration_sources"
@@ -2871,6 +2900,4 @@ require_relative "telnyx/resources/wireless_blocklist_values"
2871
2900
  require_relative "telnyx/resources/x402"
2872
2901
  require_relative "telnyx/resources/x402/credit_account"
2873
2902
 
2874
- # Custom lib entry point — preserved across codegen.
2875
- # If this line is lost after a Stainless codegen run, it must be re-added.
2876
2903
  require_relative "telnyx/lib"