zernio-sdk 0.0.550 → 0.0.552

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +73 -75
  3. data/docs/AdAccountsApi.md +915 -0
  4. data/docs/AdCampaignsApi.md +615 -15
  5. data/docs/AdCreativesApi.md +815 -0
  6. data/docs/AdInsightsApi.md +415 -0
  7. data/docs/AdTargetingApi.md +371 -0
  8. data/docs/AnalyticsApi.md +7 -7
  9. data/docs/BoostPostRequestTracking.md +1 -1
  10. data/docs/{CreateLeadFormRequestQuestionsInnerOptionsInner.md → BoostPostRequestTrackingUrlTagsInner.md} +2 -2
  11. data/docs/ConversionsApi.md +890 -0
  12. data/docs/CreateLeadFormRequestQuestionsInner.md +1 -1
  13. data/docs/LeadGenApi.md +527 -0
  14. data/docs/MessagingAdsApi.md +215 -0
  15. data/docs/ReachAndFrequencyApi.md +294 -0
  16. data/docs/TrackingTagsApi.md +141 -0
  17. data/docs/YouTubeDailyViewsResponse.md +2 -0
  18. data/docs/YouTubeDemographicsResponse.md +2 -0
  19. data/docs/YouTubeVideoRetentionResponse.md +2 -0
  20. data/lib/zernio-sdk/api/ad_accounts_api.rb +958 -0
  21. data/lib/zernio-sdk/api/ad_campaigns_api.rb +618 -12
  22. data/lib/zernio-sdk/api/ad_creatives_api.rb +826 -0
  23. data/lib/zernio-sdk/api/ad_insights_api.rb +446 -0
  24. data/lib/zernio-sdk/api/ad_targeting_api.rb +404 -0
  25. data/lib/zernio-sdk/api/analytics_api.rb +8 -8
  26. data/lib/zernio-sdk/api/conversions_api.rb +936 -0
  27. data/lib/zernio-sdk/api/lead_gen_api.rb +547 -0
  28. data/lib/zernio-sdk/api/messaging_ads_api.rb +226 -0
  29. data/lib/zernio-sdk/api/reach_and_frequency_api.rb +316 -0
  30. data/lib/zernio-sdk/api/tracking_tags_api.rb +137 -0
  31. data/lib/zernio-sdk/models/boost_post_request_tracking.rb +5 -2
  32. data/lib/zernio-sdk/models/{create_lead_form_request_questions_inner_options_inner.rb → boost_post_request_tracking_url_tags_inner.rb} +3 -3
  33. data/lib/zernio-sdk/models/create_lead_form_request_questions_inner.rb +1 -1
  34. data/lib/zernio-sdk/models/you_tube_daily_views_response.rb +11 -1
  35. data/lib/zernio-sdk/models/you_tube_demographics_response.rb +11 -1
  36. data/lib/zernio-sdk/models/you_tube_video_retention_response.rb +11 -1
  37. data/lib/zernio-sdk/version.rb +1 -1
  38. data/lib/zernio-sdk.rb +9 -2
  39. data/openapi.yaml +329 -163
  40. data/spec/api/ad_accounts_api_spec.rb +206 -0
  41. data/spec/api/ad_campaigns_api_spec.rb +119 -6
  42. data/spec/api/ad_creatives_api_spec.rb +182 -0
  43. data/spec/api/ad_insights_api_spec.rb +120 -0
  44. data/spec/api/ad_targeting_api_spec.rb +101 -0
  45. data/spec/api/analytics_api_spec.rb +4 -4
  46. data/spec/api/conversions_api_spec.rb +199 -0
  47. data/spec/api/lead_gen_api_spec.rb +131 -0
  48. data/spec/api/messaging_ads_api_spec.rb +71 -0
  49. data/spec/api/reach_and_frequency_api_spec.rb +87 -0
  50. data/spec/api/tracking_tags_api_spec.rb +25 -0
  51. data/spec/models/{create_lead_form_request_questions_inner_options_inner_spec.rb → boost_post_request_tracking_url_tags_inner_spec.rb} +6 -6
  52. data/spec/models/you_tube_daily_views_response_spec.rb +6 -0
  53. data/spec/models/you_tube_demographics_response_spec.rb +6 -0
  54. data/spec/models/you_tube_video_retention_response_spec.rb +6 -0
  55. metadata +38 -10
  56. data/docs/AdsApi.md +0 -5278
  57. data/lib/zernio-sdk/api/ads_api.rb +0 -5391
  58. data/spec/api/ads_api_spec.rb +0 -1015
