svix 0.83.1 → 0.84.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/svix/api/application_api.rb +251 -181
- data/lib/svix/api/authentication_api.rb +84 -152
- data/lib/svix/api/background_tasks_api.rb +165 -0
- data/lib/svix/api/endpoint_api.rb +591 -511
- data/lib/svix/api/environment_api.rb +15 -15
- data/lib/svix/api/environment_settings_api.rb +7 -10
- data/lib/svix/api/event_type_api.rb +160 -85
- data/lib/svix/api/health_api.rb +7 -10
- data/lib/svix/api/integration_api.rb +136 -143
- data/lib/svix/api/message_api.rb +103 -105
- data/lib/svix/api/message_attempt_api.rb +419 -419
- data/lib/svix/api/statistics_api.rb +110 -48
- data/lib/svix/api_client.rb +1 -1
- data/lib/svix/api_error.rb +1 -1
- data/lib/svix/application_api.rb +22 -22
- data/lib/svix/authentication_api.rb +3 -3
- data/lib/svix/configuration.rb +2 -1
- data/lib/svix/endpoint_api.rb +16 -16
- data/lib/svix/event_type_api.rb +19 -19
- data/lib/svix/integration_api.rb +26 -26
- data/lib/svix/message_api.rb +4 -4
- data/lib/svix/message_attempt_api.rb +8 -8
- data/lib/svix/models/app_portal_access_in.rb +2 -1
- data/lib/svix/models/app_portal_access_out.rb +1 -1
- data/lib/svix/models/app_usage_stats_in.rb +255 -0
- data/lib/svix/models/app_usage_stats_out.rb +251 -0
- data/lib/svix/models/application_in.rb +35 -2
- data/lib/svix/models/application_out.rb +23 -3
- data/lib/svix/models/application_patch.rb +300 -0
- data/lib/svix/models/application_stats.rb +3 -2
- data/lib/svix/models/application_token_expire_in.rb +1 -1
- data/lib/svix/models/attempt_statistics_data.rb +1 -1
- data/lib/svix/models/attempt_statistics_response.rb +1 -1
- data/lib/svix/models/{webhook_types.rb → background_task_out.rb} +41 -70
- data/lib/svix/models/background_task_status.rb +38 -0
- data/lib/svix/models/background_task_type.rb +38 -0
- data/lib/svix/models/border_radius_config.rb +1 -1
- data/lib/svix/models/border_radius_enum.rb +1 -1
- data/lib/svix/models/custom_color_palette.rb +1 -1
- data/lib/svix/models/custom_theme_override.rb +1 -1
- data/lib/svix/models/dashboard_access_out.rb +1 -1
- data/lib/svix/models/endpoint_created_event.rb +6 -1
- data/lib/svix/models/endpoint_created_event_data.rb +5 -3
- data/lib/svix/models/endpoint_deleted_event.rb +6 -1
- data/lib/svix/models/endpoint_deleted_event_data.rb +5 -3
- data/lib/svix/models/endpoint_disabled_event.rb +6 -1
- data/lib/svix/models/endpoint_disabled_event_data.rb +6 -3
- data/lib/svix/models/endpoint_headers_in.rb +1 -1
- data/lib/svix/models/endpoint_headers_out.rb +1 -1
- data/lib/svix/models/endpoint_headers_patch_in.rb +1 -1
- data/lib/svix/models/endpoint_in.rb +20 -11
- data/lib/svix/models/endpoint_message_out.rb +4 -1
- data/lib/svix/models/endpoint_out.rb +35 -16
- data/lib/svix/models/endpoint_patch.rb +406 -0
- data/lib/svix/models/endpoint_secret_out.rb +1 -1
- data/lib/svix/models/endpoint_secret_rotate_in.rb +3 -1
- data/lib/svix/models/endpoint_stats.rb +1 -1
- data/lib/svix/models/endpoint_transformation_in.rb +1 -3
- data/lib/svix/models/endpoint_transformation_out.rb +1 -1
- data/lib/svix/models/endpoint_transformation_simulate_in.rb +8 -1
- data/lib/svix/models/endpoint_transformation_simulate_out.rb +1 -1
- data/lib/svix/models/endpoint_update.rb +20 -11
- data/lib/svix/models/endpoint_updated_event.rb +6 -1
- data/lib/svix/models/endpoint_updated_event_data.rb +5 -3
- data/lib/svix/models/environment_in.rb +1 -1
- data/lib/svix/models/environment_out.rb +1 -1
- data/lib/svix/models/environment_settings_out.rb +1 -1
- data/lib/svix/models/event_example_in.rb +2 -1
- data/lib/svix/models/event_type_example_out.rb +5 -3
- data/lib/svix/models/event_type_in.rb +2 -1
- data/lib/svix/models/event_type_out.rb +2 -1
- data/lib/svix/models/event_type_patch.rb +275 -0
- data/lib/svix/models/event_type_schema_in.rb +1 -2
- data/lib/svix/models/event_type_update.rb +1 -1
- data/lib/svix/models/font_size_config.rb +1 -1
- data/lib/svix/models/http_error_out.rb +1 -1
- data/lib/svix/models/http_validation_error.rb +6 -1
- data/lib/svix/models/integration_in.rb +1 -1
- data/lib/svix/models/integration_key_out.rb +1 -1
- data/lib/svix/models/integration_out.rb +2 -1
- data/lib/svix/models/integration_update.rb +1 -1
- data/lib/svix/models/list_response_application_out.rb +1 -1
- data/lib/svix/models/list_response_application_stats.rb +16 -6
- data/lib/svix/models/list_response_background_task_out.rb +259 -0
- data/lib/svix/models/list_response_endpoint_message_out.rb +1 -1
- data/lib/svix/models/list_response_endpoint_out.rb +1 -1
- data/lib/svix/models/list_response_event_type_out.rb +1 -1
- data/lib/svix/models/list_response_integration_out.rb +16 -6
- data/lib/svix/models/list_response_message_attempt_endpoint_out.rb +1 -1
- data/lib/svix/models/list_response_message_attempt_out.rb +1 -1
- data/lib/svix/models/list_response_message_endpoint_out.rb +16 -6
- data/lib/svix/models/list_response_message_out.rb +1 -1
- data/lib/svix/models/message_attempt_endpoint_out.rb +4 -1
- data/lib/svix/models/message_attempt_exhausted_event.rb +6 -1
- data/lib/svix/models/message_attempt_exhausted_event_data.rb +7 -3
- data/lib/svix/models/message_attempt_failed_data.rb +2 -1
- data/lib/svix/models/message_attempt_failing_event.rb +6 -1
- data/lib/svix/models/message_attempt_failing_event_data.rb +7 -3
- data/lib/svix/models/message_attempt_headers_out.rb +28 -2
- data/lib/svix/models/message_attempt_out.rb +4 -1
- data/lib/svix/models/message_attempt_trigger_type.rb +1 -1
- data/lib/svix/models/message_endpoint_out.rb +47 -30
- data/lib/svix/models/message_in.rb +2 -2
- data/lib/svix/models/message_out.rb +3 -1
- data/lib/svix/models/message_status.rb +1 -1
- data/lib/svix/models/ordering.rb +1 -1
- data/lib/svix/models/recover_in.rb +1 -1
- data/lib/svix/models/{one_time_token_out.rb → recover_out.rb} +42 -14
- data/lib/svix/models/replay_in.rb +1 -1
- data/lib/svix/models/{one_time_token_in.rb → replay_out.rb} +42 -14
- data/lib/svix/models/settings_in.rb +1 -1
- data/lib/svix/models/settings_out.rb +1 -1
- data/lib/svix/models/statistics_period.rb +1 -1
- data/lib/svix/models/status_code_class.rb +1 -1
- data/lib/svix/models/transformation_http_method.rb +2 -2
- data/lib/svix/models/validation_error.rb +5 -1
- data/lib/svix/version.rb +1 -1
- metadata +14 -5
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
#Welcome to the Svix API documentation! Useful links: [Homepage](https://www.svix.com) | [Support email](mailto:support+docs@svix.com) | [Blog](https://www.svix.com/blog/) | [Slack Community](https://www.svix.com/slack/) # Introduction This is the reference documentation and schemas for the [Svix webhook service](https://www.svix.com) API. For tutorials and other documentation please refer to [the documentation](https://docs.svix.com). ## Main concepts In Svix you have four important entities you will be interacting with: - `messages`: these are the webhooks being sent. They can have contents and a few other properties. - `application`: this is where `messages` are sent to. Usually you want to create one application for each user on your platform. - `endpoint`: endpoints are the URLs messages will be sent to. Each application can have multiple `endpoints` and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type). - `event-type`: event types are identifiers denoting the type of the message being sent. Event types are primarily used to decide which events are sent to which endpoint. ## Authentication Get your authentication token (`AUTH_TOKEN`) from the [Svix dashboard](https://dashboard.svix.com) and use it as part of the `Authorization` header as such: `Authorization: Bearer ${AUTH_TOKEN}`. <SecurityDefinitions /> ## Code samples The code samples assume you already have the respective libraries installed and you know how to use them. For the latest information on how to do that, please refer to [the documentation](https://docs.svix.com/). ## Idempotency Svix supports [idempotency](https://en.wikipedia.org/wiki/Idempotence) for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. To perform an idempotent request, pass the idempotency key in the `Idempotency-Key` header to the request. The idempotency key should be a unique value generated by the client. You can create the key in however way you like, though we suggest using UUID v4, or any other string with enough entropy to avoid collisions. Svix's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key for any successful request. Subsequent requests with the same key return the same result. Please note that idempotency is only supported for `POST` requests. ## Cross-Origin Resource Sharing This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.4
|
6
|
+
The version of the OpenAPI document: 1.4.1
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
9
|
OpenAPI Generator version: 5.2.0
|
@@ -19,46 +19,112 @@ module Svix
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
20
20
|
@api_client = api_client
|
21
21
|
end
|
22
|
+
# Calculate Aggregate App Stats
|
23
|
+
# Creates a background task to calculate the message destinations for all applications in the environment.
|
24
|
+
# @param app_usage_stats_in [AppUsageStatsIn]
|
25
|
+
# @param [Hash] opts the optional parameters
|
26
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
27
|
+
# @return [AppUsageStatsOut]
|
28
|
+
def calculate_aggregate_app_stats(app_usage_stats_in, opts = {})
|
29
|
+
data, _status_code, _headers = calculate_aggregate_app_stats_with_http_info(app_usage_stats_in, opts)
|
30
|
+
data
|
31
|
+
end
|
32
|
+
|
33
|
+
# Calculate Aggregate App Stats
|
34
|
+
# Creates a background task to calculate the message destinations for all applications in the environment.
|
35
|
+
# @param app_usage_stats_in [AppUsageStatsIn]
|
36
|
+
# @param [Hash] opts the optional parameters
|
37
|
+
# @option opts [String] :idempotency_key The request's idempotency key
|
38
|
+
# @return [Array<(AppUsageStatsOut, Integer, Hash)>] AppUsageStatsOut data, response status code and response headers
|
39
|
+
def calculate_aggregate_app_stats_with_http_info(app_usage_stats_in, opts = {})
|
40
|
+
if @api_client.config.debugging
|
41
|
+
@api_client.config.logger.debug 'Calling API: StatisticsApi.calculate_aggregate_app_stats ...'
|
42
|
+
end
|
43
|
+
# verify the required parameter 'app_usage_stats_in' is set
|
44
|
+
if @api_client.config.client_side_validation && app_usage_stats_in.nil?
|
45
|
+
fail ArgumentError, "Missing the required parameter 'app_usage_stats_in' when calling StatisticsApi.calculate_aggregate_app_stats"
|
46
|
+
end
|
47
|
+
# resource path
|
48
|
+
local_var_path = '/api/v1/stats/usage/app/'
|
49
|
+
|
50
|
+
# query parameters
|
51
|
+
query_params = opts[:query_params] || {}
|
52
|
+
|
53
|
+
# header parameters
|
54
|
+
header_params = opts[:header_params] || {}
|
55
|
+
# HTTP header 'Accept' (if needed)
|
56
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
57
|
+
# HTTP header 'Content-Type'
|
58
|
+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
59
|
+
header_params[:'idempotency-key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
60
|
+
|
61
|
+
# form parameters
|
62
|
+
form_params = opts[:form_params] || {}
|
63
|
+
|
64
|
+
# http body (model)
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(app_usage_stats_in)
|
66
|
+
|
67
|
+
# return_type
|
68
|
+
return_type = opts[:debug_return_type] || 'AppUsageStatsOut'
|
69
|
+
|
70
|
+
# auth_names
|
71
|
+
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
72
|
+
|
73
|
+
new_options = opts.merge(
|
74
|
+
:operation => :"StatisticsApi.calculate_aggregate_app_stats",
|
75
|
+
:header_params => header_params,
|
76
|
+
:query_params => query_params,
|
77
|
+
:form_params => form_params,
|
78
|
+
:body => post_body,
|
79
|
+
:auth_names => auth_names,
|
80
|
+
:return_type => return_type
|
81
|
+
)
|
82
|
+
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
84
|
+
if @api_client.config.debugging
|
85
|
+
@api_client.config.logger.debug "API called: StatisticsApi#calculate_aggregate_app_stats\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
86
|
+
end
|
87
|
+
return data, status_code, headers
|
88
|
+
end
|
89
|
+
|
22
90
|
# Get App Attempt Stats
|
23
91
|
# Returns application-level statistics on message attempts
|
24
|
-
# @param app_id [String]
|
92
|
+
# @param app_id [String] The app's ID or UID
|
25
93
|
# @param [Hash] opts the optional parameters
|
26
94
|
# @option opts [Time] :start_date
|
27
95
|
# @option opts [Time] :end_date
|
28
|
-
# @option opts [String] :idempotency_key The request's idempotency key
|
29
96
|
# @return [AttemptStatisticsResponse]
|
30
|
-
def
|
31
|
-
data, _status_code, _headers =
|
97
|
+
def v1_stats_app_attempts(app_id, opts = {})
|
98
|
+
data, _status_code, _headers = v1_stats_app_attempts_with_http_info(app_id, opts)
|
32
99
|
data
|
33
100
|
end
|
34
101
|
|
35
102
|
# Get App Attempt Stats
|
36
103
|
# Returns application-level statistics on message attempts
|
37
|
-
# @param app_id [String]
|
104
|
+
# @param app_id [String] The app's ID or UID
|
38
105
|
# @param [Hash] opts the optional parameters
|
39
106
|
# @option opts [Time] :start_date
|
40
107
|
# @option opts [Time] :end_date
|
41
|
-
# @option opts [String] :idempotency_key The request's idempotency key
|
42
108
|
# @return [Array<(AttemptStatisticsResponse, Integer, Hash)>] AttemptStatisticsResponse data, response status code and response headers
|
43
|
-
def
|
109
|
+
def v1_stats_app_attempts_with_http_info(app_id, opts = {})
|
44
110
|
if @api_client.config.debugging
|
45
|
-
@api_client.config.logger.debug 'Calling API: StatisticsApi.
|
111
|
+
@api_client.config.logger.debug 'Calling API: StatisticsApi.v1_stats_app_attempts ...'
|
46
112
|
end
|
47
113
|
# verify the required parameter 'app_id' is set
|
48
114
|
if @api_client.config.client_side_validation && app_id.nil?
|
49
|
-
fail ArgumentError, "Missing the required parameter 'app_id' when calling StatisticsApi.
|
115
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling StatisticsApi.v1_stats_app_attempts"
|
50
116
|
end
|
51
117
|
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
52
|
-
fail ArgumentError, 'invalid value for "app_id" when calling StatisticsApi.
|
118
|
+
fail ArgumentError, 'invalid value for "app_id" when calling StatisticsApi.v1_stats_app_attempts, the character length must be smaller than or equal to 256.'
|
53
119
|
end
|
54
120
|
|
55
121
|
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
56
|
-
fail ArgumentError, 'invalid value for "app_id" when calling StatisticsApi.
|
122
|
+
fail ArgumentError, 'invalid value for "app_id" when calling StatisticsApi.v1_stats_app_attempts, the character length must be great than or equal to 1.'
|
57
123
|
end
|
58
124
|
|
59
125
|
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
60
126
|
if @api_client.config.client_side_validation && app_id !~ pattern
|
61
|
-
fail ArgumentError, "invalid value for 'app_id' when calling StatisticsApi.
|
127
|
+
fail ArgumentError, "invalid value for 'app_id' when calling StatisticsApi.v1_stats_app_attempts, must conform to the pattern #{pattern}."
|
62
128
|
end
|
63
129
|
|
64
130
|
# resource path
|
@@ -73,7 +139,6 @@ module Svix
|
|
73
139
|
header_params = opts[:header_params] || {}
|
74
140
|
# HTTP header 'Accept' (if needed)
|
75
141
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
76
|
-
header_params[:'idempotency-key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
77
142
|
|
78
143
|
# form parameters
|
79
144
|
form_params = opts[:form_params] || {}
|
@@ -88,7 +153,7 @@ module Svix
|
|
88
153
|
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
89
154
|
|
90
155
|
new_options = opts.merge(
|
91
|
-
:operation => :"StatisticsApi.
|
156
|
+
:operation => :"StatisticsApi.v1_stats_app_attempts",
|
92
157
|
:header_params => header_params,
|
93
158
|
:query_params => query_params,
|
94
159
|
:form_params => form_params,
|
@@ -99,74 +164,72 @@ module Svix
|
|
99
164
|
|
100
165
|
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
101
166
|
if @api_client.config.debugging
|
102
|
-
@api_client.config.logger.debug "API called: StatisticsApi#
|
167
|
+
@api_client.config.logger.debug "API called: StatisticsApi#v1_stats_app_attempts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
103
168
|
end
|
104
169
|
return data, status_code, headers
|
105
170
|
end
|
106
171
|
|
107
172
|
# Get Ep Stats
|
108
173
|
# Returns endpoint-level statistics on message attempts
|
109
|
-
# @param
|
110
|
-
# @param
|
174
|
+
# @param app_id [String] The app's ID or UID
|
175
|
+
# @param endpoint_id [String] The ep's ID or UID
|
111
176
|
# @param [Hash] opts the optional parameters
|
112
177
|
# @option opts [Time] :start_date
|
113
178
|
# @option opts [Time] :end_date
|
114
|
-
# @option opts [String] :idempotency_key The request's idempotency key
|
115
179
|
# @return [AttemptStatisticsResponse]
|
116
|
-
def
|
117
|
-
data, _status_code, _headers =
|
180
|
+
def v1_stats_endpoint_attempts(app_id, endpoint_id, opts = {})
|
181
|
+
data, _status_code, _headers = v1_stats_endpoint_attempts_with_http_info(app_id, endpoint_id, opts)
|
118
182
|
data
|
119
183
|
end
|
120
184
|
|
121
185
|
# Get Ep Stats
|
122
186
|
# Returns endpoint-level statistics on message attempts
|
123
|
-
# @param
|
124
|
-
# @param
|
187
|
+
# @param app_id [String] The app's ID or UID
|
188
|
+
# @param endpoint_id [String] The ep's ID or UID
|
125
189
|
# @param [Hash] opts the optional parameters
|
126
190
|
# @option opts [Time] :start_date
|
127
191
|
# @option opts [Time] :end_date
|
128
|
-
# @option opts [String] :idempotency_key The request's idempotency key
|
129
192
|
# @return [Array<(AttemptStatisticsResponse, Integer, Hash)>] AttemptStatisticsResponse data, response status code and response headers
|
130
|
-
def
|
193
|
+
def v1_stats_endpoint_attempts_with_http_info(app_id, endpoint_id, opts = {})
|
131
194
|
if @api_client.config.debugging
|
132
|
-
@api_client.config.logger.debug 'Calling API: StatisticsApi.
|
195
|
+
@api_client.config.logger.debug 'Calling API: StatisticsApi.v1_stats_endpoint_attempts ...'
|
133
196
|
end
|
134
|
-
# verify the required parameter '
|
135
|
-
if @api_client.config.client_side_validation &&
|
136
|
-
fail ArgumentError, "Missing the required parameter '
|
197
|
+
# verify the required parameter 'app_id' is set
|
198
|
+
if @api_client.config.client_side_validation && app_id.nil?
|
199
|
+
fail ArgumentError, "Missing the required parameter 'app_id' when calling StatisticsApi.v1_stats_endpoint_attempts"
|
137
200
|
end
|
138
|
-
if @api_client.config.client_side_validation &&
|
139
|
-
fail ArgumentError, 'invalid value for "
|
201
|
+
if @api_client.config.client_side_validation && app_id.to_s.length > 256
|
202
|
+
fail ArgumentError, 'invalid value for "app_id" when calling StatisticsApi.v1_stats_endpoint_attempts, the character length must be smaller than or equal to 256.'
|
140
203
|
end
|
141
204
|
|
142
|
-
if @api_client.config.client_side_validation &&
|
143
|
-
fail ArgumentError, 'invalid value for "
|
205
|
+
if @api_client.config.client_side_validation && app_id.to_s.length < 1
|
206
|
+
fail ArgumentError, 'invalid value for "app_id" when calling StatisticsApi.v1_stats_endpoint_attempts, the character length must be great than or equal to 1.'
|
144
207
|
end
|
145
208
|
|
146
209
|
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
147
|
-
if @api_client.config.client_side_validation &&
|
148
|
-
fail ArgumentError, "invalid value for '
|
210
|
+
if @api_client.config.client_side_validation && app_id !~ pattern
|
211
|
+
fail ArgumentError, "invalid value for 'app_id' when calling StatisticsApi.v1_stats_endpoint_attempts, must conform to the pattern #{pattern}."
|
149
212
|
end
|
150
213
|
|
151
|
-
# verify the required parameter '
|
152
|
-
if @api_client.config.client_side_validation &&
|
153
|
-
fail ArgumentError, "Missing the required parameter '
|
214
|
+
# verify the required parameter 'endpoint_id' is set
|
215
|
+
if @api_client.config.client_side_validation && endpoint_id.nil?
|
216
|
+
fail ArgumentError, "Missing the required parameter 'endpoint_id' when calling StatisticsApi.v1_stats_endpoint_attempts"
|
154
217
|
end
|
155
|
-
if @api_client.config.client_side_validation &&
|
156
|
-
fail ArgumentError, 'invalid value for "
|
218
|
+
if @api_client.config.client_side_validation && endpoint_id.to_s.length > 256
|
219
|
+
fail ArgumentError, 'invalid value for "endpoint_id" when calling StatisticsApi.v1_stats_endpoint_attempts, the character length must be smaller than or equal to 256.'
|
157
220
|
end
|
158
221
|
|
159
|
-
if @api_client.config.client_side_validation &&
|
160
|
-
fail ArgumentError, 'invalid value for "
|
222
|
+
if @api_client.config.client_side_validation && endpoint_id.to_s.length < 1
|
223
|
+
fail ArgumentError, 'invalid value for "endpoint_id" when calling StatisticsApi.v1_stats_endpoint_attempts, the character length must be great than or equal to 1.'
|
161
224
|
end
|
162
225
|
|
163
226
|
pattern = Regexp.new(/^[a-zA-Z0-9\-_.]+$/)
|
164
|
-
if @api_client.config.client_side_validation &&
|
165
|
-
fail ArgumentError, "invalid value for '
|
227
|
+
if @api_client.config.client_side_validation && endpoint_id !~ pattern
|
228
|
+
fail ArgumentError, "invalid value for 'endpoint_id' when calling StatisticsApi.v1_stats_endpoint_attempts, must conform to the pattern #{pattern}."
|
166
229
|
end
|
167
230
|
|
168
231
|
# resource path
|
169
|
-
local_var_path = '/api/v1/stats/app/{app_id}/ep/{endpoint_id}/attempt/'.sub('{' + '
|
232
|
+
local_var_path = '/api/v1/stats/app/{app_id}/ep/{endpoint_id}/attempt/'.sub('{' + 'app_id' + '}', CGI.escape(app_id.to_s)).sub('{' + 'endpoint_id' + '}', CGI.escape(endpoint_id.to_s))
|
170
233
|
|
171
234
|
# query parameters
|
172
235
|
query_params = opts[:query_params] || {}
|
@@ -177,7 +240,6 @@ module Svix
|
|
177
240
|
header_params = opts[:header_params] || {}
|
178
241
|
# HTTP header 'Accept' (if needed)
|
179
242
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
180
|
-
header_params[:'idempotency-key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
181
243
|
|
182
244
|
# form parameters
|
183
245
|
form_params = opts[:form_params] || {}
|
@@ -192,7 +254,7 @@ module Svix
|
|
192
254
|
auth_names = opts[:debug_auth_names] || ['HTTPBearer']
|
193
255
|
|
194
256
|
new_options = opts.merge(
|
195
|
-
:operation => :"StatisticsApi.
|
257
|
+
:operation => :"StatisticsApi.v1_stats_endpoint_attempts",
|
196
258
|
:header_params => header_params,
|
197
259
|
:query_params => query_params,
|
198
260
|
:form_params => form_params,
|
@@ -203,7 +265,7 @@ module Svix
|
|
203
265
|
|
204
266
|
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
205
267
|
if @api_client.config.debugging
|
206
|
-
@api_client.config.logger.debug "API called: StatisticsApi#
|
268
|
+
@api_client.config.logger.debug "API called: StatisticsApi#v1_stats_endpoint_attempts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
207
269
|
end
|
208
270
|
return data, status_code, headers
|
209
271
|
end
|
data/lib/svix/api_client.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
#Welcome to the Svix API documentation! Useful links: [Homepage](https://www.svix.com) | [Support email](mailto:support+docs@svix.com) | [Blog](https://www.svix.com/blog/) | [Slack Community](https://www.svix.com/slack/) # Introduction This is the reference documentation and schemas for the [Svix webhook service](https://www.svix.com) API. For tutorials and other documentation please refer to [the documentation](https://docs.svix.com). ## Main concepts In Svix you have four important entities you will be interacting with: - `messages`: these are the webhooks being sent. They can have contents and a few other properties. - `application`: this is where `messages` are sent to. Usually you want to create one application for each user on your platform. - `endpoint`: endpoints are the URLs messages will be sent to. Each application can have multiple `endpoints` and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type). - `event-type`: event types are identifiers denoting the type of the message being sent. Event types are primarily used to decide which events are sent to which endpoint. ## Authentication Get your authentication token (`AUTH_TOKEN`) from the [Svix dashboard](https://dashboard.svix.com) and use it as part of the `Authorization` header as such: `Authorization: Bearer ${AUTH_TOKEN}`. <SecurityDefinitions /> ## Code samples The code samples assume you already have the respective libraries installed and you know how to use them. For the latest information on how to do that, please refer to [the documentation](https://docs.svix.com/). ## Idempotency Svix supports [idempotency](https://en.wikipedia.org/wiki/Idempotence) for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. To perform an idempotent request, pass the idempotency key in the `Idempotency-Key` header to the request. The idempotency key should be a unique value generated by the client. You can create the key in however way you like, though we suggest using UUID v4, or any other string with enough entropy to avoid collisions. Svix's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key for any successful request. Subsequent requests with the same key return the same result. Please note that idempotency is only supported for `POST` requests. ## Cross-Origin Resource Sharing This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.4
|
6
|
+
The version of the OpenAPI document: 1.4.1
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
9
|
OpenAPI Generator version: 5.2.0
|
data/lib/svix/api_error.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
#Welcome to the Svix API documentation! Useful links: [Homepage](https://www.svix.com) | [Support email](mailto:support+docs@svix.com) | [Blog](https://www.svix.com/blog/) | [Slack Community](https://www.svix.com/slack/) # Introduction This is the reference documentation and schemas for the [Svix webhook service](https://www.svix.com) API. For tutorials and other documentation please refer to [the documentation](https://docs.svix.com). ## Main concepts In Svix you have four important entities you will be interacting with: - `messages`: these are the webhooks being sent. They can have contents and a few other properties. - `application`: this is where `messages` are sent to. Usually you want to create one application for each user on your platform. - `endpoint`: endpoints are the URLs messages will be sent to. Each application can have multiple `endpoints` and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type). - `event-type`: event types are identifiers denoting the type of the message being sent. Event types are primarily used to decide which events are sent to which endpoint. ## Authentication Get your authentication token (`AUTH_TOKEN`) from the [Svix dashboard](https://dashboard.svix.com) and use it as part of the `Authorization` header as such: `Authorization: Bearer ${AUTH_TOKEN}`. <SecurityDefinitions /> ## Code samples The code samples assume you already have the respective libraries installed and you know how to use them. For the latest information on how to do that, please refer to [the documentation](https://docs.svix.com/). ## Idempotency Svix supports [idempotency](https://en.wikipedia.org/wiki/Idempotence) for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. To perform an idempotent request, pass the idempotency key in the `Idempotency-Key` header to the request. The idempotency key should be a unique value generated by the client. You can create the key in however way you like, though we suggest using UUID v4, or any other string with enough entropy to avoid collisions. Svix's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key for any successful request. Subsequent requests with the same key return the same result. Please note that idempotency is only supported for `POST` requests. ## Cross-Origin Resource Sharing This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.4
|
6
|
+
The version of the OpenAPI document: 1.4.1
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
9
|
OpenAPI Generator version: 5.2.0
|
data/lib/svix/application_api.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Svix
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class ApplicationAPI
|
5
|
+
def initialize(api_client)
|
6
|
+
@api = ApplicationApi.new(api_client)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
def list(options = {})
|
10
|
+
return @api.v1_application_list(options)
|
11
|
+
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
13
|
+
def create(application_in, options = {})
|
14
|
+
return @api.v1_application_create(application_in, options)
|
15
|
+
end
|
16
|
+
def get_or_create(application_in, options = {})
|
17
|
+
return @api.v1_application_create(application_in, {**options, get_if_exists: true})
|
18
|
+
end
|
19
|
+
def get(app_id)
|
20
|
+
return @api.v1_application_get(app_id)
|
21
|
+
end
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
def update(app_id, application_in)
|
24
|
+
return @api.v1_application_update(app_id, application_in)
|
25
|
+
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
end
|
27
|
+
def delete(app_id)
|
28
|
+
return @api.v1_application_delete(app_id)
|
30
29
|
end
|
30
|
+
end
|
31
31
|
end
|
@@ -7,15 +7,15 @@ module Svix
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def app_portal_access(app_id, app_portal_access_in, options = {})
|
10
|
-
return @api.
|
10
|
+
return @api.v1_authentication_app_portal_access(app_id, app_portal_access_in, options)
|
11
11
|
end
|
12
12
|
|
13
13
|
def dashboard_access(app_id, options = {})
|
14
|
-
return @api.
|
14
|
+
return @api.v1_authentication_dashboard_access(app_id, options)
|
15
15
|
end
|
16
16
|
|
17
17
|
def logout(options = {})
|
18
|
-
return @api.
|
18
|
+
return @api.v1_authentication_logout(options)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
data/lib/svix/configuration.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
#Welcome to the Svix API documentation! Useful links: [Homepage](https://www.svix.com) | [Support email](mailto:support+docs@svix.com) | [Blog](https://www.svix.com/blog/) | [Slack Community](https://www.svix.com/slack/) # Introduction This is the reference documentation and schemas for the [Svix webhook service](https://www.svix.com) API. For tutorials and other documentation please refer to [the documentation](https://docs.svix.com). ## Main concepts In Svix you have four important entities you will be interacting with: - `messages`: these are the webhooks being sent. They can have contents and a few other properties. - `application`: this is where `messages` are sent to. Usually you want to create one application for each user on your platform. - `endpoint`: endpoints are the URLs messages will be sent to. Each application can have multiple `endpoints` and each message sent to that application will be sent to all of them (unless they are not subscribed to the sent event type). - `event-type`: event types are identifiers denoting the type of the message being sent. Event types are primarily used to decide which events are sent to which endpoint. ## Authentication Get your authentication token (`AUTH_TOKEN`) from the [Svix dashboard](https://dashboard.svix.com) and use it as part of the `Authorization` header as such: `Authorization: Bearer ${AUTH_TOKEN}`. <SecurityDefinitions /> ## Code samples The code samples assume you already have the respective libraries installed and you know how to use them. For the latest information on how to do that, please refer to [the documentation](https://docs.svix.com/). ## Idempotency Svix supports [idempotency](https://en.wikipedia.org/wiki/Idempotence) for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. To perform an idempotent request, pass the idempotency key in the `Idempotency-Key` header to the request. The idempotency key should be a unique value generated by the client. You can create the key in however way you like, though we suggest using UUID v4, or any other string with enough entropy to avoid collisions. Svix's idempotency works by saving the resulting status code and body of the first request made for any given idempotency key for any successful request. Subsequent requests with the same key return the same result. Please note that idempotency is only supported for `POST` requests. ## Cross-Origin Resource Sharing This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). And that allows cross-domain communication from the browser. All responses have a wildcard same-origin which makes them completely public and accessible to everyone, including any code on any site.
|
5
5
|
|
6
|
-
The version of the OpenAPI document: 1.4
|
6
|
+
The version of the OpenAPI document: 1.4.1
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
9
|
OpenAPI Generator version: 5.2.0
|
@@ -219,6 +219,7 @@ module Svix
|
|
219
219
|
{
|
220
220
|
type: 'bearer',
|
221
221
|
in: 'header',
|
222
|
+
format: 'null',
|
222
223
|
key: 'Authorization',
|
223
224
|
value: "Bearer #{access_token}"
|
224
225
|
},
|
data/lib/svix/endpoint_api.rb
CHANGED
@@ -7,70 +7,70 @@ module Svix
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def list(app_id, options = {})
|
10
|
-
return @api.
|
10
|
+
return @api.v1_endpoint_list(app_id, options)
|
11
11
|
end
|
12
12
|
|
13
13
|
def create(app_id, endpoint_in, options = {})
|
14
|
-
return @api.
|
14
|
+
return @api.v1_endpoint_create(app_id, endpoint_in, options)
|
15
15
|
end
|
16
16
|
|
17
17
|
def get(app_id, endpoint_id)
|
18
|
-
return @api.
|
18
|
+
return @api.v1_endpoint_get(app_id, endpoint_id)
|
19
19
|
end
|
20
20
|
|
21
21
|
def update(app_id, endpoint_id, endpoint_update)
|
22
|
-
return @api.
|
22
|
+
return @api.v1_endpoint_update(app_id, endpoint_id, endpoint_update)
|
23
23
|
end
|
24
24
|
|
25
25
|
def delete(app_id, endpoint_id)
|
26
|
-
return @api.
|
26
|
+
return @api.v1_endpoint_delete(app_id, endpoint_id)
|
27
27
|
end
|
28
28
|
|
29
29
|
def get_secret(app_id, endpoint_id)
|
30
|
-
return @api.
|
30
|
+
return @api.v1_endpoint_get_secret(app_id, endpoint_id)
|
31
31
|
end
|
32
32
|
|
33
33
|
def rotate_secret(app_id, endpoint_id, endpoint_secret_rotate_in, options = {})
|
34
|
-
return @api.
|
34
|
+
return @api.v1_endpoint_rotate_secret(app_id, endpoint_id, endpoint_secret_rotate_in, options)
|
35
35
|
end
|
36
36
|
|
37
37
|
def recover(app_id, endpoint_id, recover_in, options = {})
|
38
|
-
@api.
|
38
|
+
@api.v1_endpoint_recover(app_id, endpoint_id, recover_in, options)
|
39
39
|
nil
|
40
40
|
end
|
41
41
|
|
42
42
|
def get_headers(app_id, endpoint_id)
|
43
|
-
return @api.
|
43
|
+
return @api.v1_endpoint_get_headers(app_id, endpoint_id)
|
44
44
|
end
|
45
45
|
|
46
46
|
def update_headers(app_id, endpoint_id, endpoint_headers_in)
|
47
|
-
return @api.
|
47
|
+
return @api.v1_endpoint_update_headers(app_id, endpoint_id, endpoint_headers_in)
|
48
48
|
end
|
49
49
|
|
50
50
|
def patch_headers(app_id, endpoint_id, endpoint_headers_in)
|
51
|
-
return @api.
|
51
|
+
return @api.v1_endpoint_patch_headers(app_id, endpoint_id, endpoint_headers_in)
|
52
52
|
end
|
53
53
|
|
54
54
|
def get_stats(app_id, endpoint_id)
|
55
|
-
return @api.
|
55
|
+
return @api.v1_endpoint_get_stats(app_id, endpoint_id)
|
56
56
|
end
|
57
57
|
|
58
58
|
def replay_missing(app_id, endpoint_id, replay_in, options = {})
|
59
|
-
@api.
|
59
|
+
@api.v1_endpoint_replay(app_id, endpoint_id, replay_in, options)
|
60
60
|
nil
|
61
61
|
end
|
62
62
|
|
63
63
|
def transformation_get(app_id, endpoint_id, options = {})
|
64
|
-
return @api.
|
64
|
+
return @api.v1_endpoint_transformation_get(app_id, endpoint_id, options)
|
65
65
|
end
|
66
66
|
|
67
67
|
def transformation_partial_update(app_id, endpoint_id, endpoint_transformation_in, options = {})
|
68
|
-
@api.
|
68
|
+
@api.v1_endpoint_transformation_partial_update(app_id, endpoint_id, endpoint_transformation_in, options)
|
69
69
|
nil
|
70
70
|
end
|
71
71
|
|
72
72
|
def send_example(app_id, endpoint_id, event_example_in, options = {})
|
73
|
-
@api.
|
73
|
+
@api.v1_endpoint_send_example(app_id, endpoint_id, event_example_in, options)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
end
|
data/lib/svix/event_type_api.rb
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Svix
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class EventTypeAPI
|
5
|
+
def initialize(api_client)
|
6
|
+
@api = EventTypeApi.new(api_client)
|
7
|
+
end
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
def list(options = {})
|
10
|
+
return @api.v1_event_type_list(options)
|
11
|
+
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
def create(event_type_in, options = {})
|
14
|
+
return @api.v1_event_type_create(event_type_in, options)
|
15
|
+
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
def get(event_type_name)
|
18
|
+
return @api.v1_event_type_get(event_type_name)
|
19
|
+
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
def update(event_type_name, event_type_update)
|
22
|
+
return @api.v1_event_type_update(event_type_name, event_type_update)
|
23
|
+
end
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
end
|
25
|
+
def delete(event_type_name)
|
26
|
+
return @api.v1_event_type_delete(event_type_name)
|
28
27
|
end
|
28
|
+
end
|
29
29
|
end
|
data/lib/svix/integration_api.rb
CHANGED
@@ -1,38 +1,38 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Svix
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
def list(app_id, options = {})
|
10
|
-
return @api.list_integrations_api_v1_app_app_id_integration_get(app_id, options)
|
11
|
-
end
|
4
|
+
class IntegrationAPI
|
5
|
+
def initialize(api_client)
|
6
|
+
@api = IntegrationApi.new(api_client)
|
7
|
+
end
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
def list(app_id, options = {})
|
10
|
+
return @api.v1_integration_list(app_id, options)
|
11
|
+
end
|
16
12
|
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
def create(app_id, integ_in, options = {})
|
14
|
+
return @api.v1_integration_create(app_id, integ_in, options)
|
15
|
+
end
|
20
16
|
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
def get(app_id, integ_id)
|
18
|
+
return @api.v1_integration_get(app_id, integ_id)
|
19
|
+
end
|
24
20
|
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
def update(app_id, integ_id, integ_update)
|
22
|
+
return @api.v1_integration_update(app_id, integ_id, integ_update)
|
23
|
+
end
|
28
24
|
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
def delete(app_id, integ_id)
|
26
|
+
return @api.v1_integration_delete(app_id, integ_id)
|
27
|
+
end
|
32
28
|
|
33
|
-
|
34
|
-
|
35
|
-
|
29
|
+
def get_key(app_id, integ_id)
|
30
|
+
return @api.v1_integration_get_key(app_id, integ_id)
|
31
|
+
end
|
36
32
|
|
33
|
+
def rotate_key(app_id, integ_id, options = {})
|
34
|
+
return @api.v1_integration_rotate_key(app_id, integ_id, options)
|
37
35
|
end
|
36
|
+
|
37
|
+
end
|
38
38
|
end
|
data/lib/svix/message_api.rb
CHANGED
@@ -7,19 +7,19 @@ module Svix
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def list(app_id, options = {})
|
10
|
-
return @api.
|
10
|
+
return @api.v1_message_list(app_id, options)
|
11
11
|
end
|
12
12
|
|
13
13
|
def create(app_id, message_in, options = {})
|
14
|
-
return @api.
|
14
|
+
return @api.v1_message_create(app_id, message_in, options)
|
15
15
|
end
|
16
16
|
|
17
17
|
def get(app_id, msg_id)
|
18
|
-
return @api.
|
18
|
+
return @api.v1_message_get(app_id, msg_id)
|
19
19
|
end
|
20
20
|
|
21
21
|
def expunge_content(app_id, msg_id)
|
22
|
-
return @api.
|
22
|
+
return @api.v1_message_expunge_content(app_id, msg_id)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|