@zernio/node 0.2.983 → 0.2.985

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
@@ -1960,7 +1960,7 @@ type Ad = {
1960
1960
  */
1961
1961
  status?: (AdStatus);
1962
1962
  /**
1963
- * The ad's own on/off toggle as configured on the platform (Meta `configured_status`, ChatGPT (OpenAI) ad `status`: ACTIVE / PAUSED, plus ARCHIVED on OpenAI), unaffected by ancestor (ad set / campaign) pauses. Distinct from `status`, which is the ancestor-cascaded delivery status. Only present for Meta and OpenAI ads synced after this field was added.
1963
+ * The ad's own on/off switch as configured on the platform, independent of its parents: an ACTIVE ad under a paused ad set or campaign still reads ACTIVE here while `status` reads `paused`. Sources: Meta `configured_status`, TikTok ad `operation_status` (ENABLE -> ACTIVE, DISABLE -> PAUSED), ChatGPT (OpenAI) ad `status` (ACTIVE / PAUSED, plus ARCHIVED on OpenAI). Distinct from `status`, which is the ancestor-cascaded delivery status. Only present for Meta, TikTok and OpenAI ads created or synced after the field was added for that platform; null otherwise.
1964
1964
  */
1965
1965
  configuredStatus?: (string) | null;
1966
1966
  /**
@@ -2272,6 +2272,9 @@ type Ad = {
2272
2272
  targeting?: {
2273
2273
  [key: string]: unknown;
2274
2274
  };
2275
+ /**
2276
+ * Delivery window as UTC instants. For ads created through Zernio this is the start and end the platform stored (on TikTok, read back from the ad group and converted from the ad account timezone); `startDate` is the creation time only when no start was requested.
2277
+ */
2275
2278
  schedule?: {
2276
2279
  startDate?: string;
2277
2280
  endDate?: string;
@@ -2356,7 +2359,7 @@ type AdCampaign = {
2356
2359
  */
2357
2360
  reviewStatus?: (AdReviewStatus | null);
2358
2361
  /**
2359
- * Raw platform-level campaign status (Meta `effective_status`; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived).
2362
+ * Raw platform-level campaign status (Meta `effective_status`; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived; TikTok: the campaign's own switch `operation_status`, ENABLE / DISABLE).
2360
2363
  */
2361
2364
  platformCampaignStatus?: (string) | null;
2362
2365
  /**
@@ -3233,7 +3236,7 @@ type AdTreeCampaign = {
3233
3236
  */
3234
3237
  reviewStatus?: (AdReviewStatus | null);
3235
3238
  /**
3236
- * Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived, independent of the delivery `status`). Distinct from per-ad `platformStatus`.
3239
+ * Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived, independent of the delivery `status`; TikTok: the campaign's own switch `operation_status`, ENABLE / DISABLE). Distinct from per-ad `platformStatus`.
3237
3240
  */
3238
3241
  platformCampaignStatus?: (string) | null;
3239
3242
  /**
@@ -38406,6 +38409,9 @@ type ListAdSetsResponse = ({
38406
38409
  platform?: string;
38407
38410
  adSetName?: (string) | null;
38408
38411
  status?: (string) | null;
38412
+ /**
38413
+ * Raw platform ad set status. On TikTok the ad group's own switch `operation_status` (ENABLE / DISABLE), independent of its campaign.
38414
+ */
38409
38415
  platformAdSetStatus?: (string) | null;
38410
38416
  platformCampaignId?: (string) | null;
38411
38417
  platformAdAccountId?: string;
@@ -44104,13 +44110,17 @@ type CreateStandaloneAdData = {
44104
44110
  [key: string]: (number);
44105
44111
  };
44106
44112
  /**
44107
- * Required for lifetime budgets
44113
+ * Required for lifetime budgets. On TikTok a value without an offset (`YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DD`) is read in the ad account timezone.
44108
44114
  */
44109
44115
  endDate?: string;
44110
44116
  /**
44111
- * Meta only. Ad-set start time (ISO 8601, e.g. "2026-06-10T09:00:00Z"), mapped to the
44112
- * ad set's `start_time`. When omitted the ad starts delivering immediately. For lifetime
44113
- * budgets Meta also requires `endDate`. Same field as on `POST /v1/ads/boost`.
44117
+ * Ad-set start time (ISO 8601, e.g. "2026-06-10T09:00:00Z"), mapped to the ad set's
44118
+ * start (Meta `start_time`, TikTok ad group `schedule_start_time`, LinkedIn / Pinterest / X
44119
+ * / Google campaign start). When omitted the ad starts delivering immediately. For lifetime
44120
+ * budgets Meta also requires `endDate`. On TikTok a value without an offset
44121
+ * (`YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DD`) is read in the ad account timezone. The created
44122
+ * ad's `schedule` echoes the start and end the platform stored, as UTC instants. Same field
44123
+ * as on `POST /v1/ads/boost`.
44114
44124
  *
44115
44125
  */
44116
44126
  startDate?: string;
package/dist/index.d.ts CHANGED
@@ -1960,7 +1960,7 @@ type Ad = {
1960
1960
  */
1961
1961
  status?: (AdStatus);
1962
1962
  /**
1963
- * The ad's own on/off toggle as configured on the platform (Meta `configured_status`, ChatGPT (OpenAI) ad `status`: ACTIVE / PAUSED, plus ARCHIVED on OpenAI), unaffected by ancestor (ad set / campaign) pauses. Distinct from `status`, which is the ancestor-cascaded delivery status. Only present for Meta and OpenAI ads synced after this field was added.
1963
+ * The ad's own on/off switch as configured on the platform, independent of its parents: an ACTIVE ad under a paused ad set or campaign still reads ACTIVE here while `status` reads `paused`. Sources: Meta `configured_status`, TikTok ad `operation_status` (ENABLE -> ACTIVE, DISABLE -> PAUSED), ChatGPT (OpenAI) ad `status` (ACTIVE / PAUSED, plus ARCHIVED on OpenAI). Distinct from `status`, which is the ancestor-cascaded delivery status. Only present for Meta, TikTok and OpenAI ads created or synced after the field was added for that platform; null otherwise.
1964
1964
  */
1965
1965
  configuredStatus?: (string) | null;
1966
1966
  /**
@@ -2272,6 +2272,9 @@ type Ad = {
2272
2272
  targeting?: {
2273
2273
  [key: string]: unknown;
2274
2274
  };
2275
+ /**
2276
+ * Delivery window as UTC instants. For ads created through Zernio this is the start and end the platform stored (on TikTok, read back from the ad group and converted from the ad account timezone); `startDate` is the creation time only when no start was requested.
2277
+ */
2275
2278
  schedule?: {
2276
2279
  startDate?: string;
2277
2280
  endDate?: string;
@@ -2356,7 +2359,7 @@ type AdCampaign = {
2356
2359
  */
2357
2360
  reviewStatus?: (AdReviewStatus | null);
2358
2361
  /**
2359
- * Raw platform-level campaign status (Meta `effective_status`; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived).
2362
+ * Raw platform-level campaign status (Meta `effective_status`; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived; TikTok: the campaign's own switch `operation_status`, ENABLE / DISABLE).
2360
2363
  */
2361
2364
  platformCampaignStatus?: (string) | null;
2362
2365
  /**
@@ -3233,7 +3236,7 @@ type AdTreeCampaign = {
3233
3236
  */
3234
3237
  reviewStatus?: (AdReviewStatus | null);
3235
3238
  /**
3236
- * Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived, independent of the delivery `status`). Distinct from per-ad `platformStatus`.
3239
+ * Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived, independent of the delivery `status`; TikTok: the campaign's own switch `operation_status`, ENABLE / DISABLE). Distinct from per-ad `platformStatus`.
3237
3240
  */
3238
3241
  platformCampaignStatus?: (string) | null;
3239
3242
  /**
@@ -38406,6 +38409,9 @@ type ListAdSetsResponse = ({
38406
38409
  platform?: string;
38407
38410
  adSetName?: (string) | null;
38408
38411
  status?: (string) | null;
38412
+ /**
38413
+ * Raw platform ad set status. On TikTok the ad group's own switch `operation_status` (ENABLE / DISABLE), independent of its campaign.
38414
+ */
38409
38415
  platformAdSetStatus?: (string) | null;
38410
38416
  platformCampaignId?: (string) | null;
38411
38417
  platformAdAccountId?: string;
@@ -44104,13 +44110,17 @@ type CreateStandaloneAdData = {
44104
44110
  [key: string]: (number);
44105
44111
  };
44106
44112
  /**
44107
- * Required for lifetime budgets
44113
+ * Required for lifetime budgets. On TikTok a value without an offset (`YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DD`) is read in the ad account timezone.
44108
44114
  */
44109
44115
  endDate?: string;
44110
44116
  /**
44111
- * Meta only. Ad-set start time (ISO 8601, e.g. "2026-06-10T09:00:00Z"), mapped to the
44112
- * ad set's `start_time`. When omitted the ad starts delivering immediately. For lifetime
44113
- * budgets Meta also requires `endDate`. Same field as on `POST /v1/ads/boost`.
44117
+ * Ad-set start time (ISO 8601, e.g. "2026-06-10T09:00:00Z"), mapped to the ad set's
44118
+ * start (Meta `start_time`, TikTok ad group `schedule_start_time`, LinkedIn / Pinterest / X
44119
+ * / Google campaign start). When omitted the ad starts delivering immediately. For lifetime
44120
+ * budgets Meta also requires `endDate`. On TikTok a value without an offset
44121
+ * (`YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DD`) is read in the ad account timezone. The created
44122
+ * ad's `schedule` echoes the start and end the platform stored, as UTC instants. Same field
44123
+ * as on `POST /v1/ads/boost`.
44114
44124
  *
44115
44125
  */
44116
44126
  startDate?: string;
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.983",
39
+ version: "0.2.985",
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.983",
8
+ version: "0.2.985",
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.983",
3
+ "version": "0.2.985",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -13650,6 +13650,10 @@ export const startBusinessAgentEvalRun = <ThrowOnError extends boolean = false>(
13650
13650
  * `siteTagId` the alphanumeric `pixel_code` from Events Manager. Connections authorized
13651
13651
  * before the Pixel Management permission (about 2026-05-28) answer 403 until reconnected.
13652
13652
  *
13653
+ * X Ads (platform `xads`): one X Pixel per X ad account, so `TrackingTag.id` is the ad
13654
+ * account id (base36, e.g. `18ce54d4x5t`) and `siteTagId` is the pixel id the site embeds.
13655
+ * Ad accounts without a pixel are left out. `adAccountId` scopes the list to one ad account.
13656
+ *
13653
13657
  */
13654
13658
  export const listTrackingTags = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListTrackingTagsData, ThrowOnError>) => {
13655
13659
  return (options?.client ?? client).get<ListTrackingTagsResponse, ListTrackingTagsError, ThrowOnError>({
@@ -13712,6 +13716,14 @@ export const listTrackingTags = <ThrowOnError extends boolean = false>(options:
13712
13716
  * most 40 characters with no emoji and must be unique; TikTok refuses a duplicate name
13713
13717
  * (400), which is its only retry guard. TikTok has no pixel delete API.
13714
13718
  *
13719
+ * Pinterest's `code` snippet. NOT idempotent and Pinterest has no dry-run and no delete for
13720
+ * tags, so never retry blindly: list first.
13721
+ *
13722
+ * X Ads (platform `xads`): creates the ad account's X Pixel (its UNIVERSAL website tag) with
13723
+ * first-party cookies on. `adAccountId` is the X ad account id; `name` is not stored (X
13724
+ * pixels have no name). X allows one pixel per ad account and cannot delete one, so an
13725
+ * account that already has a pixel answers 409 without writing anything.
13726
+ *
13715
13727
  */
13716
13728
  export const createTrackingTag = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateTrackingTagData, ThrowOnError>) => {
13717
13729
  return (options?.client ?? client).post<CreateTrackingTagResponse, CreateTrackingTagError, ThrowOnError>({
@@ -13749,6 +13761,11 @@ export const createTrackingTag = <ThrowOnError extends boolean = false>(options:
13749
13761
  * the pixel events. `lastFiredTime` is not available on TikTok. Without `adAccountId` the
13750
13762
  * connection's advertisers are searched.
13751
13763
  *
13764
+ * X Ads (platform `xads`): `tagId` is the X ad account id. Returns the pixel id as
13765
+ * `siteTagId`, the X Pixel base code as `code`, and the conversion events the site can fire
13766
+ * in `events` (each with `siteEventId` = `tw-<pixel>-<event>`, also the `event_id` of the X
13767
+ * Conversions API). An ad account without a pixel answers 400.
13768
+ *
13752
13769
  */
13753
13770
  export const getTrackingTag = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetTrackingTagData, ThrowOnError>) => {
13754
13771
  return (options?.client ?? client).get<GetTrackingTagResponse, GetTrackingTagError, ThrowOnError>({
@@ -13796,6 +13813,14 @@ export const getTrackingTag = <ThrowOnError extends boolean = false>(options: Op
13796
13813
  * (enabled or disabled). TikTok has no pixel delete: the endpoint is absent from its API and
13797
13814
  * `POST /pixel/delete/` answers 404.
13798
13815
  *
13816
+ * Pinterest (platform `pinterestads`): 501. Pinterest API v5 only creates, lists and reads
13817
+ * tags (no update endpoint); rename a tag or change its enhanced match settings in Pinterest
13818
+ * Ads Manager.
13819
+ *
13820
+ * X Ads (platform `xads`): only `firstPartyCookieStatus` (`first_party_cookie_enabled` or
13821
+ * `first_party_cookie_disabled`), which sets the pixel's first-party cookie setting. X has
13822
+ * no API to rename or delete a pixel.
13823
+ *
13799
13824
  */
13800
13825
  export const updateTrackingTag = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateTrackingTagData, ThrowOnError>) => {
13801
13826
  return (options?.client ?? client).patch<UpdateTrackingTagResponse, UpdateTrackingTagError, ThrowOnError>({
@@ -14026,6 +14051,10 @@ export const removeTrackingTagFromStore = <ThrowOnError extends boolean = false>
14026
14051
  * hours, so a just-created event can be missing. `siteEventId` is the `ttq.track()` name the
14027
14052
  * site fires.
14028
14053
  *
14054
+ * X Ads (platform `xads`): the ad account's web event tags the site can fire. Events X
14055
+ * auto-creates with the pixel (site visits, landing page views, one per standard type) share the
14056
+ * pixel id, cannot be fired one by one and are left out; they still appear in stats.
14057
+ *
14029
14058
  */
14030
14059
  export const listTrackingTagEvents = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListTrackingTagEventsData, ThrowOnError>) => {
14031
14060
  return (options?.client ?? client).get<ListTrackingTagEventsResponse, ListTrackingTagEventsError, ThrowOnError>({
@@ -14098,6 +14127,14 @@ export const listTrackingTagEvents = <ThrowOnError extends boolean = false>(opti
14098
14127
  * is read back from the pixel, and while TikTok's listing has not refreshed the response
14099
14128
  * carries an empty `id` and `status: pending`.
14100
14129
  *
14130
+ * X Ads (platform `xads`): creates a web event tag. Fields: `name`, `type` (X enum:
14131
+ * ADDED_PAYMENT_INFO, ADD_TO_CART, ADD_TO_WISHLIST, CHECKOUT_INITIATED, CONTENT_VIEW,
14132
+ * CUSTOM, DOWNLOAD, INSTALL, LANDING_PAGE_VIEW, LOGIN, PRODUCT_CUSTOMIZATION, PURCHASE,
14133
+ * SEARCH, SESSION, SIGN_UP, SITE_VISIT, START_TRIAL, SUBSCRIBE) or `siteEvent`,
14134
+ * `clickWindowDays` (1, 7, 14, 30, 60 or 90; default 30) and `viewWindowDays` (0, 1, 7, 14,
14135
+ * 30, 60 or 90, at most the click window; default 1). Retargeting is enabled, as in Events
14136
+ * Manager.
14137
+ *
14101
14138
  */
14102
14139
  export const createTrackingTagEvent = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateTrackingTagEventData, ThrowOnError>) => {
14103
14140
  return (options?.client ?? client).post<CreateTrackingTagEventResponse, CreateTrackingTagEventError, ThrowOnError>({
@@ -14132,6 +14169,9 @@ export const createTrackingTagEvent = <ThrowOnError extends boolean = false>(opt
14132
14169
  * TikTok: `name`, `defaultValue` and `currency` (USD, JPY or INR); the type cannot change
14133
14170
  * (delete and recreate).
14134
14171
  *
14172
+ * X Ads (platform `xads`): the same fields as create. Events X auto-created with the pixel
14173
+ * cannot be changed (400).
14174
+ *
14135
14175
  */
14136
14176
  export const updateTrackingTagEvent = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateTrackingTagEventData, ThrowOnError>) => {
14137
14177
  return (options?.client ?? client).patch<UpdateTrackingTagEventResponse, UpdateTrackingTagEventError, ThrowOnError>({
@@ -14166,6 +14206,10 @@ export const updateTrackingTagEvent = <ThrowOnError extends boolean = false>(opt
14166
14206
  * TikTok: hard delete (`/pixel/event/delete/`); TikTok refuses events bound to an ad group
14167
14207
  * (400).
14168
14208
  *
14209
+ * X Ads (platform `xads`): deletes the web event tag for good. Events X auto-created with
14210
+ * the pixel cannot be deleted (400). X keeps the event's own website tag id on the account
14211
+ * (it has no delete for website tags), left without a conversion event.
14212
+ *
14169
14213
  */
14170
14214
  export const deleteTrackingTagEvent = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DeleteTrackingTagEventData, ThrowOnError>) => {
14171
14215
  return (options?.client ?? client).delete<DeleteTrackingTagEventResponse, DeleteTrackingTagEventError, ThrowOnError>({
@@ -14291,6 +14335,11 @@ export const getTrackingTagDiagnostics = <ThrowOnError extends boolean = false>(
14291
14335
  * `preview_count`), bucketed by UTC day. Defaults to the last 7 days; at most 30 days per
14292
14336
  * request. `aggregation` is not accepted.
14293
14337
  *
14338
+ * X Ads (platform `xads`): X has no event counts per pixel or event (only campaign-level
14339
+ * conversion metrics). Each row is one web event tag with its `status` (TRACKING,
14340
+ * UNVERIFIED, DORMANT), `lastTrackedTime` (unix seconds, null if never seen), `autoCreated`
14341
+ * and, for events the site can fire, `siteEventId`.
14342
+ *
14294
14343
  */
14295
14344
  export const getTrackingTagStats = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetTrackingTagStatsData, ThrowOnError>) => {
14296
14345
  return (options?.client ?? client).get<GetTrackingTagStatsResponse, GetTrackingTagStatsError, ThrowOnError>({
@@ -92,7 +92,7 @@ export type Ad = {
92
92
  */
93
93
  status?: (AdStatus);
94
94
  /**
95
- * The ad's own on/off toggle as configured on the platform (Meta `configured_status`, ChatGPT (OpenAI) ad `status`: ACTIVE / PAUSED, plus ARCHIVED on OpenAI), unaffected by ancestor (ad set / campaign) pauses. Distinct from `status`, which is the ancestor-cascaded delivery status. Only present for Meta and OpenAI ads synced after this field was added.
95
+ * The ad's own on/off switch as configured on the platform, independent of its parents: an ACTIVE ad under a paused ad set or campaign still reads ACTIVE here while `status` reads `paused`. Sources: Meta `configured_status`, TikTok ad `operation_status` (ENABLE -> ACTIVE, DISABLE -> PAUSED), ChatGPT (OpenAI) ad `status` (ACTIVE / PAUSED, plus ARCHIVED on OpenAI). Distinct from `status`, which is the ancestor-cascaded delivery status. Only present for Meta, TikTok and OpenAI ads created or synced after the field was added for that platform; null otherwise.
96
96
  */
97
97
  configuredStatus?: (string) | null;
98
98
  /**
@@ -404,6 +404,9 @@ export type Ad = {
404
404
  targeting?: {
405
405
  [key: string]: unknown;
406
406
  };
407
+ /**
408
+ * Delivery window as UTC instants. For ads created through Zernio this is the start and end the platform stored (on TikTok, read back from the ad group and converted from the ad account timezone); `startDate` is the creation time only when no start was requested.
409
+ */
407
410
  schedule?: {
408
411
  startDate?: string;
409
412
  endDate?: string;
@@ -496,7 +499,7 @@ export type AdCampaign = {
496
499
  */
497
500
  reviewStatus?: (AdReviewStatus | null);
498
501
  /**
499
- * Raw platform-level campaign status (Meta `effective_status`; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived).
502
+ * Raw platform-level campaign status (Meta `effective_status`; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived; TikTok: the campaign's own switch `operation_status`, ENABLE / DISABLE).
500
503
  */
501
504
  platformCampaignStatus?: (string) | null;
502
505
  /**
@@ -1401,7 +1404,7 @@ export type AdTreeCampaign = {
1401
1404
  */
1402
1405
  reviewStatus?: (AdReviewStatus | null);
1403
1406
  /**
1404
- * Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived, independent of the delivery `status`). Distinct from per-ad `platformStatus`.
1407
+ * Raw platform-level campaign status (Meta `effective_status`: ACTIVE, PAUSED, DELETED, ARCHIVED, IN_PROCESS, WITH_ISSUES; ChatGPT (OpenAI): the campaign's own switch, active / paused / archived, independent of the delivery `status`; TikTok: the campaign's own switch `operation_status`, ENABLE / DISABLE). Distinct from per-ad `platformStatus`.
1405
1408
  */
1406
1409
  platformCampaignStatus?: (string) | null;
1407
1410
  /**
@@ -38806,6 +38809,9 @@ export type ListAdSetsResponse = ({
38806
38809
  platform?: string;
38807
38810
  adSetName?: (string) | null;
38808
38811
  status?: (string) | null;
38812
+ /**
38813
+ * Raw platform ad set status. On TikTok the ad group's own switch `operation_status` (ENABLE / DISABLE), independent of its campaign.
38814
+ */
38809
38815
  platformAdSetStatus?: (string) | null;
38810
38816
  platformCampaignId?: (string) | null;
38811
38817
  platformAdAccountId?: string;
@@ -44845,13 +44851,17 @@ export type CreateStandaloneAdData = {
44845
44851
  [key: string]: (number);
44846
44852
  };
44847
44853
  /**
44848
- * Required for lifetime budgets
44854
+ * Required for lifetime budgets. On TikTok a value without an offset (`YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DD`) is read in the ad account timezone.
44849
44855
  */
44850
44856
  endDate?: string;
44851
44857
  /**
44852
- * Meta only. Ad-set start time (ISO 8601, e.g. "2026-06-10T09:00:00Z"), mapped to the
44853
- * ad set's `start_time`. When omitted the ad starts delivering immediately. For lifetime
44854
- * budgets Meta also requires `endDate`. Same field as on `POST /v1/ads/boost`.
44858
+ * Ad-set start time (ISO 8601, e.g. "2026-06-10T09:00:00Z"), mapped to the ad set's
44859
+ * start (Meta `start_time`, TikTok ad group `schedule_start_time`, LinkedIn / Pinterest / X
44860
+ * / Google campaign start). When omitted the ad starts delivering immediately. For lifetime
44861
+ * budgets Meta also requires `endDate`. On TikTok a value without an offset
44862
+ * (`YYYY-MM-DD HH:MM:SS` or `YYYY-MM-DD`) is read in the ad account timezone. The created
44863
+ * ad's `schedule` echoes the start and end the platform stored, as UTC instants. Same field
44864
+ * as on `POST /v1/ads/boost`.
44855
44865
  *
44856
44866
  */
44857
44867
  startDate?: string;