@@ -0,0 +1,371 @@
1
+ # Zernio::AdTargetingApi
2
+
3
+ All URIs are relative to *https://zernio.com/api*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**estimate_ad_reach**](AdTargetingApi.md#estimate_ad_reach) | **POST** /v1/ads/targeting/reach-estimate | Estimate audience reach |
8
+ | [**get_linked_in_bid_pricing**](AdTargetingApi.md#get_linked_in_bid_pricing) | **POST** /v1/ads/targeting/bid-pricing | Suggested bid and budget bounds |
9
+ | [**get_linked_in_supply_forecast**](AdTargetingApi.md#get_linked_in_supply_forecast) | **POST** /v1/ads/targeting/supply-forecast | Impressions, clicks and spend forecast |
10
+ | [**search_ad_interests**](AdTargetingApi.md#search_ad_interests) | **GET** /v1/ads/interests | Search targeting interests |
11
+ | [**search_ad_targeting**](AdTargetingApi.md#search_ad_targeting) | **GET** /v1/ads/targeting/search | Search targeting options |
12
+
13
+
14
+ ## estimate_ad_reach
15
+
16
+ > <EstimateAdReach200Response> estimate_ad_reach(estimate_ad_reach_request)
17
+
18
+ Estimate audience reach
19
+
20
+ Returns a normalized pre-flight audience-size estimate for a targeting spec, before any campaign is created. Backed by each platform's native reach API (Meta `delivery_estimate`, LinkedIn `audienceCounts`, X `audience_summary`, Pinterest `audience_sizing`). Platforms without a usable pre-flight reach API (Google Search/Display, TikTok) return `available: false` with no bounds, so clients can hide or grey out the estimate rather than treat the absence as an error.
21
+
22
+ ### Examples
23
+
24
+ ```ruby
25
+ require 'time'
26
+ require 'zernio-sdk'
27
+ # setup authorization
28
+ Zernio.configure do |config|
29
+ # Configure Bearer authorization (JWT): bearerAuth
30
+ config.access_token = 'YOUR_BEARER_TOKEN'
31
+ end
32
+
33
+ api_instance = Zernio::AdTargetingApi.new
34
+ estimate_ad_reach_request = Zernio::EstimateAdReachRequest.new({account_id: 'account_id_example', ad_account_id: 'ad_account_id_example', spec: Zernio::TargetingSpec.new}) # EstimateAdReachRequest |
35
+
36
+ begin
37
+ # Estimate audience reach
38
+ result = api_instance.estimate_ad_reach(estimate_ad_reach_request)
39
+ p result
40
+ rescue Zernio::ApiError => e
41
+ puts "Error when calling AdTargetingApi->estimate_ad_reach: #{e}"
42
+ end
43
+ ```
44
+
45
+ #### Using the estimate_ad_reach_with_http_info variant
46
+
47
+ This returns an Array which contains the response data, status code and headers.
48
+
49
+ > <Array(<EstimateAdReach200Response>, Integer, Hash)> estimate_ad_reach_with_http_info(estimate_ad_reach_request)
50
+
51
+ ```ruby
52
+ begin
53
+ # Estimate audience reach
54
+ data, status_code, headers = api_instance.estimate_ad_reach_with_http_info(estimate_ad_reach_request)
55
+ p status_code # => 2xx
56
+ p headers # => { ... }
57
+ p data # => <EstimateAdReach200Response>
58
+ rescue Zernio::ApiError => e
59
+ puts "Error when calling AdTargetingApi->estimate_ad_reach_with_http_info: #{e}"
60
+ end
61
+ ```
62
+
63
+ ### Parameters
64
+
65
+ | Name | Type | Description | Notes |
66
+ | ---- | ---- | ----------- | ----- |
67
+ | **estimate_ad_reach_request** | [**EstimateAdReachRequest**](EstimateAdReachRequest.md) | | |
68
+
69
+ ### Return type
70
+
71
+ [**EstimateAdReach200Response**](EstimateAdReach200Response.md)
72
+
73
+ ### Authorization
74
+
75
+ [bearerAuth](../README.md#bearerAuth)
76
+
77
+ ### HTTP request headers
78
+
79
+ - **Content-Type**: application/json
80
+ - **Accept**: application/json
81
+
82
+
83
+ ## get_linked_in_bid_pricing
84
+
85
+ > <GetLinkedInBidPricing200Response> get_linked_in_bid_pricing(get_linked_in_bid_pricing_request)
86
+
87
+ Suggested bid and budget bounds
88
+
89
+ LinkedIn-only. Returns the suggested bid and bid limits for a targeting spec, plus the daily-budget bounds LinkedIn will accept. Use it before creating a campaign to pick a bid inside the allowed range and warn the user if their daily budget is below the minimum. Wraps LinkedIn's `adBudgetPricing` finder. Non-LinkedIn accounts return `available: false` so clients can hide the pricing UI without treating it as a failure.
90
+
91
+ ### Examples
92
+
93
+ ```ruby
94
+ require 'time'
95
+ require 'zernio-sdk'
96
+ # setup authorization
97
+ Zernio.configure do |config|
98
+ # Configure Bearer authorization (JWT): bearerAuth
99
+ config.access_token = 'YOUR_BEARER_TOKEN'
100
+ end
101
+
102
+ api_instance = Zernio::AdTargetingApi.new
103
+ get_linked_in_bid_pricing_request = Zernio::GetLinkedInBidPricingRequest.new({account_id: 'account_id_example', ad_account_id: 'ad_account_id_example', spec: Zernio::TargetingSpec.new}) # GetLinkedInBidPricingRequest |
104
+
105
+ begin
106
+ # Suggested bid and budget bounds
107
+ result = api_instance.get_linked_in_bid_pricing(get_linked_in_bid_pricing_request)
108
+ p result
109
+ rescue Zernio::ApiError => e
110
+ puts "Error when calling AdTargetingApi->get_linked_in_bid_pricing: #{e}"
111
+ end
112
+ ```
113
+
114
+ #### Using the get_linked_in_bid_pricing_with_http_info variant
115
+
116
+ This returns an Array which contains the response data, status code and headers.
117
+
118
+ > <Array(<GetLinkedInBidPricing200Response>, Integer, Hash)> get_linked_in_bid_pricing_with_http_info(get_linked_in_bid_pricing_request)
119
+
120
+ ```ruby
121
+ begin
122
+ # Suggested bid and budget bounds
123
+ data, status_code, headers = api_instance.get_linked_in_bid_pricing_with_http_info(get_linked_in_bid_pricing_request)
124
+ p status_code # => 2xx
125
+ p headers # => { ... }
126
+ p data # => <GetLinkedInBidPricing200Response>
127
+ rescue Zernio::ApiError => e
128
+ puts "Error when calling AdTargetingApi->get_linked_in_bid_pricing_with_http_info: #{e}"
129
+ end
130
+ ```
131
+
132
+ ### Parameters
133
+
134
+ | Name | Type | Description | Notes |
135
+ | ---- | ---- | ----------- | ----- |
136
+ | **get_linked_in_bid_pricing_request** | [**GetLinkedInBidPricingRequest**](GetLinkedInBidPricingRequest.md) | | |
137
+
138
+ ### Return type
139
+
140
+ [**GetLinkedInBidPricing200Response**](GetLinkedInBidPricing200Response.md)
141
+
142
+ ### Authorization
143
+
144
+ [bearerAuth](../README.md#bearerAuth)
145
+
146
+ ### HTTP request headers
147
+
148
+ - **Content-Type**: application/json
149
+ - **Accept**: application/json
150
+
151
+
152
+ ## get_linked_in_supply_forecast
153
+
154
+ > <GetLinkedInSupplyForecast200Response> get_linked_in_supply_forecast(get_linked_in_supply_forecast_request)
155
+
156
+ Impressions, clicks and spend forecast
157
+
158
+ LinkedIn-only. Forecasted impressions, clicks, spend and ~20 other metrics for a targeting spec over a time range. Wraps LinkedIn's `adSupplyForecasts` finder. Each returned series carries a `metricType` (IMPRESSION, CLICK, SPENDING, MAX_POTENTIAL_BUDGET, COST_PER_MILLION_IMPRESSIONS, ...) and a `granularity` (DAILY, SEVEN_DAY, THIRTY_DAY, CUSTOM). LinkedIn caps the daily spending forecast at 1.2x the daily budget and returns 0 once the total budget is exhausted. Non-LinkedIn accounts return `available: false`.
159
+
160
+ ### Examples
161
+
162
+ ```ruby
163
+ require 'time'
164
+ require 'zernio-sdk'
165
+ # setup authorization
166
+ Zernio.configure do |config|
167
+ # Configure Bearer authorization (JWT): bearerAuth
168
+ config.access_token = 'YOUR_BEARER_TOKEN'
169
+ end
170
+
171
+ api_instance = Zernio::AdTargetingApi.new
172
+ get_linked_in_supply_forecast_request = Zernio::GetLinkedInSupplyForecastRequest.new({account_id: 'account_id_example', ad_account_id: 'ad_account_id_example', spec: Zernio::TargetingSpec.new, time_range_start: 37, time_range_end: 37}) # GetLinkedInSupplyForecastRequest |
173
+
174
+ begin
175
+ # Impressions, clicks and spend forecast
176
+ result = api_instance.get_linked_in_supply_forecast(get_linked_in_supply_forecast_request)
177
+ p result
178
+ rescue Zernio::ApiError => e
179
+ puts "Error when calling AdTargetingApi->get_linked_in_supply_forecast: #{e}"
180
+ end
181
+ ```
182
+
183
+ #### Using the get_linked_in_supply_forecast_with_http_info variant
184
+
185
+ This returns an Array which contains the response data, status code and headers.
186
+
187
+ > <Array(<GetLinkedInSupplyForecast200Response>, Integer, Hash)> get_linked_in_supply_forecast_with_http_info(get_linked_in_supply_forecast_request)
188
+
189
+ ```ruby
190
+ begin
191
+ # Impressions, clicks and spend forecast
192
+ data, status_code, headers = api_instance.get_linked_in_supply_forecast_with_http_info(get_linked_in_supply_forecast_request)
193
+ p status_code # => 2xx
194
+ p headers # => { ... }
195
+ p data # => <GetLinkedInSupplyForecast200Response>
196
+ rescue Zernio::ApiError => e
197
+ puts "Error when calling AdTargetingApi->get_linked_in_supply_forecast_with_http_info: #{e}"
198
+ end
199
+ ```
200
+
201
+ ### Parameters
202
+
203
+ | Name | Type | Description | Notes |
204
+ | ---- | ---- | ----------- | ----- |
205
+ | **get_linked_in_supply_forecast_request** | [**GetLinkedInSupplyForecastRequest**](GetLinkedInSupplyForecastRequest.md) | | |
206
+
207
+ ### Return type
208
+
209
+ [**GetLinkedInSupplyForecast200Response**](GetLinkedInSupplyForecast200Response.md)
210
+
211
+ ### Authorization
212
+
213
+ [bearerAuth](../README.md#bearerAuth)
214
+
215
+ ### HTTP request headers
216
+
217
+ - **Content-Type**: application/json
218
+ - **Accept**: application/json
219
+
220
+
221
+ ## search_ad_interests
222
+
223
+ > <SearchAdInterests200Response> search_ad_interests(q, account_id)
224
+
225
+ Search targeting interests
226
+
227
+ Deprecated alias for `GET /v1/ads/targeting/search?dimension=interest`. Kept for backward compatibility, it returns the legacy `{ interests: [...] }` shape rather than the normalized `{ results: [...] }`. New integrations should use `GET /v1/ads/targeting/search` with `dimension=interest`.
228
+
229
+ ### Examples
230
+
231
+ ```ruby
232
+ require 'time'
233
+ require 'zernio-sdk'
234
+ # setup authorization
235
+ Zernio.configure do |config|
236
+ # Configure Bearer authorization (JWT): bearerAuth
237
+ config.access_token = 'YOUR_BEARER_TOKEN'
238
+ end
239
+
240
+ api_instance = Zernio::AdTargetingApi.new
241
+ q = 'q_example' # String | Search query
242
+ account_id = 'account_id_example' # String | Social account ID
243
+
244
+ begin
245
+ # Search targeting interests
246
+ result = api_instance.search_ad_interests(q, account_id)
247
+ p result
248
+ rescue Zernio::ApiError => e
249
+ puts "Error when calling AdTargetingApi->search_ad_interests: #{e}"
250
+ end
251
+ ```
252
+
253
+ #### Using the search_ad_interests_with_http_info variant
254
+
255
+ This returns an Array which contains the response data, status code and headers.
256
+
257
+ > <Array(<SearchAdInterests200Response>, Integer, Hash)> search_ad_interests_with_http_info(q, account_id)
258
+
259
+ ```ruby
260
+ begin
261
+ # Search targeting interests
262
+ data, status_code, headers = api_instance.search_ad_interests_with_http_info(q, account_id)
263
+ p status_code # => 2xx
264
+ p headers # => { ... }
265
+ p data # => <SearchAdInterests200Response>
266
+ rescue Zernio::ApiError => e
267
+ puts "Error when calling AdTargetingApi->search_ad_interests_with_http_info: #{e}"
268
+ end
269
+ ```
270
+
271
+ ### Parameters
272
+
273
+ | Name | Type | Description | Notes |
274
+ | ---- | ---- | ----------- | ----- |
275
+ | **q** | **String** | Search query | |
276
+ | **account_id** | **String** | Social account ID | |
277
+
278
+ ### Return type
279
+
280
+ [**SearchAdInterests200Response**](SearchAdInterests200Response.md)
281
+
282
+ ### Authorization
283
+
284
+ [bearerAuth](../README.md#bearerAuth)
285
+
286
+ ### HTTP request headers
287
+
288
+ - **Content-Type**: Not defined
289
+ - **Accept**: application/json
290
+
291
+
292
+ ## search_ad_targeting
293
+
294
+ > <SearchAdTargeting200Response> search_ad_targeting(account_id, q, opts)
295
+
296
+ Search targeting options
297
+
298
+ Resolve a human-readable query into the platform's opaque targeting ids used in the `TargetingSpec` (`countries`/`regions`/`cities`/`zips`/`metros` geo keys, and `interests`/`behaviors` entity ids) on `POST /v1/ads/create`, `POST /v1/ads/targeting/reach-estimate`, and `saved_targeting` audiences. The `dimension` param selects what is searched, `geo` (locations, further scoped by `geoType`), `interest`, `behavior`, or `income`. Availability of each dimension varies by platform (e.g. behaviours are Meta/TikTok only). Results are normalized across platforms into a single shape, so the same client code consumes Meta, TikTok, LinkedIn, X, Pinterest, and Google results. TikTok geo searches return every matching level in one list (`type` is `country`, `region`, `city`, `district`, or `metro` for DMA areas) — `geoType` is not applied. Results are scoped to the advertiser's targetable markets, and every id is usable in `regions`/`cities`/`metros` keys on `POST /v1/ads/create`. For geo queries, `q` should contain only the locality name (e.g. `\"Amsterdam\"`, not `\"Amsterdam, NL\"`). Use `countryCode` to disambiguate.
299
+
300
+ ### Examples
301
+
302
+ ```ruby
303
+ require 'time'
304
+ require 'zernio-sdk'
305
+ # setup authorization
306
+ Zernio.configure do |config|
307
+ # Configure Bearer authorization (JWT): bearerAuth
308
+ config.access_token = 'YOUR_BEARER_TOKEN'
309
+ end
310
+
311
+ api_instance = Zernio::AdTargetingApi.new
312
+ account_id = 'account_id_example' # String | Social account ID (a connected account on the target ad platform).
313
+ q = 'q_example' # String | Search query. For geo, the locality name only (no region/country suffix).
314
+ opts = {
315
+ dimension: 'geo', # String | What to search. `geo` resolves locations (scope further with `geoType`), `interest`/`behavior` resolve audience entities, `income` resolves income-tier options. Defaults to `interest` for backward compatibility with the deprecated /v1/ads/interests alias.
316
+ geo_type: 'country', # String | Only used when `dimension=geo`. The kind of location to resolve. Defaults to `city`.
317
+ country_code: 'country_code_example', # String | ISO 3166-1 alpha-2 country code (e.g. NL) to scope a geo search.
318
+ limit: 56 # Integer | Maximum results to return.
319
+ }
320
+
321
+ begin
322
+ # Search targeting options
323
+ result = api_instance.search_ad_targeting(account_id, q, opts)
324
+ p result
325
+ rescue Zernio::ApiError => e
326
+ puts "Error when calling AdTargetingApi->search_ad_targeting: #{e}"
327
+ end
328
+ ```
329
+
330
+ #### Using the search_ad_targeting_with_http_info variant
331
+
332
+ This returns an Array which contains the response data, status code and headers.
333
+
334
+ > <Array(<SearchAdTargeting200Response>, Integer, Hash)> search_ad_targeting_with_http_info(account_id, q, opts)
335
+
336
+ ```ruby
337
+ begin
338
+ # Search targeting options
339
+ data, status_code, headers = api_instance.search_ad_targeting_with_http_info(account_id, q, opts)
340
+ p status_code # => 2xx
341
+ p headers # => { ... }
342
+ p data # => <SearchAdTargeting200Response>
343
+ rescue Zernio::ApiError => e
344
+ puts "Error when calling AdTargetingApi->search_ad_targeting_with_http_info: #{e}"
345
+ end
346
+ ```
347
+
348
+ ### Parameters
349
+
350
+ | Name | Type | Description | Notes |
351
+ | ---- | ---- | ----------- | ----- |
352
+ | **account_id** | **String** | Social account ID (a connected account on the target ad platform). | |
353
+ | **q** | **String** | Search query. For geo, the locality name only (no region/country suffix). | |
354
+ | **dimension** | **String** | What to search. &#x60;geo&#x60; resolves locations (scope further with &#x60;geoType&#x60;), &#x60;interest&#x60;/&#x60;behavior&#x60; resolve audience entities, &#x60;income&#x60; resolves income-tier options. Defaults to &#x60;interest&#x60; for backward compatibility with the deprecated /v1/ads/interests alias. | [optional][default to &#39;interest&#39;] |
355
+ | **geo_type** | **String** | Only used when &#x60;dimension&#x3D;geo&#x60;. The kind of location to resolve. Defaults to &#x60;city&#x60;. | [optional][default to &#39;city&#39;] |
356
+ | **country_code** | **String** | ISO 3166-1 alpha-2 country code (e.g. NL) to scope a geo search. | [optional] |
357
+ | **limit** | **Integer** | Maximum results to return. | [optional][default to 25] |
358
+
359
+ ### Return type
360
+
361
+ [**SearchAdTargeting200Response**](SearchAdTargeting200Response.md)
362
+
363
+ ### Authorization
364
+
365
+ [bearerAuth](../README.md#bearerAuth)
366
+
367
+ ### HTTP request headers
368
+
369
+ - **Content-Type**: Not defined
370
+ - **Accept**: application/json
371
+
data/docs/AnalyticsApi.md CHANGED
@@ -1598,7 +1598,7 @@ end
1598
1598
 
1599
1599
  Get YouTube daily views
1600
1600
 
1601
- Returns daily view counts for a YouTube video including views, watch time, and subscriber changes. 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.
1601
+ Returns daily view counts for a YouTube video including views, watch time, and subscriber changes. Requires yt-analytics.readonly scope (re-authorization may be needed). YouTube finalizes analytics with a ~3-day delay; by default only finalized days are returned, and an explicit endDate can reach into the delay window (see the endDate parameter). Max 90 days, defaults to last 30 days.
1602
1602
 
1603
1603
  ### Examples
1604
1604
 
@@ -1616,7 +1616,7 @@ video_id = 'video_id_example' # String | The YouTube video ID (e.g., \"dQw4w9WgX
1616
1616
  account_id = 'account_id_example' # String | The Zernio account ID for the YouTube account
1617
1617
  opts = {
1618
1618
  start_date: Date.parse('2013-10-20'), # Date | Start date (YYYY-MM-DD). Defaults to 30 days ago.
1619
- end_date: Date.parse('2013-10-20') # Date | End date (YYYY-MM-DD). Defaults to 3 days ago (YouTube data latency).
1619
+ end_date: Date.parse('2013-10-20') # Date | End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response), and days YouTube has not processed yet are omitted from dailyViews.
1620
1620
  }
1621
1621
 
1622
1622
  begin
@@ -1653,7 +1653,7 @@ end
1653
1653
  | **video_id** | **String** | The YouTube video ID (e.g., \&quot;dQw4w9WgXcQ\&quot;) | |
1654
1654
  | **account_id** | **String** | The Zernio account ID for the YouTube account | |
1655
1655
  | **start_date** | **Date** | Start date (YYYY-MM-DD). Defaults to 30 days ago. | [optional] |
1656
- | **end_date** | **Date** | End date (YYYY-MM-DD). Defaults to 3 days ago (YouTube data latency). | [optional] |
1656
+ | **end_date** | **Date** | End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response), and days YouTube has not processed yet are omitted from dailyViews. | [optional] |
1657
1657
 
1658
1658
  ### Return type
1659
1659
 
@@ -1694,7 +1694,7 @@ opts = {
1694
1694
  video_id: 'video_id_example', # String | YouTube video ID. When provided, demographics are scoped to this single video (must belong to the connected channel; otherwise 404 video_not_found).
1695
1695
  breakdown: 'breakdown_example', # String | Comma-separated list of demographic dimensions: age, gender, country. Defaults to all three if omitted.
1696
1696
  start_date: Date.parse('2013-10-20'), # Date | Start date in YYYY-MM-DD format. Defaults to 90 days ago, or to the video's publish date (lifetime) when videoId is provided.
1697
- end_date: Date.parse('2013-10-20') # Date | End date in YYYY-MM-DD format. Defaults to 3 days ago (YouTube data latency).
1697
+ end_date: Date.parse('2013-10-20') # Date | End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response).
1698
1698
  }
1699
1699
 
1700
1700
  begin
@@ -1732,7 +1732,7 @@ end
1732
1732
  | **video_id** | **String** | YouTube video ID. When provided, demographics are scoped to this single video (must belong to the connected channel; otherwise 404 video_not_found). | [optional] |
1733
1733
  | **breakdown** | **String** | Comma-separated list of demographic dimensions: age, gender, country. Defaults to all three if omitted. | [optional] |
1734
1734
  | **start_date** | **Date** | Start date in YYYY-MM-DD format. Defaults to 90 days ago, or to the video&#39;s publish date (lifetime) when videoId is provided. | [optional] |
1735
- | **end_date** | **Date** | End date in YYYY-MM-DD format. Defaults to 3 days ago (YouTube data latency). | [optional] |
1735
+ | **end_date** | **Date** | End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response). | [optional] |
1736
1736
 
1737
1737
  ### Return type
1738
1738
 
@@ -1772,7 +1772,7 @@ video_id = 'video_id_example' # String | The YouTube video ID (e.g., \"dQw4w9WgX
1772
1772
  account_id = 'account_id_example' # String | The Zernio account ID for the YouTube account
1773
1773
  opts = {
1774
1774
  start_date: Date.parse('2013-10-20'), # Date | Start date (YYYY-MM-DD). Defaults to the video's publish date (lifetime curve).
1775
- end_date: Date.parse('2013-10-20') # Date | End date (YYYY-MM-DD). Defaults to 3 days ago (YouTube data latency).
1775
+ end_date: Date.parse('2013-10-20') # Date | End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response).
1776
1776
  }
1777
1777
 
1778
1778
  begin
@@ -1809,7 +1809,7 @@ end
1809
1809
  | **video_id** | **String** | The YouTube video ID (e.g., \&quot;dQw4w9WgXcQ\&quot;) | |
1810
1810
  | **account_id** | **String** | The Zernio account ID for the YouTube account | |
1811
1811
  | **start_date** | **Date** | Start date (YYYY-MM-DD). Defaults to the video&#39;s publish date (lifetime curve). | [optional] |
1812
- | **end_date** | **Date** | End date (YYYY-MM-DD). Defaults to 3 days ago (YouTube data latency). | [optional] |
1812
+ | **end_date** | **Date** | End date (YYYY-MM-DD). Defaults to 3 days ago, the newest fully finalized day (YouTube finalizes analytics with a ~3-day delay). An explicit endDate is honored up to today: days inside the delay window are provisional and may still be revised by YouTube (see provisionalSince in the response). | [optional] |
1813
1813
 
1814
1814
  ### Return type
1815
1815
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **pixel_id** | **String** | | [optional] |
8
- | **url_tags** | **String** | | [optional] |
8
+ | **url_tags** | [**Array&lt;BoostPostRequestTrackingUrlTagsInner&gt;**](BoostPostRequestTrackingUrlTagsInner.md) | URL parameters appended to the ad link, rendered as &#x60;key&#x3D;value&#x60; pairs joined with &#x60;&amp;&#x60;. | [optional] |
9
9
 
10
10
  ## Example
11
11
 
@@ -1,4 +1,4 @@
1
- # Zernio::CreateLeadFormRequestQuestionsInnerOptionsInner
1
+ # Zernio::BoostPostRequestTrackingUrlTagsInner
2
2
 
3
3
  ## Properties
4
4
 
@@ -12,7 +12,7 @@
12
12
  ```ruby
13
13
  require 'zernio-sdk'
14
14
 
15
- instance = Zernio::CreateLeadFormRequestQuestionsInnerOptionsInner.new(
15
+ instance = Zernio::BoostPostRequestTrackingUrlTagsInner.new(
16
16
  key: null,
17
17
  value: null
18
18
  )