late-sdk 0.0.625 → 0.0.627

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.
@@ -0,0 +1,149 @@
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 ListConnectedApps200Response < ApiModelBase
18
+ attr_accessor :connected_apps
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'connected_apps' => :'connectedApps'
24
+ }
25
+ end
26
+
27
+ # Returns attribute mapping this model knows about
28
+ def self.acceptable_attribute_map
29
+ attribute_map
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ acceptable_attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'connected_apps' => :'Array<ConnectedApp>'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::ListConnectedApps200Response` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ acceptable_attribute_map = self.class.acceptable_attribute_map
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!acceptable_attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::ListConnectedApps200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'connected_apps')
67
+ if (value = attributes[:'connected_apps']).is_a?(Array)
68
+ self.connected_apps = value
69
+ end
70
+ end
71
+ end
72
+
73
+ # Show invalid properties with the reasons. Usually used together with valid?
74
+ # @return Array for valid properties with the reasons
75
+ def list_invalid_properties
76
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
77
+ invalid_properties = Array.new
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ warn '[DEPRECATED] the `valid?` method is obsolete'
85
+ true
86
+ end
87
+
88
+ # Checks equality by comparing each attribute.
89
+ # @param [Object] Object to be compared
90
+ def ==(o)
91
+ return true if self.equal?(o)
92
+ self.class == o.class &&
93
+ connected_apps == o.connected_apps
94
+ end
95
+
96
+ # @see the `==` method
97
+ # @param [Object] Object to be compared
98
+ def eql?(o)
99
+ self == o
100
+ end
101
+
102
+ # Calculates hash code according to all attributes.
103
+ # @return [Integer] Hash code
104
+ def hash
105
+ [connected_apps].hash
106
+ end
107
+
108
+ # Builds the object from hash
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @return [Object] Returns the model itself
111
+ def self.build_from_hash(attributes)
112
+ return nil unless attributes.is_a?(Hash)
113
+ attributes = attributes.transform_keys(&:to_sym)
114
+ transformed_hash = {}
115
+ openapi_types.each_pair do |key, type|
116
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
117
+ transformed_hash["#{key}"] = nil
118
+ elsif type =~ /\AArray<(.*)>/i
119
+ # check to ensure the input is an array given that the attribute
120
+ # is documented as an array but the input is not
121
+ if attributes[attribute_map[key]].is_a?(Array)
122
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
123
+ end
124
+ elsif !attributes[attribute_map[key]].nil?
125
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
126
+ end
127
+ end
128
+ new(transformed_hash)
129
+ end
130
+
131
+ # Returns the object in the form of hash
132
+ # @return [Hash] Returns the object in the form of hash
133
+ def to_hash
134
+ hash = {}
135
+ self.class.attribute_map.each_pair do |attr, param|
136
+ value = self.send(attr)
137
+ if value.nil?
138
+ is_nullable = self.class.openapi_nullable.include?(attr)
139
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
140
+ end
141
+
142
+ hash[param] = _to_hash(value)
143
+ end
144
+ hash
145
+ end
146
+
147
+ end
148
+
149
+ end
@@ -0,0 +1,176 @@
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 RevokeConnectedApp200Response < ApiModelBase
18
+ attr_accessor :revoked
19
+
20
+ attr_accessor :client_id
21
+
22
+ # Access and refresh tokens revoked by this call.
23
+ attr_accessor :revoked_tokens
24
+
25
+ # Pending authorization codes invalidated by this call.
26
+ attr_accessor :invalidated_codes
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'revoked' => :'revoked',
32
+ :'client_id' => :'clientId',
33
+ :'revoked_tokens' => :'revokedTokens',
34
+ :'invalidated_codes' => :'invalidatedCodes'
35
+ }
36
+ end
37
+
38
+ # Returns attribute mapping this model knows about
39
+ def self.acceptable_attribute_map
40
+ attribute_map
41
+ end
42
+
43
+ # Returns all the JSON keys this model knows about
44
+ def self.acceptable_attributes
45
+ acceptable_attribute_map.values
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'revoked' => :'Boolean',
52
+ :'client_id' => :'String',
53
+ :'revoked_tokens' => :'Integer',
54
+ :'invalidated_codes' => :'Integer'
55
+ }
56
+ end
57
+
58
+ # List of attributes with nullable: true
59
+ def self.openapi_nullable
60
+ Set.new([
61
+ ])
62
+ end
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::RevokeConnectedApp200Response` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ acceptable_attribute_map = self.class.acceptable_attribute_map
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!acceptable_attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::RevokeConnectedApp200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'revoked')
81
+ self.revoked = attributes[:'revoked']
82
+ end
83
+
84
+ if attributes.key?(:'client_id')
85
+ self.client_id = attributes[:'client_id']
86
+ end
87
+
88
+ if attributes.key?(:'revoked_tokens')
89
+ self.revoked_tokens = attributes[:'revoked_tokens']
90
+ end
91
+
92
+ if attributes.key?(:'invalidated_codes')
93
+ self.invalidated_codes = attributes[:'invalidated_codes']
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+ warn '[DEPRECATED] the `valid?` method is obsolete'
109
+ true
110
+ end
111
+
112
+ # Checks equality by comparing each attribute.
113
+ # @param [Object] Object to be compared
114
+ def ==(o)
115
+ return true if self.equal?(o)
116
+ self.class == o.class &&
117
+ revoked == o.revoked &&
118
+ client_id == o.client_id &&
119
+ revoked_tokens == o.revoked_tokens &&
120
+ invalidated_codes == o.invalidated_codes
121
+ end
122
+
123
+ # @see the `==` method
124
+ # @param [Object] Object to be compared
125
+ def eql?(o)
126
+ self == o
127
+ end
128
+
129
+ # Calculates hash code according to all attributes.
130
+ # @return [Integer] Hash code
131
+ def hash
132
+ [revoked, client_id, revoked_tokens, invalidated_codes].hash
133
+ end
134
+
135
+ # Builds the object from hash
136
+ # @param [Hash] attributes Model attributes in the form of hash
137
+ # @return [Object] Returns the model itself
138
+ def self.build_from_hash(attributes)
139
+ return nil unless attributes.is_a?(Hash)
140
+ attributes = attributes.transform_keys(&:to_sym)
141
+ transformed_hash = {}
142
+ openapi_types.each_pair do |key, type|
143
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
144
+ transformed_hash["#{key}"] = nil
145
+ elsif type =~ /\AArray<(.*)>/i
146
+ # check to ensure the input is an array given that the attribute
147
+ # is documented as an array but the input is not
148
+ if attributes[attribute_map[key]].is_a?(Array)
149
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
150
+ end
151
+ elsif !attributes[attribute_map[key]].nil?
152
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
153
+ end
154
+ end
155
+ new(transformed_hash)
156
+ end
157
+
158
+ # Returns the object in the form of hash
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_hash
161
+ hash = {}
162
+ self.class.attribute_map.each_pair do |attr, param|
163
+ value = self.send(attr)
164
+ if value.nil?
165
+ is_nullable = self.class.openapi_nullable.include?(attr)
166
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
167
+ end
168
+
169
+ hash[param] = _to_hash(value)
170
+ end
171
+ hash
172
+ end
173
+
174
+ end
175
+
176
+ end
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.625'
14
+ VERSION = '0.0.627'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -149,6 +149,7 @@ require 'zernio-sdk/models/connect_whats_app_credentials200_response_account'
149
149
  require 'zernio-sdk/models/connect_whats_app_credentials_request'
