@zernio/node 0.2.793 → 0.2.795

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
@@ -3057,6 +3057,22 @@ type AnalyticsDeltaEntry = {
3057
3057
  * TikTok business lane: profile views attributed to the post
3058
3058
  */
3059
3059
  profileViews: number;
3060
+ /**
3061
+ * TikTok business lane: website-link clicks attributed to the post (also inside clicks)
3062
+ */
3063
+ websiteClicks: number;
3064
+ /**
3065
+ * TikTok business lane: share of views by surface (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1. Empty object elsewhere.
3066
+ */
3067
+ impressionSources: {
3068
+ [key: string]: (number);
3069
+ };
3070
+ /**
3071
+ * TikTok business lane: follower / nonFollower and newViewer / returnViewer shares, fractions 0 to 1. Empty object elsewhere.
3072
+ */
3073
+ audienceTypes: {
3074
+ [key: string]: (number);
3075
+ };
3060
3076
  };
3061
3077
  };
3062
3078
  type AnalyticsDeltaResponse = {
@@ -7733,6 +7749,22 @@ type PostAnalytics = {
7733
7749
  * TikTok accounts connected through the TikTok for Business app only: profile views from users who reached the profile through this post (T+24-48h). 0 for other platforms.
7734
7750
  */
7735
7751
  profileViews?: number;
7752
+ /**
7753
+ * TikTok accounts connected through the TikTok for Business app only: clicks on the profile website link attributed to this post (T+24-48h). Also counted inside `clicks`, which sums every profile-link type (website, phone, email, address, app download). 0 for other platforms.
7754
+ */
7755
+ websiteClicks?: number;
7756
+ /**
7757
+ * TikTok accounts connected through the TikTok for Business app only: share of views by surface, as fractions 0 to 1 (T+24-48h, only for posts active in the last 7 days). Keys: `forYou`, `follow`, `search`, `personalProfile`, `sound`, `directMessage`, `other`; a surface TikTok adds later appears under a camelCase key derived from its name. Empty object when TikTok reports nothing, and for other platforms. When a post is published to several accounts, each share is weighted by views.
7758
+ */
7759
+ impressionSources?: {
7760
+ [key: string]: (number);
7761
+ };
7762
+ /**
7763
+ * TikTok accounts connected through the TikTok for Business app only: two viewer splits as fractions 0 to 1 (T+24-48h). Each pair sums to 1 when present, `follower` + `nonFollower` and `newViewer` + `returnViewer`; TikTok can report one pair without the other. Empty object when TikTok reports nothing, and for other platforms. Views-weighted across accounts like impressionSources.
7764
+ */
7765
+ audienceTypes?: {
7766
+ [key: string]: (number);
7767
+ };
7736
7768
  /**
7737
7769
  * Instagram accounts connected with Facebook Login only: reposts of the media by other users, minus deleted reposts, on feed posts, reels and stories. Meta does not expose this metric for accounts connected with Instagram Login, so those always report 0. 0 for other platforms, including Threads, where reposts are counted in shares instead.
7738
7770
  */
@@ -12837,9 +12869,9 @@ type GetAnalyticsData = {
12837
12869
  */
12838
12870
  profileId?: string;
12839
12871
  /**
12840
- * Sort by date, engagement, or a specific metric. Platform-specific metrics (follows, reposts, reels_skip_rate, ig_reels_*, completion_rate, profile_views) sort a null value as 0.
12872
+ * Sort by date, engagement, or a specific metric. Platform-specific metrics (follows, reposts, reels_skip_rate, ig_reels_*, completion_rate, profile_views, website_clicks) sort a null value as 0.
12841
12873
  */
12842
- sortBy?: 'date' | 'engagement' | 'impressions' | 'reach' | 'likes' | 'comments' | 'shares' | 'saves' | 'clicks' | 'views' | 'follows' | 'ig_reels_avg_watch_time' | 'ig_reels_video_view_total_time' | 'reposts' | 'reels_skip_rate' | 'completion_rate' | 'profile_views';
12874
+ sortBy?: 'date' | 'engagement' | 'impressions' | 'reach' | 'likes' | 'comments' | 'shares' | 'saves' | 'clicks' | 'views' | 'follows' | 'ig_reels_avg_watch_time' | 'ig_reels_video_view_total_time' | 'reposts' | 'reels_skip_rate' | 'completion_rate' | 'profile_views' | 'website_clicks';
12843
12875
  /**
12844
12876
  * Filter by post source: late (posted via Zernio API), external (synced from platform), all (default)
12845
12877
  */
@@ -13647,6 +13679,34 @@ type GetPostTimelineResponse = ({
13647
13679
  * Total views on this date
13648
13680
  */
13649
13681
  views?: number;
13682
+ /**
13683
+ * Follows attributed to the post on this date (Instagram feed and stories, TikTok business lane); 0 elsewhere
13684
+ */
13685
+ follows?: number;
13686
+ /**
13687
+ * TikTok business lane: share of viewers who watched to the end on this date, 0 to 1; 0 elsewhere
13688
+ */
13689
+ completionRate?: number;
13690
+ /**
13691
+ * TikTok business lane: profile views attributed to the post on this date; 0 elsewhere
13692
+ */
13693
+ profileViews?: number;
13694
+ /**
13695
+ * TikTok business lane: website-link clicks attributed to the post on this date (also inside clicks); 0 elsewhere
13696
+ */
13697
+ websiteClicks?: number;
13698
+ /**
13699
+ * TikTok business lane: share of views by surface on this date (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1; empty object elsewhere
13700
+ */
13701
+ impressionSources?: {
13702
+ [key: string]: (number);
13703
+ };
13704
+ /**
13705
+ * TikTok business lane: follower / nonFollower and newViewer / returnViewer shares on this date, fractions 0 to 1; empty object elsewhere
13706
+ */
13707
+ audienceTypes?: {
13708
+ [key: string]: (number);
13709
+ };
13650
13710
  }>;
13651
13711
  });
13652
13712
  type GetPostTimelineError = ({
@@ -35998,6 +36058,10 @@ type CreateAdCreativeData = {
35998
36058
  * Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` key, and Meta rejects it there.
35999
36059
  */
36000
36060
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
36061
+ /**
36062
+ * Meta only. Meta's "Ad includes media created or edited with AI" disclosure, the checkbox in Ads Manager, stored on the creative as `generative_asset_spec.transparency_metadata.self_disclosure`. OPT_IN checks it, OPT_OUT explicitly declares no AI media, omitted leaves Meta's default. Applied to each new creative, including standalone, creatives[] and attach shapes, and preserved when a creative is rebuilt. This sets the disclosure on the ad; whether and when the viewer-facing label renders is Meta's decision.
36063
+ */
36064
+ aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
36001
36065
  };
36002
36066
  };
36003
36067
  type CreateAdCreativeResponse = ({
@@ -37530,6 +37594,10 @@ type CreateStandaloneAdData = {
37530
37594
  * Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` key, and Meta rejects it there.
37531
37595
  */
37532
37596
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
37597
+ /**
37598
+ * Meta only. Meta's "Ad includes media created or edited with AI" disclosure, the checkbox in Ads Manager, stored on the creative as `generative_asset_spec.transparency_metadata.self_disclosure`. OPT_IN checks it, OPT_OUT explicitly declares no AI media, omitted leaves Meta's default. Applied to each new creative, including standalone, creatives[] and attach shapes, and preserved when a creative is rebuilt. This sets the disclosure on the ad; whether and when the viewer-facing label renders is Meta's decision.
37599
+ */
37600
+ aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
37533
37601
  /**
37534
37602
  * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, all-image placementAssets with per-rule copy, existing video.id or existingCreativeId; other media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
37535
37603
  */
package/dist/index.d.ts CHANGED
@@ -3057,6 +3057,22 @@ type AnalyticsDeltaEntry = {
3057
3057
  * TikTok business lane: profile views attributed to the post
3058
3058
  */
3059
3059
  profileViews: number;
3060
+ /**
3061
+ * TikTok business lane: website-link clicks attributed to the post (also inside clicks)
3062
+ */
3063
+ websiteClicks: number;
3064
+ /**
3065
+ * TikTok business lane: share of views by surface (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1. Empty object elsewhere.
3066
+ */
3067
+ impressionSources: {
3068
+ [key: string]: (number);
3069
+ };
3070
+ /**
3071
+ * TikTok business lane: follower / nonFollower and newViewer / returnViewer shares, fractions 0 to 1. Empty object elsewhere.
3072
+ */
3073
+ audienceTypes: {
3074
+ [key: string]: (number);
3075
+ };
3060
3076
  };
3061
3077
  };
3062
3078
  type AnalyticsDeltaResponse = {
@@ -7733,6 +7749,22 @@ type PostAnalytics = {
7733
7749
  * TikTok accounts connected through the TikTok for Business app only: profile views from users who reached the profile through this post (T+24-48h). 0 for other platforms.
7734
7750
  */
7735
7751
  profileViews?: number;
7752
+ /**
7753
+ * TikTok accounts connected through the TikTok for Business app only: clicks on the profile website link attributed to this post (T+24-48h). Also counted inside `clicks`, which sums every profile-link type (website, phone, email, address, app download). 0 for other platforms.
7754
+ */
7755
+ websiteClicks?: number;
7756
+ /**
7757
+ * TikTok accounts connected through the TikTok for Business app only: share of views by surface, as fractions 0 to 1 (T+24-48h, only for posts active in the last 7 days). Keys: `forYou`, `follow`, `search`, `personalProfile`, `sound`, `directMessage`, `other`; a surface TikTok adds later appears under a camelCase key derived from its name. Empty object when TikTok reports nothing, and for other platforms. When a post is published to several accounts, each share is weighted by views.
7758
+ */
7759
+ impressionSources?: {
7760
+ [key: string]: (number);
7761
+ };
7762
+ /**
7763
+ * TikTok accounts connected through the TikTok for Business app only: two viewer splits as fractions 0 to 1 (T+24-48h). Each pair sums to 1 when present, `follower` + `nonFollower` and `newViewer` + `returnViewer`; TikTok can report one pair without the other. Empty object when TikTok reports nothing, and for other platforms. Views-weighted across accounts like impressionSources.
7764
+ */
7765
+ audienceTypes?: {
7766
+ [key: string]: (number);
7767
+ };
7736
7768
  /**
7737
7769
  * Instagram accounts connected with Facebook Login only: reposts of the media by other users, minus deleted reposts, on feed posts, reels and stories. Meta does not expose this metric for accounts connected with Instagram Login, so those always report 0. 0 for other platforms, including Threads, where reposts are counted in shares instead.
7738
7770
  */
@@ -12837,9 +12869,9 @@ type GetAnalyticsData = {
12837
12869
  */
12838
12870
  profileId?: string;
12839
12871
  /**
12840
- * Sort by date, engagement, or a specific metric. Platform-specific metrics (follows, reposts, reels_skip_rate, ig_reels_*, completion_rate, profile_views) sort a null value as 0.
12872
+ * Sort by date, engagement, or a specific metric. Platform-specific metrics (follows, reposts, reels_skip_rate, ig_reels_*, completion_rate, profile_views, website_clicks) sort a null value as 0.
12841
12873
  */
12842
- sortBy?: 'date' | 'engagement' | 'impressions' | 'reach' | 'likes' | 'comments' | 'shares' | 'saves' | 'clicks' | 'views' | 'follows' | 'ig_reels_avg_watch_time' | 'ig_reels_video_view_total_time' | 'reposts' | 'reels_skip_rate' | 'completion_rate' | 'profile_views';
12874
+ sortBy?: 'date' | 'engagement' | 'impressions' | 'reach' | 'likes' | 'comments' | 'shares' | 'saves' | 'clicks' | 'views' | 'follows' | 'ig_reels_avg_watch_time' | 'ig_reels_video_view_total_time' | 'reposts' | 'reels_skip_rate' | 'completion_rate' | 'profile_views' | 'website_clicks';
12843
12875
  /**
12844
12876
  * Filter by post source: late (posted via Zernio API), external (synced from platform), all (default)
12845
12877
  */
@@ -13647,6 +13679,34 @@ type GetPostTimelineResponse = ({
13647
13679
  * Total views on this date
13648
13680
  */
13649
13681
  views?: number;
13682
+ /**
13683
+ * Follows attributed to the post on this date (Instagram feed and stories, TikTok business lane); 0 elsewhere
13684
+ */
13685
+ follows?: number;
13686
+ /**
13687
+ * TikTok business lane: share of viewers who watched to the end on this date, 0 to 1; 0 elsewhere
13688
+ */
13689
+ completionRate?: number;
13690
+ /**
13691
+ * TikTok business lane: profile views attributed to the post on this date; 0 elsewhere
13692
+ */
13693
+ profileViews?: number;
13694
+ /**
13695
+ * TikTok business lane: website-link clicks attributed to the post on this date (also inside clicks); 0 elsewhere
13696
+ */
13697
+ websiteClicks?: number;
13698
+ /**
13699
+ * TikTok business lane: share of views by surface on this date (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1; empty object elsewhere
13700
+ */
13701
+ impressionSources?: {
13702
+ [key: string]: (number);
13703
+ };
13704
+ /**
13705
+ * TikTok business lane: follower / nonFollower and newViewer / returnViewer shares on this date, fractions 0 to 1; empty object elsewhere
13706
+ */
13707
+ audienceTypes?: {
13708
+ [key: string]: (number);
13709
+ };
13650
13710
  }>;
13651
13711
  });
13652
13712
  type GetPostTimelineError = ({
@@ -35998,6 +36058,10 @@ type CreateAdCreativeData = {
35998
36058
  * Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` key, and Meta rejects it there.
35999
36059
  */
36000
36060
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
36061
+ /**
36062
+ * Meta only. Meta's "Ad includes media created or edited with AI" disclosure, the checkbox in Ads Manager, stored on the creative as `generative_asset_spec.transparency_metadata.self_disclosure`. OPT_IN checks it, OPT_OUT explicitly declares no AI media, omitted leaves Meta's default. Applied to each new creative, including standalone, creatives[] and attach shapes, and preserved when a creative is rebuilt. This sets the disclosure on the ad; whether and when the viewer-facing label renders is Meta's decision.
36063
+ */
36064
+ aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
36001
36065
  };
36002
36066
  };
36003
36067
  type CreateAdCreativeResponse = ({
@@ -37530,6 +37594,10 @@ type CreateStandaloneAdData = {
37530
37594
  * Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` key, and Meta rejects it there.
37531
37595
  */
37532
37596
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
37597
+ /**
37598
+ * Meta only. Meta's "Ad includes media created or edited with AI" disclosure, the checkbox in Ads Manager, stored on the creative as `generative_asset_spec.transparency_metadata.self_disclosure`. OPT_IN checks it, OPT_OUT explicitly declares no AI media, omitted leaves Meta's default. Applied to each new creative, including standalone, creatives[] and attach shapes, and preserved when a creative is rebuilt. This sets the disclosure on the ad; whether and when the viewer-facing label renders is Meta's decision.
37599
+ */
37600
+ aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
37533
37601
  /**
37534
37602
  * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, all-image placementAssets with per-rule copy, existing video.id or existingCreativeId; other media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
37535
37603
  */
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: "@zernio/node",
39
- version: "0.2.793",
39
+ version: "0.2.795",
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: "@zernio/node",
8
- version: "0.2.793",
8
+ version: "0.2.795",
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": "@zernio/node",
3
- "version": "0.2.793",
3
+ "version": "0.2.795",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -1480,6 +1480,22 @@ export type AnalyticsDeltaEntry = {
1480
1480
  * TikTok business lane: profile views attributed to the post
1481
1481
  */
1482
1482
  profileViews: number;
1483
+ /**
1484
+ * TikTok business lane: website-link clicks attributed to the post (also inside clicks)
1485
+ */
1486
+ websiteClicks: number;
1487
+ /**
1488
+ * TikTok business lane: share of views by surface (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1. Empty object elsewhere.
1489
+ */
1490
+ impressionSources: {
1491
+ [key: string]: (number);
1492
+ };
1493
+ /**
1494
+ * TikTok business lane: follower / nonFollower and newViewer / returnViewer shares, fractions 0 to 1. Empty object elsewhere.
1495
+ */
1496
+ audienceTypes: {
1497
+ [key: string]: (number);
1498
+ };
1483
1499
  };
1484
1500
  };
1485
1501
 
@@ -6361,6 +6377,22 @@ export type PostAnalytics = {
6361
6377
  * TikTok accounts connected through the TikTok for Business app only: profile views from users who reached the profile through this post (T+24-48h). 0 for other platforms.
6362
6378
  */
6363
6379
  profileViews?: number;
6380
+ /**
6381
+ * TikTok accounts connected through the TikTok for Business app only: clicks on the profile website link attributed to this post (T+24-48h). Also counted inside `clicks`, which sums every profile-link type (website, phone, email, address, app download). 0 for other platforms.
6382
+ */
6383
+ websiteClicks?: number;
6384
+ /**
6385
+ * TikTok accounts connected through the TikTok for Business app only: share of views by surface, as fractions 0 to 1 (T+24-48h, only for posts active in the last 7 days). Keys: `forYou`, `follow`, `search`, `personalProfile`, `sound`, `directMessage`, `other`; a surface TikTok adds later appears under a camelCase key derived from its name. Empty object when TikTok reports nothing, and for other platforms. When a post is published to several accounts, each share is weighted by views.
6386
+ */
6387
+ impressionSources?: {
6388
+ [key: string]: (number);
6389
+ };
6390
+ /**
6391
+ * TikTok accounts connected through the TikTok for Business app only: two viewer splits as fractions 0 to 1 (T+24-48h). Each pair sums to 1 when present, `follower` + `nonFollower` and `newViewer` + `returnViewer`; TikTok can report one pair without the other. Empty object when TikTok reports nothing, and for other platforms. Views-weighted across accounts like impressionSources.
6392
+ */
6393
+ audienceTypes?: {
6394
+ [key: string]: (number);
6395
+ };
6364
6396
  /**
6365
6397
  * Instagram accounts connected with Facebook Login only: reposts of the media by other users, minus deleted reposts, on feed posts, reels and stories. Meta does not expose this metric for accounts connected with Instagram Login, so those always report 0. 0 for other platforms, including Threads, where reposts are counted in shares instead.
6366
6398
  */
@@ -11683,9 +11715,9 @@ export type GetAnalyticsData = {
11683
11715
  */
11684
11716
  profileId?: string;
11685
11717
  /**
11686
- * Sort by date, engagement, or a specific metric. Platform-specific metrics (follows, reposts, reels_skip_rate, ig_reels_*, completion_rate, profile_views) sort a null value as 0.
11718
+ * Sort by date, engagement, or a specific metric. Platform-specific metrics (follows, reposts, reels_skip_rate, ig_reels_*, completion_rate, profile_views, website_clicks) sort a null value as 0.
11687
11719
  */
11688
- sortBy?: 'date' | 'engagement' | 'impressions' | 'reach' | 'likes' | 'comments' | 'shares' | 'saves' | 'clicks' | 'views' | 'follows' | 'ig_reels_avg_watch_time' | 'ig_reels_video_view_total_time' | 'reposts' | 'reels_skip_rate' | 'completion_rate' | 'profile_views';
11720
+ sortBy?: 'date' | 'engagement' | 'impressions' | 'reach' | 'likes' | 'comments' | 'shares' | 'saves' | 'clicks' | 'views' | 'follows' | 'ig_reels_avg_watch_time' | 'ig_reels_video_view_total_time' | 'reposts' | 'reels_skip_rate' | 'completion_rate' | 'profile_views' | 'website_clicks';
11689
11721
  /**
11690
11722
  * Filter by post source: late (posted via Zernio API), external (synced from platform), all (default)
11691
11723
  */
@@ -12545,6 +12577,34 @@ export type GetPostTimelineResponse = ({
12545
12577
  * Total views on this date
12546
12578
  */
12547
12579
  views?: number;
12580
+ /**
12581
+ * Follows attributed to the post on this date (Instagram feed and stories, TikTok business lane); 0 elsewhere
12582
+ */
12583
+ follows?: number;
12584
+ /**
12585
+ * TikTok business lane: share of viewers who watched to the end on this date, 0 to 1; 0 elsewhere
12586
+ */
12587
+ completionRate?: number;
12588
+ /**
12589
+ * TikTok business lane: profile views attributed to the post on this date; 0 elsewhere
12590
+ */
12591
+ profileViews?: number;
12592
+ /**
12593
+ * TikTok business lane: website-link clicks attributed to the post on this date (also inside clicks); 0 elsewhere
12594
+ */
12595
+ websiteClicks?: number;
12596
+ /**
12597
+ * TikTok business lane: share of views by surface on this date (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1; empty object elsewhere
12598
+ */
12599
+ impressionSources?: {
12600
+ [key: string]: (number);
12601
+ };
12602
+ /**
12603
+ * TikTok business lane: follower / nonFollower and newViewer / returnViewer shares on this date, fractions 0 to 1; empty object elsewhere
12604
+ */
12605
+ audienceTypes?: {
12606
+ [key: string]: (number);
12607
+ };
12548
12608
  }>;
12549
12609
  });
12550
12610
 
@@ -36494,6 +36554,10 @@ export type CreateAdCreativeData = {
36494
36554
  * Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` key, and Meta rejects it there.
36495
36555
  */
36496
36556
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
36557
+ /**
36558
+ * Meta only. Meta's "Ad includes media created or edited with AI" disclosure, the checkbox in Ads Manager, stored on the creative as `generative_asset_spec.transparency_metadata.self_disclosure`. OPT_IN checks it, OPT_OUT explicitly declares no AI media, omitted leaves Meta's default. Applied to each new creative, including standalone, creatives[] and attach shapes, and preserved when a creative is rebuilt. This sets the disclosure on the ad; whether and when the viewer-facing label renders is Meta's decision.
36559
+ */
36560
+ aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
36497
36561
  };
36498
36562
  };
36499
36563
 
@@ -38137,6 +38201,10 @@ export type CreateStandaloneAdData = {
38137
38201
  * Meta only. Multi-advertiser ads: whether Meta may show this ad alongside other advertisers' in one unit. Meta auto-enrols since Aug 2024, so send OPT_OUT to leave. It is a top-level creative field, NOT a `creativeFeatures` key, and Meta rejects it there.
38138
38202
  */
38139
38203
  multiAdvertiser?: 'OPT_IN' | 'OPT_OUT';
38204
+ /**
38205
+ * Meta only. Meta's "Ad includes media created or edited with AI" disclosure, the checkbox in Ads Manager, stored on the creative as `generative_asset_spec.transparency_metadata.self_disclosure`. OPT_IN checks it, OPT_OUT explicitly declares no AI media, omitted leaves Meta's default. Applied to each new creative, including standalone, creatives[] and attach shapes, and preserved when a creative is rebuilt. This sets the disclosure on the ad; whether and when the viewer-facing label renders is Meta's decision.
38206
+ */
38207
+ aiDisclosure?: 'OPT_IN' | 'OPT_OUT';
38140
38208
  /**
38141
38209
  * Google Performance Max validates the complete atomic campaign and asset group with no resource creation or local persistence. Google validation still downloads image URLs and consumes quota. On Meta, validates the complete inline campaign, ad set, creative and ad with execution_options validate_only. Nothing is uploaded or created, and validation bypasses Idempotency-Key storage. Supports a single image, all-image placementAssets with per-rule copy, existing video.id or existingCreativeId; other media pools, new video uploads, creatives[], adSetId and RESERVED buying return 400. Placement validation uses existing Instagram identities only. Existing campaign or creative nodes are marked skipped. Success returns 200 with per-node results; Meta rejection returns an error.
38142
38210
  */