@getlatedev/node 0.2.1443 → 0.2.1446

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
@@ -3305,6 +3305,15 @@ type AdFunnelCounts = {
3305
3305
  * Messaging threads where the person sent a first reply.
3306
3306
  */
3307
3307
  messagingFirstReplies?: number;
3308
+ /**
3309
+ * Booked appointments (Meta `Schedule` pixel event). Pair with `spend` for cost per booked meeting.
3310
+ *
3311
+ * **Meta** reports Schedule in its `conversions` insight field, never in `actions`. This takes the FIRST present of `offsite_conversion.fb_pixel_schedule`, `omni_schedule`, `app_custom_event.fb_mobile_schedule`, `onsite_conversion.schedule`, `schedule`, `schedule_total`, `schedule_mobile_app`, `schedule_website`, `schedule_offline`. With none of those, a single `offsite_schedule_add_<dataset>` key counts. Two such keys (two datasets) leave it at 0, since one booking can reach both.
3312
+ *
3313
+ * Added 2026-11-03. Days synced before then read 0 until re-fetched: each sync restates the last 30 days.
3314
+ *
3315
+ */
3316
+ schedules?: number;
3308
3317
  };
3309
3318
  type AdKeyword = {
3310
3319
  /**
@@ -3547,6 +3556,9 @@ type AdMetrics = {
3547
3556
  * Per-action-type counts summed over the date range, keyed by the platform's action-type names. Keys differ by platform, so branch on the ad's platform when interpreting them. Empty object when no actions are reported.
3548
3557
  *
3549
3558
  * - Meta: raw Insights action_type keys (link_click, offsite_conversion.fb_pixel_purchase, onsite_conversion.lead_grouped, ...), covering both engagement and conversion events.
3559
+ * - Meta newer standard events (Schedule, SubmitApplication, Contact, StartTrial, Subscribe and the like) come only from Meta's `conversions` insight field, under keys such as schedule_total, schedule_website or offsite_schedule_add_<dataset>.
3560
+ * - Since 2026-11-03 every `conversions` key that `actions` lacks is added here, rounded per key, and its `conversion_values` value to `actionValues`. A key both fields report keeps its `actions` value.
3561
+ * - Days synced before 2026-11-03 lack those keys until re-fetched. Each sync restates the last 30 days.
3550
3562
  * - TikTok: conversion events plus the paid-engagement family (follow, post_reaction for paid likes, comment, share). Follow is how FOLLOWERS-goal campaigns report their result.
3551
3563
  * - TikTok website (pixel) events: complete_payment (website purchase, counted in `conversions` by SHOPPING-optimised campaigns), place_order, initiate_checkout, add_to_cart, view_content, lead (website form submissions plus TikTok instant-form leads).
3552
3564
  * - TikTok place_order is Place an Order, the website purchase of pixels set up with the legacy ON_WEB_ORDER event. It is absent from days synced before this metric was added until the ad is re-synced.
@@ -4351,9 +4363,16 @@ type AdTreeAdSet = {
4351
4363
  platformAdSetId?: string;
4352
4364
  adSetName?: string;
4353
4365
  /**
4354
- * Derived from child ad statuses
4366
+ * Derived from child ad statuses. Reads `paused` when the synced ad set or its campaign is switched off on the platform, even while the ads still report their own switch as on.
4355
4367
  */
4356
4368
  status?: (AdStatus);
4369
+ /**
4370
+ * The ad set's start and end as last synced from the platform, as UTC instants. Null when the ad set was never synced or has no schedule (on Pinterest under a CBO campaign, the end date sits on the campaign).
4371
+ */
4372
+ schedule?: {
4373
+ startDate?: string;
4374
+ endDate?: string;
4375
+ } | null;
4357
4376
  /**
4358
4377
  * Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across this ad set's ads. Not the ad set's own creation time on the platform, but a proxy usable for sorting.
4359
4378
  */
@@ -4521,9 +4540,16 @@ type AdTreeCampaign = {
4521
4540
  */
4522
4541
  createdTime?: (string) | null;
4523
4542
  /**
4524
- * Delivery status derived from child ad statuses. Distinct from `reviewStatus`, which reflects the platform-side review state.
4543
+ * Delivery status derived from child ad statuses. Reads `paused` when the campaign is switched off on the platform (`platformCampaignStatus`), even while its ads still report their own switch as on. Distinct from `reviewStatus`, which reflects the platform-side review state.
4525
4544
  */
4526
4545
  status?: (AdStatus);
4546
+ /**
4547
+ * The campaign's start and end as last synced from the platform, as UTC instants. Null when the campaign was never synced or has no schedule. Where the platform schedules the ad set instead (Meta, TikTok), read `AdTreeAdSet.schedule`.
4548
+ */
4549
+ schedule?: {
4550
+ startDate?: string;
4551
+ endDate?: string;
4552
+ } | null;
4527
4553
  /**
4528
4554
  * Platform-side review state of the campaign. Independent of the
4529
4555
  * children-derived delivery `status`: a campaign can have ads
@@ -13811,7 +13837,7 @@ type condition2 = 'new' | 'refurbished' | 'used';
13811
13837
  type visibility2 = 'published' | 'staging';
13812
13838
  type gender2 = 'female' | 'male' | 'unisex';
13813
13839
  /**
13814
- * Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT. auto_promotion_tag is an Advantage+ enhancement, not the Ads Manager Promotion setting. The deprecated standard_enhancements bundle is rejected by Meta.
13840
+ * Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT. auto_promotion_tag is an Advantage+ enhancement, not the Ads Manager Promotion setting. The deprecated standard_enhancements bundle (subcode 3858504) is a 400 before any Meta call.
13815
13841
  */
13816
13842
  type MetaCreativeFeatures = {
13817
13843
  [key: string]: ('OPT_IN' | 'OPT_OUT');
@@ -52617,7 +52643,11 @@ type UpdateAdData = {
52617
52643
  * **Meta**: patch-style.
52618
52644
  *
52619
52645
  * - Pass any subset: omitted fields are preserved from the live creative, including media (`image_hash`/`video_id` reused, no re-upload) and `url_tags`. Sending the full set (`headline`, `body`, `callToAction`, `linkUrl`, `imageUrl`) rebuilds the creative from scratch.
52620
- * - Partial patching reads the live `object_story_spec`, which Meta strips on SHARE / page-post / dark / asset_feed creatives; those return 422 asking for the full set. A `videoUrl`/`videoId` on an image creative is a type change and also needs the full set.
52646
+ * - Partial patching reads the live `object_story_spec`, which Meta strips on SHARE / page-post / dark post creatives; those return 422 asking for the full set. A `videoUrl`/`videoId` on an image creative is a type change and also needs the full set.
52647
+ * - Creatives with an `asset_feed_spec` (several text options, placement or language rules) take text, link, tracking and enhancement edits in place. The new creative is built from the live asset feed with the edited text, and every video, image, label and rule is kept.
52648
+ * - On those, `body`, `headline` and `description` replace the one option of that kind. When the feed has several, send `bodies`, `headlines` or `descriptions` with one text per option, in order. `linkUrl` replaces the feed's only destination link.
52649
+ * - Image, video and call-to-action changes on asset_feed creatives apply to the story spec (Multiple Text Options creatives). They return 422 when the feed itself holds the images, videos or call-to-action options.
52650
+ * - The live creative's deprecated `standard_enhancements` setting (Meta subcode 3858504) is never sent back; every other enhancement setting is kept.
52621
52651
  * - `existingCreativeId` repoints the ad at a creative from GET /v1/ads/creatives and ignores every other field.
52622
52652
  * - Meta creatives are immutable: any change creates a new creative and repoints the ad. The old creative stays on the ad account for historical reporting.
52623
52653
  * - `creativeFeatures` is Meta-only. Omitted settings are preserved from the live creative, including on full rebuilds; a supplied creativeFeatures map overrides individual existing keys.
@@ -52669,11 +52699,26 @@ type UpdateAdData = {
52669
52699
  * Google Display only. Uploaded as a new square (1:1) marketing image asset that replaces the current one.
52670
52700
  */
52671
52701
  squareImageUrl?: string;
52702
+ /**
52703
+ * Primary text. On a Meta asset_feed creative it replaces the feed's only body option (422 when it has several: send `bodies`).
52704
+ */
52672
52705
  body?: string;
52706
+ /**
52707
+ * Meta only. The primary text options of an asset_feed creative, one text per option in the order GET /v1/ads/{adId} returns them. Each replaces the option in its position and keeps its rule. A different count returns 422, as does a single-text creative (send `body`). Not with `body`.
52708
+ */
52709
+ bodies?: Array<(string)>;
52710
+ /**
52711
+ * Meta only. Same as `bodies`, for the headline options (Meta `asset_feed_spec.titles`). Cannot be sent with `headline`. Not the top-level Google `headlines`.
52712
+ */
52713
+ headlines?: Array<(string)>;
52673
52714
  /**
52674
52715
  * Link description slot (Meta `link_data.description` / `video_data.link_description`, LinkedIn creative description).
52675
52716
  */
52676
52717
  description?: string;
52718
+ /**
52719
+ * Meta only. Same as `bodies`, for the description options. Cannot be sent with `description`. Not the top-level Google `descriptions`.
52720
+ */
52721
+ descriptions?: Array<(string)>;
52677
52722
  callToAction?: string;
52678
52723
  linkUrl?: string;
52679
52724
  imageUrl?: string;
@@ -57262,10 +57307,12 @@ type BoostPostData = {
57262
57307
  /**
57263
57308
  * Ad-set end time (ISO 8601). Required for lifetime budgets. Same field as on POST /v1/ads/create.
57264
57309
  *
57265
- * Maps to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates).
57310
+ * Maps to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates). On Pinterest it also goes on the campaign when the ad account needs Campaign Budget Optimization, daily budget included.
57266
57311
  *
57267
57312
  * On Meta, TikTok, X, Pinterest and Reddit, a value without an offset (`YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DDTHH:MM:SS`) is read in the ad account timezone, and a date-only end runs to 23:59:59 local.
57268
57313
  *
57314
+ * Anything that is not an ISO 8601 date or date-time is a 400 on `endDate`.
57315
+ *
57269
57316
  */
57270
57317
  endDate?: string;
57271
57318
  /**
@@ -58782,6 +58829,10 @@ type CreateStandaloneAdData = {
58782
58829
  * When the ad ends. If omitted: on a lifetime budget, the ad ends 7 days after it starts (reported in `appliedDefaults.endDate`); a daily budget runs until paused.
58783
58830
  *
58784
58831
  * Read like `startDate`: account timezone on Meta, TikTok, X, Pinterest, OpenAI and Reddit; whole account-local days on Google; UTC on LinkedIn. A date-only end runs to 23:59:59 local.
58832
+ *
58833
+ * On a Pinterest ad account that needs Campaign Budget Optimization, the end also goes on the campaign, daily budget included.
58834
+ *
58835
+ * 400 when it is not an ISO 8601 date or date-time, or when the ad joins a parent that keeps its own dates: `adSetId` on Meta, TikTok, Google, LinkedIn and Reddit, and `existingCampaignId` on Google.
58785
58836
  */
58786
58837
  endDate?: string;
58787
58838
  /**
@@ -61105,6 +61156,10 @@ type ListAdAudiencesResponse = ({
61105
61156
  spec?: (TargetingSpec | null);
61106
61157
  platform?: string;
61107
61158
  size?: number;
61159
+ /**
61160
+ * Who the audience contains, in one line (e.g. '1% lookalike of Customers in US' or 'All website visitors, last 30 days'). Meta only.
61161
+ */
61162
+ summary?: string;
61108
61163
  status?: string;
61109
61164
  }>;
61110
61165
  });
package/dist/index.d.ts CHANGED
@@ -3305,6 +3305,15 @@ type AdFunnelCounts = {
3305
3305
  * Messaging threads where the person sent a first reply.
3306
3306
  */
3307
3307
  messagingFirstReplies?: number;
3308
+ /**
3309
+ * Booked appointments (Meta `Schedule` pixel event). Pair with `spend` for cost per booked meeting.
3310
+ *
3311
+ * **Meta** reports Schedule in its `conversions` insight field, never in `actions`. This takes the FIRST present of `offsite_conversion.fb_pixel_schedule`, `omni_schedule`, `app_custom_event.fb_mobile_schedule`, `onsite_conversion.schedule`, `schedule`, `schedule_total`, `schedule_mobile_app`, `schedule_website`, `schedule_offline`. With none of those, a single `offsite_schedule_add_<dataset>` key counts. Two such keys (two datasets) leave it at 0, since one booking can reach both.
3312
+ *
3313
+ * Added 2026-11-03. Days synced before then read 0 until re-fetched: each sync restates the last 30 days.
3314
+ *
3315
+ */
3316
+ schedules?: number;
3308
3317
  };
3309
3318
  type AdKeyword = {
3310
3319
  /**
@@ -3547,6 +3556,9 @@ type AdMetrics = {
3547
3556
  * Per-action-type counts summed over the date range, keyed by the platform's action-type names. Keys differ by platform, so branch on the ad's platform when interpreting them. Empty object when no actions are reported.
3548
3557
  *
3549
3558
  * - Meta: raw Insights action_type keys (link_click, offsite_conversion.fb_pixel_purchase, onsite_conversion.lead_grouped, ...), covering both engagement and conversion events.
3559
+ * - Meta newer standard events (Schedule, SubmitApplication, Contact, StartTrial, Subscribe and the like) come only from Meta's `conversions` insight field, under keys such as schedule_total, schedule_website or offsite_schedule_add_<dataset>.
3560
+ * - Since 2026-11-03 every `conversions` key that `actions` lacks is added here, rounded per key, and its `conversion_values` value to `actionValues`. A key both fields report keeps its `actions` value.
3561
+ * - Days synced before 2026-11-03 lack those keys until re-fetched. Each sync restates the last 30 days.
3550
3562
  * - TikTok: conversion events plus the paid-engagement family (follow, post_reaction for paid likes, comment, share). Follow is how FOLLOWERS-goal campaigns report their result.
3551
3563
  * - TikTok website (pixel) events: complete_payment (website purchase, counted in `conversions` by SHOPPING-optimised campaigns), place_order, initiate_checkout, add_to_cart, view_content, lead (website form submissions plus TikTok instant-form leads).
3552
3564
  * - TikTok place_order is Place an Order, the website purchase of pixels set up with the legacy ON_WEB_ORDER event. It is absent from days synced before this metric was added until the ad is re-synced.
@@ -4351,9 +4363,16 @@ type AdTreeAdSet = {
4351
4363
  platformAdSetId?: string;
4352
4364
  adSetName?: string;
4353
4365
  /**
4354
- * Derived from child ad statuses
4366
+ * Derived from child ad statuses. Reads `paused` when the synced ad set or its campaign is switched off on the platform, even while the ads still report their own switch as on.
4355
4367
  */
4356
4368
  status?: (AdStatus);
4369
+ /**
4370
+ * The ad set's start and end as last synced from the platform, as UTC instants. Null when the ad set was never synced or has no schedule (on Pinterest under a CBO campaign, the end date sits on the campaign).
4371
+ */
4372
+ schedule?: {
4373
+ startDate?: string;
4374
+ endDate?: string;
4375
+ } | null;
4357
4376
  /**
4358
4377
  * Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across this ad set's ads. Not the ad set's own creation time on the platform, but a proxy usable for sorting.
4359
4378
  */
@@ -4521,9 +4540,16 @@ type AdTreeCampaign = {
4521
4540
  */
4522
4541
  createdTime?: (string) | null;
4523
4542
  /**
4524
- * Delivery status derived from child ad statuses. Distinct from `reviewStatus`, which reflects the platform-side review state.
4543
+ * Delivery status derived from child ad statuses. Reads `paused` when the campaign is switched off on the platform (`platformCampaignStatus`), even while its ads still report their own switch as on. Distinct from `reviewStatus`, which reflects the platform-side review state.
4525
4544
  */
4526
4545
  status?: (AdStatus);
4546
+ /**
4547
+ * The campaign's start and end as last synced from the platform, as UTC instants. Null when the campaign was never synced or has no schedule. Where the platform schedules the ad set instead (Meta, TikTok), read `AdTreeAdSet.schedule`.
4548
+ */
4549
+ schedule?: {
4550
+ startDate?: string;
4551
+ endDate?: string;
4552
+ } | null;
4527
4553
  /**
4528
4554
  * Platform-side review state of the campaign. Independent of the
4529
4555
  * children-derived delivery `status`: a campaign can have ads
@@ -13811,7 +13837,7 @@ type condition2 = 'new' | 'refurbished' | 'used';
13811
13837
  type visibility2 = 'published' | 'staging';
13812
13838
  type gender2 = 'female' | 'male' | 'unisex';
13813
13839
  /**
13814
- * Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT. auto_promotion_tag is an Advantage+ enhancement, not the Ads Manager Promotion setting. The deprecated standard_enhancements bundle is rejected by Meta.
13840
+ * Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT. auto_promotion_tag is an Advantage+ enhancement, not the Ads Manager Promotion setting. The deprecated standard_enhancements bundle (subcode 3858504) is a 400 before any Meta call.
13815
13841
  */
13816
13842
  type MetaCreativeFeatures = {
13817
13843
  [key: string]: ('OPT_IN' | 'OPT_OUT');
@@ -52617,7 +52643,11 @@ type UpdateAdData = {
52617
52643
  * **Meta**: patch-style.
52618
52644
  *
52619
52645
  * - Pass any subset: omitted fields are preserved from the live creative, including media (`image_hash`/`video_id` reused, no re-upload) and `url_tags`. Sending the full set (`headline`, `body`, `callToAction`, `linkUrl`, `imageUrl`) rebuilds the creative from scratch.
52620
- * - Partial patching reads the live `object_story_spec`, which Meta strips on SHARE / page-post / dark / asset_feed creatives; those return 422 asking for the full set. A `videoUrl`/`videoId` on an image creative is a type change and also needs the full set.
52646
+ * - Partial patching reads the live `object_story_spec`, which Meta strips on SHARE / page-post / dark post creatives; those return 422 asking for the full set. A `videoUrl`/`videoId` on an image creative is a type change and also needs the full set.
52647
+ * - Creatives with an `asset_feed_spec` (several text options, placement or language rules) take text, link, tracking and enhancement edits in place. The new creative is built from the live asset feed with the edited text, and every video, image, label and rule is kept.
52648
+ * - On those, `body`, `headline` and `description` replace the one option of that kind. When the feed has several, send `bodies`, `headlines` or `descriptions` with one text per option, in order. `linkUrl` replaces the feed's only destination link.
52649
+ * - Image, video and call-to-action changes on asset_feed creatives apply to the story spec (Multiple Text Options creatives). They return 422 when the feed itself holds the images, videos or call-to-action options.
52650
+ * - The live creative's deprecated `standard_enhancements` setting (Meta subcode 3858504) is never sent back; every other enhancement setting is kept.
52621
52651
  * - `existingCreativeId` repoints the ad at a creative from GET /v1/ads/creatives and ignores every other field.
52622
52652
  * - Meta creatives are immutable: any change creates a new creative and repoints the ad. The old creative stays on the ad account for historical reporting.
52623
52653
  * - `creativeFeatures` is Meta-only. Omitted settings are preserved from the live creative, including on full rebuilds; a supplied creativeFeatures map overrides individual existing keys.
@@ -52669,11 +52699,26 @@ type UpdateAdData = {
52669
52699
  * Google Display only. Uploaded as a new square (1:1) marketing image asset that replaces the current one.
52670
52700
  */
52671
52701
  squareImageUrl?: string;
52702
+ /**
52703
+ * Primary text. On a Meta asset_feed creative it replaces the feed's only body option (422 when it has several: send `bodies`).
52704
+ */
52672
52705
  body?: string;
52706
+ /**
52707
+ * Meta only. The primary text options of an asset_feed creative, one text per option in the order GET /v1/ads/{adId} returns them. Each replaces the option in its position and keeps its rule. A different count returns 422, as does a single-text creative (send `body`). Not with `body`.
52708
+ */
52709
+ bodies?: Array<(string)>;
52710
+ /**
52711
+ * Meta only. Same as `bodies`, for the headline options (Meta `asset_feed_spec.titles`). Cannot be sent with `headline`. Not the top-level Google `headlines`.
52712
+ */
52713
+ headlines?: Array<(string)>;
52673
52714
  /**
52674
52715
  * Link description slot (Meta `link_data.description` / `video_data.link_description`, LinkedIn creative description).
52675
52716
  */
52676
52717
  description?: string;
52718
+ /**
52719
+ * Meta only. Same as `bodies`, for the description options. Cannot be sent with `description`. Not the top-level Google `descriptions`.
52720
+ */
52721
+ descriptions?: Array<(string)>;
52677
52722
  callToAction?: string;
52678
52723
  linkUrl?: string;
52679
52724
  imageUrl?: string;
@@ -57262,10 +57307,12 @@ type BoostPostData = {
57262
57307
  /**
57263
57308
  * Ad-set end time (ISO 8601). Required for lifetime budgets. Same field as on POST /v1/ads/create.
57264
57309
  *
57265
- * Maps to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates).
57310
+ * Maps to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates). On Pinterest it also goes on the campaign when the ad account needs Campaign Budget Optimization, daily budget included.
57266
57311
  *
57267
57312
  * On Meta, TikTok, X, Pinterest and Reddit, a value without an offset (`YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DDTHH:MM:SS`) is read in the ad account timezone, and a date-only end runs to 23:59:59 local.
57268
57313
  *
57314
+ * Anything that is not an ISO 8601 date or date-time is a 400 on `endDate`.
57315
+ *
57269
57316
  */
57270
57317
  endDate?: string;
57271
57318
  /**
@@ -58782,6 +58829,10 @@ type CreateStandaloneAdData = {
58782
58829
  * When the ad ends. If omitted: on a lifetime budget, the ad ends 7 days after it starts (reported in `appliedDefaults.endDate`); a daily budget runs until paused.
58783
58830
  *
58784
58831
  * Read like `startDate`: account timezone on Meta, TikTok, X, Pinterest, OpenAI and Reddit; whole account-local days on Google; UTC on LinkedIn. A date-only end runs to 23:59:59 local.
58832
+ *
58833
+ * On a Pinterest ad account that needs Campaign Budget Optimization, the end also goes on the campaign, daily budget included.
58834
+ *
58835
+ * 400 when it is not an ISO 8601 date or date-time, or when the ad joins a parent that keeps its own dates: `adSetId` on Meta, TikTok, Google, LinkedIn and Reddit, and `existingCampaignId` on Google.
58785
58836
  */
58786
58837
  endDate?: string;
58787
58838
  /**
@@ -61105,6 +61156,10 @@ type ListAdAudiencesResponse = ({
61105
61156
  spec?: (TargetingSpec | null);
61106
61157
  platform?: string;
61107
61158
  size?: number;
61159
+ /**
61160
+ * Who the audience contains, in one line (e.g. '1% lookalike of Customers in US' or 'All website visitors, last 30 days'). Meta only.
61161
+ */
61162
+ summary?: string;
61108
61163
  status?: string;
61109
61164
  }>;
61110
61165
  });
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.1443",
39
+ version: "0.2.1446",
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.1443",
8
+ version: "0.2.1446",
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.1443",
3
+ "version": "0.2.1446",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -1065,6 +1065,15 @@ export type AdFunnelCounts = {
1065
1065
  * Messaging threads where the person sent a first reply.
1066
1066
  */
1067
1067
  messagingFirstReplies?: number;
1068
+ /**
1069
+ * Booked appointments (Meta `Schedule` pixel event). Pair with `spend` for cost per booked meeting.
1070
+ *
1071
+ * **Meta** reports Schedule in its `conversions` insight field, never in `actions`. This takes the FIRST present of `offsite_conversion.fb_pixel_schedule`, `omni_schedule`, `app_custom_event.fb_mobile_schedule`, `onsite_conversion.schedule`, `schedule`, `schedule_total`, `schedule_mobile_app`, `schedule_website`, `schedule_offline`. With none of those, a single `offsite_schedule_add_<dataset>` key counts. Two such keys (two datasets) leave it at 0, since one booking can reach both.
1072
+ *
1073
+ * Added 2026-11-03. Days synced before then read 0 until re-fetched: each sync restates the last 30 days.
1074
+ *
1075
+ */
1076
+ schedules?: number;
1068
1077
  };
1069
1078
 
1070
1079
  export type AdKeyword = {
@@ -1319,6 +1328,9 @@ export type AdMetrics = {
1319
1328
  * Per-action-type counts summed over the date range, keyed by the platform's action-type names. Keys differ by platform, so branch on the ad's platform when interpreting them. Empty object when no actions are reported.
1320
1329
  *
1321
1330
  * - Meta: raw Insights action_type keys (link_click, offsite_conversion.fb_pixel_purchase, onsite_conversion.lead_grouped, ...), covering both engagement and conversion events.
1331
+ * - Meta newer standard events (Schedule, SubmitApplication, Contact, StartTrial, Subscribe and the like) come only from Meta's `conversions` insight field, under keys such as schedule_total, schedule_website or offsite_schedule_add_<dataset>.
1332
+ * - Since 2026-11-03 every `conversions` key that `actions` lacks is added here, rounded per key, and its `conversion_values` value to `actionValues`. A key both fields report keeps its `actions` value.
1333
+ * - Days synced before 2026-11-03 lack those keys until re-fetched. Each sync restates the last 30 days.
1322
1334
  * - TikTok: conversion events plus the paid-engagement family (follow, post_reaction for paid likes, comment, share). Follow is how FOLLOWERS-goal campaigns report their result.
1323
1335
  * - TikTok website (pixel) events: complete_payment (website purchase, counted in `conversions` by SHOPPING-optimised campaigns), place_order, initiate_checkout, add_to_cart, view_content, lead (website form submissions plus TikTok instant-form leads).
1324
1336
  * - TikTok place_order is Place an Order, the website purchase of pixels set up with the legacy ON_WEB_ORDER event. It is absent from days synced before this metric was added until the ad is re-synced.
@@ -2162,9 +2174,16 @@ export type AdTreeAdSet = {
2162
2174
  platformAdSetId?: string;
2163
2175
  adSetName?: string;
2164
2176
  /**
2165
- * Derived from child ad statuses
2177
+ * Derived from child ad statuses. Reads `paused` when the synced ad set or its campaign is switched off on the platform, even while the ads still report their own switch as on.
2166
2178
  */
2167
2179
  status?: (AdStatus);
2180
+ /**
2181
+ * The ad set's start and end as last synced from the platform, as UTC instants. Null when the ad set was never synced or has no schedule (on Pinterest under a CBO campaign, the end date sits on the campaign).
2182
+ */
2183
+ schedule?: {
2184
+ startDate?: string;
2185
+ endDate?: string;
2186
+ } | null;
2168
2187
  /**
2169
2188
  * Earliest `platformCreatedAt` (platform ad creation time; falls back to `createdAt`, Zernio's sync time, for ads synced before that field existed) across this ad set's ads. Not the ad set's own creation time on the platform, but a proxy usable for sorting.
2170
2189
  */
@@ -2334,9 +2353,16 @@ export type AdTreeCampaign = {
2334
2353
  */
2335
2354
  createdTime?: (string) | null;
2336
2355
  /**
2337
- * Delivery status derived from child ad statuses. Distinct from `reviewStatus`, which reflects the platform-side review state.
2356
+ * Delivery status derived from child ad statuses. Reads `paused` when the campaign is switched off on the platform (`platformCampaignStatus`), even while its ads still report their own switch as on. Distinct from `reviewStatus`, which reflects the platform-side review state.
2338
2357
  */
2339
2358
  status?: (AdStatus);
2359
+ /**
2360
+ * The campaign's start and end as last synced from the platform, as UTC instants. Null when the campaign was never synced or has no schedule. Where the platform schedules the ad set instead (Meta, TikTok), read `AdTreeAdSet.schedule`.
2361
+ */
2362
+ schedule?: {
2363
+ startDate?: string;
2364
+ endDate?: string;
2365
+ } | null;
2340
2366
  /**
2341
2367
  * Platform-side review state of the campaign. Independent of the
2342
2368
  * children-derived delivery `status`: a campaign can have ads
@@ -12046,7 +12072,7 @@ export type visibility2 = 'published' | 'staging';
12046
12072
  export type gender2 = 'female' | 'male' | 'unisex';
12047
12073
 
12048
12074
  /**
12049
- * Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT. auto_promotion_tag is an Advantage+ enhancement, not the Ads Manager Promotion setting. The deprecated standard_enhancements bundle is rejected by Meta.
12075
+ * Meta Advantage+ creative enhancements. Map snake_case feature names to OPT_IN or OPT_OUT; Meta validates supported keys and unspecified features default to OPT_OUT. auto_promotion_tag is an Advantage+ enhancement, not the Ads Manager Promotion setting. The deprecated standard_enhancements bundle (subcode 3858504) is a 400 before any Meta call.
12050
12076
  */
12051
12077
  export type MetaCreativeFeatures = {
12052
12078
  [key: string]: ('OPT_IN' | 'OPT_OUT');
@@ -53459,7 +53485,11 @@ export type UpdateAdData = {
53459
53485
  * **Meta**: patch-style.
53460
53486
  *
53461
53487
  * - Pass any subset: omitted fields are preserved from the live creative, including media (`image_hash`/`video_id` reused, no re-upload) and `url_tags`. Sending the full set (`headline`, `body`, `callToAction`, `linkUrl`, `imageUrl`) rebuilds the creative from scratch.
53462
- * - Partial patching reads the live `object_story_spec`, which Meta strips on SHARE / page-post / dark / asset_feed creatives; those return 422 asking for the full set. A `videoUrl`/`videoId` on an image creative is a type change and also needs the full set.
53488
+ * - Partial patching reads the live `object_story_spec`, which Meta strips on SHARE / page-post / dark post creatives; those return 422 asking for the full set. A `videoUrl`/`videoId` on an image creative is a type change and also needs the full set.
53489
+ * - Creatives with an `asset_feed_spec` (several text options, placement or language rules) take text, link, tracking and enhancement edits in place. The new creative is built from the live asset feed with the edited text, and every video, image, label and rule is kept.
53490
+ * - On those, `body`, `headline` and `description` replace the one option of that kind. When the feed has several, send `bodies`, `headlines` or `descriptions` with one text per option, in order. `linkUrl` replaces the feed's only destination link.
53491
+ * - Image, video and call-to-action changes on asset_feed creatives apply to the story spec (Multiple Text Options creatives). They return 422 when the feed itself holds the images, videos or call-to-action options.
53492
+ * - The live creative's deprecated `standard_enhancements` setting (Meta subcode 3858504) is never sent back; every other enhancement setting is kept.
53463
53493
  * - `existingCreativeId` repoints the ad at a creative from GET /v1/ads/creatives and ignores every other field.
53464
53494
  * - Meta creatives are immutable: any change creates a new creative and repoints the ad. The old creative stays on the ad account for historical reporting.
53465
53495
  * - `creativeFeatures` is Meta-only. Omitted settings are preserved from the live creative, including on full rebuilds; a supplied creativeFeatures map overrides individual existing keys.
@@ -53511,11 +53541,26 @@ export type UpdateAdData = {
53511
53541
  * Google Display only. Uploaded as a new square (1:1) marketing image asset that replaces the current one.
53512
53542
  */
53513
53543
  squareImageUrl?: string;
53544
+ /**
53545
+ * Primary text. On a Meta asset_feed creative it replaces the feed's only body option (422 when it has several: send `bodies`).
53546
+ */
53514
53547
  body?: string;
53548
+ /**
53549
+ * Meta only. The primary text options of an asset_feed creative, one text per option in the order GET /v1/ads/{adId} returns them. Each replaces the option in its position and keeps its rule. A different count returns 422, as does a single-text creative (send `body`). Not with `body`.
53550
+ */
53551
+ bodies?: Array<(string)>;
53552
+ /**
53553
+ * Meta only. Same as `bodies`, for the headline options (Meta `asset_feed_spec.titles`). Cannot be sent with `headline`. Not the top-level Google `headlines`.
53554
+ */
53555
+ headlines?: Array<(string)>;
53515
53556
  /**
53516
53557
  * Link description slot (Meta `link_data.description` / `video_data.link_description`, LinkedIn creative description).
53517
53558
  */
53518
53559
  description?: string;
53560
+ /**
53561
+ * Meta only. Same as `bodies`, for the description options. Cannot be sent with `description`. Not the top-level Google `descriptions`.
53562
+ */
53563
+ descriptions?: Array<(string)>;
53519
53564
  callToAction?: string;
53520
53565
  linkUrl?: string;
53521
53566
  imageUrl?: string;
@@ -58431,10 +58476,12 @@ export type BoostPostData = {
58431
58476
  /**
58432
58477
  * Ad-set end time (ISO 8601). Required for lifetime budgets. Same field as on POST /v1/ads/create.
58433
58478
  *
58434
- * Maps to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates).
58479
+ * Maps to the ad set's `end_time` (on X, the line item's `end_time`; X campaigns carry no flight dates). On Pinterest it also goes on the campaign when the ad account needs Campaign Budget Optimization, daily budget included.
58435
58480
  *
58436
58481
  * On Meta, TikTok, X, Pinterest and Reddit, a value without an offset (`YYYY-MM-DD`, `YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DDTHH:MM:SS`) is read in the ad account timezone, and a date-only end runs to 23:59:59 local.
58437
58482
  *
58483
+ * Anything that is not an ISO 8601 date or date-time is a 400 on `endDate`.
58484
+ *
58438
58485
  */
58439
58486
  endDate?: string;
58440
58487
  /**
@@ -59975,6 +60022,10 @@ export type CreateStandaloneAdData = {
59975
60022
  * When the ad ends. If omitted: on a lifetime budget, the ad ends 7 days after it starts (reported in `appliedDefaults.endDate`); a daily budget runs until paused.
59976
60023
  *
59977
60024
  * Read like `startDate`: account timezone on Meta, TikTok, X, Pinterest, OpenAI and Reddit; whole account-local days on Google; UTC on LinkedIn. A date-only end runs to 23:59:59 local.
60025
+ *
60026
+ * On a Pinterest ad account that needs Campaign Budget Optimization, the end also goes on the campaign, daily budget included.
60027
+ *
60028
+ * 400 when it is not an ISO 8601 date or date-time, or when the ad joins a parent that keeps its own dates: `adSetId` on Meta, TikTok, Google, LinkedIn and Reddit, and `existingCampaignId` on Google.
59978
60029
  */
59979
60030
  endDate?: string;
59980
60031
  /**
@@ -62428,6 +62479,10 @@ export type ListAdAudiencesResponse = ({
62428
62479
  spec?: (TargetingSpec | null);
62429
62480
  platform?: string;
62430
62481
  size?: number;
62482
+ /**
62483
+ * Who the audience contains, in one line (e.g. '1% lookalike of Customers in US' or 'All website visitors, last 30 days'). Meta only.
62484
+ */
62485
+ summary?: string;
62431
62486
  status?: string;
62432
62487
  }>;
62433
62488
  });