dub 0.2.2.pre.alpha.62 → 0.2.2.pre.alpha.63

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -0
  3. data/lib/open_api_sdk/dub.rb +2 -1
  4. data/lib/open_api_sdk/folders.rb +359 -0
  5. data/lib/open_api_sdk/models/operations/{createpartner_interval.rb → accesslevel.rb} +4 -4
  6. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +27 -0
  7. data/lib/open_api_sdk/models/operations/createfolder_response.rb +60 -0
  8. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +5 -2
  9. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +11 -23
  10. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +5 -2
  11. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +5 -5
  12. data/lib/open_api_sdk/models/operations/data.rb +5 -2
  13. data/lib/open_api_sdk/models/operations/deletefolder_request.rb +24 -0
  14. data/lib/open_api_sdk/models/operations/deletefolder_response.rb +60 -0
  15. data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +24 -0
  16. data/lib/open_api_sdk/models/operations/getlinks_request.rb +5 -2
  17. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +5 -2
  18. data/lib/open_api_sdk/models/operations/interval.rb +3 -1
  19. data/lib/open_api_sdk/models/operations/linkprops.rb +5 -2
  20. data/lib/open_api_sdk/models/operations/listevents_request.rb +5 -2
  21. data/lib/open_api_sdk/models/operations/listfolders_request.rb +24 -0
  22. data/lib/open_api_sdk/models/operations/listfolders_response.rb +60 -0
  23. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +19 -0
  24. data/lib/open_api_sdk/models/operations/queryparam_interval.rb +3 -1
  25. data/lib/open_api_sdk/models/operations/requestbody.rb +5 -2
  26. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +5 -2
  27. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +26 -0
  28. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +45 -0
  29. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +60 -0
  30. data/lib/open_api_sdk/models/operations/{createpartner_type.rb → updatefolder_accesslevel.rb} +4 -4
  31. data/lib/open_api_sdk/models/operations/updatefolder_request.rb +27 -0
  32. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +27 -0
  33. data/lib/open_api_sdk/models/operations/updatefolder_response.rb +60 -0
  34. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +5 -2
  35. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +5 -2
  36. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +5 -2
  37. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +5 -5
  38. data/lib/open_api_sdk/models/operations.rb +16 -3
  39. data/lib/open_api_sdk/models/shared/accesslevel.rb +18 -0
  40. data/lib/open_api_sdk/models/shared/folderschema.rb +39 -0
  41. data/lib/open_api_sdk/models/shared/link.rb +5 -2
  42. data/lib/open_api_sdk/models/shared/linkschema.rb +5 -2
  43. data/lib/open_api_sdk/models/shared/workspaceschema.rb +5 -2
  44. data/lib/open_api_sdk/models/shared.rb +2 -0
  45. data/lib/open_api_sdk/partners.rb +79 -0
  46. data/lib/open_api_sdk/sdkconfiguration.rb +2 -2
  47. metadata +21 -5
  48. data/lib/open_api_sdk/models/operations/createpartner_discount.rb +0 -42
@@ -7,11 +7,11 @@
7
7
  module OpenApiSDK
8
8
  module Operations
9
9
 
10
-
11
- class CreatePartnerType < T::Enum
10
+ # UpdateFolderAccessLevel - The access level of the folder within the workspace.
11
+ class UpdateFolderAccessLevel < T::Enum
12
12
  enums do
13
- PERCENTAGE = new('percentage')
14
- FLAT = new('flat')
13
+ READ = new('read')
14
+ WRITE = new('write')
15
15
  end
16
16
  end