150
150
  require 'zernio-sdk/models/connected'
151
151
  require 'zernio-sdk/models/connected_account'
152
+ require 'zernio-sdk/models/connected_app'
152
153
  require 'zernio-sdk/models/conversion_destination'
153
154
  require 'zernio-sdk/models/conversion_event'
154
155
  require 'zernio-sdk/models/conversion_event_items_inner'
@@ -832,6 +833,7 @@ require 'zernio-sdk/models/list_comment_automation_logs200_response'
832
833
  require 'zernio-sdk/models/list_comment_automations200_response'
833
834
  require 'zernio-sdk/models/list_comment_automations200_response_automations_inner'
834
835
  require 'zernio-sdk/models/list_comment_automations200_response_automations_inner_stats'
836
+ require 'zernio-sdk/models/list_connected_apps200_response'
835
837
  require 'zernio-sdk/models/list_contacts200_response'
836
838
  require 'zernio-sdk/models/list_contacts200_response_contacts_inner'
837
839
  require 'zernio-sdk/models/list_contacts200_response_filters'
@@ -1083,6 +1085,7 @@ require 'zernio-sdk/models/review_phone_number_kyc_packet_request'
1083
1085
  require 'zernio-sdk/models/review_webhook_review'
1084
1086
  require 'zernio-sdk/models/review_webhook_review_reply'
