late-sdk 0.0.660 → 0.0.662

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: b6bbc0ec36eb8cc1c5736bac3613628e36106775502683e4b6c6650e0e78389a
4
- data.tar.gz: d297a3238bbab5fed05ff2928bf73d4fecf66bbabb631334de93eb3a4d315099
3
+ metadata.gz: 3d3e0da07c9f7e7bea8167589fc0f9d40fdc3b73cacbac721cea4d07e1cc0fa4
4
+ data.tar.gz: a68ab595732179cfdbda58a5a165355498202cc34e6090fb3c558a5b36c1dad4
5
5
  SHA512:
6
- metadata.gz: 90ffc4dc31a9d8ecf050736a0bad057eb4659fa2acc0d42e96eb592226ca699c67f6dc47ba93e3889cf2d173ed8b9223b781705217d48c1cd511f9ea399de645
7
- data.tar.gz: 11ac60871853895fe6ea87bbca28945b12a461798b01692656eaf031b221a0d86d7f3aac4bd99ab88f148d402895547ad745f2a9c73fa193fe584ac5b832cf71
6
+ metadata.gz: 70a1430c29805b3eba73d2d73c732b113543ed948efb8850201c57622d17aacf607120f22169699633185cfd4ce9f3bd5afe063ed6d93217890bbc1320b3235c
7
+ data.tar.gz: c8d96bc989199404c7c896c20c94b19748b681679cd4731a0f2161174d3d755446032cf2c5ec2b5f7fb327e8372f77e50220698a7b7c9635a4df7e62e4e47ac1
data/README.md CHANGED
@@ -69,6 +69,7 @@ Class | Method | HTTP request | Description
69
69
  *Zernio::APIKeysApi* | [**create_api_key**](docs/APIKeysApi.md#create_api_key) | **POST** /v1/api-keys | Create key
70
70
  *Zernio::APIKeysApi* | [**delete_api_key**](docs/APIKeysApi.md#delete_api_key) | **DELETE** /v1/api-keys/{keyId} | Delete key
71
71
  *Zernio::APIKeysApi* | [**list_api_keys**](docs/APIKeysApi.md#list_api_keys) | **GET** /v1/api-keys | List keys
72
+ *Zernio::APIKeysApi* | [**verify_credential**](docs/APIKeysApi.md#verify_credential) | **GET** /v1/auth/verify | Verify credential
72
73
  *Zernio::AccountGroupsApi* | [**create_account_group**](docs/AccountGroupsApi.md#create_account_group) | **POST** /v1/account-groups | Create group
73
74
  *Zernio::AccountGroupsApi* | [**delete_account_group**](docs/AccountGroupsApi.md#delete_account_group) | **DELETE** /v1/account-groups/{groupId} | Delete group
74
75
  *Zernio::AccountGroupsApi* | [**list_account_groups**](docs/AccountGroupsApi.md#list_account_groups) | **GET** /v1/account-groups | List groups
@@ -2063,6 +2064,7 @@ Class | Method | HTTP request | Description
2063
2064
  - [Zernio::ValueRuleCriterion](docs/ValueRuleCriterion.md)
2064
2065
  - [Zernio::ValueRuleSet](docs/ValueRuleSet.md)
2065
2066
  - [Zernio::Verification](docs/Verification.md)
2067
+ - [Zernio::VerifyCredential200Response](docs/VerifyCredential200Response.md)
2066
2068
  - [Zernio::VerifySmsRegistrationOtp200Response](docs/VerifySmsRegistrationOtp200Response.md)
2067
2069
  - [Zernio::VerifySmsRegistrationOtpRequest](docs/VerifySmsRegistrationOtpRequest.md)
2068
2070
  - [Zernio::VerifyWhatsAppCallerIdRequest](docs/VerifyWhatsAppCallerIdRequest.md)
data/docs/APIKeysApi.md CHANGED
@@ -7,6 +7,7 @@ All URIs are relative to *https://zernio.com/api*
7
7
  | [**create_api_key**](APIKeysApi.md#create_api_key) | **POST** /v1/api-keys | Create key |
8
8
  | [**delete_api_key**](APIKeysApi.md#delete_api_key) | **DELETE** /v1/api-keys/{keyId} | Delete key |
9
9
  | [**list_api_keys**](APIKeysApi.md#list_api_keys) | **GET** /v1/api-keys | List keys |
10
+ | [**verify_credential**](APIKeysApi.md#verify_credential) | **GET** /v1/auth/verify | Verify credential |
10
11
 
11
12
 
12
13
  ## create_api_key
@@ -212,3 +213,69 @@ This endpoint does not need any parameter.
212
213
  - **Content-Type**: Not defined
213
214
  - **Accept**: application/json
214
215
 
216
+
217
+ ## verify_credential
218
+
219
+ > <VerifyCredential200Response> verify_credential
220
+
221
+ Verify credential
222
+
223
+ Checks whether the bearer credential on this request is valid, without reading any data. Accepts an API key or an OAuth access token. Intended for clients that must validate a credential before use (for example an MCP server verifying an incoming token) so they do not have to call a data endpoint to do it.
224
+
225
+ ### Examples
226
+
227
+ ```ruby
228
+ require 'time'
229
+ require 'zernio-sdk'
230
+ # setup authorization
231
+ Zernio.configure do |config|
232
+ # Configure Bearer authorization (JWT): bearerAuth
233
+ config.access_token = 'YOUR_BEARER_TOKEN'
234
+ end
235
+
236
+ api_instance = Zernio::APIKeysApi.new
237
+
238
+ begin
239
+ # Verify credential
240
+ result = api_instance.verify_credential
241
+ p result
242
+ rescue Zernio::ApiError => e
243
+ puts "Error when calling APIKeysApi->verify_credential: #{e}"
244
+ end
245
+ ```
246
+
247
+ #### Using the verify_credential_with_http_info variant
248
+
249
+ This returns an Array which contains the response data, status code and headers.
250
+
251
+ > <Array(<VerifyCredential200Response>, Integer, Hash)> verify_credential_with_http_info
252
+
253
+ ```ruby
254
+ begin
255
+ # Verify credential
256
+ data, status_code, headers = api_instance.verify_credential_with_http_info
257
+ p status_code # => 2xx
258
+ p headers # => { ... }
259
+ p data # => <VerifyCredential200Response>
260
+ rescue Zernio::ApiError => e
261
+ puts "Error when calling APIKeysApi->verify_credential_with_http_info: #{e}"
262
+ end
263
+ ```
264
+
265
+ ### Parameters
266
+
267
+ This endpoint does not need any parameter.
268
+
269
+ ### Return type
270
+
271
+ [**VerifyCredential200Response**](VerifyCredential200Response.md)
272
+
273
+ ### Authorization
274
+
275
+ [bearerAuth](../README.md#bearerAuth)
276
+
277
+ ### HTTP request headers
278
+
279
+ - **Content-Type**: Not defined
280
+ - **Accept**: application/json
281
+
data/docs/ContactsApi.md CHANGED
@@ -378,7 +378,8 @@ end
378
378
 
379
379
  api_instance = Zernio::ContactsApi.new
380
380
  opts = {
381
- profile_id: 'profile_id_example', # String | Filter by profile. Omit to list across all profiles
381
+ profile_id: 'profile_id_example', # String | Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead.
382
+ account_id: 'account_id_example', # String | Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list.
382
383
  search: 'search_example', # String |
383
384
  tag: 'tag_example', # String |
384
385
  tags: 'tags_example', # String | Comma-separated tags, matches contacts carrying any of them
@@ -419,7 +420,8 @@ end
419
420
 
420
421
  | Name | Type | Description | Notes |
421
422
  | ---- | ---- | ----------- | ----- |
422
- | **profile_id** | **String** | Filter by profile. Omit to list across all profiles | [optional] |
423
+ | **profile_id** | **String** | Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead. | [optional] |
424
+ | **account_id** | **String** | Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list. | [optional] |
423
425
  | **search** | **String** | | [optional] |
424
426
  | **tag** | **String** | | [optional] |
425
427
  | **tags** | **String** | Comma-separated tags, matches contacts carrying any of them | [optional] |
@@ -0,0 +1,24 @@
1
+ # Zernio::VerifyCredential200Response
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **valid** | **Boolean** | | [optional] |
8
+ | **user_id** | **String** | | [optional] |
9
+ | **auth_type** | **String** | | [optional] |
10
+ | **scope** | **String** | Granted OAuth scopes, space-separated. Null for API keys. | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::VerifyCredential200Response.new(
18
+ valid: null,
19
+ user_id: null,
20
+ auth_type: null,
21
+ scope: null
22
+ )
23
+ ```
24
+
@@ -206,5 +206,62 @@ module Zernio
206
206
  end
207
207
  return data, status_code, headers
208
208
  end
209
+
210
+ # Verify credential
211
+ # Checks whether the bearer credential on this request is valid, without reading any data. Accepts an API key or an OAuth access token. Intended for clients that must validate a credential before use (for example an MCP server verifying an incoming token) so they do not have to call a data endpoint to do it.
212
+ # @param [Hash] opts the optional parameters
213
+ # @return [VerifyCredential200Response]
214
+ def verify_credential(opts = {})
215
+ data, _status_code, _headers = verify_credential_with_http_info(opts)
216
+ data
217
+ end
218
+
219
+ # Verify credential
220
+ # Checks whether the bearer credential on this request is valid, without reading any data. Accepts an API key or an OAuth access token. Intended for clients that must validate a credential before use (for example an MCP server verifying an incoming token) so they do not have to call a data endpoint to do it.
221
+ # @param [Hash] opts the optional parameters
222
+ # @return [Array<(VerifyCredential200Response, Integer, Hash)>] VerifyCredential200Response data, response status code and response headers
223
+ def verify_credential_with_http_info(opts = {})
224
+ if @api_client.config.debugging
225
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.verify_credential ...'
226
+ end
227
+ # resource path
228
+ local_var_path = '/v1/auth/verify'
229
+
230
+ # query parameters
231
+ query_params = opts[:query_params] || {}
232
+
233
+ # header parameters
234
+ header_params = opts[:header_params] || {}
235
+ # HTTP header 'Accept' (if needed)
236
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
237
+
238
+ # form parameters
239
+ form_params = opts[:form_params] || {}
240
+
241
+ # http body (model)
242
+ post_body = opts[:debug_body]
243
+
244
+ # return_type
245
+ return_type = opts[:debug_return_type] || 'VerifyCredential200Response'
246
+
247
+ # auth_names
248
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
249
+
250
+ new_options = opts.merge(
251
+ :operation => :"APIKeysApi.verify_credential",
252
+ :header_params => header_params,
253
+ :query_params => query_params,
254
+ :form_params => form_params,
255
+ :body => post_body,
256
+ :auth_names => auth_names,
257
+ :return_type => return_type
258
+ )
259
+
260
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
261
+ if @api_client.config.debugging
262
+ @api_client.config.logger.debug "API called: APIKeysApi#verify_credential\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
263
+ end
264
+ return data, status_code, headers
265
+ end
209
266
  end
210
267
  end
@@ -347,7 +347,8 @@ module Zernio
347
347
  # List contacts
348
348
  # List and search contacts for a profile. Supports filtering by tags, platform, subscription status, and full-text search.
349
349
  # @param [Hash] opts the optional parameters
350
- # @option opts [String] :profile_id Filter by profile. Omit to list across all profiles
350
+ # @option opts [String] :profile_id Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead.
351
+ # @option opts [String] :account_id Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list.
351
352
  # @option opts [String] :search
352
353
  # @option opts [String] :tag
353
354
  # @option opts [String] :tags Comma-separated tags, matches contacts carrying any of them
@@ -364,7 +365,8 @@ module Zernio
364
365
  # List contacts
365
366
  # List and search contacts for a profile. Supports filtering by tags, platform, subscription status, and full-text search.
366
367
  # @param [Hash] opts the optional parameters
367
- # @option opts [String] :profile_id Filter by profile. Omit to list across all profiles
368
+ # @option opts [String] :profile_id Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead.
369
+ # @option opts [String] :account_id Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list.
368
370
  # @option opts [String] :search
369
371
  # @option opts [String] :tag
370
372
  # @option opts [String] :tags Comma-separated tags, matches contacts carrying any of them
@@ -395,6 +397,7 @@ module Zernio
395
397
  # query parameters
396
398
  query_params = opts[:query_params] || {}
397
399
  query_params[:'profileId'] = opts[:'profile_id'] if !opts[:'profile_id'].nil?
400
+ query_params[:'accountId'] = opts[:'account_id'] if !opts[:'account_id'].nil?
398
401
  query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
399
402
  query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
400
403
  query_params[:'tags'] = opts[:'tags'] if !opts[:'tags'].nil?
@@ -0,0 +1,210 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ class VerifyCredential200Response < ApiModelBase
18
+ attr_accessor :valid
19
+
20
+ attr_accessor :user_id
21
+
22
+ attr_accessor :auth_type
23
+
24
+ # Granted OAuth scopes, space-separated. Null for API keys.
25
+ attr_accessor :scope
26
+
27
+ class EnumAttributeValidator
28
+ attr_reader :datatype
29
+ attr_reader :allowable_values
30
+
31
+ def initialize(datatype, allowable_values)
32
+ @allowable_values = allowable_values.map do |value|
33
+ case datatype.to_s
34
+ when /Integer/i
35
+ value.to_i
36
+ when /Float/i
37
+ value.to_f
38
+ else
39
+ value
40
+ end
41
+ end
42
+ end
43
+
44
+ def valid?(value)
45
+ !value || allowable_values.include?(value)
46
+ end
47
+ end
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'valid' => :'valid',
53
+ :'user_id' => :'userId',
54
+ :'auth_type' => :'authType',
55
+ :'scope' => :'scope'
56
+ }
57
+ end
58
+
59
+ # Returns attribute mapping this model knows about
60
+ def self.acceptable_attribute_map
61
+ attribute_map
62
+ end
63
+
64
+ # Returns all the JSON keys this model knows about
65
+ def self.acceptable_attributes
66
+ acceptable_attribute_map.values
67
+ end
68
+
69
+ # Attribute type mapping.
70
+ def self.openapi_types
71
+ {
72
+ :'valid' => :'Boolean',
73
+ :'user_id' => :'String',
74
+ :'auth_type' => :'String',
75
+ :'scope' => :'String'
76
+ }
77
+ end
78
+
79
+ # List of attributes with nullable: true
80
+ def self.openapi_nullable
81
+ Set.new([
82
+ :'scope'
83
+ ])
84
+ end
85
+
86
+ # Initializes the object
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::VerifyCredential200Response` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ acceptable_attribute_map = self.class.acceptable_attribute_map
95
+ attributes = attributes.each_with_object({}) { |(k, v), h|
96
+ if (!acceptable_attribute_map.key?(k.to_sym))
97
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::VerifyCredential200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
98
+ end
99
+ h[k.to_sym] = v
100
+ }
101
+
102
+ if attributes.key?(:'valid')
103
+ self.valid = attributes[:'valid']
104
+ end
105
+
106
+ if attributes.key?(:'user_id')
107
+ self.user_id = attributes[:'user_id']
108
+ end
109
+
110
+ if attributes.key?(:'auth_type')
111
+ self.auth_type = attributes[:'auth_type']
112
+ end
113
+
114
+ if attributes.key?(:'scope')
115
+ self.scope = attributes[:'scope']
116
+ end
117
+ end
118
+
119
+ # Show invalid properties with the reasons. Usually used together with valid?
120
+ # @return Array for valid properties with the reasons
121
+ def list_invalid_properties
122
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
123
+ invalid_properties = Array.new
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ warn '[DEPRECATED] the `valid?` method is obsolete'
131
+ auth_type_validator = EnumAttributeValidator.new('String', ["api_key", "oauth", "session"])
132
+ return false unless auth_type_validator.valid?(@auth_type)
133
+ true
134
+ end
135
+
136
+ # Custom attribute writer method checking allowed values (enum).
137
+ # @param [Object] auth_type Object to be assigned
138
+ def auth_type=(auth_type)
139
+ validator = EnumAttributeValidator.new('String', ["api_key", "oauth", "session"])
140
+ unless validator.valid?(auth_type)
141
+ fail ArgumentError, "invalid value for \"auth_type\", must be one of #{validator.allowable_values}."
142
+ end
143
+ @auth_type = auth_type
144
+ end
145
+
146
+ # Checks equality by comparing each attribute.
147
+ # @param [Object] Object to be compared
148
+ def ==(o)
149
+ return true if self.equal?(o)
150
+ self.class == o.class &&
151
+ valid == o.valid &&
152
+ user_id == o.user_id &&
153
+ auth_type == o.auth_type &&
154
+ scope == o.scope
155
+ end
156
+
157
+ # @see the `==` method
158
+ # @param [Object] Object to be compared
159
+ def eql?(o)
160
+ self == o
161
+ end
162
+
163
+ # Calculates hash code according to all attributes.
164
+ # @return [Integer] Hash code
165
+ def hash
166
+ [valid, user_id, auth_type, scope].hash
167
+ end
168
+
169
+ # Builds the object from hash
170
+ # @param [Hash] attributes Model attributes in the form of hash
171
+ # @return [Object] Returns the model itself
172
+ def self.build_from_hash(attributes)
173
+ return nil unless attributes.is_a?(Hash)
174
+ attributes = attributes.transform_keys(&:to_sym)
175
+ transformed_hash = {}
176
+ openapi_types.each_pair do |key, type|
177
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
178
+ transformed_hash["#{key}"] = nil
179
+ elsif type =~ /\AArray<(.*)>/i
180
+ # check to ensure the input is an array given that the attribute
181
+ # is documented as an array but the input is not
182
+ if attributes[attribute_map[key]].is_a?(Array)
183
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
184
+ end
185
+ elsif !attributes[attribute_map[key]].nil?
186
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
187
+ end
188
+ end
189
+ new(transformed_hash)
190
+ end
191
+
192
+ # Returns the object in the form of hash
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_hash
195
+ hash = {}
196
+ self.class.attribute_map.each_pair do |attr, param|
197
+ value = self.send(attr)
198
+ if value.nil?
199
+ is_nullable = self.class.openapi_nullable.include?(attr)
200
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
201
+ end
202
+
203
+ hash[param] = _to_hash(value)
204
+ end
205
+ hash
206
+ end
207
+
208
+ end
209
+
210
+ end
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.660'
14
+ VERSION = '0.0.662'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -1472,6 +1472,7 @@ require 'zernio-sdk/models/value_rule'
1472
1472
  require 'zernio-sdk/models/value_rule_criterion'
1473
1473
  require 'zernio-sdk/models/value_rule_set'
1474
1474
  require 'zernio-sdk/models/verification'
1475
+ require 'zernio-sdk/models/verify_credential200_response'
1475
1476
  require 'zernio-sdk/models/verify_sms_registration_otp200_response'
1476
1477
  require 'zernio-sdk/models/verify_sms_registration_otp_request'
1477
1478
  require 'zernio-sdk/models/verify_whats_app_caller_id_request'
data/openapi.yaml CHANGED
@@ -14878,6 +14878,34 @@ paths:
14878
14878
  error: { type: string }
14879
14879
  example:
14880
14880
  error: "TikTok creator has reached the daily posting limit. Please try again later."
14881
+ /v1/auth/verify:
14882
+ get:
14883
+ operationId: verifyCredential
14884
+ tags: [API Keys]
14885
+ summary: Verify credential
14886
+ description: 'Checks whether the bearer credential on this request is valid, without reading any data. Accepts an API key or an OAuth access token. Intended for clients that must validate a credential before use (for example an MCP server verifying an incoming token) so they do not have to call a data endpoint to do it.'
14887
+ responses:
14888
+ '200':
14889
+ description: Credential is valid
14890
+ content:
14891
+ application/json:
14892
+ schema:
14893
+ type: object
14894
+ properties:
14895
+ valid: { type: boolean }
14896
+ userId: { type: string }
14897
+ authType:
14898
+ type: string
14899
+ enum: [api_key, oauth, session]
14900
+ scope:
14901
+ type: [string, 'null']
14902
+ description: 'Granted OAuth scopes, space-separated. Null for API keys.'
14903
+ example:
14904
+ valid: true
14905
+ userId: "6507a1b2c3d4e5f6a7b8c9d0"
14906
+ authType: "oauth"
14907
+ scope: "posts:read posts:write accounts:read"
14908
+ '401': { $ref: '#/components/responses/Unauthorized' }
14881
14909
  /v1/api-keys:
14882
14910
  get:
14883
14911
  operationId: listApiKeys
@@ -33061,7 +33089,8 @@ paths:
33061
33089
  description: List and search contacts for a profile. Supports filtering by tags, platform, subscription status, and full-text search.
33062
33090
  tags: [Contacts]
33063
33091
  parameters:
33064
- - { name: profileId, in: query, schema: { type: string }, description: Filter by profile. Omit to list across all profiles }
33092
+ - { name: profileId, in: query, schema: { type: string }, description: 'Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead.' }
33093
+ - { name: accountId, in: query, schema: { type: string }, description: 'Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list.' }
33065
33094
  - { name: search, in: query, schema: { type: string } }
33066
33095
  - { name: tag, in: query, schema: { type: string } }
33067
33096
  - { name: tags, in: query, schema: { type: string }, description: 'Comma-separated tags, matches contacts carrying any of them' }
@@ -33171,7 +33200,7 @@ paths:
33171
33200
  warning: { type: string }
33172
33201
  '400': { description: Invalid request }
33173
33202
  '401': { $ref: '#/components/responses/Unauthorized' }
33174
- '409': { description: Duplicate contact }
33203
+ '409': { description: 'Duplicate channel. The platformIdentifier is already bound to a channel on this accountId.' }
33175
33204
 
33176
33205
  /v1/contacts/{contactId}:
33177
33206
  get:
@@ -67,4 +67,15 @@ describe 'APIKeysApi' do
67
67
  end
68
68
  end
69
69
 
70
+ # unit tests for verify_credential
71
+ # Verify credential
72
+ # Checks whether the bearer credential on this request is valid, without reading any data. Accepts an API key or an OAuth access token. Intended for clients that must validate a credential before use (for example an MCP server verifying an incoming token) so they do not have to call a data endpoint to do it.
73
+ # @param [Hash] opts the optional parameters
74
+ # @return [VerifyCredential200Response]
75
+ describe 'verify_credential test' do
76
+ it 'should work' do
77
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
78
+ end
79
+ end
80
+
70
81
  end
@@ -96,7 +96,8 @@ describe 'ContactsApi' do
96
96
  # List contacts
97
97
  # List and search contacts for a profile. Supports filtering by tags, platform, subscription status, and full-text search.
98
98
  # @param [Hash] opts the optional parameters
99
- # @option opts [String] :profile_id Filter by profile. Omit to list across all profiles
99
+ # @option opts [String] :profile_id Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead.
100
+ # @option opts [String] :account_id Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list.
100
101
  # @option opts [String] :search
101
102
  # @option opts [String] :tag
102
103
  # @option opts [String] :tags Comma-separated tags, matches contacts carrying any of them
@@ -0,0 +1,58 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::VerifyCredential200Response
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::VerifyCredential200Response do
21
+ #let(:instance) { Zernio::VerifyCredential200Response.new }
22
+
23
+ describe 'test an instance of VerifyCredential200Response' do
24
+ it 'should create an instance of VerifyCredential200Response' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::VerifyCredential200Response)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "valid"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "user_id"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "auth_type"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["api_key", "oauth", "session"])
46
+ # validator.allowable_values.each do |value|
47
+ # expect { instance.auth_type = value }.not_to raise_error
48
+ # end
49
+ end
50
+ end
51
+
52
+ describe 'test attribute "scope"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
55
+ end
56
+ end
57
+
58
+ end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.660
4
+ version: 0.0.662
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -1571,6 +1571,7 @@ files:
1571
1571
  - docs/ValueRuleSet.md
1572
1572
  - docs/Verification.md
1573
1573
  - docs/VerifyApi.md
1574
+ - docs/VerifyCredential200Response.md
1574
1575
  - docs/VerifySmsRegistrationOtp200Response.md
1575
1576
  - docs/VerifySmsRegistrationOtpRequest.md
1576
1577
  - docs/VerifyWhatsAppCallerIdRequest.md
@@ -3220,6 +3221,7 @@ files:
3220
3221
  - lib/zernio-sdk/models/value_rule_criterion.rb
3221
3222
  - lib/zernio-sdk/models/value_rule_set.rb
3222
3223
  - lib/zernio-sdk/models/verification.rb
3224
+ - lib/zernio-sdk/models/verify_credential200_response.rb
3223
3225
  - lib/zernio-sdk/models/verify_sms_registration_otp200_response.rb
3224
3226
  - lib/zernio-sdk/models/verify_sms_registration_otp_request.rb
3225
3227
  - lib/zernio-sdk/models/verify_whats_app_caller_id_request.rb
@@ -4853,6 +4855,7 @@ files:
4853
4855
  - spec/models/value_rule_set_spec.rb
4854
4856
  - spec/models/value_rule_spec.rb
4855
4857
  - spec/models/verification_spec.rb
4858
+ - spec/models/verify_credential200_response_spec.rb
4856
4859
  - spec/models/verify_sms_registration_otp200_response_spec.rb
4857
4860
  - spec/models/verify_sms_registration_otp_request_spec.rb
4858
4861
  - spec/models/verify_whats_app_caller_id_request_spec.rb
@@ -4967,7 +4970,7 @@ files:
4967
4970
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
4968
4971
  - spec/models/you_tube_video_retention_response_spec.rb
4969
4972
  - spec/spec_helper.rb
4970
- - zernio-sdk-0.0.660.gem
4973
+ - zernio-sdk-0.0.662.gem
4971
4974
  - zernio-sdk.gemspec
4972
4975
  homepage: https://openapi-generator.tech
4973
4976
  licenses:
@@ -6605,6 +6608,7 @@ test_files:
6605
6608
  - spec/models/add_broadcast_recipients_request_spec.rb
6606
6609
  - spec/models/add_conversion_associations200_response_failed_inner_spec.rb
6607
6610
  - spec/models/get_account_health200_response_permissions_posting_inner_spec.rb
6611
+ - spec/models/verify_credential200_response_spec.rb
6608
6612
  - spec/models/update_youtube_default_playlist200_response_spec.rb
6609
6613
  - spec/models/list_value_rule_sets200_response_paging_spec.rb
6610
6614
  - spec/models/list_sms_sender_ids200_response_budget_pending_request_spec.rb
Binary file