17
17
  end
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateFolderRequest < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The ID of the folder to update.
15
+ field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
16
+
17
+ field :request_body, T.nilable(::OpenApiSDK::Operations::UpdateFolderRequestBody), { 'request': { 'media_type': 'application/json' } }
18
+
19
+
20
+ sig { params(id: ::String, request_body: T.nilable(::OpenApiSDK::Operations::UpdateFolderRequestBody)).void }
21
+ def initialize(id: nil, request_body: nil)
22
+ @id = id
23
+ @request_body = request_body
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateFolderRequestBody < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The access level of the folder within the workspace.
15
+ field :access_level, T.nilable(::OpenApiSDK::Operations::UpdateFolderAccessLevel), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::UpdateFolderAccessLevel, true) } }
16
+ # The name of the folder.
17
+ field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
18
+
19
+
20
+ sig { params(access_level: T.nilable(::OpenApiSDK::Operations::UpdateFolderAccessLevel), name: T.nilable(::String)).void }
21
+ def initialize(access_level: nil, name: nil)
22
+ @access_level = access_level
23
+ @name = name
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,60 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Operations
9
+
10
+
11
+ class UpdateFolderResponse < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # HTTP response content type for this operation
15
+ field :content_type, ::String
16
+ # Raw HTTP response; suitable for custom response parsing
17
+ field :raw_response, ::Faraday::Response
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
21
+ field :bad_request, T.nilable(::OpenApiSDK::Shared::BadRequest)
22
+ # This response is sent when a request conflicts with the current state of the server.
23
+ field :conflict, T.nilable(::OpenApiSDK::Shared::Conflict)
24
+ # The updated folder.
25
+ field :folder_schema, T.nilable(::OpenApiSDK::Shared::FolderSchema)
26
+ # The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401 Unauthorized, the client's identity is known to the server.
27
+ field :forbidden, T.nilable(::OpenApiSDK::Shared::Forbidden)
28
+ # The server has encountered a situation it does not know how to handle.
29
+ field :internal_server_error, T.nilable(::OpenApiSDK::Shared::InternalServerError)
30
+ # This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
31
+ field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
32
+ # The server cannot find the requested resource.
33
+ field :not_found, T.nilable(::OpenApiSDK::Shared::NotFound)
34
+ # The user has sent too many requests in a given amount of time ("rate limiting")
35
+ field :rate_limit_exceeded, T.nilable(::OpenApiSDK::Shared::RateLimitExceeded)
36
+ # Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
37
+ field :unauthorized, T.nilable(::OpenApiSDK::Shared::Unauthorized)
38
+ # The request was well-formed but was unable to be followed due to semantic errors.
39
+ field :unprocessable_entity, T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)
40
+
41
+
42
+ sig { params(content_type: ::String, raw_response: ::Faraday::Response, status_code: ::Integer, bad_request: T.nilable(::OpenApiSDK::Shared::BadRequest), conflict: T.nilable(::OpenApiSDK::Shared::Conflict), folder_schema: T.nilable(::OpenApiSDK::Shared::FolderSchema), forbidden: T.nilable(::OpenApiSDK::Shared::Forbidden), internal_server_error: T.nilable(::OpenApiSDK::Shared::InternalServerError), invite_expired: T.nilable(::OpenApiSDK::Shared::InviteExpired), not_found: T.nilable(::OpenApiSDK::Shared::NotFound), rate_limit_exceeded: T.nilable(::OpenApiSDK::Shared::RateLimitExceeded), unauthorized: T.nilable(::OpenApiSDK::Shared::Unauthorized), unprocessable_entity: T.nilable(::OpenApiSDK::Shared::UnprocessableEntity)).void }
43
+ def initialize(content_type: nil, raw_response: nil, status_code: nil, bad_request: nil, conflict: nil, folder_schema: nil, forbidden: nil, internal_server_error: nil, invite_expired: nil, not_found: nil, rate_limit_exceeded: nil, unauthorized: nil, unprocessable_entity: nil)
44
+ @content_type = content_type
45
+ @raw_response = raw_response
46
+ @status_code = status_code
47
+ @bad_request = bad_request
48
+ @conflict = conflict
49
+ @folder_schema = folder_schema
50
+ @forbidden = forbidden
51
+ @internal_server_error = internal_server_error
52
+ @invite_expired = invite_expired
53
+ @not_found = not_found
54
+ @rate_limit_exceeded = rate_limit_exceeded
55
+ @unauthorized = unauthorized
56
+ @unprocessable_entity = unprocessable_entity
57
+ end
58
+ end
59
+ end
60
+ end
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
30
30
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
31
31
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
32
+ # The unique ID existing folder to assign the short link to.
33
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
32
34
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.
33
35
  field :geo, T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
34
36
  # The custom link preview image (og:image). Will be used for Custom Social Media Cards if `proxy` is true. Learn more: https://d.to/og
