dub 0.27.2__py3-none-any.whl → 0.27.3__py3-none-any.whl

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.
@@ -69,10 +69,6 @@ class RequestBodyTypedDict(TypedDict):
69
69
  r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
70
70
  archived: NotRequired[bool]
71
71
  r"""Whether the short link is archived. Defaults to `false` if not provided."""
72
- public_stats: NotRequired[bool]
73
- r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
74
- tag_id: NotRequired[Nullable[str]]
75
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
76
72
  tag_ids: NotRequired[BulkCreateLinksTagIdsTypedDict]
77
73
  r"""The unique IDs of the tags assigned to the short link."""
78
74
  tag_names: NotRequired[BulkCreateLinksTagNamesTypedDict]
@@ -127,6 +123,10 @@ class RequestBodyTypedDict(TypedDict):
127
123
  r"""The date and time when the tests started."""
128
124
  test_completed_at: NotRequired[Nullable[str]]
129
125
  r"""The date and time when the tests were or will be completed."""
126
+ public_stats: NotRequired[bool]
127
+ r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
128
+ tag_id: NotRequired[Nullable[str]]
129
+ r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
130
130
 
131
131
 
132
132
  class RequestBody(BaseModel):
@@ -173,24 +173,6 @@ class RequestBody(BaseModel):
173
173
  archived: Optional[bool] = None
174
174
  r"""Whether the short link is archived. Defaults to `false` if not provided."""
175
175
 
176
- public_stats: Annotated[
177
- Optional[bool],
178
- pydantic.Field(
179
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
180
- alias="publicStats",
181
- ),
182
- ] = None
183
- r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
184
-
185
- tag_id: Annotated[
186
- OptionalNullable[str],
187
- pydantic.Field(
188
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
189
- alias="tagId",
190
- ),
191
- ] = UNSET
192
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
193
-
194
176
  tag_ids: Annotated[
195
177
  Optional[BulkCreateLinksTagIds], pydantic.Field(alias="tagIds")
196
178
  ] = None
@@ -291,6 +273,24 @@ class RequestBody(BaseModel):
291
273
  ] = UNSET
292
274
  r"""The date and time when the tests were or will be completed."""
293
275
 
276
+ public_stats: Annotated[
277
+ Optional[bool],
278
+ pydantic.Field(
279
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
280
+ alias="publicStats",
281
+ ),
282
+ ] = None
283
+ r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
284
+
285
+ tag_id: Annotated[
286
+ OptionalNullable[str],
287
+ pydantic.Field(
288
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
289
+ alias="tagId",
290
+ ),
291
+ ] = UNSET
292
+ r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
293
+
294
294
  @model_serializer(mode="wrap")
295
295
  def serialize_model(self, handler):
296
296
  optional_fields = [
@@ -304,8 +304,6 @@ class RequestBody(BaseModel):
304
304
  "prefix",
305
305
  "trackConversion",
306
306
  "archived",
307
- "publicStats",
308
- "tagId",
309
307
  "tagIds",
310
308
  "tagNames",
311
309
  "folderId",
@@ -333,13 +331,14 @@ class RequestBody(BaseModel):
333
331
  "testVariants",
334
332
  "testStartedAt",
335
333
  "testCompletedAt",
334
+ "publicStats",
335
+ "tagId",
336
336
  ]
337
337
  nullable_fields = [
338
338
  "externalId",
339
339
  "tenantId",
340
340
  "programId",
341
341
  "partnerId",
342
- "tagId",
343
342
  "folderId",
344
343
  "comments",
345
344
  "expiresAt",
@@ -362,6 +361,7 @@ class RequestBody(BaseModel):
362
361
  "testVariants",
363
362
  "testStartedAt",
364
363
  "testCompletedAt",
364
+ "tagId",
365
365
  ]
366
366
  null_default_fields = []
367
367
 
@@ -55,10 +55,6 @@ class DataTypedDict(TypedDict):
55
55
  r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
56
56
  archived: NotRequired[bool]
57
57
  r"""Whether the short link is archived. Defaults to `false` if not provided."""
58
- public_stats: NotRequired[bool]
59
- r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
60
- tag_id: NotRequired[Nullable[str]]
61
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
62
58
  tag_ids: NotRequired[BulkUpdateLinksTagIdsTypedDict]
63
59
  r"""The unique IDs of the tags assigned to the short link."""
64
60
  tag_names: NotRequired[BulkUpdateLinksTagNamesTypedDict]
