@getlatedev/node 0.2.1117 → 0.2.1119

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
@@ -8689,7 +8689,10 @@ type ImessageSenderLifecycle = {
8689
8689
  * imessage:// deep link that opens Messages on this sender with a prefilled text. Share it so contacts message you first (Apple only lets a sender reach contacts who wrote to it first); null until the handle is assigned.
8690
8690
  */
8691
8691
  optInLink?: (string) | null;
8692
- status?: 'ordering' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8692
+ /**
8693
+ * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
8694
+ */
8695
+ status?: 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8693
8696
  /**
8694
8697
  * Monthly price billed while the sender is active
8695
8698
  */
@@ -8706,7 +8709,10 @@ type ImessageSenderLifecycle = {
8706
8709
  };
8707
8710
  type kind = 'phone' | 'email';
8708
8711
  type region = 'US' | 'GB';
8709
- type status21 = 'ordering' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8712
+ /**
8713
+ * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
8714
+ */
8715
+ type status21 = 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8710
8716
  /**
8711
8717
  * Attachment snapshot inside an edit-history entry.
8712
8718
  */
@@ -40777,14 +40783,32 @@ type ListAdSetsResponse = ({
40777
40783
  endDate?: string;
40778
40784
  } | null;
40779
40785
  /**
40780
- * The audience this ad set delivers to, as the platform reports it at the last sync.
40781
- * LinkedIn and Meta; null for every other platform and for ad sets not yet re-synced.
40782
- *
40783
- * On Meta it is the ad set's `targeting` verbatim (snake_case: geo_locations,
40784
- * age_min, custom_audiences, flexible_spec, ...), so it can be read, edited and sent
40785
- * back as is. On LinkedIn `include` and `exclude` (below) are the campaign's
40786
- * `targetingCriteria` verbatim, without reconstructing them from our normalized
40787
- * targeting spec.
40786
+ * The audience this ad set delivers to, as the platform reports it at the last sync,
40787
+ * in the platform's own shape. Every platform; null only for an ad set not re-synced
40788
+ * yet, or when the platform's targeting read failed on every sync so far (a failed read
40789
+ * keeps the last stored value).
40790
+ *
40791
+ * - Meta: the ad set's `targeting` verbatim (snake_case: geo_locations, age_min,
40792
+ * custom_audiences, flexible_spec, ...), so it can be read, edited and sent back as is.
40793
+ * - LinkedIn: `include` and `exclude` (below) are the campaign's `targetingCriteria`
40794
+ * verbatim, without reconstructing them from our normalized targeting spec.
40795
+ * - TikTok: the ad group's targeting fields from adgroup/get, verbatim (placement_type,
40796
+ * placements, location_ids, age_groups, gender, languages, interest_category_ids,
40797
+ * actions, audience_ids, excluded_audience_ids, operating_systems, ...). Only fields
40798
+ * TikTok returned are present.
40799
+ * - Google: `campaignCriteria` (LOCATION, LANGUAGE, PROXIMITY, DEVICE, AGE_RANGE, GENDER,
40800
+ * USER_LIST, INCOME_RANGE, PARENTAL_STATUS) and `adGroupCriteria` (AGE_RANGE, GENDER,
40801
+ * USER_LIST, USER_INTEREST, INCOME_RANGE, PARENTAL_STATUS), each a Google criterion
40802
+ * verbatim (camelCase: resourceName, type, negative, bidModifier and the payload its type sets, for
40803
+ * example `location.geoTargetConstant`). Most Google targeting lives on the campaign,
40804
+ * so every ad group of a campaign carries the same `campaignCriteria`. Keywords are
40805
+ * not included (they have their own endpoints). Synced on Google's slower keyword cycle.
40806
+ * - Pinterest: the ad group's `targeting_spec` verbatim (GEO, AGE_BUCKET, GENDER,
40807
+ * INTEREST, AUDIENCE_INCLUDE, LOCALE, ...).
40808
+ * - X: `targeting_criteria`, the line item's criteria as X lists them (targeting_type,
40809
+ * targeting_value, operator_type, name), the same shape X's batch create takes.
40810
+ * - OpenAI: the campaign's `targeting` (OpenAI targets at the campaign), plus the ad
40811
+ * group's `context_hints` when it has any.
40788
40812
  *
40789
40813
  */
40790
40814
  targeting?: {
@@ -40817,19 +40841,19 @@ type ListAdSetsResponse = ({
40817
40841
  */
40818
40842
  statusReadAt?: (string) | null;
40819
40843
  /**
40820
- * The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS). On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
40844
+ * The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS; TikTok `optimization_goal`; Pinterest the conversion event of `optimization_goal_metadata`, for example CHECKOUT; X the line item `goal`; OpenAI the campaign `bidding_type`). Always null on Google, which has no per-ad-group optimization goal. On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
40821
40845
  */
40822
40846
  optimizationGoal?: (string) | null;
40823
40847
  /**
40824
- * The ad set's billing event as last synced, where the platform reports one. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
40848
+ * The ad set's billing event as last synced, in the platform's own enum (Meta `billing_event`, TikTok `billing_event`, Pinterest `billable_event`, X `pay_by`, OpenAI `bidding_config.billing_event_type`). Always null on Google, which reports none per ad group. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
40825
40849
  */
40826
40850
  billingEvent?: (string) | null;
40827
40851
  /**
40828
- * The bid strategy as last synced, in the platform's own enum (Meta `bid_strategy`, for example LOWEST_COST_WITHOUT_CAP, COST_CAP). On Meta under a campaign budget this is the campaign's strategy.
40852
+ * The bid strategy as last synced, in Meta's vocabulary (LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS) on every platform that has an equivalent. On Meta under a campaign budget this is the campaign's strategy. TikTok maps bid_type / deep_bid_type, Pinterest AUTOMATIC_BID / MAX_BID / TARGET_AVG, X AUTO / MAX / TARGET, OpenAI Maximize Results / a max bid. Google bids at the campaign, so an ad group carries its campaign's strategy; one without a Meta equivalent (MANUAL_CPC, TARGET_IMPRESSION_SHARE, or a portfolio strategy's type such as TARGET_CPA) keeps Google's own name. Null on LinkedIn.
40829
40853
  */
40830
40854
  bidStrategy?: (string) | null;
40831
40855
  /**
40832
- * Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none.
40856
+ * Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none (automatic bidding, ROAS targets, a Google portfolio strategy). On Google a campaign target CPA, a Maximize clicks ceiling, the ad group's own target CPA override, or its CPC bid under MANUAL_CPC.
40833
40857
  */
40834
40858
  bidAmount?: (number) | null;
40835
40859
  /**
package/dist/index.d.ts CHANGED
@@ -8689,7 +8689,10 @@ type ImessageSenderLifecycle = {
8689
8689
  * imessage:// deep link that opens Messages on this sender with a prefilled text. Share it so contacts message you first (Apple only lets a sender reach contacts who wrote to it first); null until the handle is assigned.
8690
8690
  */
8691
8691
  optInLink?: (string) | null;
8692
- status?: 'ordering' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8692
+ /**
8693
+ * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
8694
+ */
8695
+ status?: 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8693
8696
  /**
8694
8697
  * Monthly price billed while the sender is active
8695
8698
  */
@@ -8706,7 +8709,10 @@ type ImessageSenderLifecycle = {
8706
8709
  };
8707
8710
  type kind = 'phone' | 'email';
8708
8711
  type region = 'US' | 'GB';
8709
- type status21 = 'ordering' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8712
+ /**
8713
+ * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
8714
+ */
8715
+ type status21 = 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
8710
8716
  /**
8711
8717
  * Attachment snapshot inside an edit-history entry.
8712
8718
  */
@@ -40777,14 +40783,32 @@ type ListAdSetsResponse = ({
40777
40783
  endDate?: string;
40778
40784
  } | null;
40779
40785
  /**
40780
- * The audience this ad set delivers to, as the platform reports it at the last sync.
40781
- * LinkedIn and Meta; null for every other platform and for ad sets not yet re-synced.
40782
- *
40783
- * On Meta it is the ad set's `targeting` verbatim (snake_case: geo_locations,
40784
- * age_min, custom_audiences, flexible_spec, ...), so it can be read, edited and sent
40785
- * back as is. On LinkedIn `include` and `exclude` (below) are the campaign's
40786
- * `targetingCriteria` verbatim, without reconstructing them from our normalized
40787
- * targeting spec.
40786
+ * The audience this ad set delivers to, as the platform reports it at the last sync,
40787
+ * in the platform's own shape. Every platform; null only for an ad set not re-synced
40788
+ * yet, or when the platform's targeting read failed on every sync so far (a failed read
40789
+ * keeps the last stored value).
40790
+ *
40791
+ * - Meta: the ad set's `targeting` verbatim (snake_case: geo_locations, age_min,
40792
+ * custom_audiences, flexible_spec, ...), so it can be read, edited and sent back as is.
40793
+ * - LinkedIn: `include` and `exclude` (below) are the campaign's `targetingCriteria`
40794
+ * verbatim, without reconstructing them from our normalized targeting spec.
40795
+ * - TikTok: the ad group's targeting fields from adgroup/get, verbatim (placement_type,
40796
+ * placements, location_ids, age_groups, gender, languages, interest_category_ids,
40797
+ * actions, audience_ids, excluded_audience_ids, operating_systems, ...). Only fields
40798
+ * TikTok returned are present.
40799
+ * - Google: `campaignCriteria` (LOCATION, LANGUAGE, PROXIMITY, DEVICE, AGE_RANGE, GENDER,
40800
+ * USER_LIST, INCOME_RANGE, PARENTAL_STATUS) and `adGroupCriteria` (AGE_RANGE, GENDER,
40801
+ * USER_LIST, USER_INTEREST, INCOME_RANGE, PARENTAL_STATUS), each a Google criterion
40802
+ * verbatim (camelCase: resourceName, type, negative, bidModifier and the payload its type sets, for
40803
+ * example `location.geoTargetConstant`). Most Google targeting lives on the campaign,
40804
+ * so every ad group of a campaign carries the same `campaignCriteria`. Keywords are
40805
+ * not included (they have their own endpoints). Synced on Google's slower keyword cycle.
40806
+ * - Pinterest: the ad group's `targeting_spec` verbatim (GEO, AGE_BUCKET, GENDER,
40807
+ * INTEREST, AUDIENCE_INCLUDE, LOCALE, ...).
40808
+ * - X: `targeting_criteria`, the line item's criteria as X lists them (targeting_type,
40809
+ * targeting_value, operator_type, name), the same shape X's batch create takes.
40810
+ * - OpenAI: the campaign's `targeting` (OpenAI targets at the campaign), plus the ad
40811
+ * group's `context_hints` when it has any.
40788
40812
  *
40789
40813
  */
40790
40814
  targeting?: {
@@ -40817,19 +40841,19 @@ type ListAdSetsResponse = ({
40817
40841
  */
40818
40842
  statusReadAt?: (string) | null;
40819
40843
  /**
40820
- * The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS). On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
40844
+ * The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS; TikTok `optimization_goal`; Pinterest the conversion event of `optimization_goal_metadata`, for example CHECKOUT; X the line item `goal`; OpenAI the campaign `bidding_type`). Always null on Google, which has no per-ad-group optimization goal. On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
40821
40845
  */
40822
40846
  optimizationGoal?: (string) | null;
40823
40847
  /**
40824
- * The ad set's billing event as last synced, where the platform reports one. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
40848
+ * The ad set's billing event as last synced, in the platform's own enum (Meta `billing_event`, TikTok `billing_event`, Pinterest `billable_event`, X `pay_by`, OpenAI `bidding_config.billing_event_type`). Always null on Google, which reports none per ad group. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
40825
40849
  */
40826
40850
  billingEvent?: (string) | null;
40827
40851
  /**
40828
- * The bid strategy as last synced, in the platform's own enum (Meta `bid_strategy`, for example LOWEST_COST_WITHOUT_CAP, COST_CAP). On Meta under a campaign budget this is the campaign's strategy.
40852
+ * The bid strategy as last synced, in Meta's vocabulary (LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS) on every platform that has an equivalent. On Meta under a campaign budget this is the campaign's strategy. TikTok maps bid_type / deep_bid_type, Pinterest AUTOMATIC_BID / MAX_BID / TARGET_AVG, X AUTO / MAX / TARGET, OpenAI Maximize Results / a max bid. Google bids at the campaign, so an ad group carries its campaign's strategy; one without a Meta equivalent (MANUAL_CPC, TARGET_IMPRESSION_SHARE, or a portfolio strategy's type such as TARGET_CPA) keeps Google's own name. Null on LinkedIn.
40829
40853
  */
40830
40854
  bidStrategy?: (string) | null;
40831
40855
  /**
40832
- * Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none.
40856
+ * Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none (automatic bidding, ROAS targets, a Google portfolio strategy). On Google a campaign target CPA, a Maximize clicks ceiling, the ad group's own target CPA override, or its CPC bid under MANUAL_CPC.
40833
40857
  */
40834
40858
  bidAmount?: (number) | null;
40835
40859
  /**
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.1117",
39
+ version: "0.2.1119",
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.1117",
8
+ version: "0.2.1119",
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.1117",
3
+ "version": "0.2.1119",
4
4
  "description": "The official Node.js library for the Zernio API",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -5700,7 +5700,9 @@ export const listImessageSenderOrders = <ThrowOnError extends boolean = false>(o
5700
5700
  * GET /v1/imessage/senders/{senderId} or subscribe to the
5701
5701
  * account.connected webhook. Billing starts at activation (monthly per
5702
5702
  * sender, no proration); when the account spend threshold is below the
5703
- * sender price, the first month is charged before the number is bought. Requires usage-based billing and a valid
5703
+ * sender price, the first month is charged before the number is bought; when the card's
5704
+ * answer takes longer than this request, the order is returned as `status: awaiting_payment`
5705
+ * and the number is ordered automatically once it is paid (usually under 5 minutes). Requires usage-based billing and a valid
5704
5706
  * payment method. Pass purchaseIntentId to make retries idempotent —
5705
5707
  * the provider-side order is never retried automatically. Ordered phone
5706
5708
  * senders include SMS/RCS fallback with call forwarding and the ability
@@ -6995,7 +6995,10 @@ export type ImessageSenderLifecycle = {
6995
6995
  * imessage:// deep link that opens Messages on this sender with a prefilled text. Share it so contacts message you first (Apple only lets a sender reach contacts who wrote to it first); null until the handle is assigned.
6996
6996
  */
6997
6997
  optInLink?: (string) | null;
6998
- status?: 'ordering' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
6998
+ /**
6999
+ * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
7000
+ */
7001
+ status?: 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
6999
7002
  /**
7000
7003
  * Monthly price billed while the sender is active
7001
7004
  */
@@ -7015,7 +7018,10 @@ export type kind = 'phone' | 'email';
7015
7018
 
7016
7019
  export type region = 'US' | 'GB';
7017
7020
 
7018
- export type status21 = 'ordering' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
7021
+ /**
7022
+ * `awaiting_payment`: the first-month charge is still being confirmed by the card; the number is ordered automatically once it is paid (usually under 5 minutes), or the order fails with `failureReason` when the card declines or nothing confirms within 30 minutes.
7023
+ */
7024
+ export type status21 = 'ordering' | 'awaiting_payment' | 'activating' | 'active' | 'suspended' | 'canceled' | 'failed';
7019
7025
 
7020
7026
  /**
7021
7027
  * Attachment snapshot inside an edit-history entry.
@@ -41233,14 +41239,32 @@ export type ListAdSetsResponse = ({
41233
41239
  endDate?: string;
41234
41240
  } | null;
41235
41241
  /**
41236
- * The audience this ad set delivers to, as the platform reports it at the last sync.
41237
- * LinkedIn and Meta; null for every other platform and for ad sets not yet re-synced.
41238
- *
41239
- * On Meta it is the ad set's `targeting` verbatim (snake_case: geo_locations,
41240
- * age_min, custom_audiences, flexible_spec, ...), so it can be read, edited and sent
41241
- * back as is. On LinkedIn `include` and `exclude` (below) are the campaign's
41242
- * `targetingCriteria` verbatim, without reconstructing them from our normalized
41243
- * targeting spec.
41242
+ * The audience this ad set delivers to, as the platform reports it at the last sync,
41243
+ * in the platform's own shape. Every platform; null only for an ad set not re-synced
41244
+ * yet, or when the platform's targeting read failed on every sync so far (a failed read
41245
+ * keeps the last stored value).
41246
+ *
41247
+ * - Meta: the ad set's `targeting` verbatim (snake_case: geo_locations, age_min,
41248
+ * custom_audiences, flexible_spec, ...), so it can be read, edited and sent back as is.
41249
+ * - LinkedIn: `include` and `exclude` (below) are the campaign's `targetingCriteria`
41250
+ * verbatim, without reconstructing them from our normalized targeting spec.
41251
+ * - TikTok: the ad group's targeting fields from adgroup/get, verbatim (placement_type,
41252
+ * placements, location_ids, age_groups, gender, languages, interest_category_ids,
41253
+ * actions, audience_ids, excluded_audience_ids, operating_systems, ...). Only fields
41254
+ * TikTok returned are present.
41255
+ * - Google: `campaignCriteria` (LOCATION, LANGUAGE, PROXIMITY, DEVICE, AGE_RANGE, GENDER,
41256
+ * USER_LIST, INCOME_RANGE, PARENTAL_STATUS) and `adGroupCriteria` (AGE_RANGE, GENDER,
41257
+ * USER_LIST, USER_INTEREST, INCOME_RANGE, PARENTAL_STATUS), each a Google criterion
41258
+ * verbatim (camelCase: resourceName, type, negative, bidModifier and the payload its type sets, for
41259
+ * example `location.geoTargetConstant`). Most Google targeting lives on the campaign,
41260
+ * so every ad group of a campaign carries the same `campaignCriteria`. Keywords are
41261
+ * not included (they have their own endpoints). Synced on Google's slower keyword cycle.
41262
+ * - Pinterest: the ad group's `targeting_spec` verbatim (GEO, AGE_BUCKET, GENDER,
41263
+ * INTEREST, AUDIENCE_INCLUDE, LOCALE, ...).
41264
+ * - X: `targeting_criteria`, the line item's criteria as X lists them (targeting_type,
41265
+ * targeting_value, operator_type, name), the same shape X's batch create takes.
41266
+ * - OpenAI: the campaign's `targeting` (OpenAI targets at the campaign), plus the ad
41267
+ * group's `context_hints` when it has any.
41244
41268
  *
41245
41269
  */
41246
41270
  targeting?: {
@@ -41273,19 +41297,19 @@ export type ListAdSetsResponse = ({
41273
41297
  */
41274
41298
  statusReadAt?: (string) | null;
41275
41299
  /**
41276
- * The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS). On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
41300
+ * The ad set's optimization goal as last synced, in the platform's own enum (Meta `optimization_goal`, for example OFFSITE_CONVERSIONS or LINK_CLICKS; TikTok `optimization_goal`; Pinterest the conversion event of `optimization_goal_metadata`, for example CHECKOUT; X the line item `goal`; OpenAI the campaign `bidding_type`). Always null on Google, which has no per-ad-group optimization goal. On TikTok with `live=true`, rows read live carry the ad group's `optimization_goal` exactly as TikTok's adgroup/get returns it now (for example ENGAGED_VIEW, ENGAGED_VIEW_FIFTEEN, CLICK, CONVERT).
41277
41301
  */
41278
41302
  optimizationGoal?: (string) | null;
41279
41303
  /**
41280
- * The ad set's billing event as last synced, where the platform reports one. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
41304
+ * The ad set's billing event as last synced, in the platform's own enum (Meta `billing_event`, TikTok `billing_event`, Pinterest `billable_event`, X `pay_by`, OpenAI `bidding_config.billing_event_type`). Always null on Google, which reports none per ad group. On TikTok with `live=true`, rows read live carry the ad group's `billing_event` exactly as TikTok's adgroup/get returns it now (for example CPV, CPC, OCPM).
41281
41305
  */
41282
41306
  billingEvent?: (string) | null;
41283
41307
  /**
41284
- * The bid strategy as last synced, in the platform's own enum (Meta `bid_strategy`, for example LOWEST_COST_WITHOUT_CAP, COST_CAP). On Meta under a campaign budget this is the campaign's strategy.
41308
+ * The bid strategy as last synced, in Meta's vocabulary (LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS) on every platform that has an equivalent. On Meta under a campaign budget this is the campaign's strategy. TikTok maps bid_type / deep_bid_type, Pinterest AUTOMATIC_BID / MAX_BID / TARGET_AVG, X AUTO / MAX / TARGET, OpenAI Maximize Results / a max bid. Google bids at the campaign, so an ad group carries its campaign's strategy; one without a Meta equivalent (MANUAL_CPC, TARGET_IMPRESSION_SHARE, or a portfolio strategy's type such as TARGET_CPA) keeps Google's own name. Null on LinkedIn.
41285
41309
  */
41286
41310
  bidStrategy?: (string) | null;
41287
41311
  /**
41288
- * Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none.
41312
+ * Bid cap or cost target in whole units of `currency`, as last synced. Null when the strategy has none (automatic bidding, ROAS targets, a Google portfolio strategy). On Google a campaign target CPA, a Maximize clicks ceiling, the ad group's own target CPA override, or its CPC bid under MANUAL_CPC.
41289
41313
  */
41290
41314
  bidAmount?: (number) | null;
41291
41315
  /**