@getlatedev/node 0.2.1107 → 0.2.1108

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
@@ -9265,6 +9265,9 @@ type graduationStrategy = 'MANUAL' | 'SS_PERFORMANCE';
9265
9265
  */
9266
9266
  type KeywordEntry = string | {
9267
9267
  text: string;
9268
+ /**
9269
+ * Defaults to broad. Accepted in any case (EXACT, Exact) and stored lowercase.
9270
+ */
9268
9271
  matchType?: 'exact' | 'phrase' | 'broad';
9269
9272
  };
9270
9273
  /**
@@ -39634,6 +39637,9 @@ type ListAdKeywordsData = {
39634
39637
  */
39635
39638
  campaignId?: string;
39636
39639
  limit?: number;
39640
+ /**
39641
+ * Accepted in any case.
39642
+ */
39637
39643
  matchType?: 'exact' | 'phrase' | 'broad' | 'unknown';
39638
39644
  /**
39639
39645
  * true = negative keywords only, false = positive only. Omit for both.
@@ -40277,8 +40283,14 @@ type BulkUpdateAdCampaignStatusData = {
40277
40283
  body: {
40278
40284
  status: 'active' | 'paused';
40279
40285
  campaigns: Array<{
40286
+ /**
40287
+ * The campaign id on the ad platform (e.g. the numeric Google campaign id), not a Zernio id.
40288
+ */
40280
40289
  platformCampaignId: string;
40281
- platform: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai';
40290
+ /**
40291
+ * The ad platform, e.g. `google` for Google Ads. The ads connection slug (`googleads`, `tiktokads`, ...) is accepted as an alias. `metaads` is not: send `facebook` or `instagram`.
40292
+ */
40293
+ platform: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai' | 'googleads' | 'tiktokads' | 'linkedinads' | 'pinterestads' | 'xads' | 'openaiads';
40282
40294
  }>;
40283
40295
  };
40284
40296
  };
@@ -41626,7 +41638,13 @@ type UpdateCampaignAssetsResponse = ({
41626
41638
  });
41627
41639
  type UpdateCampaignAssetsError = (ErrorResponse | unknown);
