@getlatedev/node 0.2.921 → 0.2.923

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
@@ -3264,10 +3264,13 @@ type AnalyticsListResponse = {
3264
3264
  */
3265
3265
  isAd?: boolean;
3266
3266
  profileId?: (string) | null;
3267
+ /**
3268
+ * Cover image URL. Facebook and Instagram covers whose Meta CDN link expired are re-read from Meta and served from Zernio storage, so that URL does not expire and can be cached.
3269
+ */
3267
3270
  thumbnailUrl?: string;
3268
3271
  mediaType?: 'image' | 'video' | 'gif' | 'document' | 'carousel' | 'text';
3269
3272
  /**
3270
- * All media items for this post. Carousel posts contain one entry per slide.
3273
+ * All media items for this post. Carousel posts contain one entry per slide. Facebook and Instagram images and video covers whose Meta CDN links expired are re-read and served from Zernio storage (non-expiring). Facebook and Instagram video file URLs, and LinkedIn media URLs, stay the platform's signed links and are refreshed on read once they lapse.
3271
3274
  */
3272
3275
  mediaItems?: Array<{
3273
3276
  type?: 'image' | 'video';
@@ -3353,10 +3356,13 @@ type AnalyticsSinglePostResponse = {
3353
3356
  * Human-readable status message for pending, partial, or failed states
3354
3357
  */
3355
3358
  message?: (string) | null;
3359
+ /**
3360
+ * Cover image URL. Facebook and Instagram covers whose Meta CDN link expired are re-read from Meta and served from Zernio storage, so that URL does not expire and can be cached.
3361
+ */
3356
3362
  thumbnailUrl?: (string) | null;
3357
3363
  mediaType?: ('image' | 'video' | 'carousel' | 'text') | null;
3358
3364
  /**
3359
- * All media items for this post. Carousel posts contain one entry per slide.
3365
+ * All media items for this post. Carousel posts contain one entry per slide. Facebook and Instagram images and video covers whose Meta CDN links expired are re-read and served from Zernio storage (non-expiring). Facebook and Instagram video file URLs, and LinkedIn media URLs, stay the platform's signed links and are refreshed on read once they lapse.
3360
3366
  */
3361
3367
  mediaItems?: Array<{
3362
3368
  type?: 'image' | 'video';
@@ -35453,7 +35459,7 @@ type UpdateAdCampaignData = {
35453
35459
  */
35454
35460
  allowSharedBudgetUpdate?: boolean;
35455
35461
  /**
35456
- * Meta CBO or Google daily campaign budget, in whole currency units.
35462
+ * Meta CBO, Google daily, or OpenAI Ads daily or lifetime campaign budget, in whole currency units.
35457
35463
  */
35458
35464
  budget?: {
35459
35465
  /**
@@ -36492,7 +36498,7 @@ type UpdateAdData = {
36492
36498
  */
36493
36499
  amount?: number;
36494
36500
  /**
36495
- * OpenAI Ads accepts lifetime only; sending daily returns 422.
36501
+ * OpenAI Ads accepts both and sets the campaign's single spend cap, replacing the previous daily or lifetime cap.
36496
36502
  */
36497
36503
  type?: 'daily' | 'lifetime';
36498
36504
  };
@@ -40371,7 +40377,7 @@ type CreateStandaloneAdData = {
40371
40377
  */
40372
40378
  budgetAmount?: number;
40373
40379
  /**
40374
- * Required on legacy, multi-creative and Performance Max shapes. Inherited on attach. OpenAI Ads accepts lifetime only (no daily-budget concept on the platform); sending daily returns 422. OpenAI Ads lifetime budgets require `endDate` to give the lifetime cap a spend window.
40380
+ * Required on legacy, multi-creative and Performance Max shapes. Inherited on attach. OpenAI Ads creation accepts lifetime only; sending daily returns 422 (daily caps can be set afterwards with PUT /v1/ads/campaigns/{campaignId}). OpenAI Ads lifetime budgets require `endDate` to give the lifetime cap a spend window.
40375
40381
  */
40376
40382
  budgetType?: 'daily' | 'lifetime';
40377
40383
  /**
package/dist/index.d.ts CHANGED
@@ -3264,10 +3264,13 @@ type AnalyticsListResponse = {
3264
3264
  */
3265
3265
  isAd?: boolean;
3266
3266
  profileId?: (string) | null;
3267
+ /**
3268
+ * Cover image URL. Facebook and Instagram covers whose Meta CDN link expired are re-read from Meta and served from Zernio storage, so that URL does not expire and can be cached.
3269
+ */
3267
3270
  thumbnailUrl?: string;
3268
3271
  mediaType?: 'image' | 'video' | 'gif' | 'document' | 'carousel' | 'text';
3269
3272
  /**
3270
- * All media items for this post. Carousel posts contain one entry per slide.
3273
+ * All media items for this post. Carousel posts contain one entry per slide. Facebook and Instagram images and video covers whose Meta CDN links expired are re-read and served from Zernio storage (non-expiring). Facebook and Instagram video file URLs, and LinkedIn media URLs, stay the platform's signed links and are refreshed on read once they lapse.
3271
3274
  */
3272
3275
  mediaItems?: Array<{
3273
3276
  type?: 'image' | 'video';
@@ -3353,10 +3356,13 @@ type AnalyticsSinglePostResponse = {
3353
3356
  * Human-readable status message for pending, partial, or failed states
3354
3357
  */
3355
3358
  message?: (string) | null;
3359
+ /**
3360
+ * Cover image URL. Facebook and Instagram covers whose Meta CDN link expired are re-read from Meta and served from Zernio storage, so that URL does not expire and can be cached.
3361
+ */
3356
3362
  thumbnailUrl?: (string) | null;
3357
3363
  mediaType?: ('image' | 'video' | 'carousel' | 'text') | null;
3358
3364
  /**
3359
- * All media items for this post. Carousel posts contain one entry per slide.
3365
+ * All media items for this post. Carousel posts contain one entry per slide. Facebook and Instagram images and video covers whose Meta CDN links expired are re-read and served from Zernio storage (non-expiring). Facebook and Instagram video file URLs, and LinkedIn media URLs, stay the platform's signed links and are refreshed on read once they lapse.
3360
3366
  */
3361
3367
  mediaItems?: Array<{
3362
3368
  type?: 'image' | 'video';
@@ -35453,7 +35459,7 @@ type UpdateAdCampaignData = {
35453
35459
  */
35454
35460
  allowSharedBudgetUpdate?: boolean;
35455
35461
  /**
35456
- * Meta CBO or Google daily campaign budget, in whole currency units.
35462
+ * Meta CBO, Google daily, or OpenAI Ads daily or lifetime campaign budget, in whole currency units.
35457
35463
  */
35458
35464
  budget?: {
35459
35465
  /**
@@ -36492,7 +36498,7 @@ type UpdateAdData = {
36492
36498
  */
36493
36499
  amount?: number;
36494
36500
  /**
36495
- * OpenAI Ads accepts lifetime only; sending daily returns 422.
36501
+ * OpenAI Ads accepts both and sets the campaign's single spend cap, replacing the previous daily or lifetime cap.
36496
36502
  */
36497
36503
  type?: 'daily' | 'lifetime';
36498
36504
  };
@@ -40371,7 +40377,7 @@ type CreateStandaloneAdData = {
40371
40377
  */
40372
40378
  budgetAmount?: number;
40373
40379
  /**
40374
- * Required on legacy, multi-creative and Performance Max shapes. Inherited on attach. OpenAI Ads accepts lifetime only (no daily-budget concept on the platform); sending daily returns 422. OpenAI Ads lifetime budgets require `endDate` to give the lifetime cap a spend window.
40380
+ * Required on legacy, multi-creative and Performance Max shapes. Inherited on attach. OpenAI Ads creation accepts lifetime only; sending daily returns 422 (daily caps can be set afterwards with PUT /v1/ads/campaigns/{campaignId}). OpenAI Ads lifetime budgets require `endDate` to give the lifetime cap a spend window.
40375
40381
  */
40376
40382
  budgetType?: 'daily' | 'lifetime';
40377
40383
  /**
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.921",
39
+ version: "0.2.923",
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.921",
8
+ version: "0.2.923",
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.921",
3
+ "version": "0.2.923",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -8866,7 +8866,7 @@ export const getAdCampaignDetails = <ThrowOnError extends boolean = false>(optio
8866
8866
  * | `bidStrategy` | Yes | Yes | 501 |
8867
8867
  * | `bidAmount`, `roasAverageFloor` | 400 (ad-set level) | Yes | 400 |
8868
8868
  * | `portfolioBidStrategyId` | 400 | Yes | 400 |
8869
- * | `budget` (CBO; ABO returns 409) | Yes | Daily only | 501 |
8869
+ * | `budget` (CBO; ABO returns 409) | Yes | Daily only | OpenAI: daily or lifetime; others 501 |
8870
8870
  * | `name` | Yes | 501 | 501 |
8871
8871
  * | `platformSpecificData.spendCap` | Yes | 400 | 400 |
8872
8872
  * | `accountId` (empty campaigns) | Yes | - | - |
@@ -8887,6 +8887,10 @@ export const getAdCampaignDetails = <ThrowOnError extends boolean = false>(optio
8887
8887
  * 409 unless allowSharedBudgetUpdate=true is explicitly supplied, because the change
8888
8888
  * affects every campaign using that budget. Unknown sharing state also returns 409.
8889
8889
  *
8890
+ * OpenAI Ads campaigns carry exactly one spend cap: `budget.type` daily or lifetime
8891
+ * replaces whichever cap the campaign had, with a minimum of 1 in the ad account's
8892
+ * currency (422 below it).
8893
+ *
8890
8894
  * `accountId` forwards the update straight to Meta for a campaign with zero ads,
8891
8895
  * which would otherwise 404; the response then carries `updated: 0`.
8892
8896
  *
@@ -9392,7 +9396,7 @@ export const getAd = <ThrowOnError extends boolean = false>(options: OptionsLega
9392
9396
  * campaign, pauses the old one).
9393
9397
  * - **Pinterest / X / OpenAI Ads**: status + budget only. Sending
9394
9398
  * `targeting` or `creative` returns 501 with code `unsupported_platform_operation`.
9395
- * OpenAI Ads budget is lifetime-only (see `budget.type` below).
9399
+ * OpenAI Ads budget is the campaign's spend cap, daily or lifetime (see `budget.type` below).
9396
9400
  *
9397
9401
  * **Google location and language replacement:** locations, languages and devices are
9398
9402
  * campaign-level criteria on Google, so these edits apply to every ad group and ad in
@@ -1620,10 +1620,13 @@ export type AnalyticsListResponse = {
1620
1620
  */
1621
1621
  isAd?: boolean;
1622
1622
  profileId?: (string) | null;
1623
+ /**
1624
+ * Cover image URL. Facebook and Instagram covers whose Meta CDN link expired are re-read from Meta and served from Zernio storage, so that URL does not expire and can be cached.
1625
+ */
1623
1626
  thumbnailUrl?: string;
1624
1627
  mediaType?: 'image' | 'video' | 'gif' | 'document' | 'carousel' | 'text';
1625
1628
  /**
1626
- * All media items for this post. Carousel posts contain one entry per slide.
1629
+ * All media items for this post. Carousel posts contain one entry per slide. Facebook and Instagram images and video covers whose Meta CDN links expired are re-read and served from Zernio storage (non-expiring). Facebook and Instagram video file URLs, and LinkedIn media URLs, stay the platform's signed links and are refreshed on read once they lapse.
1627
1630
  */
1628
1631
  mediaItems?: Array<{
1629
1632
  type?: 'image' | 'video';
@@ -1711,10 +1714,13 @@ export type AnalyticsSinglePostResponse = {
1711
1714
  * Human-readable status message for pending, partial, or failed states
1712
1715
  */
1713
1716
  message?: (string) | null;
1717
+ /**
1718
+ * Cover image URL. Facebook and Instagram covers whose Meta CDN link expired are re-read from Meta and served from Zernio storage, so that URL does not expire and can be cached.
1719
+ */
1714
1720
  thumbnailUrl?: (string) | null;
1715
1721
  mediaType?: ('image' | 'video' | 'carousel' | 'text') | null;
1716
1722
  /**
1717
- * All media items for this post. Carousel posts contain one entry per slide.
1723
+ * All media items for this post. Carousel posts contain one entry per slide. Facebook and Instagram images and video covers whose Meta CDN links expired are re-read and served from Zernio storage (non-expiring). Facebook and Instagram video file URLs, and LinkedIn media URLs, stay the platform's signed links and are refreshed on read once they lapse.
1718
1724
  */
1719
1725
  mediaItems?: Array<{
1720
1726
  type?: 'image' | 'video';
@@ -35808,7 +35814,7 @@ export type UpdateAdCampaignData = {
35808
35814
  */
35809
35815
  allowSharedBudgetUpdate?: boolean;
35810
35816
  /**
35811
- * Meta CBO or Google daily campaign budget, in whole currency units.
35817
+ * Meta CBO, Google daily, or OpenAI Ads daily or lifetime campaign budget, in whole currency units.
35812
35818
  */
35813
35819
  budget?: {
35814
35820
  /**
@@ -36904,7 +36910,7 @@ export type UpdateAdData = {
36904
36910
  */
36905
36911
  amount?: number;
36906
36912
  /**
36907
- * OpenAI Ads accepts lifetime only; sending daily returns 422.
36913
+ * OpenAI Ads accepts both and sets the campaign's single spend cap, replacing the previous daily or lifetime cap.
36908
36914
  */
36909
36915
  type?: 'daily' | 'lifetime';
36910
36916
  };
@@ -41029,7 +41035,7 @@ export type CreateStandaloneAdData = {
41029
41035
  */
41030
41036
  budgetAmount?: number;
41031
41037
  /**
41032
- * Required on legacy, multi-creative and Performance Max shapes. Inherited on attach. OpenAI Ads accepts lifetime only (no daily-budget concept on the platform); sending daily returns 422. OpenAI Ads lifetime budgets require `endDate` to give the lifetime cap a spend window.
41038
+ * Required on legacy, multi-creative and Performance Max shapes. Inherited on attach. OpenAI Ads creation accepts lifetime only; sending daily returns 422 (daily caps can be set afterwards with PUT /v1/ads/campaigns/{campaignId}). OpenAI Ads lifetime budgets require `endDate` to give the lifetime cap a spend window.
41033
41039
  */
41034
41040
  budgetType?: 'daily' | 'lifetime';
41035
41041
  /**