dub 0.2.2.pre.alpha.61 → 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 (58) 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/createcustomer_responsebody.rb +1 -1
  7. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +27 -0
  8. data/lib/open_api_sdk/models/operations/createfolder_response.rb +60 -0
  9. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +5 -2
  10. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +11 -23
  11. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +5 -2
  12. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +5 -5
  13. data/lib/open_api_sdk/models/operations/createpartnerlink_response.rb +1 -1
  14. data/lib/open_api_sdk/models/operations/data.rb +5 -2
  15. data/lib/open_api_sdk/models/operations/deletecustomer_request.rb +1 -1
  16. data/lib/open_api_sdk/models/operations/deletecustomer_responsebody.rb +1 -1
  17. data/lib/open_api_sdk/models/operations/deletefolder_request.rb +24 -0
  18. data/lib/open_api_sdk/models/operations/deletefolder_response.rb +60 -0
  19. data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +24 -0
  20. data/lib/open_api_sdk/models/operations/getcustomer_request.rb +1 -1
  21. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +1 -1
  22. data/lib/open_api_sdk/models/operations/getlinks_request.rb +5 -2
  23. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +5 -2
  24. data/lib/open_api_sdk/models/operations/interval.rb +3 -1
  25. data/lib/open_api_sdk/models/operations/linkprops.rb +5 -2
  26. data/lib/open_api_sdk/models/operations/listevents_request.rb +5 -2
  27. data/lib/open_api_sdk/models/operations/listfolders_request.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/listfolders_response.rb +60 -0
  29. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +19 -0
  30. data/lib/open_api_sdk/models/operations/queryparam_interval.rb +3 -1
  31. data/lib/open_api_sdk/models/operations/requestbody.rb +5 -2
  32. data/lib/open_api_sdk/models/operations/responsebody.rb +1 -1
  33. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +5 -2
  34. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +26 -0
  35. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +45 -0
  36. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +60 -0
  37. data/lib/open_api_sdk/models/operations/updatecustomer_request.rb +1 -1
  38. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +1 -1
  39. data/lib/open_api_sdk/models/operations/{createpartner_type.rb → updatefolder_accesslevel.rb} +4 -4
  40. data/lib/open_api_sdk/models/operations/updatefolder_request.rb +27 -0
  41. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +27 -0
  42. data/lib/open_api_sdk/models/operations/updatefolder_response.rb +60 -0
  43. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +5 -2
  44. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +5 -2
  45. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +102 -0
  46. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +39 -0
  47. data/lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb +60 -0
  48. data/lib/open_api_sdk/models/operations.rb +19 -3
  49. data/lib/open_api_sdk/models/shared/accesslevel.rb +18 -0
  50. data/lib/open_api_sdk/models/shared/folderschema.rb +39 -0
  51. data/lib/open_api_sdk/models/shared/link.rb +5 -2
  52. data/lib/open_api_sdk/models/shared/linkschema.rb +5 -2
  53. data/lib/open_api_sdk/models/shared/workspaceschema.rb +5 -2
  54. data/lib/open_api_sdk/models/shared.rb +2 -0
  55. data/lib/open_api_sdk/partners.rb +166 -1
  56. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  57. metadata +24 -5
  58. data/lib/open_api_sdk/models/operations/createpartner_discount.rb +0 -42
@@ -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::CreatePartnerLinkLinkProps), 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::CreatePartnerLinkLinkProps), 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
@@ -27,7 +27,7 @@ module OpenApiSDK
27
27
  field :internal_server_error, T.nilable(::OpenApiSDK::Shared::InternalServerError)
28
28
  # This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
29
29
  field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
30
- # The created partner
30
+ # The created partner link
31
31
  field :link_schema, T.nilable(::OpenApiSDK::Shared::LinkSchema)
32
32
  # The server cannot find the requested resource.
33
33
  field :not_found, T.nilable(::OpenApiSDK::Shared::NotFound)
@@ -25,6 +25,8 @@ module OpenApiSDK
25
25
  field :expired_url, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiredUrl') } }
26
26
  # The date and time when the short link will expire at.
27
27
  field :expires_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
