surge_api 0.4.0 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da7c01aaa992d5a9324e6a320821c240261535e5c85ef840624e00e82ff3a722
4
- data.tar.gz: 1219ffe72345fb81de26f7f7be3c6a05d11d790de928bb8e3821c59ca837ad86
3
+ metadata.gz: 2108433baa320b26048ee5f2141841a98866a135e46330a3cee4b4555eb85b67
4
+ data.tar.gz: 853d2d48b5b8981ba46ab3ab589bca43fd599ed8b6d9aa63cfcbe80eb5be2b7e
5
5
  SHA512:
6
- metadata.gz: 44b3bd94a28e639bdae0131f72893b3e0fbbccc4ef11eaef833cd4214d167879bbbdb36ab964ce991c07d8cf844b2a59225c1a2e4afd231ac1045472e6c5f2b0
7
- data.tar.gz: aeba66370a29d5bc640f998625e6bde7e3a040f9579a24253442d434d9b671fa1f46d42c84afb07913958d696836e89a226ab2a989585ec90fc156150e45bbb2
6
+ metadata.gz: 075d2964cab7711b2edc152d89314b5d323bcf9fd5d645409d9cd7c7ccfccf7c5ddab2c471d828bff6ff61a78ededa51e34bc2bbcd6ab298444c79f5d8ffec50
7
+ data.tar.gz: 6c171b025eeaa2be398b7315e5280129e198917ca5477aba3d7ca4d570def52c0d3b59a7935057ccb2aa93e35184e13989daa0d5e26461efcbc045aa6c9b36ff
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 (2026-01-18)
4
+
5
+ Full Changelog: [v0.5.0...v0.6.0](https://github.com/surgeapi/ruby-sdk/compare/v0.5.0...v0.6.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([be3de20](https://github.com/surgeapi/ruby-sdk/commit/be3de209f18482fa76b1a447fd8e944efb56772f))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **internal:** update `actions/checkout` version ([3d4be8e](https://github.com/surgeapi/ruby-sdk/commit/3d4be8e99c4f71d93e66a2d830d23e1008490abc))
15
+
16
+ ## 0.5.0 (2026-01-15)
17
+
18
+ Full Changelog: [v0.4.0...v0.5.0](https://github.com/surgeapi/ruby-sdk/compare/v0.4.0...v0.5.0)
19
+
20
+ ### Features
21
+
22
+ * **api:** add delete user endpoint ([424ea71](https://github.com/surgeapi/ruby-sdk/commit/424ea7107c3039b175ccdc6066d04dec9d094dfd))
23
+
3
24
  ## 0.4.0 (2026-01-10)
4
25
 
5
26
  Full Changelog: [v0.3.0...v0.4.0](https://github.com/surgeapi/ruby-sdk/compare/v0.3.0...v0.4.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "surge_api", "~> 0.4.0"
20
+ gem "surge_api", "~> 0.6.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SurgeAPI
4
+ module Models
5
+ class LinkFollowedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
6
+ # @!attribute account_id
7
+ # The ID of the account in which this event occurred
8
+ #
9
+ # @return [String]
10
+ required :account_id, String
11
+
12
+ # @!attribute data
13
+ # The data associated with the event
14
+ #
15
+ # @return [SurgeAPI::Models::LinkFollowedWebhookEvent::Data]
16
+ required :data, -> { SurgeAPI::LinkFollowedWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp when this event occurred, in ISO8601 format
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The type of the event. Always `link.followed` for this event.
26
+ #
27
+ # @return [Symbol, :"link.followed"]
28
+ required :type, const: :"link.followed"
29
+
30
+ # @!method initialize(account_id:, data:, timestamp:, type: :"link.followed")
31
+ # @param account_id [String] The ID of the account in which this event occurred
32
+ #
33
+ # @param data [SurgeAPI::Models::LinkFollowedWebhookEvent::Data] The data associated with the event
34
+ #
35
+ # @param timestamp [Time] The timestamp when this event occurred, in ISO8601 format
36
+ #
37
+ # @param type [Symbol, :"link.followed"] The type of the event. Always `link.followed` for this event.
38
+
39
+ # @see SurgeAPI::Models::LinkFollowedWebhookEvent#data
40
+ class Data < SurgeAPI::Internal::Type::BaseModel
41
+ # @!attribute id
42
+ # The unique identifier for the link
43
+ #
44
+ # @return [String]
45
+ required :id, String
46
+
47
+ # @!attribute message_id
48
+ # The unique identifier for the message that contained the link
49
+ #
50
+ # @return [String]
51
+ required :message_id, String
52
+
53
+ # @!attribute url
54
+ # The original URL that was shortened
55
+ #
56
+ # @return [String]
57
+ required :url, String
58
+
59
+ # @!method initialize(id:, message_id:, url:)
60
+ # The data associated with the event
61
+ #
62
+ # @param id [String] The unique identifier for the link
63
+ #
64
+ # @param message_id [String] The unique identifier for the message that contained the link
65
+ #
66
+ # @param url [String] The original URL that was shortened
67
+ end
68
+ end
69
+ end
70
+ end
@@ -17,6 +17,8 @@ module SurgeAPI
17
17
 
18
18
  variant :"conversation.created", -> { SurgeAPI::ConversationCreatedWebhookEvent }
19
19
 
20
+ variant :"link.followed", -> { SurgeAPI::LinkFollowedWebhookEvent }
21
+
20
22
  variant :"message.delivered", -> { SurgeAPI::MessageDeliveredWebhookEvent }
21
23
 
22
24
  variant :"message.failed", -> { SurgeAPI::MessageFailedWebhookEvent }
@@ -26,7 +28,7 @@ module SurgeAPI
26
28
  variant :"message.sent", -> { SurgeAPI::MessageSentWebhookEvent }
27
29
 
28
30
  # @!method self.variants
29
- # @return [Array(SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent)]
31
+ # @return [Array(SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::LinkFollowedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent)]
30
32
  end
31
33
  end
32
34
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SurgeAPI
4
+ module Models
5
+ # @see SurgeAPI::Resources::Users#delete
6
+ class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
7
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
+ include SurgeAPI::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [SurgeAPI::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -81,6 +81,8 @@ module SurgeAPI
81
81
 
82
82
  Error = SurgeAPI::Models::Error
83
83
 
84
+ LinkFollowedWebhookEvent = SurgeAPI::Models::LinkFollowedWebhookEvent
85
+
84
86
  Message = SurgeAPI::Models::Message
85
87
 
86
88
  MessageCreateParams = SurgeAPI::Models::MessageCreateParams
@@ -111,6 +113,8 @@ module SurgeAPI
111
113
 
112
114
  UserCreateTokenParams = SurgeAPI::Models::UserCreateTokenParams
113
115
 
116
+ UserDeleteParams = SurgeAPI::Models::UserDeleteParams
117
+
114
118
  UserRetrieveParams = SurgeAPI::Models::UserRetrieveParams
115
119
 
116
120
  UserTokenResponse = SurgeAPI::Models::UserTokenResponse
@@ -83,6 +83,30 @@ module SurgeAPI
83
83
  )
84
84
  end
85
85
 
86
+ # Deletes a user.
87
+ #
88
+ # Once a user has been deleted, they will no longer be permitted to access any of
89
+ # the embedded components. Attempting to access a deleted user will return a 404
90
+ # Not Found error.
91
+ #
92
+ # @overload delete(id, request_options: {})
93
+ #
94
+ # @param id [String] The ID of the user to delete.
95
+ #
96
+ # @param request_options [SurgeAPI::RequestOptions, Hash{Symbol=>Object}, nil]
97
+ #
98
+ # @return [SurgeAPI::Models::User]
99
+ #
100
+ # @see SurgeAPI::Models::UserDeleteParams
101
+ def delete(id, params = {})
102
+ @client.request(
103
+ method: :delete,
104
+ path: ["users/%1$s", id],
105
+ model: SurgeAPI::User,
106
+ options: params[:request_options]
107
+ )
108
+ end
109
+
86
110
  # Provides a mechanism for having Surge create a signed token for embeds instead
87
111
  # of signing with your own signing key.
88
112
  #
@@ -5,7 +5,7 @@ module SurgeAPI
5
5
  class Webhooks
6
6
  # @param payload [String] The raw webhook payload as a string
7
7
  #
8
- # @return [SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent]
8
+ # @return [SurgeAPI::Models::CallEndedWebhookEvent, SurgeAPI::Models::CampaignApprovedWebhookEvent, SurgeAPI::Models::ContactOptedInWebhookEvent, SurgeAPI::Models::ContactOptedOutWebhookEvent, SurgeAPI::Models::ConversationCreatedWebhookEvent, SurgeAPI::Models::LinkFollowedWebhookEvent, SurgeAPI::Models::MessageDeliveredWebhookEvent, SurgeAPI::Models::MessageFailedWebhookEvent, SurgeAPI::Models::MessageReceivedWebhookEvent, SurgeAPI::Models::MessageSentWebhookEvent]
9
9
  def unwrap(payload)
10
10
  parsed = JSON.parse(payload, symbolize_names: true)
11
11
  SurgeAPI::Internal::Type::Converter.coerce(SurgeAPI::Models::UnwrapWebhookEvent, parsed)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SurgeAPI
4
- VERSION = "0.4.0"
4
+ VERSION = "0.6.0"
5
5
  end
data/lib/surge_api.rb CHANGED
@@ -74,6 +74,7 @@ require_relative "surge_api/models/contact_retrieve_params"
74
74
  require_relative "surge_api/models/contact_update_params"
75
75
  require_relative "surge_api/models/conversation_created_webhook_event"
76
76
  require_relative "surge_api/models/error"
77
+ require_relative "surge_api/models/link_followed_webhook_event"
77
78
  require_relative "surge_api/models/message"
78
79
  require_relative "surge_api/models/message_create_params"
79
80
  require_relative "surge_api/models/message_delivered_webhook_event"
@@ -88,6 +89,7 @@ require_relative "surge_api/models/unwrap_webhook_event"
88
89
  require_relative "surge_api/models/user"
89
90
  require_relative "surge_api/models/user_create_params"
90
91
  require_relative "surge_api/models/user_create_token_params"
92
+ require_relative "surge_api/models/user_delete_params"
91
93
  require_relative "surge_api/models/user_retrieve_params"
92
94
  require_relative "surge_api/models/user_token_response"
93
95
  require_relative "surge_api/models/user_update_params"
@@ -0,0 +1,110 @@
1
+ # typed: strong
2
+
3
+ module SurgeAPI
4
+ module Models
5
+ class LinkFollowedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SurgeAPI::LinkFollowedWebhookEvent, SurgeAPI::Internal::AnyHash)
9
+ end
10
+
11
+ # The ID of the account in which this event occurred
12
+ sig { returns(String) }
13
+ attr_accessor :account_id
14
+
15
+ # The data associated with the event
16
+ sig { returns(SurgeAPI::LinkFollowedWebhookEvent::Data) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(data: SurgeAPI::LinkFollowedWebhookEvent::Data::OrHash).void
21
+ end
22
+ attr_writer :data
23
+
24
+ # The timestamp when this event occurred, in ISO8601 format
25
+ sig { returns(Time) }
26
+ attr_accessor :timestamp
27
+
28
+ # The type of the event. Always `link.followed` for this event.
29
+ sig { returns(Symbol) }
30
+ attr_accessor :type
31
+
32
+ sig do
33
+ params(
34
+ account_id: String,
35
+ data: SurgeAPI::LinkFollowedWebhookEvent::Data::OrHash,
36
+ timestamp: Time,
37
+ type: Symbol
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # The ID of the account in which this event occurred
42
+ account_id:,
43
+ # The data associated with the event
44
+ data:,
45
+ # The timestamp when this event occurred, in ISO8601 format
46
+ timestamp:,
47
+ # The type of the event. Always `link.followed` for this event.
48
+ type: :"link.followed"
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ account_id: String,
56
+ data: SurgeAPI::LinkFollowedWebhookEvent::Data,
57
+ timestamp: Time,
58
+ type: Symbol
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+
65
+ class Data < SurgeAPI::Internal::Type::BaseModel
66
+ OrHash =
67
+ T.type_alias do
68
+ T.any(
69
+ SurgeAPI::LinkFollowedWebhookEvent::Data,
70
+ SurgeAPI::Internal::AnyHash
71
+ )
72
+ end
73
+
74
+ # The unique identifier for the link
75
+ sig { returns(String) }
76
+ attr_accessor :id
77
+
78
+ # The unique identifier for the message that contained the link
79
+ sig { returns(String) }
80
+ attr_accessor :message_id
81
+
82
+ # The original URL that was shortened
83
+ sig { returns(String) }
84
+ attr_accessor :url
85
+
86
+ # The data associated with the event
87
+ sig do
88
+ params(id: String, message_id: String, url: String).returns(
89
+ T.attached_class
90
+ )
91
+ end
92
+ def self.new(
93
+ # The unique identifier for the link
94
+ id:,
95
+ # The unique identifier for the message that contained the link
96
+ message_id:,
97
+ # The original URL that was shortened
98
+ url:
99
+ )
100
+ end
101
+
102
+ sig do
103
+ override.returns({ id: String, message_id: String, url: String })
104
+ end
105
+ def to_hash
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -13,6 +13,7 @@ module SurgeAPI
13
13
  SurgeAPI::ContactOptedInWebhookEvent,
14
14
  SurgeAPI::ContactOptedOutWebhookEvent,
15
15
  SurgeAPI::ConversationCreatedWebhookEvent,
16
+ SurgeAPI::LinkFollowedWebhookEvent,
16
17
  SurgeAPI::MessageDeliveredWebhookEvent,
17
18
  SurgeAPI::MessageFailedWebhookEvent,
18
19
  SurgeAPI::MessageReceivedWebhookEvent,
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module SurgeAPI
4
+ module Models
5
+ class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
6
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
7
+ include SurgeAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(SurgeAPI::UserDeleteParams, SurgeAPI::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: SurgeAPI::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: SurgeAPI::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -44,6 +44,8 @@ module SurgeAPI
44
44
 
45
45
  Error = SurgeAPI::Models::Error
46
46
 
47
+ LinkFollowedWebhookEvent = SurgeAPI::Models::LinkFollowedWebhookEvent
48
+
47
49
  Message = SurgeAPI::Models::Message
48
50
 
49
51
  MessageCreateParams = SurgeAPI::Models::MessageCreateParams
@@ -74,6 +76,8 @@ module SurgeAPI
74
76
 
75
77
  UserCreateTokenParams = SurgeAPI::Models::UserCreateTokenParams
76
78
 
79
+ UserDeleteParams = SurgeAPI::Models::UserDeleteParams
80
+
77
81
  UserRetrieveParams = SurgeAPI::Models::UserRetrieveParams
78
82
 
79
83
  UserTokenResponse = SurgeAPI::Models::UserTokenResponse
@@ -69,6 +69,24 @@ module SurgeAPI
69
69
  )
70
70
  end
71
71
 
72
+ # Deletes a user.
73
+ #
74
+ # Once a user has been deleted, they will no longer be permitted to access any of
75
+ # the embedded components. Attempting to access a deleted user will return a 404
76
+ # Not Found error.
77
+ sig do
78
+ params(
79
+ id: String,
80
+ request_options: SurgeAPI::RequestOptions::OrHash
81
+ ).returns(SurgeAPI::User)
82
+ end
83
+ def delete(
84
+ # The ID of the user to delete.
85
+ id,
86
+ request_options: {}
87
+ )
88
+ end
89
+
72
90
  # Provides a mechanism for having Surge create a signed token for embeds instead
73
91
  # of signing with your own signing key.
74
92
  sig do
@@ -11,6 +11,7 @@ module SurgeAPI
11
11
  SurgeAPI::ContactOptedInWebhookEvent,
12
12
  SurgeAPI::ContactOptedOutWebhookEvent,
13
13
  SurgeAPI::ConversationCreatedWebhookEvent,
14
+ SurgeAPI::LinkFollowedWebhookEvent,
14
15
  SurgeAPI::MessageDeliveredWebhookEvent,
15
16
  SurgeAPI::MessageFailedWebhookEvent,
16
17
  SurgeAPI::MessageReceivedWebhookEvent,
@@ -0,0 +1,49 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type link_followed_webhook_event =
4
+ {
5
+ account_id: String,
6
+ data: SurgeAPI::LinkFollowedWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: :"link.followed"
9
+ }
10
+
11
+ class LinkFollowedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
12
+ attr_accessor account_id: String
13
+
14
+ attr_accessor data: SurgeAPI::LinkFollowedWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: :"link.followed"
19
+
20
+ def initialize: (
21
+ account_id: String,
22
+ data: SurgeAPI::LinkFollowedWebhookEvent::Data,
23
+ timestamp: Time,
24
+ ?type: :"link.followed"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ account_id: String,
29
+ data: SurgeAPI::LinkFollowedWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: :"link.followed"
32
+ }
33
+
34
+ type data = { id: String, message_id: String, url: String }
35
+
36
+ class Data < SurgeAPI::Internal::Type::BaseModel
37
+ attr_accessor id: String
38
+
39
+ attr_accessor message_id: String
40
+
41
+ attr_accessor url: String
42
+
43
+ def initialize: (id: String, message_id: String, url: String) -> void
44
+
45
+ def to_hash: -> { id: String, message_id: String, url: String }
46
+ end
47
+ end
48
+ end
49
+ end
@@ -6,6 +6,7 @@ module SurgeAPI
6
6
  | SurgeAPI::ContactOptedInWebhookEvent
7
7
  | SurgeAPI::ContactOptedOutWebhookEvent
8
8
  | SurgeAPI::ConversationCreatedWebhookEvent
9
+ | SurgeAPI::LinkFollowedWebhookEvent
9
10
  | SurgeAPI::MessageDeliveredWebhookEvent
10
11
  | SurgeAPI::MessageFailedWebhookEvent
11
12
  | SurgeAPI::MessageReceivedWebhookEvent
@@ -0,0 +1,15 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type user_delete_params =
4
+ { } & SurgeAPI::Internal::Type::request_parameters
5
+
6
+ class UserDeleteParams < SurgeAPI::Internal::Type::BaseModel
7
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
8
+ include SurgeAPI::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: SurgeAPI::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: SurgeAPI::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -41,6 +41,8 @@ module SurgeAPI
41
41
 
42
42
  class Error = SurgeAPI::Models::Error
43
43
 
44
+ class LinkFollowedWebhookEvent = SurgeAPI::Models::LinkFollowedWebhookEvent
45
+
44
46
  class Message = SurgeAPI::Models::Message
45
47
 
46
48
  class MessageCreateParams = SurgeAPI::Models::MessageCreateParams
@@ -71,6 +73,8 @@ module SurgeAPI
71
73
 
72
74
  class UserCreateTokenParams = SurgeAPI::Models::UserCreateTokenParams
73
75
 
76
+ class UserDeleteParams = SurgeAPI::Models::UserDeleteParams
77
+
74
78
  class UserRetrieveParams = SurgeAPI::Models::UserRetrieveParams
75
79
 
76
80
  class UserTokenResponse = SurgeAPI::Models::UserTokenResponse
@@ -24,6 +24,11 @@ module SurgeAPI
24
24
  ?request_options: SurgeAPI::request_opts
25
25
  ) -> SurgeAPI::User
26
26
 
27
+ def delete: (
28
+ String id,
29
+ ?request_options: SurgeAPI::request_opts
30
+ ) -> SurgeAPI::User
31
+
27
32
  def create_token: (
28
33
  String user_id,
29
34
  ?duration_seconds: Integer,
@@ -8,6 +8,7 @@ module SurgeAPI
8
8
  | SurgeAPI::ContactOptedInWebhookEvent
9
9
  | SurgeAPI::ContactOptedOutWebhookEvent
10
10
  | SurgeAPI::ConversationCreatedWebhookEvent
11
+ | SurgeAPI::LinkFollowedWebhookEvent
11
12
  | SurgeAPI::MessageDeliveredWebhookEvent
12
13
  | SurgeAPI::MessageFailedWebhookEvent
13
14
  | SurgeAPI::MessageReceivedWebhookEvent
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.4.0
4
+ version: 0.6.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-01-11 00:00:00.000000000 Z
11
+ date: 2026-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -90,6 +90,7 @@ files:
90
90
  - lib/surge_api/models/contact_update_params.rb
91
91
  - lib/surge_api/models/conversation_created_webhook_event.rb
92
92
  - lib/surge_api/models/error.rb
93
+ - lib/surge_api/models/link_followed_webhook_event.rb
93
94
  - lib/surge_api/models/message.rb
94
95
  - lib/surge_api/models/message_create_params.rb
95
96
  - lib/surge_api/models/message_delivered_webhook_event.rb
@@ -105,6 +106,7 @@ files:
105
106
  - lib/surge_api/models/user.rb
106
107
  - lib/surge_api/models/user_create_params.rb
107
108
  - lib/surge_api/models/user_create_token_params.rb
109
+ - lib/surge_api/models/user_delete_params.rb
108
110
  - lib/surge_api/models/user_retrieve_params.rb
109
111
  - lib/surge_api/models/user_token_response.rb
110
112
  - lib/surge_api/models/user_update_params.rb
@@ -165,6 +167,7 @@ files:
165
167
  - rbi/surge_api/models/contact_update_params.rbi
166
168
  - rbi/surge_api/models/conversation_created_webhook_event.rbi
167
169
  - rbi/surge_api/models/error.rbi
170
+ - rbi/surge_api/models/link_followed_webhook_event.rbi
168
171
  - rbi/surge_api/models/message.rbi
169
172
  - rbi/surge_api/models/message_create_params.rbi
170
173
  - rbi/surge_api/models/message_delivered_webhook_event.rbi
@@ -180,6 +183,7 @@ files:
180
183
  - rbi/surge_api/models/user.rbi
181
184
  - rbi/surge_api/models/user_create_params.rbi
182
185
  - rbi/surge_api/models/user_create_token_params.rbi
186
+ - rbi/surge_api/models/user_delete_params.rbi
183
187
  - rbi/surge_api/models/user_retrieve_params.rbi
184
188
  - rbi/surge_api/models/user_token_response.rbi
185
189
  - rbi/surge_api/models/user_update_params.rbi
@@ -239,6 +243,7 @@ files:
239
243
  - sig/surge_api/models/contact_update_params.rbs
240
244
  - sig/surge_api/models/conversation_created_webhook_event.rbs
241
245
  - sig/surge_api/models/error.rbs
246
+ - sig/surge_api/models/link_followed_webhook_event.rbs
242
247
  - sig/surge_api/models/message.rbs
243
248
  - sig/surge_api/models/message_create_params.rbs
244
249
  - sig/surge_api/models/message_delivered_webhook_event.rbs
@@ -254,6 +259,7 @@ files:
254
259
  - sig/surge_api/models/user.rbs
255
260
  - sig/surge_api/models/user_create_params.rbs
256
261
  - sig/surge_api/models/user_create_token_params.rbs
262
+ - sig/surge_api/models/user_delete_params.rbs
257
263
  - sig/surge_api/models/user_retrieve_params.rbs
258
264
  - sig/surge_api/models/user_token_response.rbs
259
265
  - sig/surge_api/models/user_update_params.rbs