dub 0.26.8__tar.gz → 0.26.10__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.
- {dub-0.26.8 → dub-0.26.10}/PKG-INFO +1 -1
- {dub-0.26.8 → dub-0.26.10}/pyproject.toml +1 -1
- {dub-0.26.8 → dub-0.26.10}/src/dub/_version.py +3 -3
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/__init__.py +2 -5
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/bulkcreatelinks.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createlink.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createpartner.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createpartnerlink.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createreferralsembedtoken.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/listcommissions.py +5 -2
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/listevents.py +4 -4
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/retrieveanalytics.py +0 -14
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updatecommission.py +5 -2
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updatelink.py +0 -6
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/upsertlink.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/upsertpartnerlink.py +6 -0
- {dub-0.26.8 → dub-0.26.10}/LICENSE +0 -0
- {dub-0.26.8 → dub-0.26.10}/README-PYPI.md +0 -0
- {dub-0.26.8 → dub-0.26.10}/py.typed +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/_hooks/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/_hooks/registration.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/_hooks/sdkhooks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/_hooks/types.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/analytics.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/basesdk.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/commissions.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/customers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/domains.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/embed_tokens.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/events.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/folders.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/httpclient.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/links.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticsbrowsers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticscities.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticscontinents.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticscount.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticscountries.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticsdevices.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticsos.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticsreferers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticsrefererurls.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticsregions.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticstimeseries.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticstoplinks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticstopurls.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/analyticstriggers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/clickevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/continentcode.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/countrycode.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/domainschema.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/folderschema.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/leadcreatedevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/leadevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/linkclickedevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/linkerrorschema.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/linkgeotargeting.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/linkschema.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/linkwebhookevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/partneranalyticscount.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/partneranalyticstimeseries.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/partneranalyticstoplinks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/partnerenrolledevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/salecreatedevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/saleevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/security.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/tagschema.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/webhookevent.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/components/workspaceschema.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/badrequest.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/conflict.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/forbidden.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/internalservererror.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/inviteexpired.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/notfound.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/ratelimitexceeded.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/sdkerror.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/unauthorized.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/errors/unprocessableentity.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/bulkdeletelinks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/bulkupdatelinks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/checkdomainstatus.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createcustomer.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createdomain.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createfolder.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/createtag.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/deletecustomer.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/deletedomain.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/deletefolder.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/deletelink.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/deletetag.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getcustomer.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getcustomers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getlinkinfo.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getlinks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getlinkscount.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getqrcode.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/gettags.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/getworkspace.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/listdomains.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/listfolders.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/registerdomain.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/retrievelinks.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/retrievepartneranalytics.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/tracklead.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/tracksale.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updatecustomer.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updatedomain.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updatefolder.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updatetag.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/models/operations/updateworkspace.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/partners.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/py.typed +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/qr_codes.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/sdk.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/sdkconfiguration.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/tags.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/track.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/types/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/types/basemodel.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/__init__.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/annotations.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/datetimes.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/enums.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/eventstreaming.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/forms.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/headers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/logger.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/metadata.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/queryparams.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/requestbodies.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/retries.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/security.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/serializers.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/url.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/utils/values.py +0 -0
- {dub-0.26.8 → dub-0.26.10}/src/dub/workspaces.py +0 -0
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "dub"
|
|
6
|
-
__version__: str = "0.26.
|
|
6
|
+
__version__: str = "0.26.10"
|
|
7
7
|
__openapi_doc_version__: str = "0.0.1"
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.26.
|
|
8
|
+
__gen_version__: str = "2.634.1"
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.26.10 2.634.1 0.0.1 dub"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
|
@@ -235,7 +235,6 @@ if TYPE_CHECKING:
|
|
|
235
235
|
ListDomainsResponseTypedDict,
|
|
236
236
|
)
|
|
237
237
|
from .listevents import (
|
|
238
|
-
ListEventsQueryParamSortBy,
|
|
239
238
|
ListEventsQueryParamTagIds,
|
|
240
239
|
ListEventsQueryParamTagIdsTypedDict,
|
|
241
240
|
ListEventsRequest,
|
|
@@ -245,6 +244,7 @@ if TYPE_CHECKING:
|
|
|
245
244
|
Order,
|
|
246
245
|
QueryParamEvent,
|
|
247
246
|
QueryParamInterval,
|
|
247
|
+
QueryParamSortBy,
|
|
248
248
|
QueryParamSortOrder,
|
|
249
249
|
QueryParamTrigger,
|
|
250
250
|
)
|
|
@@ -259,7 +259,6 @@ if TYPE_CHECKING:
|
|
|
259
259
|
Event,
|
|
260
260
|
Interval,
|
|
261
261
|
QueryParamGroupBy,
|
|
262
|
-
QueryParamSortBy,
|
|
263
262
|
RetrieveAnalyticsQueryParamTagIds,
|
|
264
263
|
RetrieveAnalyticsQueryParamTagIdsTypedDict,
|
|
265
264
|
RetrieveAnalyticsRequest,
|
|
@@ -569,7 +568,6 @@ __all__ = [
|
|
|
569
568
|
"ListDomainsRequestTypedDict",
|
|
570
569
|
"ListDomainsResponse",
|
|
571
570
|
"ListDomainsResponseTypedDict",
|
|
572
|
-
"ListEventsQueryParamSortBy",
|
|
573
571
|
"ListEventsQueryParamTagIds",
|
|
574
572
|
"ListEventsQueryParamTagIdsTypedDict",
|
|
575
573
|
"ListEventsRequest",
|
|
@@ -906,7 +904,6 @@ _dynamic_imports: dict[str, str] = {
|
|
|
906
904
|
"ListDomainsRequestTypedDict": ".listdomains",
|
|
907
905
|
"ListDomainsResponse": ".listdomains",
|
|
908
906
|
"ListDomainsResponseTypedDict": ".listdomains",
|
|
909
|
-
"ListEventsQueryParamSortBy": ".listevents",
|
|
910
907
|
"ListEventsQueryParamTagIds": ".listevents",
|
|
911
908
|
"ListEventsQueryParamTagIdsTypedDict": ".listevents",
|
|
912
909
|
"ListEventsRequest": ".listevents",
|
|
@@ -916,6 +913,7 @@ _dynamic_imports: dict[str, str] = {
|
|
|
916
913
|
"Order": ".listevents",
|
|
917
914
|
"QueryParamEvent": ".listevents",
|
|
918
915
|
"QueryParamInterval": ".listevents",
|
|
916
|
+
"QueryParamSortBy": ".listevents",
|
|
919
917
|
"QueryParamSortOrder": ".listevents",
|
|
920
918
|
"QueryParamTrigger": ".listevents",
|
|
921
919
|
"ListFoldersRequest": ".listfolders",
|
|
@@ -927,7 +925,6 @@ _dynamic_imports: dict[str, str] = {
|
|
|
927
925
|
"Event": ".retrieveanalytics",
|
|
928
926
|
"Interval": ".retrieveanalytics",
|
|
929
927
|
"QueryParamGroupBy": ".retrieveanalytics",
|
|
930
|
-
"QueryParamSortBy": ".retrieveanalytics",
|
|
931
928
|
"RetrieveAnalyticsQueryParamTagIds": ".retrieveanalytics",
|
|
932
929
|
"RetrieveAnalyticsQueryParamTagIdsTypedDict": ".retrieveanalytics",
|
|
933
930
|
"RetrieveAnalyticsRequest": ".retrieveanalytics",
|
|
@@ -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",
|
|
@@ -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,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",
|
|
@@ -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)
|
|
@@ -71,7 +71,7 @@ class QueryParamSortOrder(str, Enum):
|
|
|
71
71
|
DESC = "desc"
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
class
|
|
74
|
+
class QueryParamSortBy(str, Enum):
|
|
75
75
|
r"""The field to sort the events by. The default is `timestamp`."""
|
|
76
76
|
|
|
77
77
|
TIMESTAMP = "timestamp"
|
|
@@ -160,7 +160,7 @@ class ListEventsRequestTypedDict(TypedDict):
|
|
|
160
160
|
limit: NotRequired[float]
|
|
161
161
|
sort_order: NotRequired[QueryParamSortOrder]
|
|
162
162
|
r"""The sort order. The default is `desc`."""
|
|
163
|
-
sort_by: NotRequired[
|
|
163
|
+
sort_by: NotRequired[QueryParamSortBy]
|
|
164
164
|
r"""The field to sort the events by. The default is `timestamp`."""
|
|
165
165
|
order: NotRequired[Order]
|
|
166
166
|
r"""DEPRECATED. Use `sortOrder` instead."""
|
|
@@ -399,10 +399,10 @@ class ListEventsRequest(BaseModel):
|
|
|
399
399
|
r"""The sort order. The default is `desc`."""
|
|
400
400
|
|
|
401
401
|
sort_by: Annotated[
|
|
402
|
-
Optional[
|
|
402
|
+
Optional[QueryParamSortBy],
|
|
403
403
|
pydantic.Field(alias="sortBy"),
|
|
404
404
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
405
|
-
] =
|
|
405
|
+
] = QueryParamSortBy.TIMESTAMP
|
|
406
406
|
r"""The field to sort the events by. The default is `timestamp`."""
|
|
407
407
|
|
|
408
408
|
order: Annotated[
|
|
@@ -96,12 +96,6 @@ RetrieveAnalyticsQueryParamTagIds = TypeAliasType(
|
|
|
96
96
|
r"""The tag IDs to retrieve analytics for."""
|
|
97
97
|
|
|
98
98
|
|
|
99
|
-
class QueryParamSortBy(str, Enum):
|
|
100
|
-
CLICKS = "clicks"
|
|
101
|
-
LEADS = "leads"
|
|
102
|
-
SALES = "sales"
|
|
103
|
-
|
|
104
|
-
|
|
105
99
|
class RetrieveAnalyticsRequestTypedDict(TypedDict):
|
|
106
100
|
event: NotRequired[Event]
|
|
107
101
|
r"""The type of event to retrieve analytics for. Defaults to `clicks`."""
|
|
@@ -163,7 +157,6 @@ class RetrieveAnalyticsRequestTypedDict(TypedDict):
|
|
|
163
157
|
r"""Deprecated. Use the `trigger` field instead. Filter for QR code scans. If true, filter for QR codes only. If false, filter for links only. If undefined, return both."""
|
|
164
158
|
root: NotRequired[bool]
|
|
165
159
|
r"""Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both."""
|
|
166
|
-
sort_by: NotRequired[QueryParamSortBy]
|
|
167
160
|
utm_source: NotRequired[Nullable[str]]
|
|
168
161
|
r"""The UTM source of the short link."""
|
|
169
162
|
utm_medium: NotRequired[Nullable[str]]
|
|
@@ -368,12 +361,6 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
368
361
|
] = None
|
|
369
362
|
r"""Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both."""
|
|
370
363
|
|
|
371
|
-
sort_by: Annotated[
|
|
372
|
-
Optional[QueryParamSortBy],
|
|
373
|
-
pydantic.Field(alias="sortBy"),
|
|
374
|
-
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
375
|
-
] = None
|
|
376
|
-
|
|
377
364
|
utm_source: Annotated[
|
|
378
365
|
OptionalNullable[str],
|
|
379
366
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
@@ -437,7 +424,6 @@ class RetrieveAnalyticsRequest(BaseModel):
|
|
|
437
424
|
"folderId",
|
|
438
425
|
"qr",
|
|
439
426
|
"root",
|
|
440
|
-
"sortBy",
|
|
441
427
|
"utm_source",
|
|
442
428
|
"utm_medium",
|
|
443
429
|
"utm_campaign",
|
|
@@ -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",
|
|
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
|
|
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
|
|
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
|