@getlatedev/node 0.2.404 → 0.2.405

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.
@@ -174,7 +174,9 @@ export const getTikTokAccountInsights = <ThrowOnError extends boolean = false>(o
174
174
  /**
175
175
  * Get YouTube daily views
176
176
  * Returns daily view counts for a YouTube video including views, watch time, and subscriber changes.
177
- * Requires yt-analytics.readonly scope (re-authorization may be needed). Data has a 2-3 day delay. Max 90 days, defaults to last 30 days.
177
+ * Requires yt-analytics.readonly scope (re-authorization may be needed). YouTube finalizes analytics
178
+ * with a ~3-day delay; by default only finalized days are returned, and an explicit endDate can reach
179
+ * into the delay window (see the endDate parameter). Max 90 days, defaults to last 30 days.
178
180
  *
179
181
  */
180
182
  export const getYouTubeDailyViews = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetYouTubeDailyViewsData, ThrowOnError>) => {
@@ -6366,12 +6368,12 @@ export const listAdCampaigns = <ThrowOnError extends boolean = false>(options?:
6366
6368
  };
6367
6369
 
6368
6370
  /**
6369
- * Create a standalone campaign (Meta)
6371
+ * Create a standalone campaign
6370
6372
  * Creates a campaign WITHOUT its first ad set / ad (the ODAX shell only). Ad sets join it
6371
6373
  * later via `existingCampaignId` on the create endpoints. A budget here is campaign-level
6372
6374
  * (CBO) by definition; omit it for ABO (each ad set carries its own budget). Created
6373
6375
  * `PAUSED` unless `status: ACTIVE`. The campaign materializes in `/v1/ads/tree` via the
6374
- * next sync discovery pass. Meta only.
6376
+ * next sync discovery pass.
6375
6377
  */
6376
6378
  export const createAdCampaign = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCampaignData, ThrowOnError>) => {
6377
6379
  return (options?.client ?? client).post<CreateAdCampaignResponse, CreateAdCampaignError, ThrowOnError>({
@@ -6487,12 +6489,12 @@ export const duplicateAdCampaign = <ThrowOnError extends boolean = false>(option
6487
6489
  };
6488
6490
 
6489
6491
  /**
6490
- * Duplicate an ad set (Meta)
6492
+ * Duplicate an ad set
6491
6493
  * Duplicates an ad set, including its ads and creatives by default (`deepCopy: true`),
6492
6494
  * via Meta's native `POST /{adset-id}/copies`. The copy is created paused so callers can
6493
6495
  * review before launching. `campaignId` retargets the copy into another campaign; omitted
6494
6496
  * = the source's own campaign. The new hierarchy materializes asynchronously — sync
6495
- * discovery is triggered automatically (`syncAfter: false` to skip). Meta only.
6497
+ * discovery is triggered automatically (`syncAfter: false` to skip).
6496
6498
  */
6497
6499
  export const duplicateAdSet = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DuplicateAdSetData, ThrowOnError>) => {
6498
6500
  return (options?.client ?? client).post<DuplicateAdSetResponse, DuplicateAdSetError, ThrowOnError>({
@@ -6502,11 +6504,11 @@ export const duplicateAdSet = <ThrowOnError extends boolean = false>(options: Op
6502
6504
  };
6503
6505
 
6504
6506
  /**
6505
- * Duplicate an ad (Meta)
6507
+ * Duplicate an ad
6506
6508
  * Duplicates a single ad via Meta's native `POST /{ad-id}/copies`. The copy is created
6507
6509
  * paused. `adSetId` retargets the copy into another ad set; omitted = the source's own ad
6508
6510
  * set. Accepts the Zernio ad id or the platform ad id. Sync discovery is triggered
6509
- * automatically (`syncAfter: false` to skip). Meta only.
6511
+ * automatically (`syncAfter: false` to skip).
6510
6512
  */
6511
6513
  export const duplicateAd = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<DuplicateAdData, ThrowOnError>) => {
6512
6514
  return (options?.client ?? client).post<DuplicateAdResponse, DuplicateAdError, ThrowOnError>({
@@ -6516,12 +6518,12 @@ export const duplicateAd = <ThrowOnError extends boolean = false>(options: Optio
6516
6518
  };
6517
6519
 
6518
6520
  /**
6519
- * Live ad-set details incl. learning phase (Meta)
6521
+ * Live ad-set details incl. learning phase
6520
6522
  * Reads the ad set live from Meta, returned verbatim. The default projection includes
6521
6523
  * `learning_stage_info` (learning-phase status: LEARNING / SUCCESS / FAIL / WAIVING — Meta
6522
6524
  * omits its `status` key on paused ad sets), delivery settings, budgets, schedule and
6523
6525
  * targeting. `fields` is a raw-passthrough override; unknown fields return Meta's 400
6524
- * verbatim. Meta only.
6526
+ * verbatim.
6525
6527
  */
6526
6528
  export const getAdSetDetails = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdSetDetailsData, ThrowOnError>) => {
6527
6529
  return (options?.client ?? client).get<GetAdSetDetailsResponse, GetAdSetDetailsError, ThrowOnError>({
@@ -6710,11 +6712,11 @@ export const getCampaignAnalytics = <ThrowOnError extends boolean = false>(optio
6710
6712
  };
6711
6713
 
6712
6714
  /**
6713
- * Render pre-create ad previews (Meta)
6715
+ * Render pre-create ad previews
6714
6716
  * Renders how a creative would look per placement BEFORE any ad exists, via Meta's
6715
6717
  * `/generatepreviews`. Provide exactly one creative source: `existingCreativeId` or `creativeSpec`.
6716
6718
  * Each preview is an HTML `<iframe>` snippet embeddable directly. Unknown `formats` values
6717
- * return Meta's 400 verbatim. Meta only.
6719
+ * return Meta's 400 verbatim.
6718
6720
  *
6719
6721
  */
6720
6722
  export const generateAdPreviews = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GenerateAdPreviewsData, ThrowOnError>) => {
@@ -6725,10 +6727,9 @@ export const generateAdPreviews = <ThrowOnError extends boolean = false>(options
6725
6727
  };
6726
6728
 
6727
6729
  /**
6728
- * Render previews of an existing ad (Meta)
6730
+ * Render previews of an existing ad
6729
6731
  * Renders an EXISTING ad per placement via Meta's `/{ad_id}/previews`. Each preview is an HTML
6730
6732
  * `<iframe>` snippet embeddable directly. Unknown `formats` values return Meta's 400 verbatim.
6731
- * Meta only.
6732
6733
  *
6733
6734
  */
6734
6735
  export const getAdPreviews = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdPreviewsData, ThrowOnError>) => {
@@ -6739,7 +6740,7 @@ export const getAdPreviews = <ThrowOnError extends boolean = false>(options: Opt
6739
6740
  };
6740
6741
 
6741
6742
  /**
6742
- * Flexible live insights query (Meta)
6743
+ * Flexible live insights query
6743
6744
  * Live, flexible insights query against Meta's Graph API. Unlike GET /v1/ads/{adId}/analytics
6744
6745
  * (fixed metric set, cached), this forwards caller-chosen `fields`, `breakdowns` and `filtering`
6745
6746
  * to any Meta insights node and returns Meta's rows verbatim.
@@ -6749,7 +6750,7 @@ export const getAdPreviews = <ThrowOnError extends boolean = false>(options: Opt
6749
6750
  *
6750
6751
  * Semantic validation is Meta's: an unknown field or invalid breakdown combination returns a 400
6751
6752
  * carrying Meta's message. For long ranges or agency-scale accounts prefer the async variant
6752
- * (POST /v1/ads/insights/reports). Meta only.
6753
+ * (POST /v1/ads/insights/reports).
6753
6754
  *
6754
6755
  */
6755
6756
  export const queryAdInsights = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<QueryAdInsightsData, ThrowOnError>) => {
@@ -6760,11 +6761,11 @@ export const queryAdInsights = <ThrowOnError extends boolean = false>(options: O
6760
6761
  };
6761
6762
 
6762
6763
  /**
6763
- * Submit an async insights report run (Meta)
6764
+ * Submit an async insights report run
6764
6765
  * Submits an asynchronous Meta insights report. Same query surface as GET /v1/ads/insights, but
6765
6766
  * in the JSON body; Meta processes the report server-side, which is the right choice for long
6766
6767
  * ranges or large accounts where the sync query is slow or rate-limited. Returns a `reportRunId`
6767
- * to poll via GET /v1/ads/insights/reports/{reportRunId}. Meta only.
6768
+ * to poll via GET /v1/ads/insights/reports/{reportRunId}.
6768
6769
  *
6769
6770
  */
6770
6771
  export const createAdInsightsReport = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdInsightsReportData, ThrowOnError>) => {
@@ -6775,7 +6776,7 @@ export const createAdInsightsReport = <ThrowOnError extends boolean = false>(opt
6775
6776
  };
6776
6777
 
6777
6778
  /**
6778
- * Poll an async insights report run (Meta)
6779
+ * Poll an async insights report run
6779
6780
  * Status and results for a report run created via POST /v1/ads/insights/reports. While the job
6780
6781
  * runs, returns `status` and `percentCompletion`. Once `status` is "Job Completed" the response
6781
6782
  * also carries a `data` page, cursor-paginated via `limit` / `after`.
@@ -6895,12 +6896,12 @@ export const listAdsBusinessCenters = <ThrowOnError extends boolean = false>(opt
6895
6896
  };
6896
6897
 
6897
6898
  /**
6898
- * Ad account change / audit log (Meta)
6899
+ * Ad account change / audit log
6899
6900
  * Account-level audit log from Meta's `/act_X/activities`: who changed what and when
6900
6901
  * (creates, edits, status flips, budget changes...) with Meta's translated event names and
6901
6902
  * the structured before/after in `extra_data`. Rows are returned verbatim. Meta has no
6902
6903
  * server-side per-object filter on this edge, so `objectId` filters the returned page
6903
- * client-side (combine with paging to walk history for one campaign/ad set/ad). Meta only.
6904
+ * client-side (combine with paging to walk history for one campaign/ad set/ad).
6904
6905
  */
6905
6906
  export const getAdsActivityLog = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdsActivityLogData, ThrowOnError>) => {
6906
6907
  return (options?.client ?? client).get<GetAdsActivityLogResponse, GetAdsActivityLogError, ThrowOnError>({
@@ -6910,7 +6911,7 @@ export const getAdsActivityLog = <ThrowOnError extends boolean = false>(options:
6910
6911
  };
6911
6912
 
6912
6913
  /**
6913
- * Create a Reach & Frequency prediction (Meta)
6914
+ * Create a Reach & Frequency prediction
6914
6915
  * Creates an R&F prediction — a QUOTE, nothing is bought and no ad entities are created.
6915
6916
  * Provide a date range plus exactly one of `budgetAmount` (Meta predicts reach) or `reach`
6916
6917
  * (Meta predicts the budget). The response carries the estimate and its allowed bounds
@@ -6920,7 +6921,7 @@ export const getAdsActivityLog = <ThrowOnError extends boolean = false>(options:
6920
6921
  *
6921
6922
  * Reservation campaigns reject automatic placements, so omitted `placements` default to
6922
6923
  * Facebook feed (+ Instagram stream when a linked IG professional account resolves);
6923
- * Instagram placements require that IG account. Meta only.
6924
+ * Instagram placements require that IG account.
6924
6925
  */
6925
6926
  export const createRfPrediction = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateRfPredictionData, ThrowOnError>) => {
6926
6927
  return (options?.client ?? client).post<CreateRfPredictionResponse, CreateRfPredictionError, ThrowOnError>({
@@ -6930,7 +6931,7 @@ export const createRfPrediction = <ThrowOnError extends boolean = false>(options
6930
6931
  };
6931
6932
 
6932
6933
  /**
6933
- * Read a Reach & Frequency prediction (Meta)
6934
+ * Read a Reach & Frequency prediction
6934
6935
  */
6935
6936
  export const getRfPrediction = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetRfPredictionData, ThrowOnError>) => {
6936
6937
  return (options?.client ?? client).get<GetRfPredictionResponse, GetRfPredictionError, ThrowOnError>({
@@ -6940,7 +6941,7 @@ export const getRfPrediction = <ThrowOnError extends boolean = false>(options: O
6940
6941
  };
6941
6942
 
6942
6943
  /**
6943
- * Cancel a Reach & Frequency reservation (Meta)
6944
+ * Cancel a Reach & Frequency reservation
6944
6945
  * Releases a RESERVATION's locked price and inventory. Unreserved predictions expire on their own.
6945
6946
  */
6946
6947
  export const cancelRfReservation = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CancelRfReservationData, ThrowOnError>) => {
@@ -6951,10 +6952,10 @@ export const cancelRfReservation = <ThrowOnError extends boolean = false>(option
6951
6952
  };
6952
6953
 
6953
6954
  /**
6954
- * Reserve a Reach & Frequency prediction (Meta)
6955
+ * Reserve a Reach & Frequency prediction
6955
6956
  * Locks the quoted price + inventory until the returned `expiresAt` and mints a NEW
6956
6957
  * prediction id — pass that RESERVED id (not the original) as `rfPredictionId` on
6957
- * POST /v1/ads/create. Release an unused reservation via DELETE. Meta only.
6958
+ * POST /v1/ads/create. Release an unused reservation via DELETE.
6958
6959
  */
6959
6960
  export const reserveRfPrediction = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ReserveRfPredictionData, ThrowOnError>) => {
6960
6961
  return (options?.client ?? client).post<ReserveRfPredictionResponse, ReserveRfPredictionError, ThrowOnError>({
@@ -6964,10 +6965,10 @@ export const reserveRfPrediction = <ThrowOnError extends boolean = false>(option
6964
6965
  };
6965
6966
 
6966
6967
  /**
6967
- * A/B tests and lift studies (Meta)
6968
+ * A/B tests and lift studies
6968
6969
  * Lists the ad account's A/B tests and lift studies (Meta's `/act_X/ad_studies`), rows
6969
6970
  * returned verbatim. The default projection covers id, name, type, timing and cells with
6970
- * split percentages; `fields` is a raw-passthrough override. Meta only.
6971
+ * split percentages; `fields` is a raw-passthrough override.
6971
6972
  */
6972
6973
  export const listAdStudies = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdStudiesData, ThrowOnError>) => {
6973
6974
  return (options?.client ?? client).get<ListAdStudiesResponse, ListAdStudiesError, ThrowOnError>({
@@ -6977,10 +6978,10 @@ export const listAdStudies = <ThrowOnError extends boolean = false>(options: Opt
6977
6978
  };
6978
6979
 
6979
6980
  /**
6980
- * Businesses list (Meta)
6981
+ * Businesses list
6981
6982
  * Business Manager portfolios the connected Meta user belongs to (Meta's `/me/businesses`),
6982
6983
  * rows returned verbatim (id, name, verification_status, created_time). Token-scoped, so no
6983
- * `adAccountId` is needed. Meta only; for TikTok Business Centers use
6984
+ * `adAccountId` is needed. For TikTok Business Centers use
6984
6985
  * `GET /v1/ads/business-centers`.
6985
6986
  */
6986
6987
  export const listMetaBusinesses = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListMetaBusinessesData, ThrowOnError>) => {
@@ -6991,9 +6992,9 @@ export const listMetaBusinesses = <ThrowOnError extends boolean = false>(options
6991
6992
  };
6992
6993
 
6993
6994
  /**
6994
- * Ad labels (Meta)
6995
+ * Ad labels
6995
6996
  * Lists the ad account's organizational labels (Meta's `/act_X/adlabels`), rows returned
6996
- * verbatim (id, name, created/updated time). Meta only.
6997
+ * verbatim (id, name, created/updated time).
6997
6998
  */
6998
6999
  export const listAdLabels = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdLabelsData, ThrowOnError>) => {
6999
7000
  return (options?.client ?? client).get<ListAdLabelsResponse, ListAdLabelsError, ThrowOnError>({
@@ -7003,11 +7004,11 @@ export const listAdLabels = <ThrowOnError extends boolean = false>(options: Opti
7003
7004
  };
7004
7005
 
7005
7006
  /**
7006
- * High demand periods / budget schedules (Meta)
7007
+ * High demand periods / budget schedules
7007
7008
  * Scheduled budget increases (Meta's budget-scheduling API). The Graph edge lives on the
7008
7009
  * campaign and ad-set nodes only, so exactly one of `campaignId` / `adSetId` (platform
7009
7010
  * ids) is required. Rows returned verbatim (budget_value, budget_value_type, time window,
7010
- * recurrence). Meta only.
7011
+ * recurrence).
7011
7012
  */
7012
7013
  export const listHighDemandPeriods = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListHighDemandPeriodsData, ThrowOnError>) => {
7013
7014
  return (options?.client ?? client).get<ListHighDemandPeriodsResponse, ListHighDemandPeriodsError, ThrowOnError>({
@@ -7017,12 +7018,12 @@ export const listHighDemandPeriods = <ThrowOnError extends boolean = false>(opti
7017
7018
  };
7018
7019
 
7019
7020
  /**
7020
- * Creative library (Meta)
7021
+ * Creative library
7021
7022
  * Lists the ad account's creative library (Meta's `/act_X/adcreatives`), rows returned
7022
7023
  * verbatim. The default projection covers id, name, status, object type, thumbnail,
7023
7024
  * object_story_spec / asset_feed_spec and url_tags; `fields` is a raw-passthrough
7024
7025
  * override. Any creative id here is reusable on the create endpoints via
7025
- * `existingCreativeId`. Meta only.
7026
+ * `existingCreativeId`.
7026
7027
  */
7027
7028
  export const listAdCreatives = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdCreativesData, ThrowOnError>) => {
7028
7029
  return (options?.client ?? client).get<ListAdCreativesResponse, ListAdCreativesError, ThrowOnError>({
@@ -7032,12 +7033,12 @@ export const listAdCreatives = <ThrowOnError extends boolean = false>(options: O
7032
7033
  };
7033
7034
 
7034
7035
  /**
7035
- * Create a standalone creative (Meta)
7036
+ * Create a standalone creative
7036
7037
  * Creates a creative in the library WITHOUT an ad, reusable on the create endpoints via
7037
7038
  * `existingCreativeId`. Provide exactly one of `imageUrl` (uploaded server-side),
7038
7039
  * `imageHash` (from POST /v1/ads/images or the library list), or `carouselCards` (2-10
7039
7040
  * hand-built cards). The Page (and linked Instagram account, when present) is resolved
7040
- * from `accountId` as the story actor. Meta only.
7041
+ * from `accountId` as the story actor.
7041
7042
  */
7042
7043
  export const createAdCreative = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<CreateAdCreativeData, ThrowOnError>) => {
7043
7044
  return (options?.client ?? client).post<CreateAdCreativeResponse, CreateAdCreativeError, ThrowOnError>({
@@ -7047,9 +7048,9 @@ export const createAdCreative = <ThrowOnError extends boolean = false>(options:
7047
7048
  };
7048
7049
 
7049
7050
  /**
7050
- * Creative details (Meta)
7051
+ * Creative details
7051
7052
  * One creative's details, verbatim from Meta. `fields` is a raw-passthrough override of
7052
- * the default projection. Meta only.
7053
+ * the default projection.
7053
7054
  */
7054
7055
  export const getAdCreative = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdCreativeData, ThrowOnError>) => {
7055
7056
  return (options?.client ?? client).get<GetAdCreativeResponse, GetAdCreativeError, ThrowOnError>({
@@ -7059,10 +7060,10 @@ export const getAdCreative = <ThrowOnError extends boolean = false>(options: Opt
7059
7060
  };
7060
7061
 
7061
7062
  /**
7062
- * Rename a creative (Meta)
7063
+ * Rename a creative
7063
7064
  * Renames a creative. Creatives are immutable on Meta beyond `name` — for content changes
7064
7065
  * create a new creative (POST /v1/ads/creatives) and swap it onto the ad
7065
- * (PUT /v1/ads/{adId} with `creative`). Meta only.
7066
+ * (PUT /v1/ads/{adId} with `creative`).
7066
7067
  */
7067
7068
  export const updateAdCreative = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UpdateAdCreativeData, ThrowOnError>) => {
7068
7069
  return (options?.client ?? client).put<UpdateAdCreativeResponse, UpdateAdCreativeError, ThrowOnError>({
@@ -7072,7 +7073,7 @@ export const updateAdCreative = <ThrowOnError extends boolean = false>(options:
7072
7073
  };
7073
7074
 
7074
7075
  /**
7075
- * Delete a creative (Meta)
7076
+ * Delete a creative
7076
7077
  * Deletes a creative from the library. Meta only allows deleting creatives not referenced
7077
7078
  * by any ad — otherwise its 400 surfaces verbatim.
7078
7079
  */
@@ -7084,10 +7085,10 @@ export const deleteAdCreative = <ThrowOnError extends boolean = false>(options:
7084
7085
  };
7085
7086
 
7086
7087
  /**
7087
- * Ad account finances (Meta)
7088
+ * Ad account finances
7088
7089
  * Finances of one Meta ad account: prepaid `balance`, lifetime `amountSpent`, account
7089
7090
  * `spendCap` (null = no cap) and the `fundingSource`. Money values are converted from
7090
- * Meta's minor units to whole units of `currency`. Meta only.
7091
+ * Meta's minor units to whole units of `currency`.
7091
7092
  */
7092
7093
  export const getAdAccountFinance = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetAdAccountFinanceData, ThrowOnError>) => {
7093
7094
  return (options?.client ?? client).get<GetAdAccountFinanceResponse, GetAdAccountFinanceError, ThrowOnError>({
@@ -7280,11 +7281,11 @@ export const createTestLead = <ThrowOnError extends boolean = false>(options: Op
7280
7281
  };
7281
7282
 
7282
7283
  /**
7283
- * Upload an ad image from base64 (Meta)
7284
+ * Upload an ad image from base64
7284
7285
  * Uploads raw image bytes to the Meta ad account's image library — for callers whose
7285
7286
  * creatives aren't hosted at a public URL. Returns the image `hash` (Meta's identifier for
7286
7287
  * the asset) and the Meta-hosted `url`, which can be used directly as `imageUrl` on the
7287
- * create endpoints. Max 30 MB decoded. Meta only.
7288
+ * create endpoints. Max 30 MB decoded.
7288
7289
  */
7289
7290
  export const uploadAdImage = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<UploadAdImageData, ThrowOnError>) => {
7290
7291
  return (options?.client ?? client).post<UploadAdImageResponse, UploadAdImageError, ThrowOnError>({
@@ -7294,11 +7295,11 @@ export const uploadAdImage = <ThrowOnError extends boolean = false>(options: Opt
7294
7295
  };
7295
7296
 
7296
7297
  /**
7297
- * Ad image library (Meta)
7298
+ * Ad image library
7298
7299
  * Lists the ad account's image library (Meta's `/act_X/adimages`), rows returned verbatim.
7299
7300
  * The default projection covers hash, url, name, dimensions and status; `fields` is a
7300
7301
  * raw-passthrough override. Any `hash` here is reusable wherever Meta accepts
7301
- * `image_hash` (e.g. `imageHash` on POST /v1/ads/creatives). Meta only.
7302
+ * `image_hash` (e.g. `imageHash` on POST /v1/ads/creatives).
7302
7303
  */
7303
7304
  export const listAdImages = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<ListAdImagesData, ThrowOnError>) => {
7304
7305
  return (options?.client ?? client).get<ListAdImagesResponse, ListAdImagesError, ThrowOnError>({
@@ -7373,7 +7374,7 @@ export const estimateAdReach = <ThrowOnError extends boolean = false>(options: O
7373
7374
  };
7374
7375
 
7375
7376
  /**
7376
- * Suggested bid and budget bounds (LinkedIn)
7377
+ * Suggested bid and budget bounds
7377
7378
  * LinkedIn-only. Returns the suggested bid and bid limits for a targeting
7378
7379
  * spec, plus the daily-budget bounds LinkedIn will accept. Use it before
7379
7380
  * creating a campaign to pick a bid inside the allowed range and warn the
@@ -7392,7 +7393,7 @@ export const getLinkedInBidPricing = <ThrowOnError extends boolean = false>(opti
7392
7393
  };
7393
7394
 
7394
7395
  /**
7395
- * Impressions, clicks and spend forecast (LinkedIn)
7396
+ * Impressions, clicks and spend forecast
7396
7397
  * LinkedIn-only. Forecasted impressions, clicks, spend and ~20 other
7397
7398
  * metrics for a targeting spec over a time range. Wraps LinkedIn's
7398
7399
  * `adSupplyForecasts` finder.
@@ -7019,6 +7019,10 @@ export type YouTubeDailyViewsResponse = {
7019
7019
  startDate?: string;
7020
7020
  endDate?: string;
7021
7021
  };
7022
+ /**
7023
+ * Present only when the range reaches into YouTube's ~3-day processing window: the first date whose numbers are provisional and may still be revised by YouTube.
7024
+ */
7025
+ provisionalSince?: string;
7022
7026
  /**
7023
7027
  * Sum of views across all days in the range
7024
7028
  */
@@ -7088,6 +7092,10 @@ export type YouTubeDemographicsResponse = {
7088
7092
  startDate?: string;
7089
7093
  endDate?: string;
7090
7094
  };
7095
+ /**
7096
+ * Present only when the range reaches into YouTube's ~3-day processing window: the first date whose numbers are provisional and may still be revised by YouTube.
7097
+ */
7098
+ provisionalSince?: string;
7091
7099
  note?: string;
7092
7100
  };
7093
7101
 
@@ -7165,6 +7173,10 @@ export type YouTubeVideoRetentionResponse = {
7165
7173
  startDate?: string;
7166
7174
  endDate?: string;
7167
7175
  };
7176
+ /**
7177
+ * Present only when the range reaches into YouTube's ~3-day processing window: the first date whose numbers are provisional and may still be revised by YouTube.
7178
+ */
7179
+ provisionalSince?: string;
7168
7180
  /**
7169
7181
  * Up to 100 points covering the video timeline, aggregated over the date range. Empty for videos with very few views.
7170
7182
  */
@@ -7580,7 +7592,12 @@ export type GetYouTubeDailyViewsData = {
7580
7592
  */
7581
7593
  accountId: string;
7582
7594
  /**
7583
- * End date (YYYY-MM-DD). Defaults to 3 days ago (YouTube data latency).
7595
+ * End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day
7596
+ * (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored
7597
+ * up to today: days inside the delay window are provisional and may still be revised
7598
+ * by YouTube (see provisionalSince in the response), and days YouTube has not
7599
+ * processed yet are omitted from dailyViews.
7600
+ *
7584
7601
  */
7585
7602
  endDate?: string;
7586
7603
  /**
@@ -7613,7 +7630,11 @@ export type GetYouTubeVideoRetentionData = {
7613
7630
  */
7614
7631
  accountId: string;
7615
7632
  /**
7616
- * End date (YYYY-MM-DD). Defaults to 3 days ago (YouTube data latency).
7633
+ * End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day
7634
+ * (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored
7635
+ * up to today: days inside the delay window are provisional and may still be revised
7636
+ * by YouTube (see provisionalSince in the response).
7637
+ *
7617
7638
  */
7618
7639
  endDate?: string;
7619
7640
  /**
@@ -7825,7 +7846,10 @@ export type GetYouTubeDemographicsData = {
7825
7846
  */
7826
7847
  breakdown?: string;
7827
7848
  /**
7828
- * End date in YYYY-MM-DD format. Defaults to 3 days ago (YouTube data latency).
7849
+ * End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day
7850
+ * (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored
7851
+ * up to today: days inside the delay window are provisional and may still be revised
7852
+ * by YouTube (see provisionalSince in the response).
7829
7853
  *
7830
7854
  */
7831
7855
  endDate?: string;