@@ -113,6 +109,10 @@ class DataTypedDict(TypedDict):
113
109
  r"""The date and time when the tests started."""
114
110
  test_completed_at: NotRequired[Nullable[str]]
115
111
  r"""The date and time when the tests were or will be completed."""
112
+ public_stats: NotRequired[bool]
113
+ r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
114
+ tag_id: NotRequired[Nullable[str]]
115
+ r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
116
116
 
117
117
 
118
118
  class Data(BaseModel):
@@ -142,24 +142,6 @@ class Data(BaseModel):
142
142
  archived: Optional[bool] = None
143
143
  r"""Whether the short link is archived. Defaults to `false` if not provided."""
144
144
 
145
- public_stats: Annotated[
146
- Optional[bool],
147
- pydantic.Field(
148
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
149
- alias="publicStats",
150
- ),
151
- ] = None
152
- r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
153
-
154
- tag_id: Annotated[
155
- OptionalNullable[str],
156
- pydantic.Field(
157
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
158
- alias="tagId",
159
- ),
160
- ] = UNSET
161
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
162
-
163
145
  tag_ids: Annotated[
164
146
  Optional[BulkUpdateLinksTagIds], pydantic.Field(alias="tagIds")
165
147
  ] = None
@@ -260,6 +242,24 @@ class Data(BaseModel):
260
242
  ] = UNSET
261
243
  r"""The date and time when the tests were or will be completed."""
262
244
 
245
+ public_stats: Annotated[
246
+ Optional[bool],
247
+ pydantic.Field(
248
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
249
+ alias="publicStats",
250
+ ),
251
+ ] = None
252
+ r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
253
+
254
+ tag_id: Annotated[
255
+ OptionalNullable[str],
256
+ pydantic.Field(
257
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
258
+ alias="tagId",
259
+ ),
260
+ ] = UNSET
261
+ r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
262
+
263
263
  @model_serializer(mode="wrap")
264
264
  def serialize_model(self, handler):
265
265
  optional_fields = [
@@ -269,8 +269,6 @@ class Data(BaseModel):
269
269
  "partnerId",
270
270
  "trackConversion",
271
271
  "archived",
272
- "publicStats",
273
- "tagId",
274
272
  "tagIds",
275
273
  "tagNames",
276
274
  "folderId",
@@ -298,12 +296,13 @@ class Data(BaseModel):
298
296
  "testVariants",
299
297
  "testStartedAt",
300
298
  "testCompletedAt",
299
+ "publicStats",
300
+ "tagId",
301
301
  ]
302
302
  nullable_fields = [
303
303
  "tenantId",
304
304
  "programId",
305
305
  "partnerId",
306
- "tagId",
307
306
  "folderId",
308
307
  "comments",
309
308
  "expiresAt",
@@ -326,6 +325,7 @@ class Data(BaseModel):
326
325
  "testVariants",
327
326
  "testStartedAt",
328
327
  "testCompletedAt",
328
+ "tagId",
329
329
  ]
330
330
  null_default_fields = []
331
331
 
@@ -63,10 +63,6 @@ class CreateLinkRequestBodyTypedDict(TypedDict):
63
63
  r"""Whether to track conversions for the short link. Defaults to `false` if not provided."""
64
64
  archived: NotRequired[bool]
65
65
  r"""Whether the short link is archived. Defaults to `false` if not provided."""
66
- public_stats: NotRequired[bool]
67
- r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
68
- tag_id: NotRequired[Nullable[str]]
69
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
70
66
  tag_ids: NotRequired[TagIdsTypedDict]
71
67
  r"""The unique IDs of the tags assigned to the short link."""
72
68
  tag_names: NotRequired[TagNamesTypedDict]
@@ -121,6 +117,10 @@ class CreateLinkRequestBodyTypedDict(TypedDict):
121
117
  r"""The date and time when the tests started."""
122
118
  test_completed_at: NotRequired[Nullable[str]]
123
119
  r"""The date and time when the tests were or will be completed."""
120
+ public_stats: NotRequired[bool]
121
+ r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
122
+ tag_id: NotRequired[Nullable[str]]
123
+ r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
124
124
 
125
125
 
126
126
  class CreateLinkRequestBody(BaseModel):
@@ -167,24 +167,6 @@ class CreateLinkRequestBody(BaseModel):
167
167
  archived: Optional[bool] = None
