dub 0.26.9__tar.gz → 0.26.11__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 (141) hide show
  1. {dub-0.26.9 → dub-0.26.11}/PKG-INFO +1 -1
  2. {dub-0.26.9 → dub-0.26.11}/pyproject.toml +1 -1
  3. {dub-0.26.9 → dub-0.26.11}/src/dub/_version.py +3 -3
  4. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/bulkcreatelinks.py +6 -0
  5. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createlink.py +6 -0
  6. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createpartner.py +6 -5
  7. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createpartnerlink.py +6 -5
  8. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createreferralsembedtoken.py +6 -3
  9. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/listcommissions.py +5 -2
  10. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/retrievepartneranalytics.py +0 -9
  11. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updatecommission.py +5 -2
  12. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updatelink.py +0 -6
  13. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/upsertlink.py +6 -0
  14. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/upsertpartnerlink.py +6 -5
  15. {dub-0.26.9 → dub-0.26.11}/LICENSE +0 -0
  16. {dub-0.26.9 → dub-0.26.11}/README-PYPI.md +0 -0
  17. {dub-0.26.9 → dub-0.26.11}/py.typed +0 -0
  18. {dub-0.26.9 → dub-0.26.11}/src/dub/__init__.py +0 -0
  19. {dub-0.26.9 → dub-0.26.11}/src/dub/_hooks/__init__.py +0 -0
  20. {dub-0.26.9 → dub-0.26.11}/src/dub/_hooks/registration.py +0 -0
  21. {dub-0.26.9 → dub-0.26.11}/src/dub/_hooks/sdkhooks.py +0 -0
  22. {dub-0.26.9 → dub-0.26.11}/src/dub/_hooks/types.py +0 -0
  23. {dub-0.26.9 → dub-0.26.11}/src/dub/analytics.py +0 -0
  24. {dub-0.26.9 → dub-0.26.11}/src/dub/basesdk.py +0 -0
  25. {dub-0.26.9 → dub-0.26.11}/src/dub/commissions.py +0 -0
  26. {dub-0.26.9 → dub-0.26.11}/src/dub/customers.py +0 -0
  27. {dub-0.26.9 → dub-0.26.11}/src/dub/domains.py +0 -0
  28. {dub-0.26.9 → dub-0.26.11}/src/dub/embed_tokens.py +0 -0
  29. {dub-0.26.9 → dub-0.26.11}/src/dub/events.py +0 -0
  30. {dub-0.26.9 → dub-0.26.11}/src/dub/folders.py +0 -0
  31. {dub-0.26.9 → dub-0.26.11}/src/dub/httpclient.py +0 -0
  32. {dub-0.26.9 → dub-0.26.11}/src/dub/links.py +0 -0
  33. {dub-0.26.9 → dub-0.26.11}/src/dub/models/__init__.py +0 -0
  34. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/__init__.py +0 -0
  35. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticsbrowsers.py +0 -0
  36. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticscities.py +0 -0
  37. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticscontinents.py +0 -0
  38. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticscount.py +0 -0
  39. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticscountries.py +0 -0
  40. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticsdevices.py +0 -0
  41. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticsos.py +0 -0
  42. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticsreferers.py +0 -0
  43. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticsrefererurls.py +0 -0
  44. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticsregions.py +0 -0
  45. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticstimeseries.py +0 -0
  46. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticstoplinks.py +0 -0
  47. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticstopurls.py +0 -0
  48. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/analyticstriggers.py +0 -0
  49. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/clickevent.py +0 -0
  50. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/continentcode.py +0 -0
  51. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/countrycode.py +0 -0
  52. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/domainschema.py +0 -0
  53. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/folderschema.py +0 -0
  54. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/leadcreatedevent.py +0 -0
  55. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/leadevent.py +0 -0
  56. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/linkclickedevent.py +0 -0
  57. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/linkerrorschema.py +0 -0
  58. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/linkgeotargeting.py +0 -0
  59. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/linkschema.py +0 -0
  60. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/linkwebhookevent.py +0 -0
  61. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/partneranalyticscount.py +0 -0
  62. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/partneranalyticstimeseries.py +0 -0
  63. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/partneranalyticstoplinks.py +0 -0
  64. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/partnerenrolledevent.py +0 -0
  65. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/salecreatedevent.py +0 -0
  66. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/saleevent.py +0 -0
  67. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/security.py +0 -0
  68. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/tagschema.py +0 -0
  69. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/webhookevent.py +0 -0
  70. {dub-0.26.9 → dub-0.26.11}/src/dub/models/components/workspaceschema.py +0 -0
  71. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/__init__.py +0 -0
  72. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/badrequest.py +0 -0
  73. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/conflict.py +0 -0
  74. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/forbidden.py +0 -0
  75. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/internalservererror.py +0 -0
  76. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/inviteexpired.py +0 -0
  77. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/notfound.py +0 -0
  78. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/ratelimitexceeded.py +0 -0
  79. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/sdkerror.py +0 -0
  80. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/unauthorized.py +0 -0
  81. {dub-0.26.9 → dub-0.26.11}/src/dub/models/errors/unprocessableentity.py +0 -0
  82. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/__init__.py +0 -0
  83. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/bulkdeletelinks.py +0 -0
  84. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/bulkupdatelinks.py +0 -0
  85. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/checkdomainstatus.py +0 -0
  86. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createcustomer.py +0 -0
  87. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createdomain.py +0 -0
  88. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createfolder.py +0 -0
  89. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/createtag.py +0 -0
  90. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/deletecustomer.py +0 -0
  91. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/deletedomain.py +0 -0
  92. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/deletefolder.py +0 -0
  93. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/deletelink.py +0 -0
  94. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/deletetag.py +0 -0
  95. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getcustomer.py +0 -0
  96. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getcustomers.py +0 -0
  97. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getlinkinfo.py +0 -0
  98. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getlinks.py +0 -0
  99. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getlinkscount.py +0 -0
  100. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getqrcode.py +0 -0
  101. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/gettags.py +0 -0
  102. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/getworkspace.py +0 -0
  103. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/listdomains.py +0 -0
  104. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/listevents.py +0 -0
  105. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/listfolders.py +0 -0
  106. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/registerdomain.py +0 -0
  107. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/retrieveanalytics.py +0 -0
  108. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/retrievelinks.py +0 -0
  109. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/tracklead.py +0 -0
  110. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/tracksale.py +0 -0
  111. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updatecustomer.py +0 -0
  112. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updatedomain.py +0 -0
  113. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updatefolder.py +0 -0
  114. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updatetag.py +0 -0
  115. {dub-0.26.9 → dub-0.26.11}/src/dub/models/operations/updateworkspace.py +0 -0
  116. {dub-0.26.9 → dub-0.26.11}/src/dub/partners.py +0 -0
  117. {dub-0.26.9 → dub-0.26.11}/src/dub/py.typed +0 -0
  118. {dub-0.26.9 → dub-0.26.11}/src/dub/qr_codes.py +0 -0
  119. {dub-0.26.9 → dub-0.26.11}/src/dub/sdk.py +0 -0
  120. {dub-0.26.9 → dub-0.26.11}/src/dub/sdkconfiguration.py +0 -0
  121. {dub-0.26.9 → dub-0.26.11}/src/dub/tags.py +0 -0
  122. {dub-0.26.9 → dub-0.26.11}/src/dub/track.py +0 -0
  123. {dub-0.26.9 → dub-0.26.11}/src/dub/types/__init__.py +0 -0
  124. {dub-0.26.9 → dub-0.26.11}/src/dub/types/basemodel.py +0 -0
  125. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/__init__.py +0 -0
  126. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/annotations.py +0 -0
  127. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/datetimes.py +0 -0
  128. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/enums.py +0 -0
  129. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/eventstreaming.py +0 -0
  130. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/forms.py +0 -0
  131. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/headers.py +0 -0
  132. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/logger.py +0 -0
  133. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/metadata.py +0 -0
  134. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/queryparams.py +0 -0
  135. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/requestbodies.py +0 -0
  136. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/retries.py +0 -0
  137. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/security.py +0 -0
  138. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/serializers.py +0 -0
  139. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/url.py +0 -0
  140. {dub-0.26.9 → dub-0.26.11}/src/dub/utils/values.py +0 -0
  141. {dub-0.26.9 → dub-0.26.11}/src/dub/workspaces.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dub