28
+ # The unique ID existing folder to assign the short link to.
29
+ field :folder_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
28
30
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`.
29
31
  field :geo, T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
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
@@ -79,8 +81,8 @@ module OpenApiSDK
79
81
  field :webhook_ids, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('webhookIds') } }
80
82
 
81
83
 
82
- 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), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), partner_id: T.nilable(::String), password: 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 }
83
- def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, expired_url: nil, expires_at: nil, geo: nil, image: nil, ios: nil, partner_id: nil, password: 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)
84
+ 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), folder_id: T.nilable(::String), geo: T.nilable(::OpenApiSDK::Shared::LinkGeoTargeting), image: T.nilable(::String), ios: T.nilable(::String), partner_id: T.nilable(::String), password: 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 }
85
+ def initialize(android: nil, archived: nil, comments: nil, description: nil, do_index: nil, expired_url: nil, expires_at: nil, folder_id: nil, geo: nil, image: nil, ios: nil, partner_id: nil, password: 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)
84
86
  @android = android
85
87
  @archived = archived
86
88
  @comments = comments
@@ -88,6 +90,7 @@ module OpenApiSDK
88
90
  @do_index = do_index
89
91
  @expired_url = expired_url
90
92
  @expires_at = expires_at
93
+ @folder_id = folder_id
91
94
  @geo = geo
92
95
  @image = image
93
96
  @ios = ios
@@ -11,7 +11,7 @@ module OpenApiSDK
11
11
  class DeleteCustomerRequest < ::OpenApiSDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The unique identifier of the customer in Dub.
14
+ # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
15
15
  field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
16
16
 
17
17
 
@@ -11,7 +11,7 @@ module OpenApiSDK
11
11
  class DeleteCustomerResponseBody < ::OpenApiSDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The unique identifier of the customer in Dub.
14
+ # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
15
15
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
16
16
 
17
17
 
@@ -0,0 +1,24 @@
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 DeleteFolderRequest < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The ID of the folder to delete.
15
+ field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
16
+
17
+
18
+ sig { params(id: ::String).void }
19
+ def initialize(id: nil)
20
+ @id = id
21
+ end
22
+ end
23
+ end
24
+ 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 DeleteFolderResponse < ::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 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.
25
+ field :forbidden, T.nilable(::OpenApiSDK::Shared::Forbidden)
26
+ # The server has encountered a situation it does not know how to handle.
27
+ field :internal_server_error, T.nilable(::OpenApiSDK::Shared::InternalServerError)
28
+ # This response is sent when the requested content has been permanently deleted from server, with no forwarding address.
29
+ field :invite_expired, T.nilable(::OpenApiSDK::Shared::InviteExpired)
30
+ # The server cannot find the requested resource.
31
+ field :not_found, T.nilable(::OpenApiSDK::Shared::NotFound)
32
+ # The deleted folder ID.
33
+ field :object, T.nilable(::OpenApiSDK::Operations::DeleteFolderResponseBody)
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), 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), object: T.nilable(::OpenApiSDK::Operations::DeleteFolderResponseBody), 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, forbidden: nil, internal_server_error: nil, invite_expired: nil, not_found: nil, object: 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
+ @forbidden = forbidden
50
+ @internal_server_error = internal_server_error
51
+ @invite_expired = invite_expired
52
+ @not_found = not_found
53
+ @object = object
54
+ @rate_limit_exceeded = rate_limit_exceeded
55
+ @unauthorized = unauthorized
56
+ @unprocessable_entity = unprocessable_entity
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,24 @@
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
+ # The deleted folder ID.
11
+ class DeleteFolderResponseBody < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The ID of the deleted folder.
15
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
16
+
17
+
18
+ sig { params(id: ::String).void }
19
+ def initialize(id: nil)
20
+ @id = id
21
+ end
22
+ end
23
+ end
24
+ end
@@ -11,7 +11,7 @@ module OpenApiSDK
11
11
  class GetCustomerRequest < ::OpenApiSDK::Utils::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The unique identifier of the customer in Dub.
14
+ # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
15
15
  field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
16
16
  # Whether to include expanded fields on the customer (`link`, `partner`, `discount`).
17
17
  field :include_expanded_fields, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'includeExpandedFields', 'style': 'form', 'explode': true } }
@@ -15,7 +15,7 @@ module OpenApiSDK
15
15
  field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
16
16
  # Unique identifier for the customer in the client's app.
17
17
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
18
- # The unique identifier of the customer in Dub.
18
+ # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
19
19
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
20
  # Name of the customer.
21
21
  field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
@@ -13,6 +13,8 @@ module OpenApiSDK
13
13
 
14
14
  # The domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned.
15
15
  field :domain, T.nilable(::String), { 'query_param': { 'field_name': 'domain', 'style': 'form', 'explode': true } }
16
+ # The folder ID to filter the links by.
17
+ field :folder_id, T.nilable(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
16
18
  # The page number for pagination.
17
19
  field :page, T.nilable(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
18
20
  # The number of items per page.
@@ -41,9 +43,10 @@ module OpenApiSDK
41
43
  field :with_tags, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'withTags', 'style': 'form', 'explode': true } }
42
44
 
43
45
 
44
- sig { params(domain: T.nilable(::String), page: T.nilable(::Float), page_size: T.nilable(::Float), search: T.nilable(::String), show_archived: T.nilable(T::Boolean), sort: T.nilable(::OpenApiSDK::Operations::Sort), sort_by: T.nilable(::OpenApiSDK::Operations::SortBy), sort_order: T.nilable(::OpenApiSDK::Operations::SortOrder), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), user_id: T.nilable(::String), with_tags: T.nilable(T::Boolean)).void }
45
- def initialize(domain: nil, page: nil, page_size: nil, search: nil, show_archived: nil, sort: nil, sort_by: nil, sort_order: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, user_id: nil, with_tags: nil)
46
+ sig { params(domain: T.nilable(::String), folder_id: T.nilable(::String), page: T.nilable(::Float), page_size: T.nilable(::Float), search: T.nilable(::String), show_archived: T.nilable(T::Boolean), sort: T.nilable(::OpenApiSDK::Operations::Sort), sort_by: T.nilable(::OpenApiSDK::Operations::SortBy), sort_order: T.nilable(::OpenApiSDK::Operations::SortOrder), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), user_id: T.nilable(::String), with_tags: T.nilable(T::Boolean)).void }
47
+ def initialize(domain: nil, folder_id: nil, page: nil, page_size: nil, search: nil, show_archived: nil, sort: nil, sort_by: nil, sort_order: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, user_id: nil, with_tags: nil)
46
48
  @domain = domain
49
+ @folder_id = folder_id
47
50
  @page = page
48
51
  @page_size = page_size
49
52
  @search = search
@@ -13,6 +13,8 @@ module OpenApiSDK
13
13
 
14
14
  # The domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned.
15
15
  field :domain, T.nilable(::String), { 'query_param': { 'field_name': 'domain', 'style': 'form', 'explode': true } }
16
+ # The folder ID to filter the links by.
17
+ field :folder_id, T.nilable(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
16
18
  # The field to group the links by.
17
19
  field :group_by, T.nilable(::Object), { 'query_param': { 'field_name': 'groupBy', 'style': 'form', 'explode': true } }
18
20
  # The search term to filter the links by. The search term will be matched against the short link slug and the destination url.
@@ -33,9 +35,10 @@ module OpenApiSDK
33
35
  field :with_tags, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'withTags', 'style': 'form', 'explode': true } }
34
36
 
35
37
 
36
- sig { params(domain: T.nilable(::String), group_by: T.nilable(::Object), search: T.nilable(::String), show_archived: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), user_id: T.nilable(::String), with_tags: T.nilable(T::Boolean)).void }
37
- def initialize(domain: nil, group_by: nil, search: nil, show_archived: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, user_id: nil, with_tags: nil)
38
+ sig { params(domain: T.nilable(::String), folder_id: T.nilable(::String), group_by: T.nilable(::Object), search: T.nilable(::String), show_archived: T.nilable(T::Boolean), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tag_names: T.nilable(::Object), tenant_id: T.nilable(::String), user_id: T.nilable(::String), with_tags: T.nilable(T::Boolean)).void }
39
+ def initialize(domain: nil, folder_id: nil, group_by: nil, search: nil, show_archived: nil, tag_id: nil, tag_ids: nil, tag_names: nil, tenant_id: nil, user_id: nil, with_tags: nil)
38
40
  @domain = domain
41
+ @folder_id = folder_id
39
42
  @group_by = group_by
40
43
  @search = search
41
44
  @show_archived = show_archived
@@ -14,8 +14,10 @@ module OpenApiSDK
14
14
  SEVEND = new('7d')
15
15
  THIRTYD = new('30d')
16
16
  NINETYD = new('90d')
17
- YTD = new('ytd')
18
17
  ONEY = new('1y')
18
+ MTD = new('mtd')
19
+ QTD = new('qtd')
20
+ YTD = new('ytd')
19
21
  ALL = new('all')
20
22
  ALL_UNFILTERED = new('all_unfiltered')
21
23
  end
@@ -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
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :event, T.nilable(::OpenApiSDK::Operations::QueryParamEvent), { 'query_param': { 'field_name': 'event', 'style': 'form', 'explode': true } }
30
30
  # This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.
31
31
  field :external_id, T.nilable(::String), { 'query_param': { 'field_name': 'externalId', 'style': 'form', 'explode': true } }
32
+ # The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links.
33
+ field :folder_id, T.nilable(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
32
34
  # The interval to retrieve events for. Takes precedence over start and end. If undefined, defaults to 24h.
33
35
  field :interval, T.nilable(::OpenApiSDK::Operations::QueryParamInterval), { 'query_param': { 'field_name': 'interval', 'style': 'form', 'explode': true } }
34
36
  # The short link slug.
@@ -87,8 +89,8 @@ module OpenApiSDK
87
89
  field :utm_term, T.nilable(::String), { 'query_param': { 'field_name': 'utm_term', 'style': 'form', 'explode': true } }
88
90
 
89
91
 
90
- sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::QueryParamEvent), external_id: T.nilable(::String), interval: T.nilable(::OpenApiSDK::Operations::QueryParamInterval), key: T.nilable(::String), limit: T.nilable(::Float), link_id: T.nilable(::String), order: T.nilable(::OpenApiSDK::Operations::Order), os: T.nilable(::String), page: T.nilable(::Float), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), sort_by: T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), sort_order: T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::QueryParamTrigger), 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)).void }
91
- def initialize(browser: nil, city: nil, continent: nil, country: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, interval: nil, key: nil, limit: nil, link_id: nil, order: nil, os: nil, page: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, sort_by: nil, sort_order: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
92
+ sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::QueryParamEvent), external_id: T.nilable(::String), folder_id: T.nilable(::String), interval: T.nilable(::OpenApiSDK::Operations::QueryParamInterval), key: T.nilable(::String), limit: T.nilable(::Float), link_id: T.nilable(::String), order: T.nilable(::OpenApiSDK::Operations::Order), os: T.nilable(::String), page: T.nilable(::Float), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), sort_by: T.nilable(::OpenApiSDK::Operations::QueryParamSortBy), sort_order: T.nilable(::OpenApiSDK::Operations::QueryParamSortOrder), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::QueryParamTrigger), 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)).void }
93
+ def initialize(browser: nil, city: nil, continent: nil, country: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, folder_id: nil, interval: nil, key: nil, limit: nil, link_id: nil, order: nil, os: nil, page: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, sort_by: nil, sort_order: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
92
94
  @browser = browser
93
95
  @city = city
94
96
  @continent = continent
@@ -98,6 +100,7 @@ module OpenApiSDK
98
100
  @end_ = end_
99
101
  @event = event
100
102
  @external_id = external_id
103
+ @folder_id = folder_id
101
104
  @interval = interval
102
105
  @key = key
103
106
  @limit = limit
@@ -0,0 +1,24 @@
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 ListFoldersRequest < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The search term to filter the folders by.
15
+ field :search, T.nilable(::String), { 'query_param': { 'field_name': 'search', 'style': 'form', 'explode': true } }
16
+
17
+
18
+ sig { params(search: T.nilable(::String)).void }
19
+ def initialize(search: nil)
20
+ @search = search
21
+ end
22
+ end
23
+ end
24
+ 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 ListFoldersResponse < ::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
+ # A list of folders
25
+ field :folder_schemas, T.nilable(T::Array[::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_schemas: T.nilable(T::Array[::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_schemas: 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_schemas = folder_schemas
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
@@ -0,0 +1,19 @@
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
+ # QueryParamGroupBy - The parameter to group the analytics data points by. Defaults to `count` if undefined.
11
+ class QueryParamGroupBy < T::Enum
12
+ enums do
13
+ TOP_LINKS = new('top_links')
14
+ TIMESERIES = new('timeseries')
15
+ COUNT = new('count')
16
+ end
17
+ end
18
+ end
19
+ end
@@ -14,8 +14,10 @@ module OpenApiSDK
14
14
  SEVEND = new('7d')
15
15
  THIRTYD = new('30d')
16
16
  NINETYD = new('90d')
17
- YTD = new('ytd')
18
17
  ONEY = new('1y')
18
+ MTD = new('mtd')
19
+ QTD = new('qtd')
20
+ YTD = new('ytd')
19
21
  ALL = new('all')
20
22
  end
21
23
  end
@@ -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
@@ -15,7 +15,7 @@ module OpenApiSDK
15
15
  field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
16
16
  # Unique identifier for the customer in the client's app.
17
17
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
18
- # The unique identifier of the customer in Dub.
18
+ # The unique ID of the customer. You may use either the customer's `id` on Dub (obtained via `/customers` endpoint) or their `externalId` (unique ID within your system, prefixed with `ext_`, e.g. `ext_123`).
19
19
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
20
  # Name of the customer.
21
21
  field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :event, T.nilable(::OpenApiSDK::Operations::Event), { 'query_param': { 'field_name': 'event', 'style': 'form', 'explode': true } }
30
30
  # This is the ID of the link in the your database. Must be prefixed with 'ext_' when passed as a query parameter.
31
31
  field :external_id, T.nilable(::String), { 'query_param': { 'field_name': 'externalId', 'style': 'form', 'explode': true } }
32
+ # The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links.
33
+ field :folder_id, T.nilable(::String), { 'query_param': { 'field_name': 'folderId', 'style': 'form', 'explode': true } }
32
34
  # The parameter to group the analytics data points by. Defaults to `count` if undefined.
33
35
  field :group_by, T.nilable(::OpenApiSDK::Operations::GroupBy), { 'query_param': { 'field_name': 'groupBy', 'style': 'form', 'explode': true } }
34
36
  # The interval to retrieve analytics for. If undefined, defaults to 24h.
@@ -79,8 +81,8 @@ module OpenApiSDK
79
81
  field :utm_term, T.nilable(::String), { 'query_param': { 'field_name': 'utm_term', 'style': 'form', 'explode': true } }
80
82
 
81
83
 
82
- sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::Event), external_id: T.nilable(::String), group_by: T.nilable(::OpenApiSDK::Operations::GroupBy), interval: T.nilable(::OpenApiSDK::Operations::Interval), key: T.nilable(::String), link_id: T.nilable(::String), os: T.nilable(::String), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::Trigger), 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)).void }
83
- def initialize(browser: nil, city: nil, continent: nil, country: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, group_by: nil, interval: nil, key: nil, link_id: nil, os: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
84
+ sig { params(browser: T.nilable(::String), city: T.nilable(::String), continent: T.nilable(::OpenApiSDK::Shared::ContinentCode), country: T.nilable(::OpenApiSDK::Shared::CountryCode), device: T.nilable(::String), domain: T.nilable(::String), end_: T.nilable(::String), event: T.nilable(::OpenApiSDK::Operations::Event), external_id: T.nilable(::String), folder_id: T.nilable(::String), group_by: T.nilable(::OpenApiSDK::Operations::GroupBy), interval: T.nilable(::OpenApiSDK::Operations::Interval), key: T.nilable(::String), link_id: T.nilable(::String), os: T.nilable(::String), partner_id: T.nilable(::String), program_id: T.nilable(::String), qr: T.nilable(T::Boolean), referer: T.nilable(::String), referer_url: T.nilable(::String), region: T.nilable(::String), root: T.nilable(T::Boolean), start: T.nilable(::String), tag_id: T.nilable(::String), tag_ids: T.nilable(::Object), tenant_id: T.nilable(::String), timezone: T.nilable(::String), trigger: T.nilable(::OpenApiSDK::Operations::Trigger), 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)).void }
85
+ def initialize(browser: nil, city: nil, continent: nil, country: nil, device: nil, domain: nil, end_: nil, event: nil, external_id: nil, folder_id: nil, group_by: nil, interval: nil, key: nil, link_id: nil, os: nil, partner_id: nil, program_id: nil, qr: nil, referer: nil, referer_url: nil, region: nil, root: nil, start: nil, tag_id: nil, tag_ids: nil, tenant_id: nil, timezone: nil, trigger: nil, url: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil)
84
86
  @browser = browser
85
87
  @city = city
86
88
  @continent = continent
@@ -90,6 +92,7 @@ module OpenApiSDK
90
92
  @end_ = end_
91
93
  @event = event
92
94
  @external_id = external_id
95
+ @folder_id = folder_id
93
96
  @group_by = group_by
94
97
  @interval = interval
95
98
  @key = key
@@ -0,0 +1,26 @@
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
+ # RetrievePartnerAnalyticsQueryParamInterval - The interval to retrieve analytics for. If undefined, defaults to 24h.
11
+ class RetrievePartnerAnalyticsQueryParamInterval < T::Enum
12
+ enums do
13
+ TWENTY_FOURH = new('24h')
14
+ SEVEND = new('7d')
15
+ THIRTYD = new('30d')
16
+ NINETYD = new('90d')
17
+ ONEY = new('1y')
18
+ MTD = new('mtd')
19
+ QTD = new('qtd')
20
+ YTD = new('ytd')
21
+ ALL = new('all')
22
+ ALL_UNFILTERED = new('all_unfiltered')
23
+ end
24
+ end
25
+ end
26
+ end