168
168
  r"""Whether the short link is archived. Defaults to `false` if not provided."""
169
169
 
170
- public_stats: Annotated[
171
- Optional[bool],
172
- pydantic.Field(
173
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
174
- alias="publicStats",
175
- ),
176
- ] = None
177
- r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
178
-
179
- tag_id: Annotated[
180
- OptionalNullable[str],
181
- pydantic.Field(
182
- deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
183
- alias="tagId",
184
- ),
185
- ] = UNSET
186
- r"""The unique ID of the tag assigned to the short link. This field is deprecated – use `tagIds` instead."""
187
-
188
170
  tag_ids: Annotated[Optional[TagIds], pydantic.Field(alias="tagIds")] = None
189
171
  r"""The unique IDs of the tags assigned to the short link."""
190
172
 
@@ -280,6 +262,24 @@ class CreateLinkRequestBody(BaseModel):
280
262
  ] = UNSET
281
263
  r"""The date and time when the tests were or will be completed."""
282
264
 
265
+ public_stats: Annotated[
266
+ Optional[bool],
267
+ pydantic.Field(
268
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
269
+ alias="publicStats",
270
+ ),
271
+ ] = None
272
+ r"""Deprecated: Use `dashboard` instead. Whether the short link's stats are publicly accessible. Defaults to `false` if not provided."""
273
+
274
+ tag_id: Annotated[
275
+ OptionalNullable[str],
276
+ pydantic.Field(
277
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible.",
278
+ alias="tagId",
279
+ ),
280
+ ] = UNSET
281
+ r"""Deprecated: Use `tagIds` instead. The unique ID of the tag assigned to the short link."""
282
+
283
283
  @model_serializer(mode="wrap")
284
284
  def serialize_model(self, handler):
285
285
  optional_fields = [
@@ -293,8 +293,6 @@ class CreateLinkRequestBody(BaseModel):
293
293
  "prefix",
294
294
  "trackConversion",
295
295
  "archived",
296
- "publicStats",
297
- "tagId",
298
296
  "tagIds",
299
297
  "tagNames",
300
298
  "folderId",
@@ -322,13 +320,14 @@ class CreateLinkRequestBody(BaseModel):
322
320
  "testVariants",
323
321
  "testStartedAt",
324
322
  "testCompletedAt",
323
+ "publicStats",
324
+ "tagId",
325
325
  ]
326
326
  nullable_fields = [
327
327
  "externalId",
328
328
  "tenantId",
329
329
  "programId",
330
330
  "partnerId",
331
- "tagId",
332
331
  "folderId",
333
332
  "comments",
334
333
  "expiresAt",
@@ -351,6 +350,7 @@ class CreateLinkRequestBody(BaseModel):
351
350
  "testVariants",
352
351
  "testStartedAt",
353
352
  "testCompletedAt",
353
+ "tagId",
354
354
  ]
355
355
  null_default_fields = []
356
356
 
@@ -668,11 +668,11 @@ class CreatePartnerLinkTypedDict(TypedDict):
668
668
  clicks: NotRequired[float]
669
669
  r"""The number of clicks on the short link."""
670
670
  leads: NotRequired[float]
671
- r"""The number of leads the short links has generated."""
671
+ r"""The number of leads the short link has generated."""
672
672
  sales: NotRequired[float]
673
- r"""The number of sales the short links has generated."""
673
+ r"""The total number of sales (includes recurring sales) generated by the short link."""
674
674
  sale_amount: NotRequired[float]
675
- r"""The total dollar amount of sales the short links has generated (in cents)."""
675
+ r"""The total dollar value of sales (in cents) generated by the short link."""
676
676
 
677
677
 
678
678
  class CreatePartnerLink(BaseModel):
@@ -695,13 +695,13 @@ class CreatePartnerLink(BaseModel):
695
695
  r"""The number of clicks on the short link."""
696
696
 
697
697
  leads: Optional[float] = 0
698
- r"""The number of leads the short links has generated."""
698
+ r"""The number of leads the short link has generated."""
699
699
 
700
700
  sales: Optional[float] = 0
701
- r"""The number of sales the short links has generated."""
701
+ r"""The total number of sales (includes recurring sales) generated by the short link."""
702
702
 
703
703
  sale_amount: Annotated[Optional[float], pydantic.Field(alias="saleAmount")] = 0
704
- r"""The total dollar amount of sales the short links has generated (in cents)."""
704
+ r"""The total dollar value of sales (in cents) generated by the short link."""
705
705
 
