svix 1.96.1 → 1.97.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: dff4b27fd719cd42e2ad48f469588234c889cea00d9fc5204756d87c1364acb4
4
- data.tar.gz: 026cca2aa971f50ba7a1ed40141e2c807b8aa09041c675e19b5b7e04d7271974
3
+ metadata.gz: bb5bfdaab73fbc6c06955f8a3fd1a8987acec7046e9b2dfd36e44566cfae68b8
4
+ data.tar.gz: 46508e61492dc651968d52f4cd1d4e75a0a917543836927a341ae8f6e2f0bfed
5
5
  SHA512:
6
- metadata.gz: f63a6c1fa4cabc3e7138dbfa1df6437229d9afa5cdff1a2a51de853de224ece74fc48b4c7ffb4e8f01cbfc1f77c27faf507dc35abfc95f00b2ffc611f06b9bee
7
- data.tar.gz: 55c3188d991db7de76f01732816fe9a2dc9294d16129c21ed83a7db90de32be35cfe1c8eaf8089c543298128193e8d406d9b3bb52e6b3ed3207209aba42acd2b
6
+ metadata.gz: ad37a32c5d1eb1c7b449eec844d616d2c896fa489855057fd2ff2ef10e158e37e237d7c244c85e55f9e89869a3f48441203be6cd73cdf1ebc4880da5b169d482
7
+ data.tar.gz: 729b7169075215ec93861ad51f8bee8d215b114e7fbfabcce807649aa58edeb5341069b0ca715170359aad7e84a6a9a3677949dd6e6d8b1b2948703a6abdd30d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- svix (1.96.1)
4
+ svix (1.97.0)
5
5
  base64 (~> 0.3.0)
6
6
  logger (~> 1.0)
7
7
 
@@ -22,6 +22,17 @@ module Svix
22
22
  AppPortalAccessOut.deserialize(res)
23
23
  end
24
24
 
25
+ def logout(options = {})
26
+ options = options.transform_keys(&:to_s)
27
+ @client.execute_request(
28
+ "POST",
29
+ "/api/v1/auth/logout",
30
+ headers: {
31
+ "idempotency-key" => options["idempotency-key"]
32
+ }
33
+ )
34
+ end
35
+
25
36
  def expire_all(app_id, application_token_expire_in, options = {})
26
37
  options = options.transform_keys(&:to_s)
27
38
  @client.execute_request(
@@ -46,15 +57,17 @@ module Svix
46
57
  DashboardAccessOut.deserialize(res)
47
58
  end
48
59
 
49
- def logout(options = {})
60
+ def stream_portal_access(stream_id, stream_portal_access_in, options = {})
50
61
  options = options.transform_keys(&:to_s)
51
- @client.execute_request(
62
+ res = @client.execute_request(
52
63
  "POST",
53
- "/api/v1/auth/logout",
64
+ "/api/v1/auth/stream-portal-access/#{stream_id}",
54
65
  headers: {
55
66
  "idempotency-key" => options["idempotency-key"]
56
- }
67
+ },
68
+ body: stream_portal_access_in
57
69
  )
70
+ AppPortalAccessOut.deserialize(res)
58
71
  end
59
72
 
60
73
  def stream_logout(options = {})
@@ -68,19 +81,6 @@ module Svix
68
81
  )
69
82
  end
70
83
 
71
- def stream_portal_access(stream_id, stream_portal_access_in, options = {})
72
- options = options.transform_keys(&:to_s)
73
- res = @client.execute_request(
74
- "POST",
75
- "/api/v1/auth/stream-portal-access/#{stream_id}",
76
- headers: {
77
- "idempotency-key" => options["idempotency-key"]
78
- },
79
- body: stream_portal_access_in
80
- )
81
- AppPortalAccessOut.deserialize(res)
82
- end
83
-
84
84
  def stream_expire_all(stream_id, stream_token_expire_in, options = {})
85
85
  options = options.transform_keys(&:to_s)
86
86
  @client.execute_request(
@@ -93,14 +93,6 @@ module Svix
93
93
  )
94
94
  end
95
95
 
96
- def get_stream_poller_token(stream_id, sink_id)
97
- res = @client.execute_request(
98
- "GET",
99
- "/api/v1/auth/stream/#{stream_id}/sink/#{sink_id}/poller/token"
100
- )
101
- ApiTokenOut.deserialize(res)
102
- end
103
-
104
96
  def rotate_stream_poller_token(stream_id, sink_id, rotate_poller_token_in, options = {})
105
97
  options = options.transform_keys(&:to_s)