@@ -87,8 +89,8 @@ module OpenApiSDK
87
89
  field :webhook_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
88
90
 
89
91
 
90
- sig { params(android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), program_id: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), url: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
91
- def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, image: nil, ios: nil, key: nil, partner_id: nil, password: nil, prefix: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, title: nil, track_conversion: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
92
+ sig { params(android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), folder_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), program_id: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), url: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
93
+ def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, image: nil, ios: nil, key: nil, partner_id: nil, password: nil, prefix: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, title: nil, track_conversion: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
92
94
  @android = android
93
95
  @archived = archived
94
96
  @comments = comments
@@ -98,6 +100,7 @@ module OpenApiSDK
98
100
  @expired_url = expired_url
99
101
  @expires_at = expires_at
100
102
  @external_id = external_id
103
+ @folder_id = folder_id
101
104
  @geo = geo
102
105
  @image = image
103
106
  @ios = ios
@@ -31,6 +31,8 @@ module OpenApiSDK
31
31
  field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
32
32
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
33
33
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
34
+ # The unique ID existing folder to assign the short link to.
35
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
34
36
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.
35
37
  field :geo, T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
36
38
  # The custom link preview image (og:image). Will be used for Custom Social Media Cards if `proxy` is true. Learn more: https://d.to/og
@@ -87,8 +89,8 @@ module OpenApiSDK
87
89
  field :webhook_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
88
90
 
89
91
 
90
- sig { params(url: ::String, android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), program_id: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
91
- def initialize(url: nil, android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, image: nil, ios: nil, key: nil, partner_id: nil, password: nil, prefix: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, title: nil, track_conversion: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
92
+ sig { params(url: ::String, android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), domain: T.nilable(::String), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), folder_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), key: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), program_id: T.nilable(::String), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), title: T.nilable(::String), track_conversion: T.nilable(T::Boolean), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String), webhook_ids: T.nilable(T::Array[::String])).void }
93
+ def initialize(url: nil, android: nil, archived: nil, comments: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, image: nil, ios: nil, key: nil, partner_id: nil, password: nil, prefix: nil, program_id: nil, proxy: nil, public_stats: nil, ref: nil, rewrite: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, title: nil, track_conversion: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil)
92
94
  @url = url
93
95
  @android = android
94
96
  @archived = archived
@@ -99,6 +101,7 @@ module OpenApiSDK
99
101
  @expired_url = expired_url
100
102
  @expires_at = expires_at
101
103
  @external_id = external_id
104
+ @folder_id = folder_id
102
105
  @geo = geo
103
106
  @image = image
104
107
  @ios = ios
@@ -27,6 +27,8 @@ module OpenApiSDK
27
27
  field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
28
28
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
29
29
  field :external_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
30
+ # The unique ID existing folder to assign the short link to.
31
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
30
32
  # The custom link preview image (og:image). Will be used for Custom Social Media Cards if `proxy` is true. Learn more: https://d.to/og
31
33
  field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
32
34
  # The iOS destination URL for the short link for iOS device targeting.
@@ -65,8 +67,8 @@ module OpenApiSDK
65
67
  field :video, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('video') } }
66
68
 
67
69
 
68
- sig { params(android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), image: T.nilable(::String), ios: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), proxy: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), title: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String)).void }
69
- def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, expired_url: nil, expires_at: nil, external_id: nil, image: nil, ios: nil, partner_id: nil, password: nil, prefix: nil, proxy: nil, ref: nil, rewrite: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, title: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil)
70
+ sig { params(android: T.nilable(::String), archived: T.nilable(T::Boolean), comments: T.nilable(::String), description: T.nilable(::String), do_index: T.nilable(T::Boolean), expired_url: T.nilable(::String), expires_at: T.nilable(::String), external_id: T.nilable(::String), folder_id: T.nilable(::String), image: T.nilable(::String), ios: T.nilable(::String), partner_id: T.nilable(::String), password: T.nilable(::String), prefix: T.nilable(::String), proxy: T.nilable(T::Boolean), ref: T.nilable(::String), rewrite: T.nilable(T::Boolean), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), title: T.nilable(::String), utm_campaign: T.nilable(::String), utm_content: T.nilable(::String), utm_medium: T.nilable(::String), utm_source: T.nilable(::String), utm_term: T.nilable(::String), video: T.nilable(::String)).void }
71
+ def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, image: nil, ios: nil, partner_id: nil, password: nil, prefix: nil, proxy: nil, ref: nil, rewrite: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, title: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil)
70
72
  @android = android
