@getlatedev/node 0.2.1356 → 0.2.1358

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.
package/dist/index.d.mts CHANGED
@@ -11430,6 +11430,19 @@ type InstagramPlatformData = {
11430
11430
  * Up to 3 Instagram usernames to invite as collaborators (feed/Reels only)
11431
11431
  */
11432
11432
  collaborators?: Array<(string)>;
11433
+ /**
11434
+ * Output only. Set by Zernio when Instagram rejected these collaborators and the retry was sent without them.
11435
+ */
11436
+ readonly droppedCollaborators?: Array<{
11437
+ /**
11438
+ * The collaborator username Instagram rejected
11439
+ */
11440
+ username: string;
11441
+ /**
11442
+ * The reason Instagram gave for rejecting the collaborator
11443
+ */
11444
+ reason: string;
11445
+ }>;
11433
11446
  /**
11434
11447
  * Optional first comment to add after the post is created (not applied to Stories)
11435
11448
  */
@@ -55689,7 +55702,7 @@ type ListAdAudiencesData = {
55689
55702
  * Platform ad account ID
55690
55703
  */
55691
55704
  adAccountId: string;
55692
- platform?: 'facebook' | 'instagram' | 'googleads' | 'tiktok' | 'tiktokads' | 'pinterest' | 'linkedin' | 'linkedinads' | 'twitter' | 'xads';
55705
+ platform?: 'facebook' | 'instagram' | 'googleads' | 'tiktok' | 'tiktokads' | 'pinterest' | 'linkedin' | 'linkedinads' | 'twitter' | 'xads' | 'redditads';
55693
55706
  /**
55694
55707
  * Filter to one audience type. `saved_targeting` returns stored TargetingSpec audiences; the other types return uploaded/derived audiences.
55695
55708
  */
@@ -55709,7 +55722,10 @@ type ListAdAudiencesResponse = ({
55709
55722
  platformAudienceId?: string;
55710
55723
  name?: string;
55711
55724
  description?: string;
55712
- type?: 'customer_list' | 'company_list' | 'engagement' | 'meta_engagement' | 'tiktok_engagement' | 'pinterest_engagement' | 'website' | 'website_retargeting' | 'lookalike' | 'saved_targeting';
55725
+ /**
55726
+ * `reddit_engagement`, `third_party` and `in_market` are listed from Reddit (engagement retargeting, and Reddit's own audiences) so they can be targeted. Zernio cannot create them.
55727
+ */
55728
+ type?: 'customer_list' | 'company_list' | 'engagement' | 'meta_engagement' | 'tiktok_engagement' | 'pinterest_engagement' | 'website' | 'website_retargeting' | 'lookalike' | 'saved_targeting' | 'reddit_engagement' | 'third_party' | 'in_market';
55713
55729
  /**
55714
55730
  * Present (and the only meaningful payload) when `type` is `saved_targeting`. Null for uploaded/derived audience types.
55715
55731
  */
@@ -55792,11 +55808,11 @@ type CreateAdAudienceData = {
55792
55808
  linkedinPageUrl?: string;
55793
55809
  }>;
55794
55810
  /**
55795
- * website: the Meta pixel, TikTok pixel or Pinterest tag id. Required on those three, rejected on Google.
55811
+ * website: the Meta pixel, TikTok pixel, Pinterest tag or Reddit pixel id. Required on those four, rejected on Google.
55796
55812
  */
55797
55813
  pixelId?: string;
55798
55814
  /**
55799
- * Required for website (Meta max 180, TikTok 7/14/30/60/90/180, Pinterest and Google max 540), meta_engagement (max 365) and tiktok_engagement (7/14/30/60/90/180; organic and live video and most business-account events only 7/14/30).
55815
+ * Required for website (Meta max 180, TikTok 7/14/30/60/90/180, Reddit max 90, Pinterest and Google max 540), meta_engagement (max 365) and tiktok_engagement (7/14/30/60/90/180; organic and live video and most business-account events only 7/14/30).
55800
55816
  */
55801
55817
  retentionDays?: number;
55802
55818
  /**
@@ -55815,6 +55831,8 @@ type CreateAdAudienceData = {
55815
55831
  * (page → page_engaged, instagram → ig_business_profile_all,
55816
55832
  * video → video_watched). Ignored when `rule` is provided.
55817
55833
  *
55834
+ * website on Reddit: the conversion event (default `PAGE_VISIT`), or a custom event name.
55835
+ *
55818
55836
  * website on TikTok: the pixel event (default `PAGE BROWSE`). website
55819
55837
  * on Pinterest: the tag event (`pagevisit`, `signup`, `checkout`, `viewcategory`, `search`, `addtocart`, `watchvideo`, `lead`, `custom` or a partner-defined event).
55820
55838
  *
@@ -56026,7 +56044,7 @@ type AddUsersToAdAudienceResponse = ({
56026
56044
  message?: string;
56027
56045
  numReceived?: number;
56028
56046
  /**
56029
- * Rows the platform could not read. Returned on Meta only.
56047
+ * Rows the platform could not read. Returned on Meta, and on Reddit for rows without a valid email.
56030
56048
  */
56031
56049
  numInvalid?: number;
56032
56050
  });
@@ -56050,11 +56068,11 @@ type RemoveUsersFromAdAudienceData = {
56050
56068
  type RemoveUsersFromAdAudienceResponse = ({
56051
56069
  message?: string;
56052
56070
  /**
56053
- * Rows Meta received.
56071
+ * Rows the platform received.
56054
56072
  */
56055
56073
  numReceived?: number;
56056
56074
  /**
56057
- * Rows Meta could not read.
56075
+ * Rows the platform could not read.
56058
56076
  */
56059
56077
  numInvalid?: number;
56060
56078
  /**
package/dist/index.d.ts CHANGED
@@ -11430,6 +11430,19 @@ type InstagramPlatformData = {
11430
11430
  * Up to 3 Instagram usernames to invite as collaborators (feed/Reels only)
11431
11431
  */
11432
11432
  collaborators?: Array<(string)>;
11433
+ /**
11434
+ * Output only. Set by Zernio when Instagram rejected these collaborators and the retry was sent without them.
11435
+ */
11436
+ readonly droppedCollaborators?: Array<{
11437
+ /**
11438
+ * The collaborator username Instagram rejected
11439
+ */
11440
+ username: string;
11441
+ /**
11442
+ * The reason Instagram gave for rejecting the collaborator
11443
+ */
11444
+ reason: string;
11445
+ }>;
11433
11446
  /**
11434
11447
  * Optional first comment to add after the post is created (not applied to Stories)
11435
11448
  */
@@ -55689,7 +55702,7 @@ type ListAdAudiencesData = {
55689
55702
  * Platform ad account ID
55690
55703
  */
55691
55704
  adAccountId: string;
55692
- platform?: 'facebook' | 'instagram' | 'googleads' | 'tiktok' | 'tiktokads' | 'pinterest' | 'linkedin' | 'linkedinads' | 'twitter' | 'xads';
55705
+ platform?: 'facebook' | 'instagram' | 'googleads' | 'tiktok' | 'tiktokads' | 'pinterest' | 'linkedin' | 'linkedinads' | 'twitter' | 'xads' | 'redditads';
55693
55706
  /**
55694
55707
  * Filter to one audience type. `saved_targeting` returns stored TargetingSpec audiences; the other types return uploaded/derived audiences.
55695
55708
  */
@@ -55709,7 +55722,10 @@ type ListAdAudiencesResponse = ({
55709
55722
  platformAudienceId?: string;
55710
55723
  name?: string;
55711
55724
  description?: string;
55712
- type?: 'customer_list' | 'company_list' | 'engagement' | 'meta_engagement' | 'tiktok_engagement' | 'pinterest_engagement' | 'website' | 'website_retargeting' | 'lookalike' | 'saved_targeting';
55725
+ /**
55726
+ * `reddit_engagement`, `third_party` and `in_market` are listed from Reddit (engagement retargeting, and Reddit's own audiences) so they can be targeted. Zernio cannot create them.
55727
+ */
55728
+ type?: 'customer_list' | 'company_list' | 'engagement' | 'meta_engagement' | 'tiktok_engagement' | 'pinterest_engagement' | 'website' | 'website_retargeting' | 'lookalike' | 'saved_targeting' | 'reddit_engagement' | 'third_party' | 'in_market';
55713
55729
  /**
55714
55730
  * Present (and the only meaningful payload) when `type` is `saved_targeting`. Null for uploaded/derived audience types.
55715
55731
  */
@@ -55792,11 +55808,11 @@ type CreateAdAudienceData = {
55792
55808
  linkedinPageUrl?: string;
55793
55809
  }>;
55794
55810
  /**
55795
- * website: the Meta pixel, TikTok pixel or Pinterest tag id. Required on those three, rejected on Google.
55811
+ * website: the Meta pixel, TikTok pixel, Pinterest tag or Reddit pixel id. Required on those four, rejected on Google.
55796
55812
  */
55797
55813
  pixelId?: string;
55798
55814
  /**
55799
- * Required for website (Meta max 180, TikTok 7/14/30/60/90/180, Pinterest and Google max 540), meta_engagement (max 365) and tiktok_engagement (7/14/30/60/90/180; organic and live video and most business-account events only 7/14/30).
55815
+ * Required for website (Meta max 180, TikTok 7/14/30/60/90/180, Reddit max 90, Pinterest and Google max 540), meta_engagement (max 365) and tiktok_engagement (7/14/30/60/90/180; organic and live video and most business-account events only 7/14/30).
55800
55816
  */
55801
55817
  retentionDays?: number;
55802
55818
  /**
@@ -55815,6 +55831,8 @@ type CreateAdAudienceData = {
55815
55831
  * (page → page_engaged, instagram → ig_business_profile_all,
55816
55832
  * video → video_watched). Ignored when `rule` is provided.
55817
55833
  *
55834
+ * website on Reddit: the conversion event (default `PAGE_VISIT`), or a custom event name.
55835
+ *
55818
55836
  * website on TikTok: the pixel event (default `PAGE BROWSE`). website
55819
55837
  * on Pinterest: the tag event (`pagevisit`, `signup`, `checkout`, `viewcategory`, `search`, `addtocart`, `watchvideo`, `lead`, `custom` or a partner-defined event).
55820
55838
  *
@@ -56026,7 +56044,7 @@ type AddUsersToAdAudienceResponse = ({
56026
56044
  message?: string;
56027
56045
  numReceived?: number;
56028
56046
  /**
56029
- * Rows the platform could not read. Returned on Meta only.
56047
+ * Rows the platform could not read. Returned on Meta, and on Reddit for rows without a valid email.
56030
56048
  */
56031
56049
  numInvalid?: number;
56032
56050
  });
@@ -56050,11 +56068,11 @@ type RemoveUsersFromAdAudienceData = {
56050
56068
  type RemoveUsersFromAdAudienceResponse = ({
56051
56069
  message?: string;
56052
56070
  /**
56053
- * Rows Meta received.
56071
+ * Rows the platform received.
56054
56072
  */
56055
56073
  numReceived?: number;
56056
56074
  /**
56057
- * Rows Meta could not read.
56075
+ * Rows the platform could not read.
56058
56076
  */
56059
56077
  numInvalid?: number;
56060
56078
  /**
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
36
36
  // package.json
37
37
  var package_default = {
38
38
  name: "@getlatedev/node",
39
- version: "0.2.1356",
39
+ version: "0.2.1358",
40
40
  description: "The official Node.js library for the Zernio API",
41
41
  main: "dist/index.js",
42
42
  module: "dist/index.mjs",
package/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
5
5
  // package.json
6
6
  var package_default = {
7
7
  name: "@getlatedev/node",
8
- version: "0.2.1356",
8
+ version: "0.2.1358",
9
9
  description: "The official Node.js library for the Zernio API",
10
10
  main: "dist/index.js",
11
11
  module: "dist/index.mjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getlatedev/node",
3
- "version": "0.2.1356",
3
+ "version": "0.2.1358",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -15126,7 +15126,10 @@ export const deleteAdCatalogProductSet = <ThrowOnError extends boolean = false>(
15126
15126
  * List custom audiences
15127
15127
  * Lists the custom audiences in an ad account so you can reuse them for targeting.
15128
15128
  *
15129
- * Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X.
15129
+ * Supports Meta, Google, TikTok, Pinterest, LinkedIn, X, and Reddit.
15130
+ *
15131
+ * On Reddit, `size` is the lower bound of Reddit's matched-users range, and `status` is `too_small`
15132
+ * while the list has matched fewer than 1,000 people.
15130
15133
  *
15131
15134
  */
15132
15135
  export const listAdAudiences = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdAudiencesData, ThrowOnError>) => {
@@ -15140,8 +15143,10 @@ export const listAdAudiences = <ThrowOnError extends boolean = false>(options: O
15140
15143
  * Create custom audience
15141
15144
  * Creates a custom audience from a customer list, website visitors, a lookalike, or people who engaged with your content.
15142
15145
  *
15143
- * `customer_list` is supported on Meta, Google, X, LinkedIn, TikTok, and Pinterest.
15144
- * `website` (pixel/tag visitors) and `lookalike` are supported on Meta, TikTok, Pinterest and Google.
15146
+ * `customer_list` is supported on Meta, Google, X, LinkedIn, TikTok, Pinterest, and Reddit.
15147
+ * `website` (pixel/tag visitors) is supported on Meta, TikTok, Pinterest, Google, and Reddit.
15148
+ * `lookalike` is supported on Meta, TikTok, Pinterest and Google (Reddit's API cannot create one).
15149
+ * Reddit audience names need at least 3 characters.
15145
15150
  * `meta_engagement` is Meta-only, `tiktok_engagement` TikTok-only, `pinterest_engagement` Pinterest-only;
15146
15151
  * `company_list`, `engagement` and `website_retargeting` are LinkedIn-only. A type sent to a platform
15147
15152
  * that does not support it is a 422 `FEATURE_NOT_AVAILABLE`.
@@ -15158,6 +15163,9 @@ export const listAdAudiences = <ThrowOnError extends boolean = false>(options: O
15158
15163
  * Pinterest matches URLs exactly, so `urlContains` is a 400 there.
15159
15164
  * - Google: no `pixelId` (the account's Google tag is used), `retentionDays` 1-540, `urlContains`
15160
15165
  * defaults to `/` (all visitors). Built as a rule-based user list with prepopulation requested.
15166
+ * - Reddit: `pixelId` is the Reddit pixel id, `retentionDays` 1-90. `event` is a Reddit conversion event
15167
+ * (`PAGE_VISIT` by default; also `VIEW_CONTENT`, `SEARCH`, `ADD_TO_CART`, `ADD_TO_WISHLIST`, `PURCHASE`,
15168
+ * `LEAD`, `SIGN_UP`); any other value is sent as a custom event name. `urlContains` and `rule` are a 400.
15161
15169
  *
15162
15170
  * Per-platform rules for `lookalike`: Meta takes `ratio` (0.01-0.20); Pinterest takes `ratio` in whole
15163
15171
  * percents (0.01-0.10) and `country` US, CA or GB; TikTok and Google take `size` (narrow, balanced, broad)
@@ -15225,7 +15233,7 @@ export const updateAdAudience = <ThrowOnError extends boolean = false>(options:
15225
15233
  * Removes a custom audience from its ad platform (archiving it where the platform does not delete).
15226
15234
  *
15227
15235
  * Removes the audience on its ad platform, then deletes the Zernio record. Meta, Google, TikTok,
15228
- * LinkedIn list and engagement segments, and X are deleted; Pinterest audiences and LinkedIn
15236
+ * LinkedIn list and engagement segments, X, and Reddit are deleted; Pinterest audiences and LinkedIn
15229
15237
  * `website_retargeting` segments are archived, which is how those platforms remove them.
15230
15238
  * `saved_targeting` audiences exist only on Zernio, so only the local record is removed.
15231
15239
  *
@@ -15248,6 +15256,9 @@ export const deleteAdAudience = <ThrowOnError extends boolean = false>(options:
15248
15256
  * Data is SHA256-hashed server-side before sending to the platform.
15249
15257
  * Email is used on every platform; phone is used on Meta only (other platforms ignore it). On TikTok and Pinterest,
15250
15258
  * the first upload also provisions the audience (deferred create). LinkedIn uploads are full-replace. Max 10,000 users per request.
15259
+ * On Reddit, emails are lowercased and trimmed before hashing, duplicates are sent once, and the upload goes out
15260
+ * in batches of 2,500. Reddit matches by email only: rows without a valid email count in `numInvalid`, and a
15261
+ * request where no row has one is a 400. Reddit audiences need the `redditads` connection, not the Reddit posting account (422).
15251
15262
  *
15252
15263
  * customer_list only. A LinkedIn `company_list` audience takes company rows, not people: send those to
15253
15264
  * `POST /v1/ads/audiences/{audienceId}/companies`. This endpoint 422s for every other audience type.
@@ -15262,13 +15273,13 @@ export const addUsersToAdAudience = <ThrowOnError extends boolean = false>(optio
15262
15273
 
15263
15274
  /**
15264
15275
  * Remove users from audience
15265
- * Removes customer emails and phone numbers from a Meta customer list audience. Same body as
15276
+ * Removes customer emails (and phone numbers on Meta) from a Meta or Reddit customer list audience. Same body as
15266
15277
  * `POST /v1/ads/audiences/{audienceId}/users`: send plaintext rows, they are normalized and
15267
15278
  * SHA256-hashed server-side exactly like an upload, so a row removes the person it added.
15268
15279
  *
15269
- * Meta only, customer_list only. Every other platform returns 422 with code `feature_not_available`,
15270
- * and every other audience type returns 422. Max 10,000 users per request. Meta applies the removal
15271
- * asynchronously, so the audience size does not drop immediately.
15280
+ * Meta and Reddit only, customer_list only. Every other platform returns 422 with code `feature_not_available`,
15281
+ * and every other audience type returns 422. Max 10,000 users per request. The platform applies the removal
15282
+ * asynchronously, so the audience size does not drop immediately. On Reddit `invalidEntrySamples` is always empty.
15272
15283
  *
15273
15284
  */
15274
15285
  export const removeUsersFromAdAudience = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveUsersFromAdAudienceData, ThrowOnError>) => {
@@ -9681,6 +9681,19 @@ export type InstagramPlatformData = {
9681
9681
  * Up to 3 Instagram usernames to invite as collaborators (feed/Reels only)
9682
9682
  */
9683
9683
  collaborators?: Array<(string)>;
9684
+ /**
9685
+ * Output only. Set by Zernio when Instagram rejected these collaborators and the retry was sent without them.
9686
+ */
9687
+ readonly droppedCollaborators?: Array<{
9688
+ /**
9689
+ * The collaborator username Instagram rejected
9690
+ */
9691
+ username: string;
9692
+ /**
9693
+ * The reason Instagram gave for rejecting the collaborator
9694
+ */
9695
+ reason: string;
9696
+ }>;
9684
9697
  /**
9685
9698
  * Optional first comment to add after the post is created (not applied to Stories)
9686
9699
  */
@@ -56873,7 +56886,7 @@ export type ListAdAudiencesData = {
56873
56886
  * Platform ad account ID
56874
56887
  */
56875
56888
  adAccountId: string;
56876
- platform?: 'facebook' | 'instagram' | 'googleads' | 'tiktok' | 'tiktokads' | 'pinterest' | 'linkedin' | 'linkedinads' | 'twitter' | 'xads';
56889
+ platform?: 'facebook' | 'instagram' | 'googleads' | 'tiktok' | 'tiktokads' | 'pinterest' | 'linkedin' | 'linkedinads' | 'twitter' | 'xads' | 'redditads';
56877
56890
  /**
56878
56891
  * Filter to one audience type. `saved_targeting` returns stored TargetingSpec audiences; the other types return uploaded/derived audiences.
56879
56892
  */
@@ -56894,7 +56907,10 @@ export type ListAdAudiencesResponse = ({
56894
56907
  platformAudienceId?: string;
56895
56908
  name?: string;
56896
56909
  description?: string;
56897
- type?: 'customer_list' | 'company_list' | 'engagement' | 'meta_engagement' | 'tiktok_engagement' | 'pinterest_engagement' | 'website' | 'website_retargeting' | 'lookalike' | 'saved_targeting';
56910
+ /**
56911
+ * `reddit_engagement`, `third_party` and `in_market` are listed from Reddit (engagement retargeting, and Reddit's own audiences) so they can be targeted. Zernio cannot create them.
56912
+ */
56913
+ type?: 'customer_list' | 'company_list' | 'engagement' | 'meta_engagement' | 'tiktok_engagement' | 'pinterest_engagement' | 'website' | 'website_retargeting' | 'lookalike' | 'saved_targeting' | 'reddit_engagement' | 'third_party' | 'in_market';
56898
56914
  /**
56899
56915
  * Present (and the only meaningful payload) when `type` is `saved_targeting`. Null for uploaded/derived audience types.
56900
56916
  */
@@ -56979,11 +56995,11 @@ export type CreateAdAudienceData = {
56979
56995
  linkedinPageUrl?: string;
56980
56996
  }>;
56981
56997
  /**
56982
- * website: the Meta pixel, TikTok pixel or Pinterest tag id. Required on those three, rejected on Google.
56998
+ * website: the Meta pixel, TikTok pixel, Pinterest tag or Reddit pixel id. Required on those four, rejected on Google.
56983
56999
  */
56984
57000
  pixelId?: string;
56985
57001
  /**
56986
- * Required for website (Meta max 180, TikTok 7/14/30/60/90/180, Pinterest and Google max 540), meta_engagement (max 365) and tiktok_engagement (7/14/30/60/90/180; organic and live video and most business-account events only 7/14/30).
57002
+ * Required for website (Meta max 180, TikTok 7/14/30/60/90/180, Reddit max 90, Pinterest and Google max 540), meta_engagement (max 365) and tiktok_engagement (7/14/30/60/90/180; organic and live video and most business-account events only 7/14/30).
56987
57003
  */
56988
57004
  retentionDays?: number;
56989
57005
  /**
@@ -57002,6 +57018,8 @@ export type CreateAdAudienceData = {
57002
57018
  * (page → page_engaged, instagram → ig_business_profile_all,
57003
57019
  * video → video_watched). Ignored when `rule` is provided.
57004
57020
  *
57021
+ * website on Reddit: the conversion event (default `PAGE_VISIT`), or a custom event name.
57022
+ *
57005
57023
  * website on TikTok: the pixel event (default `PAGE BROWSE`). website
57006
57024
  * on Pinterest: the tag event (`pagevisit`, `signup`, `checkout`, `viewcategory`, `search`, `addtocart`, `watchvideo`, `lead`, `custom` or a partner-defined event).
57007
57025
  *
@@ -57226,7 +57244,7 @@ export type AddUsersToAdAudienceResponse = ({
57226
57244
  message?: string;
57227
57245
  numReceived?: number;
57228
57246
  /**
57229
- * Rows the platform could not read. Returned on Meta only.
57247
+ * Rows the platform could not read. Returned on Meta, and on Reddit for rows without a valid email.
57230
57248
  */
57231
57249
  numInvalid?: number;
57232
57250
  });
@@ -57253,11 +57271,11 @@ export type RemoveUsersFromAdAudienceData = {
57253
57271
  export type RemoveUsersFromAdAudienceResponse = ({
57254
57272
  message?: string;
57255
57273
  /**
57256
- * Rows Meta received.
57274
+ * Rows the platform received.
57257
57275
  */
57258
57276
  numReceived?: number;
57259
57277
  /**
57260
- * Rows Meta could not read.
57278
+ * Rows the platform could not read.
57261
57279
  */
57262
57280
  numInvalid?: number;
57263
57281
  /**