106
98
  res = @client.execute_request(
@@ -114,5 +106,13 @@ module Svix
114
106
  ApiTokenOut.deserialize(res)
115
107
  end
116
108
 
109
+ def get_stream_poller_token(stream_id, sink_id)
110
+ res = @client.execute_request(
111
+ "GET",
112
+ "/api/v1/auth/stream/#{stream_id}/sink/#{sink_id}/poller/token"
113
+ )
114
+ ApiTokenOut.deserialize(res)
115
+ end
116
+
117
117
  end
118
118
  end
@@ -69,17 +69,24 @@ module Svix
69
69
  EndpointOut.deserialize(res)
70
70
  end
71
71
 
72
- def bulk_replay(app_id, endpoint_id, bulk_replay_in, options = {})
73
- options = options.transform_keys(&:to_s)
72
+ def get_secret(app_id, endpoint_id)
74
73
  res = @client.execute_request(
74
+ "GET",
75
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/secret"
76
+ )
77
+ EndpointSecretOut.deserialize(res)
78
+ end
79
+
80
+ def rotate_secret(app_id, endpoint_id, endpoint_secret_rotate_in, options = {})
81
+ options = options.transform_keys(&:to_s)
82
+ @client.execute_request(
75
83
  "POST",
76
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/bulk-replay",
84
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/secret/rotate",
77
85
  headers: {
78
86
  "idempotency-key" => options["idempotency-key"]
79
87
  },
80
- body: bulk_replay_in
88
+ body: endpoint_secret_rotate_in
81
89
  )
82
- ReplayOut.deserialize(res)
83
90
  end
84
91
 
85
92
  def get_headers(app_id, endpoint_id)
@@ -106,17 +113,20 @@ module Svix
106
113
  )
107
114
  end
108
115
 
109
- def recover(app_id, endpoint_id, recover_in, options = {})
110
- options = options.transform_keys(&:to_s)
116
+ def transformation_get(app_id, endpoint_id)
111
117
  res = @client.execute_request(
112
- "POST",
113
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/recover",
114
- headers: {
115
- "idempotency-key" => options["idempotency-key"]
116
- },
117
- body: recover_in
118
+ "GET",
119
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/transformation"
120
+ )
121
+ EndpointTransformationOut.deserialize(res)
122
+ end
123
+
124
+ def patch_transformation(app_id, endpoint_id, endpoint_transformation_patch)
125
+ @client.execute_request(
126
+ "PATCH",
127
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/transformation",
128
+ body: endpoint_transformation_patch
118
129
  )
119
- RecoverOut.deserialize(res)
120
130
  end
121
131
 
122
132
  def replay_missing(app_id, endpoint_id, replay_in, options = {})
@@ -132,37 +142,17 @@ module Svix
132
142
  ReplayOut.deserialize(res)
133
143
  end
134
144
 
135
- def get_secret(app_id, endpoint_id)
136
- res = @client.execute_request(
137
- "GET",
138
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/secret"
139
- )
140
- EndpointSecretOut.deserialize(res)
141
- end
142
-
143
- def rotate_secret(app_id, endpoint_id, endpoint_secret_rotate_in, options = {})
144
- options = options.transform_keys(&:to_s)
145
- @client.execute_request(
146
- "POST",
147
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/secret/rotate",
148
- headers: {
149
- "idempotency-key" => options["idempotency-key"]
150
- },
151
- body: endpoint_secret_rotate_in
152
- )
153
- end
154
-
155
- def send_example(app_id, endpoint_id, event_example_in, options = {})
145
+ def bulk_replay(app_id, endpoint_id, bulk_replay_in, options = {})
156
146
  options = options.transform_keys(&:to_s)
157
147
  res = @client.execute_request(
158
148
  "POST",
159
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/send-example",
149
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/bulk-replay",
160
150
  headers: {
161
151
  "idempotency-key" => options["idempotency-key"]
162
152
  },
163
- body: event_example_in
153
+ body: bulk_replay_in
164
154
  )
165
- MessageOut.deserialize(res)
155
+ ReplayOut.deserialize(res)
166
156
  end
167
157
 
168
158
  def get_stats(app_id, endpoint_id, options = {})
@@ -178,20 +168,30 @@ module Svix
178
168
  EndpointStats.deserialize(res)
179
169
  end
180
170
 
181
- def transformation_get(app_id, endpoint_id)
171
+ def recover(app_id, endpoint_id, recover_in, options = {})
172
+ options = options.transform_keys(&:to_s)
182
173
  res = @client.execute_request(
183
- "GET",
184
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/transformation"
174
+ "POST",
175
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/recover",
176
+ headers: {
177
+ "idempotency-key" => options["idempotency-key"]
178
+ },
179
+ body: recover_in
185
180
  )
186
- EndpointTransformationOut.deserialize(res)
181
+ RecoverOut.deserialize(res)
187
182
  end
188
183
 
189
- def patch_transformation(app_id, endpoint_id, endpoint_transformation_patch)
190
- @client.execute_request(
191
- "PATCH",
192
- "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/transformation",
193
- body: endpoint_transformation_patch
184
+ def send_example(app_id, endpoint_id, event_example_in, options = {})
185
+ options = options.transform_keys(&:to_s)
186
+ res = @client.execute_request(
187
+ "POST",
188
+ "/api/v1/app/#{app_id}/endpoint/#{endpoint_id}/send-example",
189
+ headers: {
190
+ "idempotency-key" => options["idempotency-key"]
191
+ },
192
+ body: event_example_in
194
193
  )
194
+ MessageOut.deserialize(res)
195
195
  end
196
196
 
197
197
  def transformation_partial_update(app_id, endpoint_id, endpoint_transformation_in)
@@ -60,22 +60,6 @@ module Svix
60
60
  )