71
73
  @archived = archived
72
74
  @comments = comments
@@ -75,6 +77,7 @@ module OpenApiSDK
75
77
  @expired_url = expired_url
76
78
  @expires_at = expires_at
77
79
  @external_id = external_id
80
+ @folder_id = folder_id
78
81
  @image = image
79
82
  @ios = ios
80
83
  @partner_id = partner_id
@@ -13,8 +13,6 @@ module OpenApiSDK
13
13
 
14
14
  # The ID of the program that the partner is enrolled in.
15
15
  field :program_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
16
- # The URL to shorten. Will throw an error if the domain doesn't match the program's default URL domain.
17
- field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
18
16
  # The short link slug. If not provided, a random 7-character slug will be generated.
19
17
  field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
20
18
  # Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner.
@@ -23,16 +21,18 @@ module OpenApiSDK
23
21
  field :partner_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId') } }
24
22
  # The ID of the partner in your system. If both `partnerId` and `tenantId` are not provided, an error will be thrown.
25
23
  field :tenant_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
24
+ # The URL to shorten (if not provided, the program's default URL will be used). Will throw an error if the domain doesn't match the program's default URL domain.
25
+ field :url, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
26
26
 
27
27
 
28
- sig { params(program_id: ::String, url: ::String, key: T.nilable(::String), link_props: T.nilable(::OpenApiSDK::Operations::UpsertPartnerLinkLinkProps), partner_id: T.nilable(::String), tenant_id: T.nilable(::String)).void }
29
- def initialize(program_id: nil, url: nil, key: nil, link_props: nil, partner_id: nil, tenant_id: nil)
28
+ sig { params(program_id: ::String, key: T.nilable(::String), link_props: T.nilable(::OpenApiSDK::Operations::UpsertPartnerLinkLinkProps), partner_id: T.nilable(::String), tenant_id: T.nilable(::String), url: T.nilable(::String)).void }
29
+ def initialize(program_id: nil, key: nil, link_props: nil, partner_id: nil, tenant_id: nil, url: nil)
30
30
  @program_id = program_id
31
- @url = url
32
31
  @key = key
33
32
  @link_props = link_props
34
33
  @partner_id = partner_id
35
34
  @tenant_id = tenant_id
35
+ @url = url
36
36
  end
37
37
  end
38
38
  end
@@ -60,6 +60,18 @@ module OpenApiSDK
60
60
  autoload :DeleteTagRequest, 'open_api_sdk/models/operations/deletetag_request.rb'
61
61
  autoload :DeleteTagResponseBody, 'open_api_sdk/models/operations/deletetag_responsebody.rb'
62
62
  autoload :DeleteTagResponse, 'open_api_sdk/models/operations/deletetag_response.rb'
63
+ autoload :AccessLevel, 'open_api_sdk/models/operations/accesslevel.rb'
64
+ autoload :CreateFolderRequestBody, 'open_api_sdk/models/operations/createfolder_requestbody.rb'
65
+ autoload :CreateFolderResponse, 'open_api_sdk/models/operations/createfolder_response.rb'
66
+ autoload :ListFoldersRequest, 'open_api_sdk/models/operations/listfolders_request.rb'
67
+ autoload :ListFoldersResponse, 'open_api_sdk/models/operations/listfolders_response.rb'
68
+ autoload :UpdateFolderAccessLevel, 'open_api_sdk/models/operations/updatefolder_accesslevel.rb'
69
+ autoload :UpdateFolderRequestBody, 'open_api_sdk/models/operations/updatefolder_requestbody.rb'
70
+ autoload :UpdateFolderRequest, 'open_api_sdk/models/operations/updatefolder_request.rb'
71
+ autoload :UpdateFolderResponse, 'open_api_sdk/models/operations/updatefolder_response.rb'
72
+ autoload :DeleteFolderRequest, 'open_api_sdk/models/operations/deletefolder_request.rb'
73
+ autoload :DeleteFolderResponseBody, 'open_api_sdk/models/operations/deletefolder_responsebody.rb'
74
+ autoload :DeleteFolderResponse, 'open_api_sdk/models/operations/deletefolder_response.rb'
63
75
  autoload :CreateDomainRequestBody, 'open_api_sdk/models/operations/createdomain_requestbody.rb'