706
706
 
707
707
  class BannedReason(str, Enum):
@@ -68,7 +68,7 @@ class GetLinksRequestTypedDict(TypedDict):
68
68
  domain: NotRequired[str]
69
69
  r"""The domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned."""
70
70
  tag_id: NotRequired[str]
71
- r"""Deprecated. Use `tagIds` instead. The tag ID to filter the links by."""
71
+ r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
72
72
  tag_ids: NotRequired[QueryParamTagIdsTypedDict]
73
73
  r"""The tag IDs to filter the links by."""
74
74
  tag_names: NotRequired[QueryParamTagNamesTypedDict]
@@ -109,7 +109,7 @@ class GetLinksRequest(BaseModel):
109
109
  pydantic.Field(alias="tagId"),
110
110
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
111
111
  ] = None
112
- r"""Deprecated. Use `tagIds` instead. The tag ID to filter the links by."""
112
+ r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
113
113
 
114
114
  tag_ids: Annotated[
115
115
  Optional[QueryParamTagIds],
@@ -61,7 +61,7 @@ class GetLinksCountRequestTypedDict(TypedDict):
61
61
  domain: NotRequired[str]
62
62
  r"""The domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned."""
63
63
  tag_id: NotRequired[str]
64
- r"""Deprecated. Use `tagIds` instead. The tag ID to filter the links by."""
64
+ r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
65
65
  tag_ids: NotRequired[GetLinksCountQueryParamTagIdsTypedDict]
66
66
  r"""The tag IDs to filter the links by."""
67
67
  tag_names: NotRequired[GetLinksCountQueryParamTagNamesTypedDict]
@@ -94,7 +94,7 @@ class GetLinksCountRequest(BaseModel):
94
94
  pydantic.Field(alias="tagId"),
95
95
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
96
96
  ] = None
97
- r"""Deprecated. Use `tagIds` instead. The tag ID to filter the links by."""
97
+ r"""Deprecated: Use `tagIds` instead. The tag ID to filter the links by."""
98
98
 
99
99
  tag_ids: Annotated[
100
100
  Optional[GetLinksCountQueryParamTagIds],
@@ -46,7 +46,7 @@ class QueryParamInterval(str, Enum):
46
46
 
47
47
 
48
48
  class QueryParamTrigger(str, Enum):
49
- r"""The trigger to retrieve analytics for. If undefined, return both QR and link clicks."""
49
+ r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
50
50
 
51
51
  QR = "qr"
52
52
  LINK = "link"
@@ -138,25 +138,27 @@ class ListEventsRequestTypedDict(TypedDict):
138
138
  os: NotRequired[str]
139
139
  r"""The OS to retrieve analytics for."""
140
140
  trigger: NotRequired[QueryParamTrigger]
141
- r"""The trigger to retrieve analytics for. If undefined, return both QR and link clicks."""
141
+ r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
142
142
  referer: NotRequired[str]
143
143
  r"""The referer to retrieve analytics for."""
144
144
  referer_url: NotRequired[str]
145
145
  r"""The full referer URL to retrieve analytics for."""
146
146
  url: NotRequired[str]
147
147
  r"""The URL to retrieve analytics for."""
148
- tag_id: NotRequired[str]
149
- r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
150
148
  tag_ids: NotRequired[ListEventsQueryParamTagIdsTypedDict]
151
149
  r"""The tag IDs to retrieve analytics for."""
152
150
  folder_id: NotRequired[str]
153
151
  r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
154
- qr: NotRequired[bool]
155
- 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."""
156
152
  root: NotRequired[bool]
157
153
  r"""Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both."""
158
154
  sale_type: NotRequired[QueryParamSaleType]
159
155
  r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
156
+ query: NotRequired[str]
157
+ r"""Search the events by a custom metadata value. Only available for lead and sale events."""
158
+ tag_id: NotRequired[str]
159
+ r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
160
+ qr: NotRequired[bool]
161
+ 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."""
160
162
  utm_source: NotRequired[Nullable[str]]
161
163
  r"""The UTM source of the short link."""
162
164
  utm_medium: NotRequired[Nullable[str]]
@@ -308,7 +310,7 @@ class ListEventsRequest(BaseModel):
308
310
  Optional[QueryParamTrigger],
309
311
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
310
312
  ] = None