1085
1087
  require 'zernio-sdk/models/review_webhook_review_reviewer'
1088
+ require 'zernio-sdk/models/revoke_connected_app200_response'
1086
1089
  require 'zernio-sdk/models/rf_prediction'
1087
1090
  require 'zernio-sdk/models/saved_targeting_audience'
1088
1091
  require 'zernio-sdk/models/schedule_broadcast200_response'
@@ -1582,6 +1585,7 @@ require 'zernio-sdk/api/calls_api'
1582
1585
  require 'zernio-sdk/api/comment_automations_api'
1583
1586
  require 'zernio-sdk/api/comments_api'
1584
1587
  require 'zernio-sdk/api/connect_api'
1588
+ require 'zernio-sdk/api/connected_apps_api'
1585
1589
  require 'zernio-sdk/api/contacts_api'
1586
1590
  require 'zernio-sdk/api/conversions_api'
1587
1591
  require 'zernio-sdk/api/custom_fields_api'
data/openapi.yaml CHANGED
@@ -226,6 +226,10 @@ tags:
226
226
  - name: API Keys
227
227
  description: |
228
228
  Create, list, and revoke API keys used to authenticate requests.
229
+ - name: Connected Apps
230
+ description: |
231
+ List and revoke the OAuth clients (AI assistants and MCP connectors) authorized
232
+ on the account.
229
233
  - name: Invites
230
234
  description: |
231
235
  Generate invite tokens for adding members to a team.
@@ -5705,6 +5709,31 @@ components:
5705
5709
  enum: [read-write, read]
5706
5710
  description: "'read-write' allows all operations, 'read' restricts to GET requests only"
5707
5711
  default: read-write
5712
+ ConnectedApp:
5713
+ type: object
5714
+ description: |
5715
+ An OAuth client (AI assistant / MCP connector) authorized by the user and still
5716
+ holding at least one live token.
5717
+ properties:
5718
+ clientId: { type: string }
5719
+ clientName:
5720
+ type: string
5721
+ description: 'Name the client declared at registration. Registration is open, so this is self-declared and not verified.'
5722
+ redirectHost:
5723
+ type: [string, "null"]
5724
+ description: 'Host of the client''s registered redirect URI (non-http schemes are shown as scheme//host). The destination an impostor cannot fake.'
5725
+ scopes:
5726
+ type: array
5727
+ items: { type: string }
5728
+ description: Scopes granted on the most recent token.
5729
+ authorizedAt: { type: [string, "null"], format: date-time }
5730
+ lastUsedAt:
5731
+ type: [string, "null"]
5732
+ format: date-time
5733
+ description: Last time any of the client's live tokens authenticated a request.
5734
+ tokenCount:
5735
+ type: integer
5736
+ description: 'Live tokens held by the client (an active session is typically one access plus one refresh token).'
5708
5737
  BillingSnapshot:
5709
5738
  type: object
5710
5739
  description: |
@@ -14752,6 +14781,92 @@ paths:
14752
14781
  '401': { $ref: '#/components/responses/Unauthorized' }
14753
14782
  '404': { $ref: '#/components/responses/NotFound' }
14754
14783
 