64
76
  autoload :CreateDomainResponse, 'open_api_sdk/models/operations/createdomain_response.rb'
65
77
  autoload :ListDomainsRequest, 'open_api_sdk/models/operations/listdomains_request.rb'
@@ -122,9 +134,6 @@ module OpenApiSDK
122
134
  autoload :CreatePartnerRequestBody, 'open_api_sdk/models/operations/createpartner_requestbody.rb'
123
135
  autoload :Status, 'open_api_sdk/models/operations/status.rb'
124
136
  autoload :Links, 'open_api_sdk/models/operations/links.rb'
125
- autoload :CreatePartnerType, 'open_api_sdk/models/operations/createpartner_type.rb'
126
- autoload :CreatePartnerInterval, 'open_api_sdk/models/operations/createpartner_interval.rb'
127
- autoload :CreatePartnerDiscount, 'open_api_sdk/models/operations/createpartner_discount.rb'
128
137
  autoload :CreatePartnerResponseBody, 'open_api_sdk/models/operations/createpartner_responsebody.rb'
129
138
  autoload :CreatePartnerResponse, 'open_api_sdk/models/operations/createpartner_response.rb'
130
139
  autoload :CreatePartnerLinkLinkProps, 'open_api_sdk/models/operations/createpartnerlink_linkprops.rb'
@@ -133,6 +142,10 @@ module OpenApiSDK
133
142
  autoload :UpsertPartnerLinkLinkProps, 'open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb'
134
143
  autoload :UpsertPartnerLinkRequestBody, 'open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb'
135
144
  autoload :UpsertPartnerLinkResponse, 'open_api_sdk/models/operations/upsertpartnerlink_response.rb'
145
+ autoload :RetrievePartnerAnalyticsQueryParamInterval, 'open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb'
146
+ autoload :QueryParamGroupBy, 'open_api_sdk/models/operations/queryparam_groupby.rb'
147
+ autoload :RetrievePartnerAnalyticsRequest, 'open_api_sdk/models/operations/retrievepartneranalytics_request.rb'
148
+ autoload :RetrievePartnerAnalyticsResponse, 'open_api_sdk/models/operations/retrievepartneranalytics_response.rb'
136
149
  autoload :GetWorkspaceRequest, 'open_api_sdk/models/operations/getworkspace_request.rb'
137
150
  autoload :GetWorkspaceResponse, 'open_api_sdk/models/operations/getworkspace_response.rb'
138
151
  autoload :UpdateWorkspaceRequestBody, 'open_api_sdk/models/operations/updateworkspace_requestbody.rb'
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Shared
9
+
10
+ # AccessLevel - The access level of the folder within the workspace.
11
+ class AccessLevel < T::Enum
12
+ enums do
13
+ READ = new('read')
14
+ WRITE = new('write')
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,39 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Shared
9
+
10
+
11
+ class FolderSchema < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The access level of the folder within the workspace.
15
+ field :access_level, ::OpenApiSDK::Shared::AccessLevel, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Shared::AccessLevel, false) } }
16
+ # The date the folder was created.
17
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
18
+ # The unique ID of the folder.
19
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
+ # The number of links in the folder.
21
+ field :link_count, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkCount') } }
22
+ # The name of the folder.
23
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
24
+ # The date the folder was updated.
25
+ field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }
26
+
27
+
28
+ sig { params(access_level: ::OpenApiSDK::Shared::AccessLevel, created_at: ::String, id: ::String, link_count: ::Float, name: ::String, updated_at: ::String).void }
29
+ def initialize(access_level: nil, created_at: nil, id: nil, link_count: nil, name: nil, updated_at: nil)
30
+ @access_level = access_level
31
+ @created_at = created_at
32
+ @id = id
33
+ @link_count = link_count
34
+ @name = name
35
+ @updated_at = updated_at
36
+ end
37
+ end
38
+ end
39
+ end
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :expires_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
30
30
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
31
31
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
32
+ # The unique ID of the folder assigned to the short link.
33
+ field :folder_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
32
34
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo
33
35
  field :geo, ::OpenApiSDK::Shared::ClickEventGeo, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