311
- r"""The trigger to retrieve analytics for. If undefined, return both QR and link clicks."""
313
+ r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
312
314
 
313
315
  referer: Annotated[
314
316
  Optional[str],
@@ -329,13 +331,6 @@ class ListEventsRequest(BaseModel):
329
331
  ] = None
330
332
  r"""The URL to retrieve analytics for."""
331
333
 
332
- tag_id: Annotated[
333
- Optional[str],
334
- pydantic.Field(alias="tagId"),
335
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
336
- ] = None
337
- r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
338
-
339
334
  tag_ids: Annotated[
340
335
  Optional[ListEventsQueryParamTagIds],
341
336
  pydantic.Field(alias="tagIds"),
@@ -350,12 +345,6 @@ class ListEventsRequest(BaseModel):
350
345
  ] = None
351
346
  r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
352
347
 
353
- qr: Annotated[
354
- Optional[bool],
355
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
356
- ] = None
357
- 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."""
358
-
359
348
  root: Annotated[
360
349
  Optional[bool],
361
350
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -369,6 +358,25 @@ class ListEventsRequest(BaseModel):
369
358
  ] = None
370
359
  r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
371
360
 
361
+ query: Annotated[
362
+ Optional[str],
363
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
364
+ ] = None
365
+ r"""Search the events by a custom metadata value. Only available for lead and sale events."""
366
+
367
+ tag_id: Annotated[
368
+ Optional[str],
369
+ pydantic.Field(alias="tagId"),
370
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
371
+ ] = None
372
+ r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
373
+
374
+ qr: Annotated[
375
+ Optional[bool],
376
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
377
+ ] = None
378
+ 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."""
379
+
372
380
  utm_source: Annotated[
373
381
  OptionalNullable[str],
374
382
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -456,12 +464,13 @@ class ListEventsRequest(BaseModel):
456
464
  "referer",
457
465
  "refererUrl",
458
466
  "url",
459
- "tagId",
460
467
  "tagIds",
461
468
  "folderId",
462
- "qr",
463
469
  "root",
464
470
  "saleType",
471
+ "query",
472
+ "tagId",
473
+ "qr",
465
474
  "utm_source",
466
475
  "utm_medium",
467
476
  "utm_campaign",
@@ -149,11 +149,11 @@ class ListPartnersLinkTypedDict(TypedDict):
149
149
  clicks: NotRequired[float]
150
150
  r"""The number of clicks on the short link."""
151
151
  leads: NotRequired[float]
152
- r"""The number of leads the short links has generated."""
152
+ r"""The number of leads the short link has generated."""
153
153
  sales: NotRequired[float]
154
- r"""The number of sales the short links has generated."""
154
+ r"""The total number of sales (includes recurring sales) generated by the short link."""
155
155
  sale_amount: NotRequired[float]
156
- r"""The total dollar amount of sales the short links has generated (in cents)."""
156
+ r"""The total dollar value of sales (in cents) generated by the short link."""
157
157
 
158
158
 
159
159
  class ListPartnersLink(BaseModel):
@@ -176,13 +176,13 @@ class ListPartnersLink(BaseModel):
176
176
  r"""The number of clicks on the short link."""
177
177
 
178
178
  leads: Optional[float] = 0
179
- r"""The number of leads the short links has generated."""
179
+ r"""The number of leads the short link has generated."""
180
180
 
181
181
  sales: Optional[float] = 0
182
- r"""The number of sales the short links has generated."""
182
+ r"""The total number of sales (includes recurring sales) generated by the short link."""
183
183
 
184
184
  sale_amount: Annotated[Optional[float], pydantic.Field(alias="saleAmount")] = 0
185
- r"""The total dollar amount of sales the short links has generated (in cents)."""
185
+ r"""The total dollar value of sales (in cents) generated by the short link."""
186
186
 
187
187
 
188
188
  class ListPartnersBannedReason(str, Enum):
@@ -78,7 +78,7 @@ class Interval(str, Enum):
78
78
 
79
79
 
80
80
  class Trigger(str, Enum):
81
- r"""The trigger to retrieve analytics for. If undefined, return both QR and link clicks."""
81
+ r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
82
82
 
83
83
  QR = "qr"
84
84
  LINK = "link"
@@ -149,25 +149,27 @@ class RetrieveAnalyticsRequestTypedDict(TypedDict):
149
149
  os: NotRequired[str]
150
150
  r"""The OS to retrieve analytics for."""
151
151
  trigger: NotRequired[Trigger]
152
- r"""The trigger to retrieve analytics for. If undefined, return both QR and link clicks."""
152
+ r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
153
153
  referer: NotRequired[str]
154
154
  r"""The referer to retrieve analytics for."""
155
155
  referer_url: NotRequired[str]
156
156
  r"""The full referer URL to retrieve analytics for."""
157
157
  url: NotRequired[str]
158
158
  r"""The URL to retrieve analytics for."""
159
- tag_id: NotRequired[str]
160
- r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
161
159
  tag_ids: NotRequired[RetrieveAnalyticsQueryParamTagIdsTypedDict]
162
160
  r"""The tag IDs to retrieve analytics for."""
163
161
  folder_id: NotRequired[str]
164
162
  r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
165
- qr: NotRequired[bool]
166
- 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."""
167
163
  root: NotRequired[bool]
168
164
  r"""Filter for root domains. If true, filter for domains only. If false, filter for links only. If undefined, return both."""
169
165
  sale_type: NotRequired[SaleType]
170
166
  r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
167
+ query: NotRequired[str]
168
+ r"""Search the events by a custom metadata value. Only available for lead and sale events."""
169
+ tag_id: NotRequired[str]
170
+ r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
171
+ qr: NotRequired[bool]
172
+ 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."""
171
173
  utm_source: NotRequired[Nullable[str]]
172
174
  r"""The UTM source of the short link."""
173
175
  utm_medium: NotRequired[Nullable[str]]
@@ -318,7 +320,7 @@ class RetrieveAnalyticsRequest(BaseModel):
318
320
  Optional[Trigger],
319
321
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
320
322
  ] = None