41628
41640
  type RemoveCampaignAssetsData = {
41629
- body: {
41641
+ path: {
41642
+ /**
41643
+ * Numeric Google platform id.
41644
+ */
41645
+ campaignId: string;
41646
+ };
41647
+ query: {
41630
41648
  /**
41631
41649
  * Zernio Google Ads connection id.
41632
41650
  */
@@ -41636,18 +41654,18 @@ type RemoveCampaignAssetsData = {
41636
41654
  */
41637
41655
  adAccountId?: string;
41638
41656
  /**
41639
- * Alias of adAccountId, kept for existing callers
41640
- * @deprecated
41657
+ * Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
41641
41658
  */
41642
- customerId?: string;
41643
41659
  assetResourceNames: Array<(string)>;
41660
+ /**
41661
+ * campaign_asset resource names to remove, e.g. customers/1234567890/campaignAssets/456~123~CALLOUT. Repeat the parameter or pass a comma-separated list.
41662
+ */
41644
41663
  campaignAssetResourceNames: Array<(string)>;
41645
- };
41646
- path: {
41647
41664
  /**
41648
- * Numeric Google platform id.
41665
+ * Alias of adAccountId, kept for existing callers
41666
+ * @deprecated
41649
41667
  */
41650
- campaignId: string;
41668
+ customerId?: string;
41651
41669
  };
41652
41670
  };
41653
41671
  type RemoveCampaignAssetsResponse = ({
@@ -41763,7 +41781,13 @@ type UpdateAdGroupAssetsResponse = ({
41763
41781
  });
41764
41782
  type UpdateAdGroupAssetsError = (ErrorResponse | unknown);
41765
41783
  type RemoveAdGroupAssetsData = {
41766
- body: {
41784
+ path: {
41785
+ /**
41786
+ * Numeric Google platform id.
41787
+ */
41788
+ adSetId: string;
41789
+ };
41790
+ query: {
41767
41791
  /**
41768
41792
  * Zernio Google Ads connection id.
41769
41793
  */
@@ -41773,18 +41797,18 @@ type RemoveAdGroupAssetsData = {
41773
41797
  */
41774
41798
  adAccountId?: string;
41775
41799
  /**
41776
- * Alias of adAccountId, kept for existing callers
41777
- * @deprecated
41800
+ * ad_group_asset resource names to remove, e.g. customers/1234567890/adGroupAssets/456~123~CALLOUT. Repeat the parameter or pass a comma-separated list.
41778
41801
  */
41779
- customerId?: string;
41780
- assetResourceNames: Array<(string)>;
41781
41802
  adGroupAssetResourceNames: Array<(string)>;
41782
- };
41783
- path: {
41784
41803
  /**
41785
- * Numeric Google platform id.
41804
+ * Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
41786
41805
  */
41787
- adSetId: string;
41806
+ assetResourceNames: Array<(string)>;
41807
+ /**
41808
+ * Alias of adAccountId, kept for existing callers
41809
+ * @deprecated
41810
+ */
41811
+ customerId?: string;
41788
41812
  };
41789
41813
  };
41790
41814
  type RemoveAdGroupAssetsResponse = ({
@@ -43453,13 +43477,43 @@ type AttachAdLabelResponse = ({
43453
43477
  });
43454
43478
  type AttachAdLabelError = (ErrorResponse | unknown);
43455
43479
  type DetachAdLabelData = {
43456
- body: GoogleAdLabelAssignments;
43457
43480
  path: {
43458
43481
  /**
43459
43482
  * Google label id
43460
43483
  */
43461
43484
  labelId: string;
43462
43485
  };
43486
+ query: {
43487
+ /**
43488
+ * Zernio Google Ads connection id.
43489
+ */
43490
+ accountId: string;
43491
+ /**
43492
+ * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
43493
+ */
43494
+ adAccountId?: string;
43495
+ /**
43496
+ * Google ad group ad ids, {adGroupId}~{adId}. Repeat the parameter or pass a comma-separated list.
43497
+ */
43498
+ adIds?: Array<(string)>;
43499
+ /**
43500
+ * Google ad group ids. Repeat the parameter or pass a comma-separated list.
43501
+ */
43502
+ adSetIds?: Array<(string)>;
43503
+ /**
43504
+ * Google campaign ids. Repeat the parameter or pass a comma-separated list.
43505
+ */
43506
+ campaignIds?: Array<(string)>;
43507
+ /**
43508
+ * Alias of adAccountId, kept for existing callers
43509
+ * @deprecated
43510
+ */
43511
+ customerId?: string;
43512
+ /**
43513
+ * Google keyword criterion ids, {adGroupId}~{criterionId}. Repeat the parameter or pass a comma-separated list.
43514
+ */
43515
+ keywordIds?: Array<(string)>;
43516
+ };
43463
43517
  };
43464
43518
  type DetachAdLabelResponse = ({
43465
43519
  customerId?: string;
@@ -44198,7 +44252,7 @@ type UpdateAccountCalloutsResponse = ({
44198
44252
  });
44199
44253
  type UpdateAccountCalloutsError = (ErrorResponse | unknown);
44200
44254
  type RemoveAccountCalloutData = {
44201
- body: {
44255
+ query: {
44202
44256
  /**
44203
44257
  * Zernio Google Ads connection id.
44204
44258
  */
@@ -44207,12 +44261,15 @@ type RemoveAccountCalloutData = {
44207
44261
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44208
44262
  */
44209
44263
  adAccountId?: string;
44264
+ /**
44265
+ * Numeric Google Ads asset id.
44266
+ */
44267
+ assetId: string;
44210
44268
  /**
44211
44269
  * Alias of adAccountId, kept for existing callers
44212
44270
  * @deprecated
44213
44271
  */
44214
44272
  customerId?: string;
44215
- assetId: string;
44216
44273
  };
44217
44274
  };
44218
44275
  type RemoveAccountCalloutResponse = ({
@@ -44320,7 +44377,7 @@ type UpdateAccountSitelinksResponse = ({
44320
44377
  });
44321
44378
  type UpdateAccountSitelinksError = (ErrorResponse | unknown);
44322
44379
  type RemoveAccountSitelinkData = {
44323
- body: {
44380
+ query: {
44324
44381
  /**
44325
44382
  * Zernio Google Ads connection id.
44326
44383
  */
@@ -44329,12 +44386,15 @@ type RemoveAccountSitelinkData = {
44329
44386
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44330
44387
  */
44331
44388
  adAccountId?: string;
44389
+ /**
44390
+ * Numeric Google Ads asset id.
44391
+ */
44392
+ assetId: string;
44332
44393
  /**
44333
44394
  * Alias of adAccountId, kept for existing callers
44334
44395
  * @deprecated
44335
44396
  */
44336
44397
  customerId?: string;
44337
- assetId: string;
44338
44398
  };
44339
44399
  };
44340
44400
  type RemoveAccountSitelinkResponse = ({
@@ -44429,7 +44489,7 @@ type UpdateAccountStructuredSnippetsResponse = ({
44429
44489
  });
44430
44490
  type UpdateAccountStructuredSnippetsError = (ErrorResponse | unknown);
44431
44491
  type RemoveAccountStructuredSnippetData = {
44432
- body: {
44492
+ query: {
44433
44493
  /**
44434
44494
  * Zernio Google Ads connection id.
44435
44495
  */
@@ -44438,12 +44498,15 @@ type RemoveAccountStructuredSnippetData = {
44438
44498
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44439
44499
  */
44440
44500
  adAccountId?: string;
44501
+ /**
44502
+ * Numeric Google Ads asset id.
44503
+ */
44504
+ assetId: string;
44441
44505
  /**
44442
44506
  * Alias of adAccountId, kept for existing callers
44443
44507
  * @deprecated
44444
44508
  */
44445
44509
  customerId?: string;
44446
- assetId: string;
44447
44510
  };
44448
44511
  };
44449
44512
  type RemoveAccountStructuredSnippetResponse = ({
@@ -46220,15 +46283,18 @@ type CreateStandaloneAdData = {
46220
46283
  * budget and schedule are inherited (passing those fields
46221
46284
  * returns 400).
46222
46285
  *
46223
- * On Google Ads the `adSetId` is the AD GROUP id. `goal` is
46224
- * still REQUIRED even though budget and targeting are
46225
- * inherited from the ad group. Send `campaignType: "search"`
46226
- * to attach into a Search ad group, including one created by
46227
- * `POST /v1/ads/ad-sets` (always SEARCH_STANDARD): without it
46228
- * the request is treated as Display and requires
46229
- * `images.landscape` + `images.square` + `businessName`, and
46230
- * the resulting display creative does not match a Search ad
46231
- * group.
46286
+ * On Google Ads the `adSetId` is the AD GROUP id (numeric). `goal`
46287
+ * is not required: the ad group keeps its campaign's bidding,
46288
+ * budget and targeting. `campaignType` is read from the ad group's
46289
+ * campaign (Search, Display or Demand Gen), so it can be omitted;
46290
+ * a `campaignType` that contradicts the ad group returns 400, an
46291
+ * ad group Google does not know in that customer returns 404, and
46292
+ * any other campaign type returns 422. A Search ad needs
46293
+ * `headline` + `body` + `linkUrl`; a Display ad also needs
46294
+ * `images.landscape` + `images.square` + `businessName`. Google
46295
+ * allows 3 responsive search ads per ad group: a fourth returns
46296
+ * 422 naming the limit (`RESPONSIVE_SEARCH_ADS_PER_AD_GROUP`) and
46297
+ * the ad group.
46232
46298
  * `budgetAmount`/`budgetType` and bidding fields
46233
46299
  * (`bidStrategy`, `bidAmount`, `portfolioBidStrategyId`)
46234
46300
  * return 400 on this shape; the ad group already owns them.
@@ -46750,7 +46816,7 @@ type CreateStandaloneAdData = {
46750
46816
  */
46751
46817
  audienceId?: string;
46752
46818
  /**
46753
- * Google only. Performance Max requires assetGroup and Demand Gen requires demandGen; both are always created PAUSED.
46819
+ * Google only. Performance Max requires assetGroup and Demand Gen requires demandGen; both are always created PAUSED. With `adSetId` it defaults to the ad group's own campaign type instead of display.
46754
46820
  */
46755
46821
  campaignType?: 'display' | 'search' | 'pmax' | 'demand_gen';
46756
46822
  /**
@@ -46772,11 +46838,11 @@ type CreateStandaloneAdData = {
46772
46838
  */
46773
46839
  campaignNegativeKeywords?: Array<KeywordEntry>;
46774
46840
  /**
46775
- * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400.
46841
+ * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400. Each headline is at most 30 characters (Google's limit): a longer one returns 400 naming the field and index (e.g. `additionalHeadlines[2]`), it is never truncated. On Search the same limit applies to `headline` and `longHeadline` (30) and to `body` (90).
46776
46842
  */
46777
46843
  additionalHeadlines?: Array<(string | GoogleRsaHeadline)>;
46778
46844
  /**
46779
- * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400.
46845
+ * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400. Each description is at most 90 characters (Google's limit): a longer one returns 400 naming the field and index (e.g. `additionalDescriptions[2]`), it is never truncated. On Search the same limit applies to `headline` and `longHeadline` (30) and to `body` (90).
46780
46846
  */
46781
46847
  additionalDescriptions?: Array<(string | GoogleRsaDescription)>;
46782
46848
  /**
package/dist/index.d.ts CHANGED
@@ -9265,6 +9265,9 @@ type graduationStrategy = 'MANUAL' | 'SS_PERFORMANCE';
9265
9265
  */
9266
9266
  type KeywordEntry = string | {
9267
9267
  text: string;
9268
+ /**
9269
+ * Defaults to broad. Accepted in any case (EXACT, Exact) and stored lowercase.
9270
+ */
9268
9271
  matchType?: 'exact' | 'phrase' | 'broad';
9269
9272
  };
9270
9273
  /**
@@ -39634,6 +39637,9 @@ type ListAdKeywordsData = {
39634
39637
  */
39635
39638
  campaignId?: string;
39636
39639
  limit?: number;
39640
+ /**
39641
+ * Accepted in any case.
39642
+ */
39637
39643
  matchType?: 'exact' | 'phrase' | 'broad' | 'unknown';
39638
39644
  /**
39639
39645
  * true = negative keywords only, false = positive only. Omit for both.
@@ -40277,8 +40283,14 @@ type BulkUpdateAdCampaignStatusData = {
40277
40283
  body: {
40278
40284
  status: 'active' | 'paused';
40279
40285
  campaigns: Array<{
40286
+ /**
40287
+ * The campaign id on the ad platform (e.g. the numeric Google campaign id), not a Zernio id.
40288
+ */
40280
40289
  platformCampaignId: string;
40281
- platform: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai';
40290
+ /**
40291
+ * The ad platform, e.g. `google` for Google Ads. The ads connection slug (`googleads`, `tiktokads`, ...) is accepted as an alias. `metaads` is not: send `facebook` or `instagram`.
40292
+ */
40293
+ platform: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai' | 'googleads' | 'tiktokads' | 'linkedinads' | 'pinterestads' | 'xads' | 'openaiads';
40282
40294
  }>;
40283
40295
  };
40284
40296
  };
@@ -41626,7 +41638,13 @@ type UpdateCampaignAssetsResponse = ({
41626
41638
  });
41627
41639
  type UpdateCampaignAssetsError = (ErrorResponse | unknown);
41628
41640
  type RemoveCampaignAssetsData = {
41629
- body: {
41641
+ path: {
41642
+ /**
41643
+ * Numeric Google platform id.
41644
+ */
41645
+ campaignId: string;
41646
+ };
41647
+ query: {
41630
41648
  /**
41631
41649
  * Zernio Google Ads connection id.
41632
41650
  */
@@ -41636,18 +41654,18 @@ type RemoveCampaignAssetsData = {
41636
41654
  */
41637
41655
  adAccountId?: string;
41638
41656
  /**
41639
- * Alias of adAccountId, kept for existing callers
41640
- * @deprecated
41657
+ * Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
41641
41658
  */
41642
- customerId?: string;
41643
41659
  assetResourceNames: Array<(string)>;
41660
+ /**
41661
+ * campaign_asset resource names to remove, e.g. customers/1234567890/campaignAssets/456~123~CALLOUT. Repeat the parameter or pass a comma-separated list.
41662
+ */
41644
41663
  campaignAssetResourceNames: Array<(string)>;
41645
- };
41646
- path: {
41647
41664
  /**
41648
- * Numeric Google platform id.
41665
+ * Alias of adAccountId, kept for existing callers
41666
+ * @deprecated
41649
41667
  */
41650
- campaignId: string;
41668
+ customerId?: string;
41651
41669
  };
41652
41670
  };
41653
41671
  type RemoveCampaignAssetsResponse = ({
@@ -41763,7 +41781,13 @@ type UpdateAdGroupAssetsResponse = ({
41763
41781
  });
41764
41782
  type UpdateAdGroupAssetsError = (ErrorResponse | unknown);
41765
41783
  type RemoveAdGroupAssetsData = {
41766
- body: {
41784
+ path: {
41785
+ /**
41786
+ * Numeric Google platform id.
41787
+ */
41788
+ adSetId: string;
41789
+ };
41790
+ query: {
41767
41791
  /**
41768
41792
  * Zernio Google Ads connection id.
41769
41793
  */
@@ -41773,18 +41797,18 @@ type RemoveAdGroupAssetsData = {
41773
41797
  */
41774
41798
  adAccountId?: string;
41775
41799
  /**
41776
- * Alias of adAccountId, kept for existing callers
41777
- * @deprecated
41800
+ * ad_group_asset resource names to remove, e.g. customers/1234567890/adGroupAssets/456~123~CALLOUT. Repeat the parameter or pass a comma-separated list.
41778
41801
  */
41779
- customerId?: string;
41780
- assetResourceNames: Array<(string)>;
41781
41802
  adGroupAssetResourceNames: Array<(string)>;
41782
- };
41783
- path: {
41784
41803
  /**
41785
- * Numeric Google platform id.
41804
+ * Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
41786
41805
  */
41787
- adSetId: string;
41806
+ assetResourceNames: Array<(string)>;
41807
+ /**
41808
+ * Alias of adAccountId, kept for existing callers
41809
+ * @deprecated
41810
+ */
41811
+ customerId?: string;
41788
41812
  };
41789
41813
  };
41790
41814
  type RemoveAdGroupAssetsResponse = ({
@@ -43453,13 +43477,43 @@ type AttachAdLabelResponse = ({
43453
43477
  });
43454
43478
  type AttachAdLabelError = (ErrorResponse | unknown);
43455
43479
  type DetachAdLabelData = {
43456
- body: GoogleAdLabelAssignments;
43457
43480
  path: {
43458
43481
  /**
43459
43482
  * Google label id
43460
43483
  */
43461
43484
  labelId: string;
43462
43485
  };
43486
+ query: {
43487
+ /**
43488
+ * Zernio Google Ads connection id.
43489
+ */
43490
+ accountId: string;
43491
+ /**
43492
+ * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
43493
+ */
43494
+ adAccountId?: string;
43495
+ /**
43496
+ * Google ad group ad ids, {adGroupId}~{adId}. Repeat the parameter or pass a comma-separated list.
43497
+ */
43498
+ adIds?: Array<(string)>;
43499
+ /**
43500
+ * Google ad group ids. Repeat the parameter or pass a comma-separated list.
43501
+ */
43502
+ adSetIds?: Array<(string)>;
43503
+ /**
43504
+ * Google campaign ids. Repeat the parameter or pass a comma-separated list.
43505
+ */
43506
+ campaignIds?: Array<(string)>;
43507
+ /**
43508
+ * Alias of adAccountId, kept for existing callers
43509
+ * @deprecated
43510
+ */
43511
+ customerId?: string;
43512
+ /**
43513
+ * Google keyword criterion ids, {adGroupId}~{criterionId}. Repeat the parameter or pass a comma-separated list.
43514
+ */
43515
+ keywordIds?: Array<(string)>;
43516
+ };
43463
43517
  };
43464
43518
  type DetachAdLabelResponse = ({
43465
43519
  customerId?: string;
@@ -44198,7 +44252,7 @@ type UpdateAccountCalloutsResponse = ({
44198
44252
  });
44199
44253
  type UpdateAccountCalloutsError = (ErrorResponse | unknown);
44200
44254
  type RemoveAccountCalloutData = {
44201
- body: {
44255
+ query: {
44202
44256
  /**
44203
44257
  * Zernio Google Ads connection id.
44204
44258
  */
@@ -44207,12 +44261,15 @@ type RemoveAccountCalloutData = {
44207
44261
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44208
44262
  */
44209
44263
  adAccountId?: string;
44264
+ /**
44265
+ * Numeric Google Ads asset id.
44266
+ */
44267
+ assetId: string;
44210
44268
  /**
44211
44269
  * Alias of adAccountId, kept for existing callers
44212
44270
  * @deprecated
44213
44271
  */
44214
44272
  customerId?: string;
44215
- assetId: string;
44216
44273
  };
44217
44274
  };
44218
44275
  type RemoveAccountCalloutResponse = ({
@@ -44320,7 +44377,7 @@ type UpdateAccountSitelinksResponse = ({
44320
44377
  });
44321
44378
  type UpdateAccountSitelinksError = (ErrorResponse | unknown);
44322
44379
  type RemoveAccountSitelinkData = {
44323
- body: {
44380
+ query: {
44324
44381
  /**
44325
44382
  * Zernio Google Ads connection id.
44326
44383
  */
@@ -44329,12 +44386,15 @@ type RemoveAccountSitelinkData = {
44329
44386
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44330
44387
  */
44331
44388
  adAccountId?: string;
44389
+ /**
44390
+ * Numeric Google Ads asset id.
44391
+ */
44392
+ assetId: string;
44332
44393
  /**
44333
44394
  * Alias of adAccountId, kept for existing callers
44334
44395
  * @deprecated
44335
44396
  */
44336
44397
  customerId?: string;
44337
- assetId: string;
44338
44398
  };
44339
44399
  };
44340
44400
  type RemoveAccountSitelinkResponse = ({
@@ -44429,7 +44489,7 @@ type UpdateAccountStructuredSnippetsResponse = ({
44429
44489
  });
44430
44490
  type UpdateAccountStructuredSnippetsError = (ErrorResponse | unknown);
44431
44491
  type RemoveAccountStructuredSnippetData = {
44432
- body: {
44492
+ query: {
44433
44493
  /**
44434
44494
  * Zernio Google Ads connection id.
44435
44495
  */
@@ -44438,12 +44498,15 @@ type RemoveAccountStructuredSnippetData = {
44438
44498
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44439
44499
  */
44440
44500
  adAccountId?: string;
44501
+ /**
44502
+ * Numeric Google Ads asset id.
44503
+ */
44504
+ assetId: string;
44441
44505
  /**
44442
44506
  * Alias of adAccountId, kept for existing callers
44443
44507
  * @deprecated
44444
44508
  */
44445
44509
  customerId?: string;
44446
- assetId: string;
44447
44510
  };
44448
44511
  };
44449
44512
  type RemoveAccountStructuredSnippetResponse = ({
@@ -46220,15 +46283,18 @@ type CreateStandaloneAdData = {
46220
46283
  * budget and schedule are inherited (passing those fields
46221
46284
  * returns 400).
46222
46285
  *
46223
- * On Google Ads the `adSetId` is the AD GROUP id. `goal` is
46224
- * still REQUIRED even though budget and targeting are
46225
- * inherited from the ad group. Send `campaignType: "search"`
46226
- * to attach into a Search ad group, including one created by
46227
- * `POST /v1/ads/ad-sets` (always SEARCH_STANDARD): without it
46228
- * the request is treated as Display and requires
46229
- * `images.landscape` + `images.square` + `businessName`, and
46230
- * the resulting display creative does not match a Search ad
46231
- * group.
46286
+ * On Google Ads the `adSetId` is the AD GROUP id (numeric). `goal`
46287
+ * is not required: the ad group keeps its campaign's bidding,
46288
+ * budget and targeting. `campaignType` is read from the ad group's
46289
+ * campaign (Search, Display or Demand Gen), so it can be omitted;
46290
+ * a `campaignType` that contradicts the ad group returns 400, an
46291
+ * ad group Google does not know in that customer returns 404, and
46292
+ * any other campaign type returns 422. A Search ad needs
46293
+ * `headline` + `body` + `linkUrl`; a Display ad also needs
46294
+ * `images.landscape` + `images.square` + `businessName`. Google
46295
+ * allows 3 responsive search ads per ad group: a fourth returns
46296
+ * 422 naming the limit (`RESPONSIVE_SEARCH_ADS_PER_AD_GROUP`) and
46297
+ * the ad group.
46232
46298
  * `budgetAmount`/`budgetType` and bidding fields
46233
46299
  * (`bidStrategy`, `bidAmount`, `portfolioBidStrategyId`)
46234
46300
  * return 400 on this shape; the ad group already owns them.
@@ -46750,7 +46816,7 @@ type CreateStandaloneAdData = {
46750
46816
  */
46751
46817
  audienceId?: string;
46752
46818
  /**
46753
- * Google only. Performance Max requires assetGroup and Demand Gen requires demandGen; both are always created PAUSED.
46819
+ * Google only. Performance Max requires assetGroup and Demand Gen requires demandGen; both are always created PAUSED. With `adSetId` it defaults to the ad group's own campaign type instead of display.
46754
46820
  */
46755
46821
  campaignType?: 'display' | 'search' | 'pmax' | 'demand_gen';
46756
46822
  /**
@@ -46772,11 +46838,11 @@ type CreateStandaloneAdData = {
46772
46838
  */
46773
46839
  campaignNegativeKeywords?: Array<KeywordEntry>;
46774
46840
  /**
46775
- * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400.
46841
+ * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400. Each headline is at most 30 characters (Google's limit): a longer one returns 400 naming the field and index (e.g. `additionalHeadlines[2]`), it is never truncated. On Search the same limit applies to `headline` and `longHeadline` (30) and to `body` (90).
46776
46842
  */
46777
46843
  additionalHeadlines?: Array<(string | GoogleRsaHeadline)>;
46778
46844
  /**
46779
- * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400.
46845
+ * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400. Each description is at most 90 characters (Google's limit): a longer one returns 400 naming the field and index (e.g. `additionalDescriptions[2]`), it is never truncated. On Search the same limit applies to `headline` and `longHeadline` (30) and to `body` (90).
46780
46846
  */
46781
46847
  additionalDescriptions?: Array<(string | GoogleRsaDescription)>;
46782
46848
  /**
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.1107",
39
+ version: "0.2.1108",
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.1107",
8
+ version: "0.2.1108",
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.1107",
3
+ "version": "0.2.1108",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -10524,7 +10524,7 @@ export const updateCampaignAssets = <ThrowOnError extends boolean = false>(optio
10524
10524
 
10525
10525
  /**
10526
10526
  * Remove campaign assets
10527
- * Removes the specified attachments only. Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility.
10527
+ * Removes the specified attachments only. Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
10528
10528
  */
10529
10529
  export const removeCampaignAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveCampaignAssetsData, ThrowOnError>) => {
10530
10530
  return (options?.client ?? client).delete<RemoveCampaignAssetsResponse, RemoveCampaignAssetsError, ThrowOnError>({
@@ -10568,7 +10568,7 @@ export const updateAdGroupAssets = <ThrowOnError extends boolean = false>(option
10568
10568
 
10569
10569
  /**
10570
10570
  * Remove ad-group assets
10571
- * Removes the specified attachments only. Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility.
10571
+ * Removes the specified attachments only. Google assets cannot be deleted. Other attachments remain. assetResourceNames is retained for compatibility. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
10572
10572
  */
10573
10573
  export const removeAdGroupAssets = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAdGroupAssetsData, ThrowOnError>) => {
10574
10574
  return (options?.client ?? client).delete<RemoveAdGroupAssetsResponse, RemoveAdGroupAssetsError, ThrowOnError>({
@@ -10822,6 +10822,8 @@ export const getAdTrackingTags = <ThrowOnError extends boolean = false>(options:
10822
10822
  * / dark / asset_feed creatives whose object_story_spec Meta strips (those return 422 asking for
10823
10823
  * `creative`).
10824
10824
  * - Google: `trackingUrlTemplate` and/or `finalUrlSuffix` (full template strings; account quota applies).
10825
+ * Written at the CAMPAIGN level (the campaign's `tracking_url_template` / `final_url_suffix`), so
10826
+ * the change applies to every ad in the ad's campaign.
10825
10827
  * - LinkedIn: `dynamicValueParameters` and/or `customValueParameters` (campaign-level Dynamic UTM).
10826
10828
  *
10827
10829
  */
@@ -11267,7 +11269,7 @@ export const attachAdLabel = <ThrowOnError extends boolean = false>(options: Opt
11267
11269
 
11268
11270
  /**
11269
11271
  * Detach a Google Ads label
11270
- * Removes the label from the given targets. Idempotent; a target without the label is counted in `unchanged`.
11272
+ * Removes the label from the given targets. Idempotent; a target without the label is counted in `unchanged`. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
11271
11273
  */
11272
11274
  export const detachAdLabel = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DetachAdLabelData, ThrowOnError>) => {
11273
11275
  return (options?.client ?? client).delete<DetachAdLabelResponse, DetachAdLabelError, ThrowOnError>({
@@ -11624,7 +11626,7 @@ export const updateAccountCallouts = <ThrowOnError extends boolean = false>(opti
11624
11626
 
11625
11627
  /**
11626
11628
  * Remove account callout
11627
- * Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain.
11629
+ * Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
11628
11630
  */
11629
11631
  export const removeAccountCallout = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAccountCalloutData, ThrowOnError>) => {
11630
11632
  return (options?.client ?? client).delete<RemoveAccountCalloutResponse, RemoveAccountCalloutError, ThrowOnError>({
@@ -11668,7 +11670,7 @@ export const updateAccountSitelinks = <ThrowOnError extends boolean = false>(opt
11668
11670
 
11669
11671
  /**
11670
11672
  * Remove account sitelink
11671
- * Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain.
11673
+ * Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
11672
11674
  */
11673
11675
  export const removeAccountSitelink = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAccountSitelinkData, ThrowOnError>) => {
11674
11676
  return (options?.client ?? client).delete<RemoveAccountSitelinkResponse, RemoveAccountSitelinkError, ThrowOnError>({
@@ -11712,7 +11714,7 @@ export const updateAccountStructuredSnippets = <ThrowOnError extends boolean = f
11712
11714
 
11713
11715
  /**
11714
11716
  * Remove account snippet
11715
- * Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain.
11717
+ * Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain. Fields go in the query string. A JSON body with the same fields is also accepted and, when sent, the query string is ignored.
11716
11718
  */
11717
11719
  export const removeAccountStructuredSnippet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<RemoveAccountStructuredSnippetData, ThrowOnError>) => {
11718
11720
  return (options?.client ?? client).delete<RemoveAccountStructuredSnippetResponse, RemoveAccountStructuredSnippetError, ThrowOnError>({
@@ -7593,6 +7593,9 @@ export type graduationStrategy = 'MANUAL' | 'SS_PERFORMANCE';
7593
7593
  */
7594
7594
  export type KeywordEntry = string | {
7595
7595
  text: string;
7596
+ /**
7597
+ * Defaults to broad. Accepted in any case (EXACT, Exact) and stored lowercase.
7598
+ */
7596
7599
  matchType?: 'exact' | 'phrase' | 'broad';
7597
7600
  };
7598
7601
 
@@ -40027,6 +40030,9 @@ export type ListAdKeywordsData = {
40027
40030
  */
40028
40031
  campaignId?: string;
40029
40032
  limit?: number;
40033
+ /**
40034
+ * Accepted in any case.
40035
+ */
40030
40036
  matchType?: 'exact' | 'phrase' | 'broad' | 'unknown';
40031
40037
  /**
40032
40038
  * true = negative keywords only, false = positive only. Omit for both.
@@ -40715,8 +40721,14 @@ export type BulkUpdateAdCampaignStatusData = {
40715
40721
  body: {
40716
40722
  status: 'active' | 'paused';
40717
40723
  campaigns: Array<{
40724
+ /**
40725
+ * The campaign id on the ad platform (e.g. the numeric Google campaign id), not a Zernio id.
40726
+ */
40718
40727
  platformCampaignId: string;
40719
- platform: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai';
40728
+ /**
40729
+ * The ad platform, e.g. `google` for Google Ads. The ads connection slug (`googleads`, `tiktokads`, ...) is accepted as an alias. `metaads` is not: send `facebook` or `instagram`.
40730
+ */
40731
+ platform: 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'pinterest' | 'google' | 'twitter' | 'openai' | 'googleads' | 'tiktokads' | 'linkedinads' | 'pinterestads' | 'xads' | 'openaiads';
40720
40732
  }>;
40721
40733
  };
40722
40734
  };
@@ -42127,7 +42139,13 @@ export type UpdateCampaignAssetsResponse = ({
42127
42139
  export type UpdateCampaignAssetsError = (ErrorResponse | unknown);
42128
42140
 
42129
42141
  export type RemoveCampaignAssetsData = {
42130
- body: {
42142
+ path: {
42143
+ /**
42144
+ * Numeric Google platform id.
42145
+ */
42146
+ campaignId: string;
42147
+ };
42148
+ query: {
42131
42149
  /**
42132
42150
  * Zernio Google Ads connection id.
42133
42151
  */
@@ -42137,18 +42155,18 @@ export type RemoveCampaignAssetsData = {
42137
42155
  */
42138
42156
  adAccountId?: string;
42139
42157
  /**
42140
- * Alias of adAccountId, kept for existing callers
42141
- * @deprecated
42158
+ * Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
42142
42159
  */
42143
- customerId?: string;
42144
42160
  assetResourceNames: Array<(string)>;
42161
+ /**
42162
+ * campaign_asset resource names to remove, e.g. customers/1234567890/campaignAssets/456~123~CALLOUT. Repeat the parameter or pass a comma-separated list.
42163
+ */
42145
42164
  campaignAssetResourceNames: Array<(string)>;
42146
- };
42147
- path: {
42148
42165
  /**
42149
- * Numeric Google platform id.
42166
+ * Alias of adAccountId, kept for existing callers
42167
+ * @deprecated
42150
42168
  */
42151
- campaignId: string;
42169
+ customerId?: string;
42152
42170
  };
42153
42171
  };
42154
42172
 
@@ -42276,7 +42294,13 @@ export type UpdateAdGroupAssetsResponse = ({
42276
42294
  export type UpdateAdGroupAssetsError = (ErrorResponse | unknown);
42277
42295
 
42278
42296
  export type RemoveAdGroupAssetsData = {
42279
- body: {
42297
+ path: {
42298
+ /**
42299
+ * Numeric Google platform id.
42300
+ */
42301
+ adSetId: string;
42302
+ };
42303
+ query: {
42280
42304
  /**
42281
42305
  * Zernio Google Ads connection id.
42282
42306
  */
@@ -42286,18 +42310,18 @@ export type RemoveAdGroupAssetsData = {
42286
42310
  */
42287
42311
  adAccountId?: string;
42288
42312
  /**
42289
- * Alias of adAccountId, kept for existing callers
42290
- * @deprecated
42313
+ * ad_group_asset resource names to remove, e.g. customers/1234567890/adGroupAssets/456~123~CALLOUT. Repeat the parameter or pass a comma-separated list.
42291
42314
  */
42292
- customerId?: string;
42293
- assetResourceNames: Array<(string)>;
42294
42315
  adGroupAssetResourceNames: Array<(string)>;
42295
- };
42296
- path: {
42297
42316
  /**
42298
- * Numeric Google platform id.
42317
+ * Asset resource names, retained for compatibility. Repeat the parameter or pass a comma-separated list.
42299
42318
  */
42300
- adSetId: string;
42319
+ assetResourceNames: Array<(string)>;
42320
+ /**
42321
+ * Alias of adAccountId, kept for existing callers
42322
+ * @deprecated
42323
+ */
42324
+ customerId?: string;
42301
42325
  };
42302
42326
  };
42303
42327
 
@@ -44089,13 +44113,43 @@ export type AttachAdLabelResponse = ({
44089
44113
  export type AttachAdLabelError = (ErrorResponse | unknown);
44090
44114
 
44091
44115
  export type DetachAdLabelData = {
44092
- body: GoogleAdLabelAssignments;
44093
44116
  path: {
44094
44117
  /**
44095
44118
  * Google label id
44096
44119
  */
44097
44120
  labelId: string;
44098
44121
  };
44122
+ query: {
44123
+ /**
44124
+ * Zernio Google Ads connection id.
44125
+ */
44126
+ accountId: string;
44127
+ /**
44128
+ * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44129
+ */
44130
+ adAccountId?: string;
44131
+ /**
44132
+ * Google ad group ad ids, {adGroupId}~{adId}. Repeat the parameter or pass a comma-separated list.
44133
+ */
44134
+ adIds?: Array<(string)>;
44135
+ /**
44136
+ * Google ad group ids. Repeat the parameter or pass a comma-separated list.
44137
+ */
44138
+ adSetIds?: Array<(string)>;
44139
+ /**
44140
+ * Google campaign ids. Repeat the parameter or pass a comma-separated list.
44141
+ */
44142
+ campaignIds?: Array<(string)>;
44143
+ /**
44144
+ * Alias of adAccountId, kept for existing callers
44145
+ * @deprecated
44146
+ */
44147
+ customerId?: string;
44148
+ /**
44149
+ * Google keyword criterion ids, {adGroupId}~{criterionId}. Repeat the parameter or pass a comma-separated list.
44150
+ */
44151
+ keywordIds?: Array<(string)>;
44152
+ };
44099
44153
  };
44100
44154
 
44101
44155
  export type DetachAdLabelResponse = ({
@@ -44906,7 +44960,7 @@ export type UpdateAccountCalloutsResponse = ({
44906
44960
  export type UpdateAccountCalloutsError = (ErrorResponse | unknown);
44907
44961
 
44908
44962
  export type RemoveAccountCalloutData = {
44909
- body: {
44963
+ query: {
44910
44964
  /**
44911
44965
  * Zernio Google Ads connection id.
44912
44966
  */
@@ -44915,12 +44969,15 @@ export type RemoveAccountCalloutData = {
44915
44969
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
44916
44970
  */
44917
44971
  adAccountId?: string;
44972
+ /**
44973
+ * Numeric Google Ads asset id.
44974
+ */
44975
+ assetId: string;
44918
44976
  /**
44919
44977
  * Alias of adAccountId, kept for existing callers
44920
44978
  * @deprecated
44921
44979
  */
44922
44980
  customerId?: string;
44923
- assetId: string;
44924
44981
  };
44925
44982
  };
44926
44983
 
@@ -45040,7 +45097,7 @@ export type UpdateAccountSitelinksResponse = ({
45040
45097
  export type UpdateAccountSitelinksError = (ErrorResponse | unknown);
45041
45098
 
45042
45099
  export type RemoveAccountSitelinkData = {
45043
- body: {
45100
+ query: {
45044
45101
  /**
45045
45102
  * Zernio Google Ads connection id.
45046
45103
  */
@@ -45049,12 +45106,15 @@ export type RemoveAccountSitelinkData = {
45049
45106
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
45050
45107
  */
45051
45108
  adAccountId?: string;
45109
+ /**
45110
+ * Numeric Google Ads asset id.
45111
+ */
45112
+ assetId: string;
45052
45113
  /**
45053
45114
  * Alias of adAccountId, kept for existing callers
45054
45115
  * @deprecated
45055
45116
  */
45056
45117
  customerId?: string;
45057
- assetId: string;
45058
45118
  };
45059
45119
  };
45060
45120
 
@@ -45161,7 +45221,7 @@ export type UpdateAccountStructuredSnippetsResponse = ({
45161
45221
  export type UpdateAccountStructuredSnippetsError = (ErrorResponse | unknown);
45162
45222
 
45163
45223
  export type RemoveAccountStructuredSnippetData = {
45164
- body: {
45224
+ query: {
45165
45225
  /**
45166
45226
  * Zernio Google Ads connection id.
45167
45227
  */
@@ -45170,12 +45230,15 @@ export type RemoveAccountStructuredSnippetData = {
45170
45230
  * Platform ad account ID (Google customer ID, digits only). Required when the connection has multiple customers.
45171
45231
  */
45172
45232
  adAccountId?: string;
45233
+ /**
45234
+ * Numeric Google Ads asset id.
45235
+ */
45236
+ assetId: string;
45173
45237
  /**
45174
45238
  * Alias of adAccountId, kept for existing callers
45175
45239
  * @deprecated
45176
45240
  */
45177
45241
  customerId?: string;
45178
- assetId: string;
45179
45242
  };
45180
45243
  };
45181
45244
 
@@ -47018,15 +47081,18 @@ export type CreateStandaloneAdData = {
47018
47081
  * budget and schedule are inherited (passing those fields
47019
47082
  * returns 400).
47020
47083
  *
47021
- * On Google Ads the `adSetId` is the AD GROUP id. `goal` is
47022
- * still REQUIRED even though budget and targeting are
47023
- * inherited from the ad group. Send `campaignType: "search"`
47024
- * to attach into a Search ad group, including one created by
47025
- * `POST /v1/ads/ad-sets` (always SEARCH_STANDARD): without it
47026
- * the request is treated as Display and requires
47027
- * `images.landscape` + `images.square` + `businessName`, and
47028
- * the resulting display creative does not match a Search ad
47029
- * group.
47084
+ * On Google Ads the `adSetId` is the AD GROUP id (numeric). `goal`
47085
+ * is not required: the ad group keeps its campaign's bidding,
47086
+ * budget and targeting. `campaignType` is read from the ad group's
47087
+ * campaign (Search, Display or Demand Gen), so it can be omitted;
47088
+ * a `campaignType` that contradicts the ad group returns 400, an
47089
+ * ad group Google does not know in that customer returns 404, and
47090
+ * any other campaign type returns 422. A Search ad needs
47091
+ * `headline` + `body` + `linkUrl`; a Display ad also needs
47092
+ * `images.landscape` + `images.square` + `businessName`. Google
47093
+ * allows 3 responsive search ads per ad group: a fourth returns
47094
+ * 422 naming the limit (`RESPONSIVE_SEARCH_ADS_PER_AD_GROUP`) and
47095
+ * the ad group.
47030
47096
  * `budgetAmount`/`budgetType` and bidding fields
47031
47097
  * (`bidStrategy`, `bidAmount`, `portfolioBidStrategyId`)
47032
47098
  * return 400 on this shape; the ad group already owns them.
@@ -47548,7 +47614,7 @@ export type CreateStandaloneAdData = {
47548
47614
  */
47549
47615
  audienceId?: string;
47550
47616
  /**
47551
- * Google only. Performance Max requires assetGroup and Demand Gen requires demandGen; both are always created PAUSED.
47617
+ * Google only. Performance Max requires assetGroup and Demand Gen requires demandGen; both are always created PAUSED. With `adSetId` it defaults to the ad group's own campaign type instead of display.
47552
47618
  */
47553
47619
  campaignType?: 'display' | 'search' | 'pmax' | 'demand_gen';
47554
47620
  /**
@@ -47570,11 +47636,11 @@ export type CreateStandaloneAdData = {
47570
47636
  */
47571
47637
  campaignNegativeKeywords?: Array<KeywordEntry>;
47572
47638
  /**
47573
- * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400.
47639
+ * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400. Each headline is at most 30 characters (Google's limit): a longer one returns 400 naming the field and index (e.g. `additionalHeadlines[2]`), it is never truncated. On Search the same limit applies to `headline` and `longHeadline` (30) and to `body` (90).
47574
47640
  */
47575
47641
  additionalHeadlines?: Array<(string | GoogleRsaHeadline)>;
47576
47642
  /**
47577
- * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400.
47643
+ * Google Search RSA only. Extra text assets as strings or objects with text and optional pinnedField. Existing string input remains supported. The effective create lists, including primary text and deduplication, must contain 3-15 headlines and 2-4 descriptions; excess entries return 400. Each description is at most 90 characters (Google's limit): a longer one returns 400 naming the field and index (e.g. `additionalDescriptions[2]`), it is never truncated. On Search the same limit applies to `headline` and `longHeadline` (30) and to `body` (90).
47578
47644
  */
47579
47645
  additionalDescriptions?: Array<(string | GoogleRsaDescription)>;
47580
47646
  /**