34
36
  # The unique ID of the short link.
@@ -107,8 +109,8 @@ module OpenApiSDK
107
109
  field :track_conversion, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trackConversion') } }
108
110
 
109
111
 
110
- sig { params(android: ::String, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, geo: ::OpenApiSDK::Shared::ClickEventGeo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, qr_code: ::String, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String, archived: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), track_conversion: T.nilable(T::Boolean)).void }
111
- def initialize(android: nil, clicks: nil, comments: nil, created_at: nil, description: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, qr_code: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil, archived: nil, do_index: nil, proxy: nil, public_stats: nil, rewrite: nil, track_conversion: nil)
112
+ sig { params(android: ::String, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, folder_id: ::String, geo: ::OpenApiSDK::Shared::ClickEventGeo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, qr_code: ::String, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String, archived: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), track_conversion: T.nilable(T::Boolean)).void }
113
+ def initialize(android: nil, clicks: nil, comments: nil, created_at: nil, description: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, qr_code: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil, archived: nil, do_index: nil, proxy: nil, public_stats: nil, rewrite: nil, track_conversion: nil)
112
114
  @android = android
113
115
  @clicks = clicks
114
116
  @comments = comments
@@ -118,6 +120,7 @@ module OpenApiSDK
118
120
  @expired_url = expired_url
119
121
  @expires_at = expires_at
120
122
  @external_id = external_id
123
+ @folder_id = folder_id
121
124
  @geo = geo
122
125
  @id = id
123
126
  @image = image
@@ -33,6 +33,8 @@ module OpenApiSDK
33
33
  field :expires_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
34
34
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
35
35
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
36
+ # The unique ID of the folder assigned to the short link.
37
+ field :folder_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
36
38
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo
37
39
  field :geo, ::OpenApiSDK::Shared::Geo, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
38
40
  # The unique ID of the short link.
@@ -107,8 +109,8 @@ module OpenApiSDK
107
109
  field :workspace_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('workspaceId') } }
108
110
 
109
111
 
110
- sig { params(android: ::String, archived: T::Boolean, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, do_index: T::Boolean, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, geo: ::OpenApiSDK::Shared::Geo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, proxy: T::Boolean, public_stats: T::Boolean, qr_code: ::String, rewrite: T::Boolean, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, track_conversion: T::Boolean, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String).void }
111
- def initialize(android: nil, archived: nil, clicks: nil, comments: nil, created_at: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, proxy: nil, public_stats: nil, qr_code: nil, rewrite: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, track_conversion: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil)
112
+ sig { params(android: ::String, archived: T::Boolean, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, do_index: T::Boolean, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, folder_id: ::String, geo: ::OpenApiSDK::Shared::Geo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, proxy: T::Boolean, public_stats: T::Boolean, qr_code: ::String, rewrite: T::Boolean, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, track_conversion: T::Boolean, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String).void }
113
+ def initialize(android: nil, archived: nil, clicks: nil, comments: nil, created_at: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, proxy: nil, public_stats: nil, qr_code: nil, rewrite: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, track_conversion: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil)
112
114
  @android = android
113
115
  @archived = archived
114
116
  @clicks = clicks
@@ -120,6 +122,7 @@ module OpenApiSDK
120
122
  @expired_url = expired_url
121
123
  @expires_at = expires_at
122
124
  @external_id = external_id
125
+ @folder_id = folder_id
123
126
  @geo = geo
124
127
  @id = id
125
128
  @image = image
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :domains_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domainsLimit') } }
30
30
  # Whether the workspace has claimed a free .link domain. (dub.link/free)
31
31
  field :dot_link_claimed, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('dotLinkClaimed') } }
32
+ # The folders limit of the workspace.
33
+ field :folders_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('foldersLimit') } }
32
34
  # The unique ID of the workspace.
33
35
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
34
36
  # The invite code of the workspace.