3
- Version: 0.26.9
3
+ Version: 0.26.11
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dub"
3
- version = "0.26.9"
3
+ version = "0.26.11"
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.26.9"
6
+ __version__: str = "0.26.11"
7
7
  __openapi_doc_version__: str = "0.0.1"
8
- __gen_version__: str = "2.630.6"
9
- __user_agent__: str = "speakeasy-sdk/python 0.26.9 2.630.6 0.0.1 dub"
8
+ __gen_version__: str = "2.634.2"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.26.11 2.634.2 0.0.1 dub"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -53,6 +53,8 @@ class RequestBodyTypedDict(TypedDict):
53
53
  r"""The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains)."""
54
54
  key: NotRequired[str]
55
55
  r"""The short link slug. If not provided, a random 7-character slug will be generated."""
56
+ key_length: NotRequired[float]
57
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
56
58
  external_id: NotRequired[Nullable[str]]
57
59
  r"""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."""
58
60
  tenant_id: NotRequired[Nullable[str]]
@@ -137,6 +139,9 @@ class RequestBody(BaseModel):
137
139
  key: Optional[str] = None
138
140
  r"""The short link slug. If not provided, a random 7-character slug will be generated."""
139
141
 
142
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
143
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
144
+
140
145
  external_id: Annotated[
141
146
  OptionalNullable[str], pydantic.Field(alias="externalId")
142
147
  ] = UNSET