14784
+ /v1/me/connected-apps:
14785
+ get:
14786
+ operationId: listConnectedApps
14787
+ tags: [Connected Apps]
14788
+ summary: List connected apps
14789
+ description: |
14790
+ Returns the OAuth clients (AI assistants and MCP connectors) the authenticated
14791
+ user has authorized and that still hold a live token.
14792
+
14793
+ Requires a session or a full-scope API key. A profile-scoped API key or an
14794
+ OAuth access token is rejected with 403: an app must not be able to enumerate
14795
+ its sibling authorizations.
14796
+ responses:
14797
+ '200':
14798
+ description: Connected apps
14799
+ content:
14800
+ application/json:
14801
+ schema:
14802
+ type: object
14803
+ properties:
14804
+ connectedApps:
14805
+ type: array
14806
+ items: { $ref: '#/components/schemas/ConnectedApp' }
14807
+ example:
14808
+ connectedApps:
14809
+ - clientId: "late_cid_3f9c1a7b2d4e6f80a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718"
14810
+ clientName: "Claude"
14811
+ redirectHost: "claude.ai"
14812
+ scopes: ["posts:read", "posts:write", "accounts:read"]
14813
+ authorizedAt: "2026-07-02T09:14:00Z"
14814
+ lastUsedAt: "2026-07-30T18:02:11Z"
14815
+ tokenCount: 2
14816
+ '401': { $ref: '#/components/responses/Unauthorized' }
14817
+ '403':
14818
+ description: 'The calling credential may not manage OAuth authorizations (profile-scoped API key or OAuth access token). Error code: insufficient_permissions.'
14819
+ content:
14820
+ application/json:
14821
+ schema: { $ref: '#/components/schemas/ErrorResponse' }
14822
+ /v1/me/connected-apps/{clientId}:
14823
+ delete:
14824
+ operationId: revokeConnectedApp
14825
+ tags: [Connected Apps]
14826
+ summary: Revoke connected app
14827
+ description: |
14828
+ Ends an app's access: invalidates the client's pending authorization codes and
14829
+ revokes every live token it holds for the authenticated user. Takes effect on
14830
+ the app's next request.
14831
+
14832
+ Idempotent while the authorization is still on record: revoking an app that
14833
+ was already revoked returns 200 with `revokedTokens: 0`.
14834
+ parameters:
14835
+ - name: clientId
14836
+ in: path
14837
+ required: true
14838
+ description: 'OAuth client id, as returned by GET /v1/me/connected-apps.'
14839
+ schema: { type: string, minLength: 1, maxLength: 200 }
14840
+ responses:
14841
+ '200':
14842
+ description: Revoked
14843
+ content:
14844
+ application/json:
14845
+ schema:
14846
+ type: object
14847
+ properties:
14848
+ revoked: { type: boolean }
14849
+ clientId: { type: string }
14850
+ revokedTokens: { type: integer, description: 'Access and refresh tokens revoked by this call.' }
14851
+ invalidatedCodes: { type: integer, description: 'Pending authorization codes invalidated by this call.' }
14852
+ example:
14853
+ revoked: true
14854
+ clientId: "late_cid_3f9c1a7b2d4e6f80a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718"
14855
+ revokedTokens: 2
14856
+ invalidatedCodes: 0
14857
+ '400': { $ref: '#/components/responses/BadRequest' }
14858
+ '401': { $ref: '#/components/responses/Unauthorized' }
14859
+ '403':
14860
+ description: 'The calling credential may not manage OAuth authorizations (profile-scoped API key or OAuth access token). Error code: insufficient_permissions.'
14861
+ content:
14862
+ application/json:
14863
+ schema: { $ref: '#/components/schemas/ErrorResponse' }
14864
+ '404':
14865
+ description: 'The authenticated user has never authorized this client. Error code: oauth_client_not_found.'
14866
+ content:
14867
+ application/json:
14868
+ schema: { $ref: '#/components/schemas/ErrorResponse' }
14869
+
14755
14870
  /v1/invite/tokens:
14756
14871
  post:
14757
14872
  operationId: createInviteToken
@@ -24394,7 +24509,10 @@ paths:
24394
24509
  (code USE_AD_COMMENTS_ENDPOINT — response includes `adId` and `adCommentsUrl`).
24395
24510
  '401': { $ref: '#/components/responses/Unauthorized' }
24396
24511
  '403':
24397
- description: Inbox addon required
24512
+ description: 'Inbox addon required, or the connected account is not permitted to read this post on the platform (code platform_api_error, type platform_error)'
24513
+ '429': { $ref: '#/components/responses/RateLimited' }
24514
+ '502':
24515
+ description: 'Upstream platform error (code platform_api_error, type platform_error)'
24398
24516
  post:
24399
24517
  operationId: replyToInboxPost
24400
24518
  summary: Reply to comment
