dub 0.27.1__tar.gz → 0.27.3__tar.gz

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 (148) hide show
  1. {dub-0.27.1 → dub-0.27.3}/PKG-INFO +3 -2
  2. {dub-0.27.1 → dub-0.27.3}/README-PYPI.md +2 -1
  3. {dub-0.27.1 → dub-0.27.3}/pyproject.toml +1 -1
  4. {dub-0.27.1 → dub-0.27.3}/src/dub/_version.py +3 -3
  5. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/__init__.py +41 -2
  6. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticstriggers.py +2 -0
  7. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/clickevent.py +92 -47
  8. dub-0.27.3/src/dub/models/components/commissioncreatedevent.py +281 -0
  9. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/leadcreatedevent.py +66 -21
  10. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/leadevent.py +126 -48
  11. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/linkclickedevent.py +66 -21
  12. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/linkschema.py +26 -20
  13. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/linkwebhookevent.py +33 -21
  14. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/partnerenrolledevent.py +207 -80
  15. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/salecreatedevent.py +66 -21
  16. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/saleevent.py +206 -122
  17. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/webhookevent.py +6 -0
  18. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/__init__.py +3 -2
  19. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/__init__.py +71 -2
  20. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/bulkcreatelinks.py +25 -25
  21. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/bulkupdatelinks.py +25 -25
  22. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createlink.py +25 -25
  23. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createpartner.py +207 -80
  24. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getlinks.py +2 -2
  25. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getlinkscount.py +2 -2
  26. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/listcommissions.py +169 -8
  27. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/listevents.py +48 -20
  28. dub-0.27.3/src/dub/models/operations/listpartners.py +516 -0
  29. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/retrieveanalytics.py +48 -20
  30. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/retrievelinks.py +6 -6
  31. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/tracksale.py +1 -0
  32. dub-0.27.3/src/dub/models/operations/updatecommission.py +315 -0
  33. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/updatelink.py +25 -25
  34. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/upsertlink.py +25 -25
  35. {dub-0.27.1 → dub-0.27.3}/src/dub/partners.py +262 -0
  36. {dub-0.27.1 → dub-0.27.3}/src/dub/sdk.py +1 -1
  37. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/__init__.py +3 -2
  38. dub-0.27.1/src/dub/models/operations/updatecommission.py +0 -154
  39. {dub-0.27.1 → dub-0.27.3}/LICENSE +0 -0
  40. {dub-0.27.1 → dub-0.27.3}/py.typed +0 -0
  41. {dub-0.27.1 → dub-0.27.3}/src/dub/__init__.py +0 -0
  42. {dub-0.27.1 → dub-0.27.3}/src/dub/_hooks/__init__.py +0 -0
  43. {dub-0.27.1 → dub-0.27.3}/src/dub/_hooks/registration.py +0 -0
  44. {dub-0.27.1 → dub-0.27.3}/src/dub/_hooks/sdkhooks.py +0 -0
  45. {dub-0.27.1 → dub-0.27.3}/src/dub/_hooks/types.py +0 -0
  46. {dub-0.27.1 → dub-0.27.3}/src/dub/analytics.py +0 -0
  47. {dub-0.27.1 → dub-0.27.3}/src/dub/basesdk.py +0 -0
  48. {dub-0.27.1 → dub-0.27.3}/src/dub/commissions.py +0 -0
  49. {dub-0.27.1 → dub-0.27.3}/src/dub/customers.py +0 -0
  50. {dub-0.27.1 → dub-0.27.3}/src/dub/domains.py +0 -0
  51. {dub-0.27.1 → dub-0.27.3}/src/dub/embed_tokens.py +0 -0
  52. {dub-0.27.1 → dub-0.27.3}/src/dub/events.py +0 -0
  53. {dub-0.27.1 → dub-0.27.3}/src/dub/folders.py +0 -0
  54. {dub-0.27.1 → dub-0.27.3}/src/dub/httpclient.py +0 -0
  55. {dub-0.27.1 → dub-0.27.3}/src/dub/links.py +0 -0
  56. {dub-0.27.1 → dub-0.27.3}/src/dub/models/__init__.py +0 -0
  57. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticsbrowsers.py +0 -0
  58. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticscities.py +0 -0
  59. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticscontinents.py +0 -0
  60. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticscount.py +0 -0
  61. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticscountries.py +0 -0
  62. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticsdevices.py +0 -0
  63. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticsos.py +0 -0
  64. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticsreferers.py +0 -0
  65. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticsrefererurls.py +0 -0
  66. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticsregions.py +0 -0
  67. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticstimeseries.py +0 -0
  68. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticstoplinks.py +0 -0
  69. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/analyticstopurls.py +0 -0
  70. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/continentcode.py +0 -0
  71. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/countrycode.py +0 -0
  72. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/domainschema.py +0 -0
  73. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/folderschema.py +0 -0
  74. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/linkerrorschema.py +0 -0
  75. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/linkgeotargeting.py +0 -0
  76. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/partneranalyticscount.py +0 -0
  77. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/partneranalyticstimeseries.py +0 -0
  78. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/partneranalyticstoplinks.py +0 -0
  79. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/security.py +0 -0
  80. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/tagschema.py +0 -0
  81. {dub-0.27.1 → dub-0.27.3}/src/dub/models/components/workspaceschema.py +0 -0
  82. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/badrequest.py +0 -0
  83. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/conflict.py +0 -0
  84. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/duberror.py +0 -0
  85. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/forbidden.py +0 -0
  86. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/internalservererror.py +0 -0
  87. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/inviteexpired.py +0 -0
  88. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/no_response_error.py +0 -0
  89. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/notfound.py +0 -0
  90. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/ratelimitexceeded.py +0 -0
  91. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/responsevalidationerror.py +0 -0
  92. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/sdkerror.py +0 -0
  93. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/unauthorized.py +0 -0
  94. {dub-0.27.1 → dub-0.27.3}/src/dub/models/errors/unprocessableentity.py +0 -0
  95. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/bulkdeletelinks.py +0 -0
  96. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/checkdomainstatus.py +0 -0
  97. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createcustomer.py +0 -0
  98. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createdomain.py +0 -0
  99. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createfolder.py +0 -0
  100. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createpartnerlink.py +0 -0
  101. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createreferralsembedtoken.py +0 -0
  102. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/createtag.py +0 -0
  103. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/deletecustomer.py +0 -0
  104. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/deletedomain.py +0 -0
  105. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/deletefolder.py +0 -0
  106. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/deletelink.py +0 -0
  107. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/deletetag.py +0 -0
  108. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getcustomer.py +0 -0
  109. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getcustomers.py +0 -0
  110. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getlinkinfo.py +0 -0
  111. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getqrcode.py +0 -0
  112. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/gettags.py +0 -0
  113. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/getworkspace.py +0 -0
  114. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/listdomains.py +0 -0
  115. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/listfolders.py +0 -0
  116. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/registerdomain.py +0 -0
  117. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/retrievepartneranalytics.py +0 -0
  118. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/tracklead.py +0 -0
  119. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/updatecustomer.py +0 -0
  120. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/updatedomain.py +0 -0
  121. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/updatefolder.py +0 -0
  122. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/updatetag.py +0 -0
  123. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/updateworkspace.py +0 -0
  124. {dub-0.27.1 → dub-0.27.3}/src/dub/models/operations/upsertpartnerlink.py +0 -0
  125. {dub-0.27.1 → dub-0.27.3}/src/dub/py.typed +0 -0
  126. {dub-0.27.1 → dub-0.27.3}/src/dub/qr_codes.py +0 -0
  127. {dub-0.27.1 → dub-0.27.3}/src/dub/sdkconfiguration.py +0 -0
  128. {dub-0.27.1 → dub-0.27.3}/src/dub/tags.py +0 -0
  129. {dub-0.27.1 → dub-0.27.3}/src/dub/track.py +0 -0
  130. {dub-0.27.1 → dub-0.27.3}/src/dub/types/__init__.py +0 -0
  131. {dub-0.27.1 → dub-0.27.3}/src/dub/types/basemodel.py +0 -0
  132. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/annotations.py +0 -0
  133. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/datetimes.py +0 -0
  134. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/enums.py +0 -0
  135. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/eventstreaming.py +0 -0
  136. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/forms.py +0 -0
  137. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/headers.py +0 -0
  138. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/logger.py +0 -0
  139. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/metadata.py +0 -0
  140. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/queryparams.py +0 -0
  141. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/requestbodies.py +0 -0
  142. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/retries.py +0 -0
  143. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/security.py +0 -0
  144. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/serializers.py +0 -0
  145. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/unmarshal_json_response.py +0 -0
  146. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/url.py +0 -0
  147. {dub-0.27.1 → dub-0.27.3}/src/dub/utils/values.py +0 -0
  148. {dub-0.27.1 → dub-0.27.3}/src/dub/workspaces.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dub