61
61
  end
62
62
 
63
- def get_headers(source_id, endpoint_id)
64
- res = @client.execute_request(
65
- "GET",
66
- "/ingest/api/v1/source/#{source_id}/endpoint/#{endpoint_id}/headers"
67
- )
68
- IngestEndpointHeadersOut.deserialize(res)
69
- end
70
-
71
- def update_headers(source_id, endpoint_id, ingest_endpoint_headers_in)
72
- @client.execute_request(
73
- "PUT",
74
- "/ingest/api/v1/source/#{source_id}/endpoint/#{endpoint_id}/headers",
75
- body: ingest_endpoint_headers_in
76
- )
77
- end
78
-
79
63
  def get_secret(source_id, endpoint_id)
80
64
  res = @client.execute_request(
81
65
  "GET",
@@ -96,6 +80,22 @@ module Svix
96
80
  )
97
81
  end
98
82
 
83
+ def get_headers(source_id, endpoint_id)
84
+ res = @client.execute_request(
85
+ "GET",
86
+ "/ingest/api/v1/source/#{source_id}/endpoint/#{endpoint_id}/headers"
87
+ )
88
+ IngestEndpointHeadersOut.deserialize(res)
89
+ end
90
+
91
+ def update_headers(source_id, endpoint_id, ingest_endpoint_headers_in)
92
+ @client.execute_request(
93
+ "PUT",
94
+ "/ingest/api/v1/source/#{source_id}/endpoint/#{endpoint_id}/headers",
95
+ body: ingest_endpoint_headers_in
96
+ )
97
+ end
98
+
99
99
  def get_transformation(source_id, endpoint_id)
100
100
  res = @client.execute_request(
101
101
  "GET",
@@ -60,14 +60,6 @@ module Svix
60
60
  )
61
61
  end
62
62
 
63
- def get_key(app_id, integ_id)
64
- res = @client.execute_request(
65
- "GET",
66
- "/api/v1/app/#{app_id}/integration/#{integ_id}/key"
67
- )
68
- IntegrationKeyOut.deserialize(res)
69
- end
70
-
71
63
  def rotate_key(app_id, integ_id, options = {})
72
64
  options = options.transform_keys(&:to_s)