@@ -24444,7 +24562,10 @@ paths:
24444
24562
  description: 'Invalid request (e.g. attachmentUrl on a platform other than Facebook, code PLATFORM_NOT_SUPPORTED)'
24445
24563
  '401': { $ref: '#/components/responses/Unauthorized' }
24446
24564
  '403':
24447
- description: Inbox addon required
24565
+ description: 'Inbox addon required, or the connected account is not permitted to comment on this post on the platform (code platform_api_error, type platform_error)'
24566
+ '429': { $ref: '#/components/responses/RateLimited' }
24567
+ '502':
24568
+ description: 'Upstream platform error (code platform_api_error, type platform_error)'
24448
24569
  delete:
24449
24570
  operationId: deleteInboxComment
24450
24571
  summary: Delete comment
@@ -24481,7 +24602,7 @@ paths:
24481
24602
  properties:
24482
24603
  message: { type: string }
24483
24604
  '400':
24484
- description: Platform rejected the operation (e.g., comment already deleted, insufficient permissions on the video)
24605
+ description: 'Platform rejected the operation (e.g., comment already deleted)'
24485
24606
  content:
24486
24607
  application/json:
24487
24608
  schema:
@@ -24490,7 +24611,10 @@ paths:
24490
24611
  error: { type: string }
24491
24612
  '401': { $ref: '#/components/responses/Unauthorized' }
24492
24613
  '403':
24493
- description: Inbox addon required
24614
+ description: 'Inbox addon required, or the connected account is not permitted to delete this comment on the platform (code platform_api_error, type platform_error)'
24615
+ '429': { $ref: '#/components/responses/RateLimited' }
24616
+ '502':
24617
+ description: 'Upstream platform error (code platform_api_error, type platform_error)'
24494
24618
 
24495
24619
  /v1/inbox/comments/{postId}/{commentId}:
24496
24620
  patch:
@@ -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
+
16
+ # Unit tests for Zernio::ConnectedAppsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'ConnectedAppsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Zernio::ConnectedAppsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of ConnectedAppsApi' do
30
+ it 'should create an instance of ConnectedAppsApi' do
31
+ expect(@api_instance).to be_instance_of(Zernio::ConnectedAppsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for list_connected_apps
36
+ # List connected apps
37
+ # Returns the OAuth clients (AI assistants and MCP connectors) the authenticated user has authorized and that still hold a live token. Requires a session or a full-scope API key. A profile-scoped API key or an OAuth access token is rejected with 403: an app must not be able to enumerate its sibling authorizations.
38
+ # @param [Hash] opts the optional parameters
39
+ # @return [ListConnectedApps200Response]
40
+ describe 'list_connected_apps test' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
43
+ end
44
+ end
45
+
46
+ # unit tests for revoke_connected_app
47
+ # Revoke connected app
48
+ # Ends an app&#39;s access: invalidates the client&#39;s pending authorization codes and revokes every live token it holds for the authenticated user. Takes effect on the app&#39;s next request. Idempotent while the authorization is still on record: revoking an app that was already revoked returns 200 with &#x60;revokedTokens: 0&#x60;.
49
+ # @param client_id OAuth client id, as returned by GET /v1/me/connected-apps.
50
+ # @param [Hash] opts the optional parameters
51
+ # @return [RevokeConnectedApp200Response]
52
+ describe 'revoke_connected_app test' 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
@@ -0,0 +1,72 @@
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::ConnectedApp
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::ConnectedApp do
21
+ #let(:instance) { Zernio::ConnectedApp.new }
22
+
23
+ describe 'test an instance of ConnectedApp' do
24
+ it 'should create an instance of ConnectedApp' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::ConnectedApp)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "client_id"' 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 "client_name"' 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 "redirect_host"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ describe 'test attribute "scopes"' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
+ end
52
+ end
53
+
54
+ describe 'test attribute "authorized_at"' do
55
+ it 'should work' do
56
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
57
+ end
58
+ end
59
+
60
+ describe 'test attribute "last_used_at"' do
61
+ it 'should work' do
62
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
63
+ end
64
+ end
65
+
66
+ describe 'test attribute "token_count"' do
67
+ it 'should work' do
68
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
69
+ end
70
+ end
71
+
72
+ end