@@ -73,8 +75,8 @@ module OpenApiSDK
73
75
  field :flags, T.nilable(T::Hash[Symbol, T::Boolean]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('flags') } }
74
76
 
75
77
 
76
- sig { params(ai_limit: ::Float, ai_usage: ::Float, allowed_hostnames: T::Array[::String], billing_cycle_start: ::Float, conversion_enabled: T::Boolean, created_at: ::String, domains: T::Array[::OpenApiSDK::Shared::Domains], domains_limit: ::Float, dot_link_claimed: T::Boolean, id: ::String, invite_code: ::String, links_limit: ::Float, links_usage: ::Float, logo: ::String, name: ::String, partners_enabled: T::Boolean, payment_failed_at: ::String, plan: ::OpenApiSDK::Shared::Plan, sales_limit: ::Float, sales_usage: ::Float, slug: ::String, store: T::Hash[Symbol, ::Object], stripe_connect_id: ::String, stripe_id: ::String, tags_limit: ::Float, usage: ::Float, usage_limit: ::Float, users: T::Array[::OpenApiSDK::Shared::Users], users_limit: ::Float, flags: T.nilable(T::Hash[Symbol, T::Boolean])).void }
77
- def initialize(ai_limit: nil, ai_usage: nil, allowed_hostnames: nil, billing_cycle_start: nil, conversion_enabled: nil, created_at: nil, domains: nil, domains_limit: nil, dot_link_claimed: nil, id: nil, invite_code: nil, links_limit: nil, links_usage: nil, logo: nil, name: nil, partners_enabled: nil, payment_failed_at: nil, plan: nil, sales_limit: nil, sales_usage: nil, slug: nil, store: nil, stripe_connect_id: nil, stripe_id: nil, tags_limit: nil, usage: nil, usage_limit: nil, users: nil, users_limit: nil, flags: nil)
78
+ sig { params(ai_limit: ::Float, ai_usage: ::Float, allowed_hostnames: T::Array[::String], billing_cycle_start: ::Float, conversion_enabled: T::Boolean, created_at: ::String, domains: T::Array[::OpenApiSDK::Shared::Domains], domains_limit: ::Float, dot_link_claimed: T::Boolean, folders_limit: ::Float, id: ::String, invite_code: ::String, links_limit: ::Float, links_usage: ::Float, logo: ::String, name: ::String, partners_enabled: T::Boolean, payment_failed_at: ::String, plan: ::OpenApiSDK::Shared::Plan, sales_limit: ::Float, sales_usage: ::Float, slug: ::String, store: T::Hash[Symbol, ::Object], stripe_connect_id: ::String, stripe_id: ::String, tags_limit: ::Float, usage: ::Float, usage_limit: ::Float, users: T::Array[::OpenApiSDK::Shared::Users], users_limit: ::Float, flags: T.nilable(T::Hash[Symbol, T::Boolean])).void }
79
+ def initialize(ai_limit: nil, ai_usage: nil, allowed_hostnames: nil, billing_cycle_start: nil, conversion_enabled: nil, created_at: nil, domains: nil, domains_limit: nil, dot_link_claimed: nil, folders_limit: nil, id: nil, invite_code: nil, links_limit: nil, links_usage: nil, logo: nil, name: nil, partners_enabled: nil, payment_failed_at: nil, plan: nil, sales_limit: nil, sales_usage: nil, slug: nil, store: nil, stripe_connect_id: nil, stripe_id: nil, tags_limit: nil, usage: nil, usage_limit: nil, users: nil, users_limit: nil, flags: nil)
78
80
  @ai_limit = ai_limit
79
81
  @ai_usage = ai_usage
80
82
  @allowed_hostnames = allowed_hostnames
@@ -84,6 +86,7 @@ module OpenApiSDK
84
86
  @domains = domains
85
87
  @domains_limit = domains_limit
86
88
  @dot_link_claimed = dot_link_claimed
89
+ @folders_limit = folders_limit
87
90
  @id = id
88
91
  @invite_code = invite_code
89
92
  @links_limit = links_limit
@@ -44,6 +44,8 @@ module OpenApiSDK
44
44
  autoload :ClickEventGeo, 'open_api_sdk/models/shared/clickevent_geo.rb'