3
- Version: 0.27.1
3
+ Version: 0.27.3
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -32,7 +32,7 @@ Learn more about the Dub.co Python SDK in the [official documentation](https://d
32
32
  <!-- Start Summary [summary] -->
33
33
  ## Summary
34
34
 
35
- Dub API: Dub is link management infrastructure for companies to create marketing campaigns, link sharing features, and referral programs.
35
+ Dub API: Dub is the modern link attribution platform for short links, conversion tracking, and affiliate programs.
36
36
  <!-- End Summary [summary] -->
37
37
 
38
38
  <!-- Start Table of Contents [toc] -->
@@ -331,6 +331,7 @@ asyncio.run(main())
331
331
  ### [partners](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md)
332
332
 
333
333
  * [create](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create) - Create a partner
334
+ * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#list) - List all partners
334
335
  * [create_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create_link) - Create a link for a partner
335
336
  * [retrieve_links](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#retrieve_links) - Retrieve a partner's links.
336
337
  * [upsert_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#upsert_link) - Upsert a link for a partner
@@ -14,7 +14,7 @@ Learn more about the Dub.co Python SDK in the [official documentation](https://d
14
14
  <!-- Start Summary [summary] -->
15
15
  ## Summary
16
16
 
17
- Dub API: Dub is link management infrastructure for companies to create marketing campaigns, link sharing features, and referral programs.
17
+ Dub API: Dub is the modern link attribution platform for short links, conversion tracking, and affiliate programs.
18
18
  <!-- End Summary [summary] -->
19
19
 
20
20
  <!-- Start Table of Contents [toc] -->
@@ -313,6 +313,7 @@ asyncio.run(main())
313
313
  ### [partners](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md)
314
314
 
315
315
  * [create](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create) - Create a partner
316
+ * [list](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#list) - List all partners
316
317
  * [create_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#create_link) - Create a link for a partner
317
318
  * [retrieve_links](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#retrieve_links) - Retrieve a partner's links.
318
319
  * [upsert_link](https://github.com/dubinc/dub-python/blob/master/docs/sdks/partners/README.md#upsert_link) - Upsert a link for a partner
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dub"
3
- version = "0.27.1"
3
+ version = "0.27.3"
4
4
  description = "Python Client SDK Generated by Speakeasy"
5
5
  authors = [{ name = "Speakeasy" },]
6
6
  readme = "README-PYPI.md"
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "dub"
6
- __version__: str = "0.27.1"
6
+ __version__: str = "0.27.3"
7
7
  __openapi_doc_version__: str = "0.0.1"
8
- __gen_version__: str = "2.656.5"
9
- __user_agent__: str = "speakeasy-sdk/python 0.27.1 2.656.5 0.0.1 dub"
8
+ __gen_version__: str = "2.672.0"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.27.3 2.672.0 0.0.1 dub"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -2,6 +2,7 @@
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
  from importlib import import_module
5
+ import builtins
5
6
 
6
7
  if TYPE_CHECKING:
7
8
  from .analyticsbrowsers import AnalyticsBrowsers, AnalyticsBrowsersTypedDict
@@ -51,6 +52,19 @@ if TYPE_CHECKING:
51
52
  Link,
52
53
  LinkTypedDict,
53
54
  )
55
+ from .commissioncreatedevent import (
56
+ CommissionCreatedEvent,
57
+ CommissionCreatedEventCustomer,
58
+ CommissionCreatedEventCustomerTypedDict,
59
+ CommissionCreatedEventData,
60
+ CommissionCreatedEventDataTypedDict,
61
+ CommissionCreatedEventEvent,
62
+ CommissionCreatedEventStatus,
63
+ CommissionCreatedEventType,
64
+ CommissionCreatedEventTypedDict,
65
+ Partner,
66
+ PartnerTypedDict,
67
+ )
54
68
  from .continentcode import ContinentCode
55
69
  from .countrycode import CountryCode
56
70
  from .domainschema import (
@@ -145,6 +159,7 @@ if TYPE_CHECKING:
145
159
  PartnerAnalyticsTopLinksTypedDict,
146
160
  )
147
161
  from .partnerenrolledevent import (
162
+ BannedReason,
148
163
  PartnerEnrolledEvent,
149
164
  PartnerEnrolledEventData,
150
165
  PartnerEnrolledEventDataTypedDict,
@@ -236,6 +251,7 @@ __all__ = [
236
251
  "AnalyticsTopUrlsTypedDict",
237
252
  "AnalyticsTriggers",
238
253
  "AnalyticsTriggersTypedDict",
254
+ "BannedReason",
239
255
  "City",
240
256
  "Click",
241
257
  "ClickEvent",
@@ -247,6 +263,15 @@ __all__ = [
247
263
  "ClickTypedDict",
248
264
  "Code",
249
265
  "Color",
266
+ "CommissionCreatedEvent",
267
+ "CommissionCreatedEventCustomer",
268
+ "CommissionCreatedEventCustomerTypedDict",
269
+ "CommissionCreatedEventData",
270
+ "CommissionCreatedEventDataTypedDict",
271
+ "CommissionCreatedEventEvent",
272
+ "CommissionCreatedEventStatus",
273
+ "CommissionCreatedEventType",
274
+ "CommissionCreatedEventTypedDict",
250
275
  "Continent",
251
276
  "ContinentCode",
252
277
  "CountryCode",
@@ -319,6 +344,7 @@ __all__ = [
319
344
  "LinkWebhookEventTestVariantsTypedDict",
320
345
  "LinkWebhookEventTypedDict",
321
346
  "One",
347
+ "Partner",
322
348
  "PartnerAnalyticsCount",
323
349
  "PartnerAnalyticsCountTypedDict",
324
350
  "PartnerAnalyticsTimeseries",
@@ -332,6 +358,7 @@ __all__ = [
332
358
  "PartnerEnrolledEventLink",
333
359
  "PartnerEnrolledEventLinkTypedDict",
334
360
  "PartnerEnrolledEventTypedDict",
361
+ "PartnerTypedDict",
335
362
  "PaymentProcessor",
336
363
  "Plan",
337
364
  "Region",
@@ -434,6 +461,17 @@ _dynamic_imports: dict[str, str] = {
434
461
  "Event": ".clickevent",
435
462
  "Link": ".clickevent",
436
463
  "LinkTypedDict": ".clickevent",
464
+ "CommissionCreatedEvent": ".commissioncreatedevent",
465
+ "CommissionCreatedEventCustomer": ".commissioncreatedevent",
466
+ "CommissionCreatedEventCustomerTypedDict": ".commissioncreatedevent",
467
+ "CommissionCreatedEventData": ".commissioncreatedevent",
468
+ "CommissionCreatedEventDataTypedDict": ".commissioncreatedevent",
469
+ "CommissionCreatedEventEvent": ".commissioncreatedevent",
470
+ "CommissionCreatedEventStatus": ".commissioncreatedevent",
471
+ "CommissionCreatedEventType": ".commissioncreatedevent",
472
+ "CommissionCreatedEventTypedDict": ".commissioncreatedevent",
473
+ "Partner": ".commissioncreatedevent",
474
+ "PartnerTypedDict": ".commissioncreatedevent",
437
475
  "ContinentCode": ".continentcode",
438
476
  "CountryCode": ".countrycode",
439
477
  "DomainSchema": ".domainschema",
@@ -515,6 +553,7 @@ _dynamic_imports: dict[str, str] = {
515
553
  "PartnerAnalyticsTimeseriesTypedDict": ".partneranalyticstimeseries",
516
554
  "PartnerAnalyticsTopLinks": ".partneranalyticstoplinks",
517
555
  "PartnerAnalyticsTopLinksTypedDict": ".partneranalyticstoplinks",
556
+ "BannedReason": ".partnerenrolledevent",
518
557
  "PartnerEnrolledEvent": ".partnerenrolledevent",
519
558
  "PartnerEnrolledEventData": ".partnerenrolledevent",
520
559
  "PartnerEnrolledEventDataTypedDict": ".partnerenrolledevent",
@@ -596,5 +635,5 @@ def __getattr__(attr_name: str) -> object:
596
635
 
597
636
 
598
637
  def __dir__():
599
- lazy_attrs = list(_dynamic_imports.keys())
600
- return sorted(lazy_attrs)
638
+ lazy_attrs = builtins.list(_dynamic_imports.keys())
639
+ return builtins.sorted(lazy_attrs)
@@ -13,6 +13,8 @@ class Trigger(str, Enum):
13
13
 
14
14
  QR = "qr"
15
15
  LINK = "link"
16
+ PAGEVIEW = "pageview"
17
+ DEEPLINK = "deeplink"
16
18
 
17
19
 
18
20
  class AnalyticsTriggersTypedDict(TypedDict):
@@ -29,6 +29,7 @@ class ClickTypedDict(TypedDict):
29
29
  referer_url: str
30
30
  qr: bool
31
31
  ip: str
32
+ trigger: NotRequired[Nullable[str]]
32
33
 
33
34
 
34
35
  class Click(BaseModel):
@@ -60,6 +61,38 @@ class Click(BaseModel):
60
61
 
61
62
  ip: str
62
63
 
64
+ trigger: OptionalNullable[str] = UNSET
65
+
66
+ @model_serializer(mode="wrap")
67
+ def serialize_model(self, handler):
68
+ optional_fields = ["trigger"]
69
+ nullable_fields = ["trigger"]
70
+ null_default_fields = []
71
+
72
+ serialized = handler(self)
73
+
74
+ m = {}
75
+
76
+ for n, f in type(self).model_fields.items():
77
+ k = f.alias or n
78
+ val = serialized.get(k)
79
+ serialized.pop(k, None)
80
+
81
+ optional_nullable = k in optional_fields and k in nullable_fields
82
+ is_set = (
83
+ self.__pydantic_fields_set__.intersection({n})
84
+ or k in null_default_fields
85
+ ) # pylint: disable=no-member
86
+
87
+ if val is not None and val != UNSET_SENTINEL:
88
+ m[k] = val
89
+ elif val != UNSET_SENTINEL and (
90
+ not k in optional_fields or (optional_nullable and is_set)
91
+ ):
92
+ m[k] = val
93
+
94
+ return m
95
+
63
96
 
64
97
  class ClickEventGeoTypedDict(TypedDict):
65
98
  r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo"""
@@ -871,8 +904,6 @@ class LinkTypedDict(TypedDict):
871
904
  geo: Nullable[ClickEventGeoTypedDict]
872
905
  r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo"""
873
906
  public_stats: bool
874
- tag_id: Nullable[str]
875
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tags` instead."""
876
907
  tags: Nullable[List[TagSchemaTypedDict]]
877
908
  r"""The tags assigned to the short link."""
878
909
  folder_id: Nullable[str]
@@ -903,18 +934,22 @@ class LinkTypedDict(TypedDict):
903
934
  last_clicked: str
904
935
  created_at: str
905
936
  updated_at: str
937
+ tag_id: Nullable[str]
938
+ r"""Deprecated: Use `tags` instead. The unique ID of the tag assigned to the short link."""
906
939
  project_id: str
907
- r"""The project ID of the short link. This field is deprecated – use `workspaceId` instead."""
940
+ r"""Deprecated: Use `workspaceId` instead. The project ID of the short link."""
908
941
  test_variants: NotRequired[Nullable[List[ClickEventTestVariantsTypedDict]]]
909
942
  r"""An array of A/B test URLs and the percentage of traffic to send to each URL."""
910
943
  clicks: NotRequired[float]
911
944
  r"""The number of clicks on the short link."""
912
945
  leads: NotRequired[float]
913
- r"""The number of leads the short links has generated."""
946
+ r"""The number of leads the short link has generated."""
947
+ conversions: NotRequired[float]
948
+ r"""The number of leads that converted to paying customers."""
914
949
  sales: NotRequired[float]
915
- r"""The number of sales the short links has generated."""
950
+ r"""The total number of sales (includes recurring sales) generated by the short link."""
916
951
  sale_amount: NotRequired[float]
917
- r"""The total dollar amount of sales the short links has generated (in cents)."""
952
+ r"""The total dollar value of sales (in cents) generated by the short link."""
918
953
 
919
954
 
920
955
  class Link(BaseModel):
@@ -981,15 +1016,6 @@ class Link(BaseModel):
981
1016
 
982
1017
  public_stats: Annotated[bool, pydantic.Field(alias="publicStats")]
983
1018
 
984
- tag_id: Annotated[
985
- Nullable[str],
986
- pydantic.Field(
987
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
988
- alias="tagId",
989
- ),
990
- ]
991
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tags` instead."""
992
-
993
1019
  tags: Nullable[List[TagSchema]]
994
1020
  r"""The tags assigned to the short link."""
995
1021
 
@@ -1038,6 +1064,15 @@ class Link(BaseModel):
1038
1064
 
1039
1065
  updated_at: Annotated[str, pydantic.Field(alias="updatedAt")]
1040
1066
 
1067
+ tag_id: Annotated[
1068
+ Nullable[str],
1069
+ pydantic.Field(
1070
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
1071
+ alias="tagId",
1072
+ ),
1073
+ ]
1074
+ r"""Deprecated: Use `tags` instead. The unique ID of the tag assigned to the short link."""
1075
+
1041
1076
  project_id: Annotated[
1042
1077
  str,
1043
1078
  pydantic.Field(
@@ -1045,7 +1080,7 @@ class Link(BaseModel):
1045
1080
  alias="projectId",
1046
1081
  ),
1047
1082
  ]
1048
- r"""The project ID of the short link. This field is deprecated – use `workspaceId` instead."""
1083
+ r"""Deprecated: Use `workspaceId` instead. The project ID of the short link."""
1049
1084
 
1050
1085
  test_variants: Annotated[
1051
1086
  OptionalNullable[List[ClickEventTestVariants]],
@@ -1057,17 +1092,27 @@ class Link(BaseModel):
1057
1092
  r"""The number of clicks on the short link."""
1058
1093
 
1059
1094
  leads: Optional[float] = 0
1060
- r"""The number of leads the short links has generated."""
1095
+ r"""The number of leads the short link has generated."""
1096
+
1097
+ conversions: Optional[float] = 0
1098
+ r"""The number of leads that converted to paying customers."""
1061
1099
 
1062
1100
  sales: Optional[float] = 0
1063
- r"""The number of sales the short links has generated."""
1101
+ r"""The total number of sales (includes recurring sales) generated by the short link."""
1064
1102
 
1065
1103
  sale_amount: Annotated[Optional[float], pydantic.Field(alias="saleAmount")] = 0
1066
- r"""The total dollar amount of sales the short links has generated (in cents)."""
1104
+ r"""The total dollar value of sales (in cents) generated by the short link."""
1067
1105
 
1068
1106
  @model_serializer(mode="wrap")
1069
1107
  def serialize_model(self, handler):
1070
- optional_fields = ["testVariants", "clicks", "leads", "sales", "saleAmount"]
1108
+ optional_fields = [
1109
+ "testVariants",
1110
+ "clicks",
1111
+ "leads",
1112
+ "conversions",
1113
+ "sales",
1114
+ "saleAmount",
1115
+ ]
1071
1116
  nullable_fields = [
1072
1117
  "externalId",
1073
1118
  "tenantId",
@@ -1082,7 +1127,6 @@ class Link(BaseModel):
1082
1127
  "ios",
1083
1128
  "android",
1084
1129
  "geo",
1085
- "tagId",
1086
1130
  "tags",
1087
1131
  "folderId",
1088
1132
  "comments",
@@ -1095,6 +1139,7 @@ class Link(BaseModel):
1095
1139
  "testStartedAt",
1096
1140
  "testCompletedAt",
1097
1141
  "userId",
1142
+ "tagId",
1098
1143
  ]
1099
1144
  null_default_fields = []
1100
1145
 
@@ -1129,31 +1174,31 @@ class ClickEventTypedDict(TypedDict):
1129
1174
  click: ClickTypedDict
1130
1175
  link: LinkTypedDict
1131
1176
  click_id: str
1132
- r"""Deprecated. Use `click.id` instead."""
1177
+ r"""Deprecated: Use `click.id` instead."""
1133
1178
  link_id: str
1134
- r"""Deprecated. Use `link.id` instead."""
1179
+ r"""Deprecated: Use `link.id` instead."""
1135
1180
  domain: str
1136
- r"""Deprecated. Use `link.domain` instead."""
1181
+ r"""Deprecated: Use `link.domain` instead."""
1137
1182
  key: str
1138
- r"""Deprecated. Use `link.key` instead."""
1183
+ r"""Deprecated: Use `link.key` instead."""
1139
1184
  url: str
1140
- r"""Deprecated. Use `click.url` instead."""
1185
+ r"""Deprecated: Use `click.url` instead."""
1141
1186
  continent: str
1142
- r"""Deprecated. Use `click.continent` instead."""
1187
+ r"""Deprecated: Use `click.continent` instead."""
1143
1188
  country: str
1144
- r"""Deprecated. Use `click.country` instead."""
1189
+ r"""Deprecated: Use `click.country` instead."""
1145
1190
  city: str
1146
- r"""Deprecated. Use `click.city` instead."""
1191
+ r"""Deprecated: Use `click.city` instead."""
1147
1192
  device: str
1148
- r"""Deprecated. Use `click.device` instead."""
1193
+ r"""Deprecated: Use `click.device` instead."""
1149
1194
  browser: str
1150
- r"""Deprecated. Use `click.browser` instead."""
1195
+ r"""Deprecated: Use `click.browser` instead."""
1151
1196
  os: str
1152
- r"""Deprecated. Use `click.os` instead."""
1197
+ r"""Deprecated: Use `click.os` instead."""
1153
1198
  qr: float
1154
- r"""Deprecated. Use `click.qr` instead."""
1199
+ r"""Deprecated: Use `click.qr` instead."""
1155
1200
  ip: str
1156
- r"""Deprecated. Use `click.ip` instead."""
1201
+ r"""Deprecated: Use `click.ip` instead."""
1157
1202
 
1158
1203
 
1159
1204
  class ClickEvent(BaseModel):
@@ -1171,7 +1216,7 @@ class ClickEvent(BaseModel):
1171
1216
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1172
1217
  ),
1173
1218
  ]
1174
- r"""Deprecated. Use `click.id` instead."""
1219
+ r"""Deprecated: Use `click.id` instead."""
1175
1220
 
1176
1221
  link_id: Annotated[
1177
1222
  str,
@@ -1179,7 +1224,7 @@ class ClickEvent(BaseModel):
1179
1224
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1180
1225
  ),
1181
1226
  ]
1182
- r"""Deprecated. Use `link.id` instead."""
1227
+ r"""Deprecated: Use `link.id` instead."""
1183
1228
 
1184
1229
  domain: Annotated[
1185
1230
  str,
@@ -1187,7 +1232,7 @@ class ClickEvent(BaseModel):
1187
1232
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1188
1233
  ),
1189
1234
  ]
1190
- r"""Deprecated. Use `link.domain` instead."""
1235
+ r"""Deprecated: Use `link.domain` instead."""
1191
1236
 
1192
1237
  key: Annotated[
1193
1238
  str,
@@ -1195,7 +1240,7 @@ class ClickEvent(BaseModel):
1195
1240
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1196
1241
  ),
1197
1242
  ]
1198
- r"""Deprecated. Use `link.key` instead."""
1243
+ r"""Deprecated: Use `link.key` instead."""
1199
1244
 
1200
1245
  url: Annotated[
1201
1246
  str,
@@ -1203,7 +1248,7 @@ class ClickEvent(BaseModel):
1203
1248
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1204
1249
  ),
1205
1250
  ]
1206
- r"""Deprecated. Use `click.url` instead."""
1251
+ r"""Deprecated: Use `click.url` instead."""
1207
1252
 
1208
1253
  continent: Annotated[
1209
1254
  str,
@@ -1211,7 +1256,7 @@ class ClickEvent(BaseModel):
1211
1256
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1212
1257
  ),
1213
1258
  ]
1214
- r"""Deprecated. Use `click.continent` instead."""
1259
+ r"""Deprecated: Use `click.continent` instead."""
1215
1260
 
1216
1261
  country: Annotated[
1217
1262
  str,
@@ -1219,7 +1264,7 @@ class ClickEvent(BaseModel):
1219
1264
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1220
1265
  ),
1221
1266
  ]
1222
- r"""Deprecated. Use `click.country` instead."""
1267
+ r"""Deprecated: Use `click.country` instead."""
1223
1268
 
1224
1269
  city: Annotated[
1225
1270
  str,
@@ -1227,7 +1272,7 @@ class ClickEvent(BaseModel):
1227
1272
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1228
1273
  ),
1229
1274
  ]
1230
- r"""Deprecated. Use `click.city` instead."""
1275
+ r"""Deprecated: Use `click.city` instead."""
1231
1276
 
1232
1277
  device: Annotated[
1233
1278
  str,
@@ -1235,7 +1280,7 @@ class ClickEvent(BaseModel):
1235
1280
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1236
1281
  ),
1237
1282
  ]
1238
- r"""Deprecated. Use `click.device` instead."""
1283
+ r"""Deprecated: Use `click.device` instead."""
1239
1284
 
1240
1285
  browser: Annotated[
1241
1286
  str,
@@ -1243,7 +1288,7 @@ class ClickEvent(BaseModel):
1243
1288
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1244
1289
  ),
1245
1290
  ]
1246
- r"""Deprecated. Use `click.browser` instead."""
1291
+ r"""Deprecated: Use `click.browser` instead."""
1247
1292
 
1248
1293
  os: Annotated[
1249
1294
  str,
@@ -1251,7 +1296,7 @@ class ClickEvent(BaseModel):
1251
1296
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1252
1297
  ),
1253
1298
  ]
1254
- r"""Deprecated. Use `click.os` instead."""
1299
+ r"""Deprecated: Use `click.os` instead."""
1255
1300
 
1256
1301
  qr: Annotated[
1257
1302
  float,
@@ -1259,7 +1304,7 @@ class ClickEvent(BaseModel):
1259
1304
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1260
1305
  ),
1261
1306
  ]
1262
- r"""Deprecated. Use `click.qr` instead."""
1307
+ r"""Deprecated: Use `click.qr` instead."""
1263
1308
 
1264
1309
  ip: Annotated[
1265
1310
  str,
@@ -1267,4 +1312,4 @@ class ClickEvent(BaseModel):
1267
1312
  deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
1268
1313
  ),
1269
1314
  ]
1270
- r"""Deprecated. Use `click.ip` instead."""
1315
+ r"""Deprecated: Use `click.ip` instead."""