surge_api 0.16.0 → 0.18.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 (162) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +56 -21
  4. data/lib/surge_api/client.rb +22 -1
  5. data/lib/surge_api/internal/cursor.rb +2 -2
  6. data/lib/surge_api/internal/transport/base_client.rb +5 -0
  7. data/lib/surge_api/internal/util.rb +22 -7
  8. data/lib/surge_api/models/account_archive_params.rb +9 -1
  9. data/lib/surge_api/models/account_list_params.rb +34 -0
  10. data/lib/surge_api/models/account_retrieve_status_params.rb +9 -1
  11. data/lib/surge_api/models/account_update_params.rb +9 -1
  12. data/lib/surge_api/models/attachment_get_file_params.rb +9 -1
  13. data/lib/surge_api/models/audience_add_contact_params.rb +9 -1
  14. data/lib/surge_api/models/audience_create_params.rb +9 -1
  15. data/lib/surge_api/models/audience_list_contacts_params.rb +9 -1
  16. data/lib/surge_api/models/blast_create_params.rb +9 -1
  17. data/lib/surge_api/models/campaign_create_params.rb +6 -10
  18. data/lib/surge_api/models/campaign_list_params.rb +9 -1
  19. data/lib/surge_api/models/campaign_retrieve_params.rb +9 -1
  20. data/lib/surge_api/models/campaign_update_params.rb +6 -10
  21. data/lib/surge_api/models/contact_create_params.rb +9 -1
  22. data/lib/surge_api/models/contact_list_params.rb +9 -1
  23. data/lib/surge_api/models/contact_retrieve_params.rb +9 -1
  24. data/lib/surge_api/models/contact_update_params.rb +9 -1
  25. data/lib/surge_api/models/message.rb +1 -0
  26. data/lib/surge_api/models/message_create_params.rb +6 -11
  27. data/lib/surge_api/models/message_delivered_webhook_event.rb +1 -0
  28. data/lib/surge_api/models/message_failed_webhook_event.rb +1 -0
  29. data/lib/surge_api/models/message_list_params.rb +9 -1
  30. data/lib/surge_api/models/message_params.rb +74 -2
  31. data/lib/surge_api/models/message_received_webhook_event.rb +1 -0
  32. data/lib/surge_api/models/message_retrieve_params.rb +9 -1
  33. data/lib/surge_api/models/message_sent_webhook_event.rb +1 -0
  34. data/lib/surge_api/models/phone_number.rb +1 -1
  35. data/lib/surge_api/models/phone_number_list_params.rb +9 -1
  36. data/lib/surge_api/models/phone_number_purchase_params.rb +9 -1
  37. data/lib/surge_api/models/phone_number_release_params.rb +22 -0
  38. data/lib/surge_api/models/phone_number_update_params.rb +38 -0
  39. data/lib/surge_api/models/recording_delete_params.rb +9 -1
  40. data/lib/surge_api/models/recording_get_file_params.rb +9 -1
  41. data/lib/surge_api/models/recording_list_params.rb +9 -1
  42. data/lib/surge_api/models/recording_retrieve_params.rb +9 -1
  43. data/lib/surge_api/models/user_create_params.rb +9 -1
  44. data/lib/surge_api/models/user_create_token_params.rb +9 -1
  45. data/lib/surge_api/models/user_delete_params.rb +9 -1
  46. data/lib/surge_api/models/user_list_params.rb +9 -1
  47. data/lib/surge_api/models/user_retrieve_params.rb +9 -1
  48. data/lib/surge_api/models/user_update_params.rb +9 -1
  49. data/lib/surge_api/models/verification_check_params.rb +9 -1
  50. data/lib/surge_api/models/verification_create_params.rb +9 -1
  51. data/lib/surge_api/models.rb +6 -0
  52. data/lib/surge_api/resources/accounts.rb +29 -0
  53. data/lib/surge_api/resources/campaigns.rb +4 -14
  54. data/lib/surge_api/resources/messages.rb +6 -7
  55. data/lib/surge_api/resources/phone_numbers.rb +46 -0
  56. data/lib/surge_api/resources/verifications.rb +7 -4
  57. data/lib/surge_api/resources/webhooks.rb +11 -1
  58. data/lib/surge_api/version.rb +1 -1
  59. data/lib/surge_api.rb +4 -0
  60. data/rbi/surge_api/client.rbi +6 -0
  61. data/rbi/surge_api/internal/util.rbi +8 -0
  62. data/rbi/surge_api/models/account_archive_params.rbi +18 -5
  63. data/rbi/surge_api/models/account_list_params.rbi +59 -0
  64. data/rbi/surge_api/models/account_retrieve_status_params.rbi +8 -0
  65. data/rbi/surge_api/models/account_update_params.rbi +8 -0
  66. data/rbi/surge_api/models/attachment_get_file_params.rbi +18 -5
  67. data/rbi/surge_api/models/audience_add_contact_params.rbi +12 -1
  68. data/rbi/surge_api/models/audience_create_params.rbi +12 -1
  69. data/rbi/surge_api/models/audience_list_contacts_params.rbi +8 -0
  70. data/rbi/surge_api/models/blast_create_params.rbi +8 -0
  71. data/rbi/surge_api/models/campaign_create_params.rbi +7 -27
  72. data/rbi/surge_api/models/campaign_list_params.rbi +8 -0
  73. data/rbi/surge_api/models/campaign_retrieve_params.rbi +18 -5
  74. data/rbi/surge_api/models/campaign_update_params.rbi +7 -27
  75. data/rbi/surge_api/models/contact_create_params.rbi +8 -0
  76. data/rbi/surge_api/models/contact_list_params.rbi +8 -0
  77. data/rbi/surge_api/models/contact_retrieve_params.rbi +18 -5
  78. data/rbi/surge_api/models/contact_update_params.rbi +8 -0
  79. data/rbi/surge_api/models/message.rbi +2 -0
  80. data/rbi/surge_api/models/message_create_params.rbi +7 -29
  81. data/rbi/surge_api/models/message_delivered_webhook_event.rbi +5 -0
  82. data/rbi/surge_api/models/message_failed_webhook_event.rbi +5 -0
  83. data/rbi/surge_api/models/message_list_params.rbi +8 -0
  84. data/rbi/surge_api/models/message_params.rbi +225 -6
  85. data/rbi/surge_api/models/message_received_webhook_event.rbi +5 -0
  86. data/rbi/surge_api/models/message_retrieve_params.rbi +18 -5
  87. data/rbi/surge_api/models/message_sent_webhook_event.rbi +5 -0
  88. data/rbi/surge_api/models/phone_number_list_params.rbi +8 -0
  89. data/rbi/surge_api/models/phone_number_purchase_params.rbi +8 -0
  90. data/rbi/surge_api/models/phone_number_release_params.rbi +40 -0
  91. data/rbi/surge_api/models/phone_number_update_params.rbi +65 -0
  92. data/rbi/surge_api/models/recording_delete_params.rbi +18 -5
  93. data/rbi/surge_api/models/recording_get_file_params.rbi +18 -5
  94. data/rbi/surge_api/models/recording_list_params.rbi +8 -0
  95. data/rbi/surge_api/models/recording_retrieve_params.rbi +18 -5
  96. data/rbi/surge_api/models/user_create_params.rbi +8 -0
  97. data/rbi/surge_api/models/user_create_token_params.rbi +8 -0
  98. data/rbi/surge_api/models/user_delete_params.rbi +18 -5
  99. data/rbi/surge_api/models/user_list_params.rbi +8 -0
  100. data/rbi/surge_api/models/user_retrieve_params.rbi +18 -5
  101. data/rbi/surge_api/models/user_update_params.rbi +8 -0
  102. data/rbi/surge_api/models/verification_check_params.rbi +12 -1
  103. data/rbi/surge_api/models/verification_create_params.rbi +12 -1
  104. data/rbi/surge_api/models.rbi +6 -0
  105. data/rbi/surge_api/resources/accounts.rbi +18 -0
  106. data/rbi/surge_api/resources/campaigns.rbi +10 -2
  107. data/rbi/surge_api/resources/messages.rbi +9 -1
  108. data/rbi/surge_api/resources/phone_numbers.rbi +34 -0
  109. data/rbi/surge_api/resources/verifications.rbi +5 -1
  110. data/rbi/surge_api/resources/webhooks.rbi +10 -2
  111. data/sig/surge_api/client.rbs +3 -0
  112. data/sig/surge_api/internal/util.rbs +4 -0
  113. data/sig/surge_api/models/account_archive_params.rbs +8 -3
  114. data/sig/surge_api/models/account_list_params.rbs +32 -0
  115. data/sig/surge_api/models/account_retrieve_status_params.rbs +5 -0
  116. data/sig/surge_api/models/account_update_params.rbs +5 -0
  117. data/sig/surge_api/models/attachment_get_file_params.rbs +11 -3
  118. data/sig/surge_api/models/audience_add_contact_params.rbs +10 -2
  119. data/sig/surge_api/models/audience_create_params.rbs +6 -1
  120. data/sig/surge_api/models/audience_list_contacts_params.rbs +5 -1
  121. data/sig/surge_api/models/blast_create_params.rbs +5 -0
  122. data/sig/surge_api/models/campaign_create_params.rbs +4 -9
  123. data/sig/surge_api/models/campaign_list_params.rbs +5 -1
  124. data/sig/surge_api/models/campaign_retrieve_params.rbs +8 -3
  125. data/sig/surge_api/models/campaign_update_params.rbs +4 -12
  126. data/sig/surge_api/models/contact_create_params.rbs +5 -0
  127. data/sig/surge_api/models/contact_list_params.rbs +5 -1
  128. data/sig/surge_api/models/contact_retrieve_params.rbs +8 -3
  129. data/sig/surge_api/models/contact_update_params.rbs +5 -0
  130. data/sig/surge_api/models/message.rbs +2 -1
  131. data/sig/surge_api/models/message_create_params.rbs +4 -9
  132. data/sig/surge_api/models/message_delivered_webhook_event.rbs +2 -1
  133. data/sig/surge_api/models/message_failed_webhook_event.rbs +2 -1
  134. data/sig/surge_api/models/message_list_params.rbs +5 -1
  135. data/sig/surge_api/models/message_params.rbs +88 -6
  136. data/sig/surge_api/models/message_received_webhook_event.rbs +2 -1
  137. data/sig/surge_api/models/message_retrieve_params.rbs +8 -3
  138. data/sig/surge_api/models/message_sent_webhook_event.rbs +2 -1
  139. data/sig/surge_api/models/phone_number_list_params.rbs +5 -1
  140. data/sig/surge_api/models/phone_number_purchase_params.rbs +5 -0
  141. data/sig/surge_api/models/phone_number_release_params.rbs +20 -0
  142. data/sig/surge_api/models/phone_number_update_params.rbs +36 -0
  143. data/sig/surge_api/models/recording_delete_params.rbs +8 -3
  144. data/sig/surge_api/models/recording_get_file_params.rbs +11 -3
  145. data/sig/surge_api/models/recording_list_params.rbs +5 -1
  146. data/sig/surge_api/models/recording_retrieve_params.rbs +8 -3
  147. data/sig/surge_api/models/user_create_params.rbs +5 -0
  148. data/sig/surge_api/models/user_create_token_params.rbs +5 -1
  149. data/sig/surge_api/models/user_delete_params.rbs +8 -3
  150. data/sig/surge_api/models/user_list_params.rbs +5 -1
  151. data/sig/surge_api/models/user_retrieve_params.rbs +8 -3
  152. data/sig/surge_api/models/user_update_params.rbs +5 -0
  153. data/sig/surge_api/models/verification_check_params.rbs +6 -1
  154. data/sig/surge_api/models/verification_create_params.rbs +6 -1
  155. data/sig/surge_api/models.rbs +6 -0
  156. data/sig/surge_api/resources/accounts.rbs +6 -0
  157. data/sig/surge_api/resources/campaigns.rbs +2 -2
  158. data/sig/surge_api/resources/messages.rbs +1 -1
  159. data/sig/surge_api/resources/phone_numbers.rbs +12 -0
  160. data/sig/surge_api/resources/verifications.rbs +1 -0
  161. data/sig/surge_api/resources/webhooks.rbs +3 -1
  162. metadata +25 -2
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type phone_number_list_params =
4
- { after: String, before: String }
4
+ { account_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class PhoneNumberListParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor account_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ account_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ account_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Models
3
3
  type phone_number_purchase_params =
4
4
  {
5
+ account_id: String,
5
6
  area_code: String,
6
7
  latitude: Float,
7
8
  longitude: Float,
@@ -14,6 +15,8 @@ module SurgeAPI
14
15
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
15
16
  include SurgeAPI::Internal::Type::RequestParameters
16
17
 
18
+ attr_accessor account_id: String
19
+
17
20
  attr_reader area_code: String?
18
21
 
19
22
  def area_code=: (String) -> String
@@ -37,6 +40,7 @@ module SurgeAPI
37
40
  ) -> SurgeAPI::Models::PhoneNumberPurchaseParams::type_
38
41
 
39
42
  def initialize: (
43
+ account_id: String,
40
44
  ?area_code: String,
41
45
  ?latitude: Float,
42
46
  ?longitude: Float,
@@ -46,6 +50,7 @@ module SurgeAPI
46
50
  ) -> void
47
51
 
48
52
  def to_hash: -> {
53
+ account_id: String,
49
54
  area_code: String,
50
55
  latitude: Float,
51
56
  longitude: Float,
@@ -0,0 +1,20 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type phone_number_release_params =
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
+
6
+ class PhoneNumberReleaseParams < SurgeAPI::Internal::Type::BaseModel
7
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
+ include SurgeAPI::Internal::Type::RequestParameters
9
+
10
+ attr_accessor id: String
11
+
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,36 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type phone_number_update_params =
4
+ { id: String, campaign_id: String, name: String }
5
+ & SurgeAPI::Internal::Type::request_parameters
6
+
7
+ class PhoneNumberUpdateParams < SurgeAPI::Internal::Type::BaseModel
8
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
+ include SurgeAPI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor id: String
12
+
13
+ attr_reader campaign_id: String?
14
+
15
+ def campaign_id=: (String) -> String
16
+
17
+ attr_reader name: String?
18
+
19
+ def name=: (String) -> String
20
+
21
+ def initialize: (
22
+ id: String,
23
+ ?campaign_id: String,
24
+ ?name: String,
25
+ ?request_options: SurgeAPI::request_opts
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ id: String,
30
+ campaign_id: String,
31
+ name: String,
32
+ request_options: SurgeAPI::RequestOptions
33
+ }
34
+ end
35
+ end
36
+ end
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type recording_delete_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class RecordingDeleteParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -1,15 +1,23 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type recording_get_file_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { recording_id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class RecordingGetFileParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor recording_id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ recording_id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ recording_id: String,
19
+ request_options: SurgeAPI::RequestOptions
20
+ }
13
21
  end
14
22
  end
15
23
  end
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type recording_list_params =
4
- { after: String, before: String }
4
+ { account_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class RecordingListParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor account_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ account_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ account_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type recording_retrieve_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class RecordingRetrieveParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Models
3
3
  type user_create_params =
4
4
  {
5
+ account_id: String,
5
6
  first_name: String,
6
7
  last_name: String,
7
8
  metadata: ::Hash[Symbol, String],
@@ -13,6 +14,8 @@ module SurgeAPI
13
14
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
14
15
  include SurgeAPI::Internal::Type::RequestParameters
15
16
 
17
+ attr_accessor account_id: String
18
+
16
19
  attr_accessor first_name: String
17
20
 
18
21
  attr_reader last_name: String?
@@ -28,6 +31,7 @@ module SurgeAPI
28
31
  def photo_url=: (String) -> String
29
32
 
30
33
  def initialize: (
34
+ account_id: String,
31
35
  first_name: String,
32
36
  ?last_name: String,
33
37
  ?metadata: ::Hash[Symbol, String],
@@ -36,6 +40,7 @@ module SurgeAPI
36
40
  ) -> void
37
41
 
38
42
  def to_hash: -> {
43
+ account_id: String,
39
44
  first_name: String,
40
45
  last_name: String,
41
46
  metadata: ::Hash[Symbol, String],
@@ -1,23 +1,27 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type user_create_token_params =
4
- { duration_seconds: Integer }
4
+ { user_id: String, duration_seconds: Integer }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class UserCreateTokenParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor user_id: String
12
+
11
13
  attr_reader duration_seconds: Integer?
12
14
 
13
15
  def duration_seconds=: (Integer) -> Integer
14
16
 
15
17
  def initialize: (
18
+ user_id: String,
16
19
  ?duration_seconds: Integer,
17
20
  ?request_options: SurgeAPI::request_opts
18
21
  ) -> void
19
22
 
20
23
  def to_hash: -> {
24
+ user_id: String,
21
25
  duration_seconds: Integer,
22
26
  request_options: SurgeAPI::RequestOptions
23
27
  }
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type user_delete_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -1,13 +1,15 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type user_list_params =
4
- { after: String, before: String }
4
+ { account_id: String, after: String, before: String }
5
5
  & SurgeAPI::Internal::Type::request_parameters
6
6
 
7
7
  class UserListParams < SurgeAPI::Internal::Type::BaseModel
8
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
9
  include SurgeAPI::Internal::Type::RequestParameters
10
10
 
11
+ attr_accessor account_id: String
12
+
11
13
  attr_reader after: String?
12
14
 
13
15
  def after=: (String) -> String
@@ -17,12 +19,14 @@ module SurgeAPI
17
19
  def before=: (String) -> String
18
20
 
19
21
  def initialize: (
22
+ account_id: String,
20
23
  ?after: String,
21
24
  ?before: String,
22
25
  ?request_options: SurgeAPI::request_opts
23
26
  ) -> void
24
27
 
25
28
  def to_hash: -> {
29
+ account_id: String,
26
30
  after: String,
27
31
  before: String,
28
32
  request_options: SurgeAPI::RequestOptions
@@ -1,15 +1,20 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type user_retrieve_params =
4
- { } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String } & SurgeAPI::Internal::Type::request_parameters
5
5
 
6
6
  class UserRetrieveParams < SurgeAPI::Internal::Type::BaseModel
7
7
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
8
  include SurgeAPI::Internal::Type::RequestParameters
9
9
 
10
- def initialize: (?request_options: SurgeAPI::request_opts) -> void
10
+ attr_accessor id: String
11
11
 
12
- def to_hash: -> { request_options: SurgeAPI::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: SurgeAPI::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
13
18
  end
14
19
  end
15
20
  end
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Models
3
3
  type user_update_params =
4
4
  {
5
+ id: String,
5
6
  first_name: String,
6
7
  last_name: String,
7
8
  metadata: ::Hash[Symbol, String],
@@ -13,6 +14,8 @@ module SurgeAPI
13
14
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
14
15
  include SurgeAPI::Internal::Type::RequestParameters
15
16
 
17
+ attr_accessor id: String
18
+
16
19
  attr_accessor first_name: String
17
20
 
18
21
  attr_reader last_name: String?
@@ -28,6 +31,7 @@ module SurgeAPI
28
31
  def photo_url=: (String) -> String
29
32
 
30
33
  def initialize: (
34
+ id: String,
31
35
  first_name: String,
32
36
  ?last_name: String,
33
37
  ?metadata: ::Hash[Symbol, String],
@@ -36,6 +40,7 @@ module SurgeAPI
36
40
  ) -> void
37
41
 
38
42
  def to_hash: -> {
43
+ id: String,
39
44
  first_name: String,
40
45
  last_name: String,
41
46
  metadata: ::Hash[Symbol, String],
@@ -1,20 +1,25 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type verification_check_params =
4
- { code: String } & SurgeAPI::Internal::Type::request_parameters
4
+ { id: String, code: String }
5
+ & SurgeAPI::Internal::Type::request_parameters
5
6
 
6
7
  class VerificationCheckParams < SurgeAPI::Internal::Type::BaseModel
7
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
9
  include SurgeAPI::Internal::Type::RequestParameters
9
10
 
11
+ attr_accessor id: String
12
+
10
13
  attr_accessor code: String
11
14
 
12
15
  def initialize: (
16
+ id: String,
13
17
  code: String,
14
18
  ?request_options: SurgeAPI::request_opts
15
19
  ) -> void
16
20
 
17
21
  def to_hash: -> {
22
+ id: String,
18
23
  code: String,
19
24
  request_options: SurgeAPI::RequestOptions
20
25
  }
@@ -1,20 +1,25 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type verification_create_params =
4
- { phone_number: String } & SurgeAPI::Internal::Type::request_parameters
4
+ { account_id: String, phone_number: String }
5
+ & SurgeAPI::Internal::Type::request_parameters
5
6
 
6
7
  class VerificationCreateParams < SurgeAPI::Internal::Type::BaseModel
7
8
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
9
  include SurgeAPI::Internal::Type::RequestParameters
9
10
 
11
+ attr_accessor account_id: String
12
+
10
13
  attr_accessor phone_number: String
11
14
 
12
15
  def initialize: (
16
+ account_id: String,
13
17
  phone_number: String,
14
18
  ?request_options: SurgeAPI::request_opts
15
19
  ) -> void
16
20
 
17
21
  def to_hash: -> {
22
+ account_id: String,
18
23
  phone_number: String,
19
24
  request_options: SurgeAPI::RequestOptions
20
25
  }
@@ -5,6 +5,8 @@ module SurgeAPI
5
5
 
6
6
  class AccountCreateParams = SurgeAPI::Models::AccountCreateParams
7
7
 
8
+ class AccountListParams = SurgeAPI::Models::AccountListParams
9
+
8
10
  class AccountRetrieveStatusParams = SurgeAPI::Models::AccountRetrieveStatusParams
9
11
 
10
12
  class AccountStatus = SurgeAPI::Models::AccountStatus
@@ -87,6 +89,10 @@ module SurgeAPI
87
89
 
88
90
  class PhoneNumberPurchaseParams = SurgeAPI::Models::PhoneNumberPurchaseParams
89
91
 
92
+ class PhoneNumberReleaseParams = SurgeAPI::Models::PhoneNumberReleaseParams
93
+
94
+ class PhoneNumberUpdateParams = SurgeAPI::Models::PhoneNumberUpdateParams
95
+
90
96
  class RecordingCompletedWebhookEvent = SurgeAPI::Models::RecordingCompletedWebhookEvent
91
97
 
92
98
  class RecordingDeleteParams = SurgeAPI::Models::RecordingDeleteParams
@@ -18,6 +18,12 @@ module SurgeAPI
18
18
  ?request_options: SurgeAPI::request_opts
19
19
  ) -> SurgeAPI::Account
20
20
 
21
+ def list: (
22
+ ?after: String,
23
+ ?before: String,
24
+ ?request_options: SurgeAPI::request_opts
25
+ ) -> SurgeAPI::Internal::Cursor[SurgeAPI::Account]
26
+
21
27
  def archive: (
22
28
  String id,
23
29
  ?request_options: SurgeAPI::request_opts
@@ -3,7 +3,7 @@ module SurgeAPI
3
3
  class Campaigns
4
4
  def create: (
5
5
  String account_id,
6
- campaign_params: SurgeAPI::Models::CampaignParams,
6
+ campaign_params: SurgeAPI::Models::campaign_params,
7
7
  ?request_options: SurgeAPI::request_opts
8
8
  ) -> SurgeAPI::Campaign
9
9
 
@@ -14,7 +14,7 @@ module SurgeAPI
14
14
 
15
15
  def update: (
16
16
  String id,
17
- campaign_params: SurgeAPI::Models::CampaignParams,
17
+ campaign_params: SurgeAPI::Models::campaign_params,
18
18
  ?request_options: SurgeAPI::request_opts
19
19
  ) -> SurgeAPI::Campaign
20
20
 
@@ -3,7 +3,7 @@ module SurgeAPI
3
3
  class Messages
4
4
  def create: (
5
5
  String account_id,
6
- message_params: SurgeAPI::Models::MessageParams,
6
+ message_params: SurgeAPI::Models::message_params,
7
7
  ?request_options: SurgeAPI::request_opts
8
8
  ) -> SurgeAPI::Message
9
9
 
@@ -1,6 +1,13 @@
1
1
  module SurgeAPI
2
2
  module Resources
3
3
  class PhoneNumbers
4
+ def update: (
5
+ String id,
6
+ ?campaign_id: String,
7
+ ?name: String,
8
+ ?request_options: SurgeAPI::request_opts
9
+ ) -> SurgeAPI::PhoneNumber
10
+
4
11
  def list: (
5
12
  String account_id,
6
13
  ?after: String,
@@ -18,6 +25,11 @@ module SurgeAPI
18
25
  ?request_options: SurgeAPI::request_opts
19
26
  ) -> SurgeAPI::PhoneNumber
20
27
 
28
+ def release: (
29
+ String id,
30
+ ?request_options: SurgeAPI::request_opts
31
+ ) -> SurgeAPI::PhoneNumber
32
+
21
33
  def initialize: (client: SurgeAPI::Client) -> void
22
34
  end
23
35
  end
@@ -2,6 +2,7 @@ module SurgeAPI
2
2
  module Resources
3
3
  class Verifications
4
4
  def create: (
5
+ String account_id,
5
6
  phone_number: String,
6
7
  ?request_options: SurgeAPI::request_opts
7
8
  ) -> SurgeAPI::Verification
@@ -2,7 +2,9 @@ module SurgeAPI
2
2
  module Resources
3
3
  class Webhooks
4
4
  def unwrap: (
5
- String payload
5
+ String payload,
6
+ headers: ::Hash[String, String],
7
+ ?key: String?
6
8
  ) -> (SurgeAPI::CallEndedWebhookEvent
7
9
  | SurgeAPI::CampaignApprovedWebhookEvent
8
10
  | SurgeAPI::ContactOptedInWebhookEvent
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: surge_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Surge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-24 00:00:00.000000000 Z
11
+ date: 2026-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: standardwebhooks
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description:
42
56
  email: support@surge.app
43
57
  executables: []
@@ -73,6 +87,7 @@ files:
73
87
  - lib/surge_api/models/account.rb
74
88
  - lib/surge_api/models/account_archive_params.rb
75
89
  - lib/surge_api/models/account_create_params.rb
90
+ - lib/surge_api/models/account_list_params.rb
76
91
  - lib/surge_api/models/account_retrieve_status_params.rb
77
92
  - lib/surge_api/models/account_status.rb
78
93
  - lib/surge_api/models/account_update_params.rb
@@ -116,6 +131,8 @@ files:
116
131
  - lib/surge_api/models/phone_number_attached_to_campaign_webhook_event.rb
117
132
  - lib/surge_api/models/phone_number_list_params.rb
118
133
  - lib/surge_api/models/phone_number_purchase_params.rb
134
+ - lib/surge_api/models/phone_number_release_params.rb
135
+ - lib/surge_api/models/phone_number_update_params.rb
119
136
  - lib/surge_api/models/recording_completed_webhook_event.rb
120
137
  - lib/surge_api/models/recording_delete_params.rb
121
138
  - lib/surge_api/models/recording_delete_response.rb
@@ -178,6 +195,7 @@ files:
178
195
  - rbi/surge_api/models/account.rbi
179
196
  - rbi/surge_api/models/account_archive_params.rbi
180
197
  - rbi/surge_api/models/account_create_params.rbi
198
+ - rbi/surge_api/models/account_list_params.rbi
181
199
  - rbi/surge_api/models/account_retrieve_status_params.rbi
182
200
  - rbi/surge_api/models/account_status.rbi
183
201
  - rbi/surge_api/models/account_update_params.rbi
@@ -221,6 +239,8 @@ files:
221
239
  - rbi/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbi
222
240
  - rbi/surge_api/models/phone_number_list_params.rbi
223
241
  - rbi/surge_api/models/phone_number_purchase_params.rbi
242
+ - rbi/surge_api/models/phone_number_release_params.rbi
243
+ - rbi/surge_api/models/phone_number_update_params.rbi
224
244
  - rbi/surge_api/models/recording_completed_webhook_event.rbi
225
245
  - rbi/surge_api/models/recording_delete_params.rbi
226
246
  - rbi/surge_api/models/recording_delete_response.rbi
@@ -282,6 +302,7 @@ files:
282
302
  - sig/surge_api/models/account.rbs
283
303
  - sig/surge_api/models/account_archive_params.rbs
284
304
  - sig/surge_api/models/account_create_params.rbs
305
+ - sig/surge_api/models/account_list_params.rbs
285
306
  - sig/surge_api/models/account_retrieve_status_params.rbs
286
307
  - sig/surge_api/models/account_status.rbs
287
308
  - sig/surge_api/models/account_update_params.rbs
@@ -325,6 +346,8 @@ files:
325
346
  - sig/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbs
326
347
  - sig/surge_api/models/phone_number_list_params.rbs
327
348
  - sig/surge_api/models/phone_number_purchase_params.rbs
349
+ - sig/surge_api/models/phone_number_release_params.rbs
350
+ - sig/surge_api/models/phone_number_update_params.rbs
328
351
  - sig/surge_api/models/recording_completed_webhook_event.rbs
329
352
  - sig/surge_api/models/recording_delete_params.rbs
330
353
  - sig/surge_api/models/recording_delete_response.rbs