73
65
  res = @client.execute_request(
@@ -80,5 +72,13 @@ module Svix
80
72
  IntegrationKeyOut.deserialize(res)
81
73
  end
82
74
 
75
+ def get_key(app_id, integ_id)
76
+ res = @client.execute_request(
77
+ "GET",
78
+ "/api/v1/app/#{app_id}/integration/#{integ_id}/key"
79
+ )
80
+ IntegrationKeyOut.deserialize(res)
81
+ end
82
+
83
83
  end
84
84
  end
@@ -74,18 +74,6 @@ module Svix
74
74
  MessageOut.deserialize(res)
75
75
  end
76
76
 
77
- def expunge_all_contents(app_id, options = {})
78
- options = options.transform_keys(&:to_s)
79
- res = @client.execute_request(
80
- "POST",
81
- "/api/v1/app/#{app_id}/msg/expunge-all-contents",
82
- headers: {
83
- "idempotency-key" => options["idempotency-key"]
84
- }
85
- )
86
- ExpungeAllContentsOut.deserialize(res)
87
- end
88
-
89
77
  def precheck(app_id, message_precheck_in, options = {})
90
78
  options = options.transform_keys(&:to_s)
91
79
  res = @client.execute_request(
@@ -118,5 +106,17 @@ module Svix
118
106
  )
119
107
  end
120
108
 
109
+ def expunge_all_contents(app_id, options = {})
110
+ options = options.transform_keys(&:to_s)
111
+ res = @client.execute_request(
112
+ "POST",
113
+ "/api/v1/app/#{app_id}/msg/expunge-all-contents",
114
+ headers: {
115
+ "idempotency-key" => options["idempotency-key"]
116
+ }
117
+ )
118
+ ExpungeAllContentsOut.deserialize(res)
119
+ end
120
+
121
121
  end
122
122
  end
@@ -76,6 +76,19 @@ module Svix
76
76
  ListResponseEndpointMessageOut.deserialize(res)
77
77
  end
78
78
 
79
+ def list_attempted_destinations(app_id, msg_id, options = {})
80
+ options = options.transform_keys(&:to_s)
81
+ res = @client.execute_request(
82
+ "GET",
83
+ "/api/v1/app/#{app_id}/msg/#{msg_id}/endpoint",
84
+ query_params: {
85
+ "limit" => options["limit"],
86
+ "iterator" => options["iterator"]
87
+ }
88
+ )
89
+ ListResponseMessageEndpointOut.deserialize(res)
90
+ end
91
+
79
92
  def get(app_id, msg_id, attempt_id, options = {})
80
93
  options = options.transform_keys(&:to_s)
81
94
  res = @client.execute_request(
@@ -95,19 +108,6 @@ module Svix
95
108
  )
96
109
  end
97
110
 
98
- def list_attempted_destinations(app_id, msg_id, options = {})
99
- options = options.transform_keys(&:to_s)
100
- res = @client.execute_request(
101
- "GET",
102
- "/api/v1/app/#{app_id}/msg/#{msg_id}/endpoint",
103
- query_params: {
104
- "limit" => options["limit"],
105
- "iterator" => options["iterator"]
106
- }
107
- )
108
- ListResponseMessageEndpointOut.deserialize(res)
109
- end
110
-
111
111
  def resend(app_id, msg_id, endpoint_id, options = {})
112
112
  options = options.transform_keys(&:to_s)
113
113
  res = @client.execute_request(
@@ -25,19 +25,6 @@ module Svix
25
25
  PollingEndpointOut.deserialize(res)
26
26
  end
27
27
 
28
- def consumer_poll(app_id, sink_id, consumer_id, options = {})
29
- options = options.transform_keys(&:to_s)
30
- res = @client.execute_request(
31
- "GET",
32
- "/api/v1/app/#{app_id}/poller/#{sink_id}/consumer/#{consumer_id}",
33
- query_params: {
34
- "limit" => options["limit"],
35
- "iterator" => options["iterator"]
36
- }
37
- )
38
- PollingEndpointOut.deserialize(res)
39
- end
40
-
41
28
  def consumer_seek(app_id, sink_id, consumer_id, polling_endpoint_consumer_seek_in, options = {})
42
29
  options = options.transform_keys(&:to_s)
43
30
  res = @client.execute_request(
@@ -51,5 +38,18 @@ module Svix
51
38
  PollingEndpointConsumerSeekOut.deserialize(res)
52
39
  end
53
40
 
41
+ def consumer_poll(app_id, sink_id, consumer_id, options = {})
42
+ options = options.transform_keys(&:to_s)
43
+ res = @client.execute_request(
44
+ "GET",
45
+ "/api/v1/app/#{app_id}/poller/#{sink_id}/consumer/#{consumer_id}",
46
+ query_params: {
47
+ "limit" => options["limit"],
48
+ "iterator" => options["iterator"]
49
+ }
50
+ )
51
+ PollingEndpointOut.deserialize(res)
52
+ end
53
+
54
54
  end
55
55
  end
@@ -60,22 +60,6 @@ module Svix
60
60
  )
61
61
  end
62
62
 
63
- def get_headers(endpoint_id)
64
- res = @client.execute_request(
65
- "GET",
66
- "/api/v1/operational-webhook/endpoint/#{endpoint_id}/headers"
67
- )
68
- OperationalWebhookEndpointHeadersOut.deserialize(res)
69
- end
70
-
71
- def update_headers(endpoint_id, operational_webhook_endpoint_headers_in)
72
- @client.execute_request(
73
- "PUT",
74
- "/api/v1/operational-webhook/endpoint/#{endpoint_id}/headers",
75
- body: operational_webhook_endpoint_headers_in
76
- )
77
- end
78
-
79
63
  def get_secret(endpoint_id)
80
64
  res = @client.execute_request(
81
65
  "GET",
@@ -96,5 +80,21 @@ module Svix
96
80
  )
97
81
  end
98
82
 
83
+ def get_headers(endpoint_id)
84
+ res = @client.execute_request(
85
+ "GET",
86
+ "/api/v1/operational-webhook/endpoint/#{endpoint_id}/headers"
87
+ )
88
+ OperationalWebhookEndpointHeadersOut.deserialize(res)
89
+ end
90
+
91
+ def update_headers(endpoint_id, operational_webhook_endpoint_headers_in)
92
+ @client.execute_request(
93
+ "PUT",
94
+ "/api/v1/operational-webhook/endpoint/#{endpoint_id}/headers",
95
+ body: operational_webhook_endpoint_headers_in
96
+ )
97
+ end
98
+
99
99
  end
100
100
  end
@@ -9,6 +9,14 @@ module Svix
9
9
  @client = client
10
10
  end
11
11
 
12
+ def aggregate_event_types
13
+ res = @client.execute_request(
14
+ "PUT",
15
+ "/api/v1/stats/usage/event-types"
16
+ )
17
+ AggregateEventTypesOut.deserialize(res)
18
+ end
19
+
12
20
  def aggregate_app_stats(app_usage_stats_in, options = {})
13
21
  options = options.transform_keys(&:to_s)
14
22
  res = @client.execute_request(
@@ -22,13 +30,5 @@ module Svix
22
30
  AppUsageStatsOut.deserialize(res)
23
31
  end
24
32
 
25
- def aggregate_event_types
26
- res = @client.execute_request(
27
- "PUT",
28
- "/api/v1/stats/usage/event-types"
29
- )
30
- AggregateEventTypesOut.deserialize(res)
31
- end
32
-
33
33
  end
34
34
  end
@@ -17,6 +17,14 @@ module Svix
17
17
  @stream = StreamingStream.new(client)
18
18
  end
19
19
 
20
+ def sink_transformation_get(stream_id, sink_id)
21
+ res = @client.execute_request(
22
+ "GET",
23
+ "/api/v1/stream/#{stream_id}/sink/#{sink_id}/transformation"
24
+ )
25
+ SinkTransformationOut.deserialize(res)
26
+ end
27
+
20
28
  def sink_headers_get(stream_id, sink_id)
21
29
  res = @client.execute_request(
22
30
  "GET",
@@ -34,13 +42,5 @@ module Svix
34
42
  EndpointHeadersOut.deserialize(res)
35
43
  end
36
44
 
37
- def sink_transformation_get(stream_id, sink_id)
38
- res = @client.execute_request(
39
- "GET",
40
- "/api/v1/stream/#{stream_id}/sink/#{sink_id}/transformation"
41
- )
42
- SinkTransformationOut.deserialize(res)
43
- end
44
-
45
45
  end
46
46
  end
@@ -9,19 +9,6 @@ module Svix
9
9
  @client = client
10
10
  end
11
11
 
12
- def create(stream_id, create_stream_events_in, options = {})
13
- options = options.transform_keys(&:to_s)
14
- res = @client.execute_request(
15
- "POST",
16
- "/api/v1/stream/#{stream_id}/events",
17
- headers: {
18
- "idempotency-key" => options["idempotency-key"]
19
- },
20
- body: create_stream_events_in
21
- )
22
- CreateStreamEventsOut.deserialize(res)
23
- end
24
-
25
12
  def get(stream_id, sink_id, options = {})
26
13
  options = options.transform_keys(&:to_s)
27
14
  res = @client.execute_request(
@@ -36,5 +23,18 @@ module Svix
36
23
  EventStreamOut.deserialize(res)
37
24
  end
38
25
 
26
+ def create(stream_id, create_stream_events_in, options = {})
27
+ options = options.transform_keys(&:to_s)
28
+ res = @client.execute_request(
29
+ "POST",
30
+ "/api/v1/stream/#{stream_id}/events",
31
+ headers: {
32
+ "idempotency-key" => options["idempotency-key"]
33
+ },
34
+ body: create_stream_events_in
35
+ )
36
+ CreateStreamEventsOut.deserialize(res)
37
+ end
38
+
39
39
  end
40
40
  end
@@ -69,6 +69,15 @@ module Svix
69
69
  StreamSinkOut.deserialize(res)
70
70
  end
71
71
 
72
+ def transformation_partial_update(stream_id, sink_id, sink_transform_in)
73
+ res = @client.execute_request(
74
+ "PATCH",
75
+ "/api/v1/stream/#{stream_id}/sink/#{sink_id}/transformation",
76
+ body: sink_transform_in
77
+ )
78
+ EmptyResponse.deserialize(res)
79
+ end
80
+
72
81
  def get_secret(stream_id, sink_id)
73
82
  res = @client.execute_request(
74
83
  "GET",
@@ -90,14 +99,5 @@ module Svix
90
99
  EmptyResponse.deserialize(res)
91
100
  end
92
101
 
93
- def transformation_partial_update(stream_id, sink_id, sink_transform_in)
94
- res = @client.execute_request(
95
- "PATCH",
96
- "/api/v1/stream/#{stream_id}/sink/#{sink_id}/transformation",
97
- body: sink_transform_in
98
- )
99
- EmptyResponse.deserialize(res)
100
- end
101
-
102
102
  end
103
103
  end
@@ -4,13 +4,17 @@ require "json"
4
4
 
5
5
  module Svix
6
6
  class EndpointSecretRotateIn
7
+ # How long the old secret will be valid for, in seconds.
8
+ #
9
+ # Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.
10
+ attr_accessor :grace_period_seconds
7
11
  # The endpoint's verification secret.
8
12
  #
9
13
  # Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
10
14
  # It is recommended to not set this and let the server generate the secret.
11
15
  attr_accessor :key
12
16
 
13
- ALL_FIELD ||= ["key"].freeze
17
+ ALL_FIELD ||= ["grace_period_seconds", "key"].freeze
14
18
  private_constant :ALL_FIELD
15
19
 
16
20
  def initialize(attributes = {})
@@ -34,12 +38,14 @@ module Svix
34
38
  def self.deserialize(attributes = {})
35
39
  attributes = attributes.transform_keys(&:to_s)
36
40
  attrs = Hash.new
41
+ attrs["grace_period_seconds"] = attributes["gracePeriodSeconds"]
37
42
  attrs["key"] = attributes["key"]
38
43
  new(attrs)
39
44
  end
40
45
 
41
46
  def serialize
42
47
  out = Hash.new
48
+ out["gracePeriodSeconds"] = Svix::serialize_primitive(@grace_period_seconds) if @grace_period_seconds
43
49
  out["key"] = Svix::serialize_primitive(@key) if @key
44
50
  out
45
51
  end
@@ -7,17 +7,22 @@ module Svix
7
7
  attr_accessor :description
8
8
  attr_accessor :disabled
9
9
  attr_accessor :metadata
10
+ # Deprecated, use `throttleRate` instead.
10
11
  attr_accessor :rate_limit
11
12
  # The endpoint's verification secret.
12
13
  #
13
14
  # Format: `base64` encoded random bytes optionally prefixed with `whsec_`.
14
15
  # It is recommended to not set this and let the server generate the secret.
15
16
  attr_accessor :secret
17
+ # Maximum messages per second to send to this endpoint.
18
+ #
19
+ # Outgoing messages will be throttled to this rate.
20
+ attr_accessor :throttle_rate
16
21
  # Optional unique identifier for the endpoint.
17
22
  attr_accessor :uid
18
23
  attr_accessor :url
19
24
 
20
- ALL_FIELD ||= ["description", "disabled", "metadata", "rate_limit", "secret", "uid", "url"].freeze
25
+ ALL_FIELD ||= ["description", "disabled", "metadata", "rate_limit", "secret", "throttle_rate", "uid", "url"].freeze
21
26
  private_constant :ALL_FIELD
22
27
 
23
28
  def initialize(attributes = {})
@@ -43,6 +48,7 @@ module Svix
43
48
  attrs["metadata"] = attributes["metadata"]
44
49
  attrs["rate_limit"] = attributes["rateLimit"]
45
50
  attrs["secret"] = attributes["secret"]
51
+ attrs["throttle_rate"] = attributes["throttleRate"]
46
52
  attrs["uid"] = attributes["uid"]
47
53
  attrs["url"] = attributes["url"]
48
54
  new(attrs)
@@ -55,6 +61,7 @@ module Svix
55
61
  out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
56
62
  out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @rate_limit
57
63
  out["secret"] = Svix::serialize_primitive(@secret) if @secret
64
+ out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
58
65
  out["uid"] = Svix::serialize_primitive(@uid) if @uid
59
66
  out["url"] = Svix::serialize_primitive(@url) if @url
60
67
  out
@@ -11,13 +11,29 @@ module Svix
11
11
  # The Endpoint's ID.
12
12
  attr_accessor :id
13
13
  attr_accessor :metadata
14
+ # Deprecated, use `throttleRate` instead.
14
15
  attr_accessor :rate_limit
16
+ # Maximum messages per second to send to this endpoint.
17
+ #
18
+ # Outgoing messages will be throttled to this rate.
19
+ attr_accessor :throttle_rate
15
20
  # Optional unique identifier for the endpoint.
16
21
  attr_accessor :uid
17
22
  attr_accessor :updated_at
18
23
  attr_accessor :url
19
24
 
20
- ALL_FIELD ||= ["created_at", "description", "disabled", "id", "metadata", "rate_limit", "uid", "updated_at", "url"].freeze
25
+ ALL_FIELD ||= [
26
+ "created_at",
27
+ "description",
28
+ "disabled",
29
+ "id",
30
+ "metadata",
31
+ "rate_limit",
32
+ "throttle_rate",
33
+ "uid",
34
+ "updated_at",
35
+ "url"
36
+ ].freeze
21
37
  private_constant :ALL_FIELD
22
38
 
23
39
  def initialize(attributes = {})
@@ -44,6 +60,7 @@ module Svix
44
60
  attrs["id"] = attributes["id"]
45
61
  attrs["metadata"] = attributes["metadata"]
46
62
  attrs["rate_limit"] = attributes["rateLimit"]
63
+ attrs["throttle_rate"] = attributes["throttleRate"]
47
64
  attrs["uid"] = attributes["uid"]
48
65
  attrs["updated_at"] = DateTime.rfc3339(attributes["updatedAt"]).to_time
49
66
  attrs["url"] = attributes["url"]
@@ -58,6 +75,7 @@ module Svix
58
75
  out["id"] = Svix::serialize_primitive(@id) if @id
59
76
  out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
60
77
  out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @rate_limit
78
+ out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
61
79
  out["uid"] = Svix::serialize_primitive(@uid) if @uid
62
80
  out["updatedAt"] = Svix::serialize_primitive(@updated_at) if @updated_at
63
81
  out["url"] = Svix::serialize_primitive(@url) if @url
@@ -7,12 +7,17 @@ module Svix
7
7
  attr_accessor :description
8
8
  attr_accessor :disabled
9
9
  attr_accessor :metadata
10
+ # Deprecated, use `throttleRate` instead.
10
11
  attr_accessor :rate_limit
12
+ # Maximum messages per second to send to this endpoint.
13
+ #
14
+ # Outgoing messages will be throttled to this rate.
15
+ attr_accessor :throttle_rate
11
16
  # Optional unique identifier for the endpoint.
12
17
  attr_accessor :uid
13
18
  attr_accessor :url
14
19
 
15
- ALL_FIELD ||= ["description", "disabled", "metadata", "rate_limit", "uid", "url"].freeze
20
+ ALL_FIELD ||= ["description", "disabled", "metadata", "rate_limit", "throttle_rate", "uid", "url"].freeze
16
21
  private_constant :ALL_FIELD
17
22
 
18
23
  def initialize(attributes = {})
@@ -37,6 +42,7 @@ module Svix
37
42
  attrs["disabled"] = attributes["disabled"]
38
43
  attrs["metadata"] = attributes["metadata"]
39
44
  attrs["rate_limit"] = attributes["rateLimit"]
45
+ attrs["throttle_rate"] = attributes["throttleRate"]
40
46
  attrs["uid"] = attributes["uid"]
41
47
  attrs["url"] = attributes["url"]
42
48
  new(attrs)
@@ -48,6 +54,7 @@ module Svix
48
54
  out["disabled"] = Svix::serialize_primitive(@disabled) if @disabled
49
55
  out["metadata"] = Svix::serialize_primitive(@metadata) if @metadata
50
56
  out["rateLimit"] = Svix::serialize_primitive(@rate_limit) if @rate_limit
57
+ out["throttleRate"] = Svix::serialize_primitive(@throttle_rate) if @throttle_rate
51
58
  out["uid"] = Svix::serialize_primitive(@uid) if @uid
52
59
  out["url"] = Svix::serialize_primitive(@url) if @url
53
60
  out
@@ -11,6 +11,8 @@ require_relative "./easypost_config"
11
11
  require_relative "./github_config"
12
12
  require_relative "./hubspot_config"
13
13
  require_relative "./meta_config"
14
+ require_relative "./nango_config"
15
+ require_relative "./open_claw_config"
14
16
  require_relative "./orum_io_config"
15
17
  require_relative "./panda_doc_config"
16
18
  require_relative "./port_io_config"
@@ -87,9 +89,15 @@ module Svix
87
89
  class Meta < MetaConfig
88
90
  end
89
91
 
92
+ class Nango < NangoConfig
93
+ end
94
+
90
95
  class Nash < SvixConfig
91
96
  end
92
97
 
98
+ class Openclaw < OpenClawConfig
99
+ end
100
+
93
101
  class OrumIo < OrumIoConfig
94
102
  end
95
103
 
@@ -191,7 +199,9 @@ module Svix
191
199
  IngestSourceInConfig::IncidentIo => "incident-io",
192
200
  IngestSourceInConfig::Lithic => "lithic",
193
201
  IngestSourceInConfig::Meta => "meta",
202
+ IngestSourceInConfig::Nango => "nango",
194
203
  IngestSourceInConfig::Nash => "nash",
204
+ IngestSourceInConfig::Openclaw => "openclaw",
195
205
  IngestSourceInConfig::OrumIo => "orum-io",
196
206
  IngestSourceInConfig::PandaDoc => "panda-doc",
197
207
  IngestSourceInConfig::PortIo => "port-io",
@@ -11,6 +11,8 @@ require_relative "./easypost_config_out"
11
11
  require_relative "./github_config_out"
12
12
  require_relative "./hubspot_config_out"
13
13
  require_relative "./meta_config_out"
14
+ require_relative "./nango_config_out"
15
+ require_relative "./open_claw_config_out"
14
16
  require_relative "./orum_io_config_out"
15
17
  require_relative "./panda_doc_config_out"
16
18
  require_relative "./port_io_config_out"
@@ -87,9 +89,15 @@ module Svix
87
89
  class Meta < MetaConfigOut
88
90
  end
89
91
 
92
+ class Nango < NangoConfigOut
93
+ end
94
+
90
95
  class Nash < SvixConfigOut
91
96
  end
92
97
 
98
+ class Openclaw < OpenClawConfigOut
99
+ end
100
+
93
101
  class OrumIo < OrumIoConfigOut
94
102
  end
95
103
 
@@ -196,7 +204,9 @@ module Svix
196
204
  IngestSourceOutConfig::IncidentIo => "incident-io",
197
205
  IngestSourceOutConfig::Lithic => "lithic",
198
206
  IngestSourceOutConfig::Meta => "meta",
207
+ IngestSourceOutConfig::Nango => "nango",
199
208
  IngestSourceOutConfig::Nash => "nash",
209
+ IngestSourceOutConfig::Openclaw => "openclaw",
200
210
  IngestSourceOutConfig::OrumIo => "orum-io",
201
211
  IngestSourceOutConfig::PandaDoc => "panda-doc",
202
212
  IngestSourceOutConfig::PortIo => "port-io",
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module Svix
6
+ class NangoConfig
7
+ attr_accessor :secret
8
+
9
+ ALL_FIELD ||= ["secret"].freeze
10
+ private_constant :ALL_FIELD
11
+
12
+ def initialize(attributes = {})
13
+ unless attributes.is_a?(Hash)
14
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::NangoConfig` new method")
15
+ end
16
+
17
+ attributes.each do |k, v|
18
+ unless ALL_FIELD.include?(k.to_s)
19
+ fail(ArgumentError, "The field #{k} is not part of Svix::NangoConfig")
20
+ end
21
+
22
+ instance_variable_set("@#{k}", v)
23
+ instance_variable_set("@__#{k}_is_defined", true)
24
+ end
25
+ end
26
+
27
+ def self.deserialize(attributes = {})
28
+ attributes = attributes.transform_keys(&:to_s)
29
+ attrs = Hash.new
30
+ attrs["secret"] = attributes["secret"]
31
+ new(attrs)
32
+ end
33
+
34
+ def serialize
35
+ out = Hash.new
36
+ out["secret"] = Svix::serialize_primitive(@secret) if @secret
37
+ out
38
+ end
39
+
40
+ # Serializes the object to a json string
41
+ # @return String
42
+ def to_json
43
+ JSON.dump(serialize)
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module Svix
6
+ class NangoConfigOut
7
+
8
+ ALL_FIELD ||= [].freeze
9
+ private_constant :ALL_FIELD
10
+
11
+ def initialize(attributes = {})
12
+ unless attributes.is_a?(Hash)
13
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::NangoConfigOut` new method")
14
+ end
15
+
16
+ attributes.each do |k, v|
17
+ unless ALL_FIELD.include?(k.to_s)
18
+ fail(ArgumentError, "The field #{k} is not part of Svix::NangoConfigOut")
19
+ end
20
+
21
+ instance_variable_set("@#{k}", v)
22
+ instance_variable_set("@__#{k}_is_defined", true)
23
+ end
24
+ end
25
+
26
+ def self.deserialize(attributes = {})
27
+ attributes = attributes.transform_keys(&:to_s)
28
+ attrs = Hash.new
29
+ new(attrs)
30
+ end
31
+
32
+ def serialize
33
+ out = Hash.new
34
+ out
35
+ end
36
+
37
+ # Serializes the object to a json string
38
+ # @return String
39
+ def to_json
40
+ JSON.dump(serialize)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module Svix
6
+ class OpenClawConfig
7
+ attr_accessor :secret
8
+
9
+ ALL_FIELD ||= ["secret"].freeze
10
+ private_constant :ALL_FIELD
11
+
12
+ def initialize(attributes = {})
13
+ unless attributes.is_a?(Hash)
14
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::OpenClawConfig` new method")
15
+ end
16
+
17
+ attributes.each do |k, v|
18
+ unless ALL_FIELD.include?(k.to_s)
19
+ fail(ArgumentError, "The field #{k} is not part of Svix::OpenClawConfig")
20
+ end
21
+
22
+ instance_variable_set("@#{k}", v)
23
+ instance_variable_set("@__#{k}_is_defined", true)
24
+ end
25
+ end
26
+
27
+ def self.deserialize(attributes = {})
28
+ attributes = attributes.transform_keys(&:to_s)
29
+ attrs = Hash.new
30
+ attrs["secret"] = attributes["secret"]
31
+ new(attrs)
32
+ end
33
+
34
+ def serialize
35
+ out = Hash.new
36
+ out["secret"] = Svix::serialize_primitive(@secret) if @secret
37
+ out
38
+ end
39
+
40
+ # Serializes the object to a json string
41
+ # @return String
42
+ def to_json
43
+ JSON.dump(serialize)
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+ # This file is @generated
3
+ require "json"
4
+
5
+ module Svix
6
+ class OpenClawConfigOut
7
+
8
+ ALL_FIELD ||= [].freeze
9
+ private_constant :ALL_FIELD
10
+
11
+ def initialize(attributes = {})
12
+ unless attributes.is_a?(Hash)
13
+ fail(ArgumentError, "The input argument (attributes) must be a hash in `Svix::OpenClawConfigOut` new method")
14
+ end
15
+
16
+ attributes.each do |k, v|
17
+ unless ALL_FIELD.include?(k.to_s)
18
+ fail(ArgumentError, "The field #{k} is not part of Svix::OpenClawConfigOut")
19
+ end
20
+
21
+ instance_variable_set("@#{k}", v)
22
+ instance_variable_set("@__#{k}_is_defined", true)
23
+ end
24
+ end
25
+
26
+ def self.deserialize(attributes = {})
27
+ attributes = attributes.transform_keys(&:to_s)
28
+ attrs = Hash.new
29
+ new(attrs)
30
+ end
31
+
32
+ def serialize
33
+ out = Hash.new
34
+ out
35
+ end
36
+
37
+ # Serializes the object to a json string
38
+ # @return String
39
+ def to_json
40
+ JSON.dump(serialize)
41
+ end
42
+ end
43
+ end
data/lib/svix/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Svix
4
- VERSION = "1.96.1"
4
+ VERSION = "1.97.0"
5
5
  end
data/lib/svix.rb CHANGED
@@ -191,6 +191,10 @@ require "svix/models/message_status"
191
191
  require "svix/models/message_status_text"
192
192
  require "svix/models/meta_config"
193
193
  require "svix/models/meta_config_out"
194
+ require "svix/models/nango_config"
195
+ require "svix/models/nango_config_out"
196
+ require "svix/models/open_claw_config"
197
+ require "svix/models/open_claw_config_out"
194
198
  require "svix/models/operational_webhook_endpoint_headers_in"
195
199
  require "svix/models/operational_webhook_endpoint_headers_out"
196
200
  require "svix/models/operational_webhook_endpoint_in"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: svix
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.96.1
4
+ version: 1.97.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Svix
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-06-25 00:00:00.000000000 Z
10
+ date: 2026-07-15 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: base64
@@ -284,6 +284,10 @@ files:
284
284
  - lib/svix/models/message_status_text.rb
285
285
  - lib/svix/models/meta_config.rb
286
286
  - lib/svix/models/meta_config_out.rb
287
+ - lib/svix/models/nango_config.rb
288
+ - lib/svix/models/nango_config_out.rb
289
+ - lib/svix/models/open_claw_config.rb
290
+ - lib/svix/models/open_claw_config_out.rb
287
291
  - lib/svix/models/operational_webhook_endpoint_headers_in.rb
288
292
  - lib/svix/models/operational_webhook_endpoint_headers_out.rb
289
293
  - lib/svix/models/operational_webhook_endpoint_in.rb