321
- r"""The trigger to retrieve analytics for. If undefined, return both QR and link clicks."""
323
+ r"""The trigger to retrieve analytics for. If undefined, returns all trigger types."""
322
324
 
323
325
  referer: Annotated[
324
326
  Optional[str],
@@ -339,13 +341,6 @@ class RetrieveAnalyticsRequest(BaseModel):
339
341
  ] = None
340
342
  r"""The URL to retrieve analytics for."""
341
343
 
342
- tag_id: Annotated[
343
- Optional[str],
344
- pydantic.Field(alias="tagId"),
345
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
346
- ] = None
347
- r"""Deprecated. Use `tagIds` instead. The tag ID to retrieve analytics for."""
348
-
349
344
  tag_ids: Annotated[
350
345
  Optional[RetrieveAnalyticsQueryParamTagIds],
351
346
  pydantic.Field(alias="tagIds"),
@@ -360,12 +355,6 @@ class RetrieveAnalyticsRequest(BaseModel):
360
355
  ] = None
361
356
  r"""The folder ID to retrieve analytics for. If not provided, return analytics for unsorted links."""
362
357
 
363
- qr: Annotated[
364
- Optional[bool],
365
- FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
366
- ] = None
367
- 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."""
368
-
369
358
  root: Annotated[
370
359
  Optional[bool],
371
360
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -379,6 +368,25 @@ class RetrieveAnalyticsRequest(BaseModel):
379
368
  ] = None
380
369
  r"""Filter sales by type: 'new' for first-time purchases, 'recurring' for repeat purchases. If undefined, returns both."""
381
370
 
371
+ query: Annotated[
372
+ Optional[str],
373
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
374
+ ] = None
375
+ r"""Search the events by a custom metadata value. Only available for lead and sale events."""
376
+
377
+ tag_id: Annotated[
378
+ Optional[str],
379
+ pydantic.Field(alias="tagId"),
380
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
381
+ ] = None
382
+ r"""Deprecated: Use `tagIds` instead. The tag ID to retrieve analytics for."""
383
+
384
+ qr: Annotated[
385
+ Optional[bool],
386
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
387
+ ] = None
388
+ 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."""
389
+
382
390
  utm_source: Annotated[
383
391
  OptionalNullable[str],
384
392
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -437,12 +445,13 @@ class RetrieveAnalyticsRequest(BaseModel):
437
445
  "referer",
438
446
  "refererUrl",
439
447
  "url",
440
- "tagId",
441
448
  "tagIds",
442
449
  "folderId",
443
- "qr",
444
450
  "root",
445
451
  "saleType",
452
+ "query",
453
+ "tagId",
454
+ "qr",
446
455
  "utm_source",
447
456
  "utm_medium",
448
457
  "utm_campaign",