45
45
  autoload :Link, 'open_api_sdk/models/shared/link.rb'
46
46
  autoload :ClickEvent, 'open_api_sdk/models/shared/clickevent.rb'
47
+ autoload :AccessLevel, 'open_api_sdk/models/shared/accesslevel.rb'
48
+ autoload :FolderSchema, 'open_api_sdk/models/shared/folderschema.rb'
47
49
  autoload :RegisteredDomain, 'open_api_sdk/models/shared/registereddomain.rb'
48
50
  autoload :DomainSchema, 'open_api_sdk/models/shared/domainschema.rb'
49
51
  autoload :Plan, 'open_api_sdk/models/shared/plan.rb'
@@ -275,5 +275,84 @@ module OpenApiSDK
275
275
 
276
276
  res
277
277
  end
278
+
279
+
280
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest)).returns(::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse) }
281
+ def analytics(request)
282
+ # analytics - Retrieve analytics for a partner
283
+ # Retrieve analytics for a partner within a program. The response type vary based on the `groupBy` query parameter.
284
+ url, params = @sdk_configuration.get_server_details
285
+ base_url = Utils.template_url(url, params)
286
+ url = "#{base_url}/partners/analytics"
287
+ headers = {}
288
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest, request)
289
+ headers['Accept'] = 'application/json'
290
+ headers['user-agent'] = @sdk_configuration.user_agent
291
+
292
+ r = @sdk_configuration.client.get(url) do |req|
293
+ req.headers = headers
294
+ req.params = query_params
295
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
296
+ end
297
+
298
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
299
+
300
+ res = ::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse.new(
301
+ status_code: r.status, content_type: content_type, raw_response: r
302
+ )
303
+ if r.status == 200
304
+ if Utils.match_content_type(content_type, 'application/json')
305
+ out = Utils.unmarshal_complex(r.env.response_body, ::Object)
306
+ res.one_of = out
307
+ end
308
+ elsif r.status == 400
309
+ if Utils.match_content_type(content_type, 'application/json')
310
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
311
+ res.bad_request = out
312
+ end
313
+ elsif r.status == 401
314
+ if Utils.match_content_type(content_type, 'application/json')
315
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
316
+ res.unauthorized = out
317
+ end
318
+ elsif r.status == 403
319
+ if Utils.match_content_type(content_type, 'application/json')
320
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
321
+ res.forbidden = out
322
+ end
323
+ elsif r.status == 404
324
+ if Utils.match_content_type(content_type, 'application/json')
325
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
326
+ res.not_found = out
327
+ end
328
+ elsif r.status == 409
329
+ if Utils.match_content_type(content_type, 'application/json')
330
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
331
+ res.conflict = out
332
+ end
333
+ elsif r.status == 410
334
+ if Utils.match_content_type(content_type, 'application/json')
335
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
336
+ res.invite_expired = out
337
+ end
338
+ elsif r.status == 422
339
+ if Utils.match_content_type(content_type, 'application/json')
340
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
341
+ res.unprocessable_entity = out
342
+ end
343
+ elsif r.status == 429
344
+ if Utils.match_content_type(content_type, 'application/json')
345
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
346
+ res.rate_limit_exceeded = out
347
+ end
348
+ elsif r.status == 500
349
+ if Utils.match_content_type(content_type, 'application/json')
350
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
351
+ res.internal_server_error = out
352
+ end
353
+ end
354
+
355
+ res
356
+ end
278
357
  end
279
358
  end
@@ -38,9 +38,9 @@ module OpenApiSDK
38
38
  @security = security
39
39
  @language = 'ruby'
40
40
  @openapi_doc_version = '0.0.1'
41
- @sdk_version = '0.2.2-alpha.62'
41
+ @sdk_version = '0.2.2-alpha.63'
42
42
  @gen_version = '2.506.0'
43
- @user_agent = 'speakeasy-sdk/ruby 0.2.2-alpha.62 2.506.0 0.0.1 dub'
43
+ @user_agent = 'speakeasy-sdk/ruby 0.2.2-alpha.63 2.506.0 0.0.1 dub'
44
44
  end
45
45
 
46
46
  sig { returns([String, T::Hash[Symbol, String]]) }