@@ -291,6 +296,7 @@ class RequestBody(BaseModel):
291
296
  optional_fields = [
292
297
  "domain",
293
298
  "key",
299
+ "keyLength",
294
300
  "externalId",
295
301
  "tenantId",
296
302
  "programId",
@@ -47,6 +47,8 @@ class CreateLinkRequestBodyTypedDict(TypedDict):
47
47
  r"""The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains)."""
48
48
  key: NotRequired[str]
49
49
  r"""The short link slug. If not provided, a random 7-character slug will be generated."""
50
+ key_length: NotRequired[float]
51
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
50
52
  external_id: NotRequired[Nullable[str]]
51
53
  r"""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."""
52
54
  tenant_id: NotRequired[Nullable[str]]
@@ -131,6 +133,9 @@ class CreateLinkRequestBody(BaseModel):
131
133
  key: Optional[str] = None
132
134
  r"""The short link slug. If not provided, a random 7-character slug will be generated."""
133
135
 
136
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
137
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
138
+
134
139
  external_id: Annotated[
135
140
  OptionalNullable[str], pydantic.Field(alias="externalId")
136
141
  ] = UNSET
@@ -280,6 +285,7 @@ class CreateLinkRequestBody(BaseModel):
280
285
  optional_fields = [
281
286
  "domain",
282
287
  "key",
288
+ "keyLength",
283
289
  "externalId",
284
290
  "tenantId",
285
291
  "programId",
@@ -298,6 +298,8 @@ class CreatePartnerTestVariants(BaseModel):
298
298
  class LinkPropsTypedDict(TypedDict):
299
299
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
300
300
 
301
+ key_length: NotRequired[float]
302
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
301
303
  external_id: NotRequired[Nullable[str]]
302
304
  r"""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."""
303
305
  tenant_id: NotRequired[Nullable[str]]
@@ -361,6 +363,9 @@ class LinkPropsTypedDict(TypedDict):
361
363
  class LinkProps(BaseModel):
362
364
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
363
365
 
366
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
367
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
368
+
364
369
  external_id: Annotated[
365
370
  OptionalNullable[str], pydantic.Field(alias="externalId")
366
371
  ] = UNSET
@@ -472,6 +477,7 @@ class LinkProps(BaseModel):
472
477
  @model_serializer(mode="wrap")
473
478
  def serialize_model(self, handler):
474
479
  optional_fields = [
480
+ "keyLength",
475
481
  "externalId",
476
482
  "tenantId",
477
483
  "prefix",
@@ -554,8 +560,6 @@ class LinkProps(BaseModel):
554
560
 
555
561
 
556
562
  class CreatePartnerRequestBodyTypedDict(TypedDict):
557
- program_id: str
558
- r"""The ID of the program to create a partner for."""
559
563
  name: str
560
564
  r"""Full legal name of the partner."""
561
565
  email: str
@@ -575,9 +579,6 @@ class CreatePartnerRequestBodyTypedDict(TypedDict):
575
579
 
576
580
 
577
581
  class CreatePartnerRequestBody(BaseModel):
578
- program_id: Annotated[str, pydantic.Field(alias="programId")]
579
- r"""The ID of the program to create a partner for."""
580
-
581
582
  name: str
582
583
  r"""Full legal name of the partner."""
583
584
 
@@ -46,6 +46,8 @@ class CreatePartnerLinkTestVariants(BaseModel):
46
46
  class CreatePartnerLinkLinkPropsTypedDict(TypedDict):
47
47
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
48
48
 
49
+ key_length: NotRequired[float]
50
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
49
51
  external_id: NotRequired[Nullable[str]]
50
52
  r"""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."""
51
53
  tenant_id: NotRequired[Nullable[str]]
@@ -109,6 +111,9 @@ class CreatePartnerLinkLinkPropsTypedDict(TypedDict):
109
111
  class CreatePartnerLinkLinkProps(BaseModel):
110
112
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
111
113
 
114
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
115
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
116
+
112
117
  external_id: Annotated[
113
118
  OptionalNullable[str], pydantic.Field(alias="externalId")
114
119
  ] = UNSET
@@ -220,6 +225,7 @@ class CreatePartnerLinkLinkProps(BaseModel):
220
225
  @model_serializer(mode="wrap")
221
226
  def serialize_model(self, handler):
222
227
  optional_fields = [
228
+ "keyLength",
223
229
  "externalId",
224
230
  "tenantId",
225
231
  "prefix",
@@ -302,8 +308,6 @@ class CreatePartnerLinkLinkProps(BaseModel):
302
308
 
303
309
 
304
310
  class CreatePartnerLinkRequestBodyTypedDict(TypedDict):
305
- program_id: str
306
- r"""The ID of the program that the partner is enrolled in."""
307
311
  partner_id: NotRequired[Nullable[str]]
308
312
  r"""The ID of the partner to create a link for. Will take precedence over `tenantId` if provided."""
309
313
  tenant_id: NotRequired[Nullable[str]]
@@ -319,9 +323,6 @@ class CreatePartnerLinkRequestBodyTypedDict(TypedDict):
319
323
 
320
324
 
321
325
  class CreatePartnerLinkRequestBody(BaseModel):
322
- program_id: Annotated[str, pydantic.Field(alias="programId")]
323
- r"""The ID of the program that the partner is enrolled in."""
324
-
325
326
  partner_id: Annotated[OptionalNullable[str], pydantic.Field(alias="partnerId")] = (
326
327
  UNSET
327
328
  )
@@ -302,6 +302,8 @@ class CreateReferralsEmbedTokenTestVariants(BaseModel):
302
302
  class CreateReferralsEmbedTokenLinkPropsTypedDict(TypedDict):
303
303
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
304
304
 
305
+ key_length: NotRequired[float]
306
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
305
307
  external_id: NotRequired[Nullable[str]]
306
308
  r"""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."""
307
309
  tenant_id: NotRequired[Nullable[str]]
@@ -367,6 +369,9 @@ class CreateReferralsEmbedTokenLinkPropsTypedDict(TypedDict):
367
369
  class CreateReferralsEmbedTokenLinkProps(BaseModel):
368
370
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
369
371
 
372
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
373
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
374
+
370
375
  external_id: Annotated[
371
376
  OptionalNullable[str], pydantic.Field(alias="externalId")
372
377
  ] = UNSET
@@ -478,6 +483,7 @@ class CreateReferralsEmbedTokenLinkProps(BaseModel):
478
483
  @model_serializer(mode="wrap")
479
484
  def serialize_model(self, handler):
480
485
  optional_fields = [
486
+ "keyLength",
481
487
  "externalId",
482
488
  "tenantId",
483
489
  "prefix",
@@ -644,15 +650,12 @@ class Partner(BaseModel):
644
650
 
645
651
 
646
652
  class CreateReferralsEmbedTokenRequestBodyTypedDict(TypedDict):
647
- program_id: str
648
653
  partner_id: NotRequired[str]
649
654
  tenant_id: NotRequired[str]
650
655
  partner: NotRequired[PartnerTypedDict]
651
656
 
652
657
 
653
658
  class CreateReferralsEmbedTokenRequestBody(BaseModel):
654
- program_id: Annotated[str, pydantic.Field(alias="programId")]
655
-
656
659
  partner_id: Annotated[Optional[str], pydantic.Field(alias="partnerId")] = None
657
660
 
658
661
  tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
@@ -199,6 +199,7 @@ class ListCommissionsResponseBodyTypedDict(TypedDict):
199
199
  updated_at: str
200
200
  type: NotRequired[ListCommissionsType]
201
201
  invoice_id: NotRequired[Nullable[str]]
202
+ description: NotRequired[Nullable[str]]
202
203
 
203
204
 
204
205
  class ListCommissionsResponseBody(BaseModel):
@@ -223,10 +224,12 @@ class ListCommissionsResponseBody(BaseModel):
223
224
  UNSET
224
225
  )
225
226
 
227
+ description: OptionalNullable[str] = UNSET
228
+
226
229
  @model_serializer(mode="wrap")
227
230
  def serialize_model(self, handler):
228
- optional_fields = ["type", "invoiceId"]
229
- nullable_fields = ["invoiceId"]
231
+ optional_fields = ["type", "invoiceId", "description"]
232
+ nullable_fields = ["invoiceId", "description"]
230
233
  null_default_fields = []
231
234
 
232
235
  serialized = handler(self)
@@ -37,8 +37,6 @@ class RetrievePartnerAnalyticsQueryParamGroupBy(str, Enum):
37
37
 
38
38
 
39
39
  class RetrievePartnerAnalyticsRequestTypedDict(TypedDict):
40
- program_id: str
41
- r"""The ID of the program to retrieve analytics for."""
42
40
  partner_id: NotRequired[str]
43
41
  r"""The ID of the partner to retrieve analytics for."""
44
42
  tenant_id: NotRequired[str]
@@ -56,13 +54,6 @@ class RetrievePartnerAnalyticsRequestTypedDict(TypedDict):
56
54
 
57
55
 
58
56
  class RetrievePartnerAnalyticsRequest(BaseModel):
59
- program_id: Annotated[
60
- str,
61
- pydantic.Field(alias="programId"),
62
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
63
- ]
64
- r"""The ID of the program to retrieve analytics for."""
65
-
66
57
  partner_id: Annotated[
67
58
  Optional[str],
68
59
  pydantic.Field(alias="partnerId"),
@@ -94,6 +94,7 @@ class UpdateCommissionResponseBodyTypedDict(TypedDict):
94
94
  updated_at: str
95
95
  type: NotRequired[UpdateCommissionType]
96
96
  invoice_id: NotRequired[Nullable[str]]
97
+ description: NotRequired[Nullable[str]]
97
98
 
98
99
 
99
100
  class UpdateCommissionResponseBody(BaseModel):
@@ -120,10 +121,12 @@ class UpdateCommissionResponseBody(BaseModel):
120
121
  UNSET
121
122
  )
122
123
 
124
+ description: OptionalNullable[str] = UNSET
125
+
123
126
  @model_serializer(mode="wrap")
124
127
  def serialize_model(self, handler):
125
- optional_fields = ["type", "invoiceId"]
126
- nullable_fields = ["invoiceId"]
128
+ optional_fields = ["type", "invoiceId", "description"]
129
+ nullable_fields = ["invoiceId", "description"]
127
130
  null_default_fields = []
128
131
 
129
132
  serialized = handler(self)
@@ -56,8 +56,6 @@ class UpdateLinkRequestBodyTypedDict(TypedDict):
56
56
  r"""The ID of the program the short link is associated with."""
57
57
  partner_id: NotRequired[Nullable[str]]
58
58
  r"""The ID of the partner the short link is associated with."""
59
- prefix: NotRequired[str]
60
- r"""The prefix of the short link slug for randomly-generated keys (e.g. if prefix is `/c/`, generated keys will be in the `/c/:key` format). Will be ignored if `key` is provided."""
61
59
  track_conversion: NotRequired[bool]
62
60
  r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
63
61
  archived: NotRequired[bool]
@@ -151,9 +149,6 @@ class UpdateLinkRequestBody(BaseModel):
151
149
  )
152
150
  r"""The ID of the partner the short link is associated with."""
153
151
 
154
- prefix: Optional[str] = None
155
- r"""The prefix of the short link slug for randomly-generated keys (e.g. if prefix is `/c/`, generated keys will be in the `/c/:key` format). Will be ignored if `key` is provided."""
156
-
157
152
  track_conversion: Annotated[
158
153
  Optional[bool], pydantic.Field(alias="trackConversion")
159
154
  ] = None
@@ -289,7 +284,6 @@ class UpdateLinkRequestBody(BaseModel):
289
284
  "tenantId",
290
285
  "programId",
291
286
  "partnerId",
292
- "prefix",
293
287
  "trackConversion",
294
288
  "archived",
295
289
  "publicStats",
@@ -47,6 +47,8 @@ class UpsertLinkRequestBodyTypedDict(TypedDict):
47
47
  r"""The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains)."""
48
48
  key: NotRequired[str]
49
49
  r"""The short link slug. If not provided, a random 7-character slug will be generated."""
50
+ key_length: NotRequired[float]
51
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
50
52
  external_id: NotRequired[Nullable[str]]
51
53
  r"""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."""
52
54
  tenant_id: NotRequired[Nullable[str]]
@@ -131,6 +133,9 @@ class UpsertLinkRequestBody(BaseModel):
131
133
  key: Optional[str] = None
132
134
  r"""The short link slug. If not provided, a random 7-character slug will be generated."""
133
135
 
136
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
137
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
138
+
134
139
  external_id: Annotated[
135
140
  OptionalNullable[str], pydantic.Field(alias="externalId")
136
141
  ] = UNSET
@@ -285,6 +290,7 @@ class UpsertLinkRequestBody(BaseModel):
285
290
  optional_fields = [
286
291
  "domain",
287
292
  "key",
293
+ "keyLength",
288
294
  "externalId",
289
295
  "tenantId",
290
296
  "programId",
@@ -46,6 +46,8 @@ class UpsertPartnerLinkTestVariants(BaseModel):
46
46
  class UpsertPartnerLinkLinkPropsTypedDict(TypedDict):
47
47
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
48
48
 
49
+ key_length: NotRequired[float]
50
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
49
51
  external_id: NotRequired[Nullable[str]]
50
52
  r"""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."""
51
53
  tenant_id: NotRequired[Nullable[str]]
@@ -109,6 +111,9 @@ class UpsertPartnerLinkLinkPropsTypedDict(TypedDict):
109
111
  class UpsertPartnerLinkLinkProps(BaseModel):
110
112
  r"""Additional properties that you can pass to the partner's short link. Will be used to override the default link properties for this partner."""
111
113
 
114
+ key_length: Annotated[Optional[float], pydantic.Field(alias="keyLength")] = None
115
+ r"""The length of the short link slug. Defaults to 7 if not provided. When used with `prefix`, the total length of the key will be `prefix.length + keyLength`."""
116
+
112
117
  external_id: Annotated[
113
118
  OptionalNullable[str], pydantic.Field(alias="externalId")
114
119
  ] = UNSET
@@ -220,6 +225,7 @@ class UpsertPartnerLinkLinkProps(BaseModel):
220
225
  @model_serializer(mode="wrap")
221
226
  def serialize_model(self, handler):
222
227
  optional_fields = [
228
+ "keyLength",
223
229
  "externalId",
224
230
  "tenantId",
225
231
  "prefix",
@@ -302,8 +308,6 @@ class UpsertPartnerLinkLinkProps(BaseModel):
302
308
 
303
309
 
304
310
  class UpsertPartnerLinkRequestBodyTypedDict(TypedDict):
305
- program_id: str
306
- r"""The ID of the program that the partner is enrolled in."""
307
311
  partner_id: NotRequired[Nullable[str]]
308
312
  r"""The ID of the partner to create a link for. Will take precedence over `tenantId` if provided."""
309
313
  tenant_id: NotRequired[Nullable[str]]
@@ -319,9 +323,6 @@ class UpsertPartnerLinkRequestBodyTypedDict(TypedDict):
319
323
 
320
324
 
321
325
  class UpsertPartnerLinkRequestBody(BaseModel):
322
- program_id: Annotated[str, pydantic.Field(alias="programId")]
323
- r"""The ID of the program that the partner is enrolled in."""
324
-
325
326
  partner_id: Annotated[OptionalNullable[str], pydantic.Field(alias="partnerId")] = (
326
327
  UNSET
327
328
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes