universal-mcp-applications 0.1.1__py3-none-any.whl → 0.1.3__py3-none-any.whl

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 (103) hide show
  1. universal_mcp/applications/airtable/app.py +1 -0
  2. universal_mcp/applications/apollo/app.py +1 -0
  3. universal_mcp/applications/{aws-s3 → aws_s3}/app.py +4 -5
  4. universal_mcp/applications/bill/app.py +3 -3
  5. universal_mcp/applications/box/app.py +2 -6
  6. universal_mcp/applications/braze/app.py +2 -6
  7. universal_mcp/applications/cal_com_v2/__init__.py +1 -0
  8. universal_mcp/applications/{cal-com-v2 → cal_com_v2}/app.py +138 -182
  9. universal_mcp/applications/clickup/app.py +2 -2
  10. universal_mcp/applications/confluence/app.py +1 -0
  11. universal_mcp/applications/contentful/app.py +8 -19
  12. universal_mcp/applications/digitalocean/app.py +9 -27
  13. universal_mcp/applications/{domain-checker → domain_checker}/app.py +2 -1
  14. universal_mcp/applications/elevenlabs/app.py +98 -3188
  15. universal_mcp/applications/falai/app.py +1 -0
  16. universal_mcp/applications/file_system/__init__.py +1 -0
  17. universal_mcp/applications/file_system/app.py +96 -0
  18. universal_mcp/applications/fireflies/app.py +4 -3
  19. universal_mcp/applications/fpl/app.py +1 -0
  20. universal_mcp/applications/fpl/utils/fixtures.py +1 -1
  21. universal_mcp/applications/fpl/utils/helper.py +1 -1
  22. universal_mcp/applications/fpl/utils/position_utils.py +0 -1
  23. universal_mcp/applications/{ghost-content → ghost_content}/app.py +2 -1
  24. universal_mcp/applications/github/app.py +4 -3
  25. universal_mcp/applications/{google-calendar → google_calendar}/app.py +2 -1
  26. universal_mcp/applications/{google-docs → google_docs}/app.py +1 -1
  27. universal_mcp/applications/{google-drive → google_drive}/app.py +2 -1
  28. universal_mcp/applications/google_gemini/app.py +183 -0
  29. universal_mcp/applications/{google-mail → google_mail}/app.py +2 -1
  30. universal_mcp/applications/{google-searchconsole → google_searchconsole}/app.py +1 -1
  31. universal_mcp/applications/{google-sheet → google_sheet}/app.py +3 -2
  32. universal_mcp/applications/google_sheet/helper.py +385 -0
  33. universal_mcp/applications/hashnode/app.py +2 -1
  34. universal_mcp/applications/{http-tools → http_tools}/app.py +2 -1
  35. universal_mcp/applications/hubspot/app.py +16 -2
  36. universal_mcp/applications/jira/app.py +7 -18
  37. universal_mcp/applications/markitdown/app.py +2 -3
  38. universal_mcp/applications/{ms-teams → ms_teams}/app.py +1 -1
  39. universal_mcp/applications/openai/app.py +2 -3
  40. universal_mcp/applications/outlook/app.py +1 -3
  41. universal_mcp/applications/pipedrive/app.py +2 -6
  42. universal_mcp/applications/reddit/app.py +1 -0
  43. universal_mcp/applications/replicate/app.py +3 -3
  44. universal_mcp/applications/resend/app.py +1 -2
  45. universal_mcp/applications/rocketlane/app.py +1 -0
  46. universal_mcp/applications/semrush/app.py +478 -1467
  47. universal_mcp/applications/sentry/README.md +20 -20
  48. universal_mcp/applications/sentry/app.py +40 -40
  49. universal_mcp/applications/serpapi/app.py +2 -2
  50. universal_mcp/applications/sharepoint/app.py +2 -1
  51. universal_mcp/applications/shopify/app.py +1 -0
  52. universal_mcp/applications/slack/app.py +3 -3
  53. universal_mcp/applications/trello/app.py +9 -27
  54. universal_mcp/applications/twilio/__init__.py +1 -0
  55. universal_mcp/applications/{twillo → twilio}/app.py +2 -2
  56. universal_mcp/applications/twitter/README.md +1 -1
  57. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +2 -2
  58. universal_mcp/applications/twitter/api_segments/lists_api.py +1 -1
  59. universal_mcp/applications/unipile/app.py +5 -1
  60. universal_mcp/applications/whatsapp/app.py +18 -17
  61. universal_mcp/applications/whatsapp/audio.py +110 -0
  62. universal_mcp/applications/whatsapp/whatsapp.py +398 -0
  63. universal_mcp/applications/{whatsapp-business → whatsapp_business}/app.py +1 -1
  64. universal_mcp/applications/youtube/app.py +195 -191
  65. universal_mcp/applications/zenquotes/app.py +1 -1
  66. {universal_mcp_applications-0.1.1.dist-info → universal_mcp_applications-0.1.3.dist-info}/METADATA +4 -2
  67. {universal_mcp_applications-0.1.1.dist-info → universal_mcp_applications-0.1.3.dist-info}/RECORD +97 -95
  68. universal_mcp/applications/cal-com-v2/__init__.py +0 -1
  69. universal_mcp/applications/google-ads/__init__.py +0 -1
  70. universal_mcp/applications/google-ads/app.py +0 -23
  71. universal_mcp/applications/google-gemini/app.py +0 -663
  72. universal_mcp/applications/twillo/README.md +0 -0
  73. universal_mcp/applications/twillo/__init__.py +0 -1
  74. /universal_mcp/applications/{aws-s3 → aws_s3}/README.md +0 -0
  75. /universal_mcp/applications/{aws-s3 → aws_s3}/__init__.py +0 -0
  76. /universal_mcp/applications/{cal-com-v2 → cal_com_v2}/README.md +0 -0
  77. /universal_mcp/applications/{domain-checker → domain_checker}/README.md +0 -0
  78. /universal_mcp/applications/{domain-checker → domain_checker}/__init__.py +0 -0
  79. /universal_mcp/applications/{ghost-content → ghost_content}/README.md +0 -0
  80. /universal_mcp/applications/{ghost-content → ghost_content}/__init__.py +0 -0
  81. /universal_mcp/applications/{google-calendar → google_calendar}/README.md +0 -0
  82. /universal_mcp/applications/{google-calendar → google_calendar}/__init__.py +0 -0
  83. /universal_mcp/applications/{google-docs → google_docs}/README.md +0 -0
  84. /universal_mcp/applications/{google-docs → google_docs}/__init__.py +0 -0
  85. /universal_mcp/applications/{google-drive → google_drive}/README.md +0 -0
  86. /universal_mcp/applications/{google-drive → google_drive}/__init__.py +0 -0
  87. /universal_mcp/applications/{google-gemini → google_gemini}/README.md +0 -0
  88. /universal_mcp/applications/{google-gemini → google_gemini}/__init__.py +0 -0
  89. /universal_mcp/applications/{google-mail → google_mail}/README.md +0 -0
  90. /universal_mcp/applications/{google-mail → google_mail}/__init__.py +0 -0
  91. /universal_mcp/applications/{google-searchconsole → google_searchconsole}/README.md +0 -0
  92. /universal_mcp/applications/{google-searchconsole → google_searchconsole}/__init__.py +0 -0
  93. /universal_mcp/applications/{google-sheet → google_sheet}/README.md +0 -0
  94. /universal_mcp/applications/{google-sheet → google_sheet}/__init__.py +0 -0
  95. /universal_mcp/applications/{http-tools → http_tools}/README.md +0 -0
  96. /universal_mcp/applications/{http-tools → http_tools}/__init__.py +0 -0
  97. /universal_mcp/applications/{ms-teams → ms_teams}/README.md +0 -0
  98. /universal_mcp/applications/{ms-teams → ms_teams}/__init__.py +0 -0
  99. /universal_mcp/applications/{google-ads → twilio}/README.md +0 -0
  100. /universal_mcp/applications/{whatsapp-business → whatsapp_business}/README.md +0 -0
  101. /universal_mcp/applications/{whatsapp-business → whatsapp_business}/__init__.py +0 -0
  102. {universal_mcp_applications-0.1.1.dist-info → universal_mcp_applications-0.1.3.dist-info}/WHEEL +0 -0
  103. {universal_mcp_applications-0.1.1.dist-info → universal_mcp_applications-0.1.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,8 +1,9 @@
1
1
  from typing import Any
2
2
 
3
+ from youtube_transcript_api import YouTubeTranscriptApi
4
+
3
5
  from universal_mcp.applications.application import APIApplication
4
6
  from universal_mcp.integrations import Integration
5
- from youtube_transcript_api import YouTubeTranscriptApi
6
7
 
7
8
 
8
9
  class YoutubeApp(APIApplication):
@@ -32,7 +33,7 @@ class YoutubeApp(APIApplication):
32
33
  ) -> Any:
33
34
  """
34
35
  Retrieves job reports for a specified job based on provided filters and parameters.
35
-
36
+
36
37
  Args:
37
38
  jobId: The unique identifier for the job whose reports are to be retrieved.
38
39
  createdAfter: Optional; filter to include only reports created after this date (ISO 8601 format).
@@ -41,13 +42,13 @@ class YoutubeApp(APIApplication):
41
42
  pageToken: Optional; a token identifying the page of results to return.
42
43
  startTimeAtOrAfter: Optional; filter to include only reports starting at or after this date-time (ISO 8601 format).
43
44
  startTimeBefore: Optional; filter to include only reports with a start time before this date-time (ISO 8601 format).
44
-
45
+
45
46
  Returns:
46
47
  A JSON object containing the job reports matching the provided criteria.
47
-
48
+
48
49
  Raises:
49
50
  ValueError: Raised if the required 'jobId' parameter is missing.
50
-
51
+
51
52
  Tags:
52
53
  retrieve, report, job-management, batch
53
54
  """
@@ -75,19 +76,19 @@ class YoutubeApp(APIApplication):
75
76
  ) -> Any:
76
77
  """
77
78
  Retrieves a specific report associated with a job using the provided job and report identifiers.
78
-
79
+
79
80
  Args:
80
81
  jobId: The unique identifier for the job containing the report (required).
81
82
  reportId: The unique identifier for the report to fetch (required).
82
83
  onBehalfOfContentOwner: Optional; specifies the content owner for whom the request is made.
83
-
84
+
84
85
  Returns:
85
86
  A JSON object containing the fetched report details.
86
-
87
+
87
88
  Raises:
88
89
  ValueError: Raised if 'jobId' or 'reportId' is not provided.
89
90
  requests.HTTPError: Raised if the API request fails (e.g., invalid permissions or resource not found).
90
-
91
+
91
92
  Tags:
92
93
  retrieve, report, job, api, json
93
94
  """
@@ -108,18 +109,18 @@ class YoutubeApp(APIApplication):
108
109
  def delete_jobs_job(self, jobId, onBehalfOfContentOwner=None) -> Any:
109
110
  """
110
111
  Deletes a job with the specified ID, optionally acting on behalf of a content owner.
111
-
112
+
112
113
  Args:
113
114
  jobId: The unique identifier of the job to delete. Required.
114
115
  onBehalfOfContentOwner: Optional. Content owner ID for delegated authorization.
115
-
116
+
116
117
  Returns:
117
118
  JSON response from the API as a Python dictionary.
118
-
119
+
119
120
  Raises:
120
121
  ValueError: Raised when jobId is None.
121
122
  requests.exceptions.HTTPError: Raised for failed HTTP requests (e.g., invalid job ID, permission errors).
122
-
123
+
123
124
  Tags:
124
125
  delete, jobs, async_job, management
125
126
  """
@@ -144,19 +145,19 @@ class YoutubeApp(APIApplication):
144
145
  ) -> Any:
145
146
  """
146
147
  Retrieves a list of jobs from the server with optional filtering by query parameters.
147
-
148
+
148
149
  Args:
149
150
  includeSystemManaged: Optional boolean indicating whether to include system-managed jobs.
150
151
  onBehalfOfContentOwner: Optional string representing the content owner on behalf of which the request is made.
151
152
  pageSize: Optional integer specifying the number of jobs per page.
152
153
  pageToken: Optional string for paginated results page token.
153
-
154
+
154
155
  Returns:
155
156
  JSON-decoded response containing the list of jobs and related metadata.
156
-
157
+
157
158
  Raises:
158
159
  HTTPError: Raised if the server returns an unsuccessful status code.
159
-
160
+
160
161
  Tags:
161
162
  list, scrape, management
162
163
  """
@@ -178,17 +179,17 @@ class YoutubeApp(APIApplication):
178
179
  def get_media_resource_name(self, resourceName) -> Any:
179
180
  """
180
181
  Retrieves a media resource by name and returns its JSON representation.
181
-
182
+
182
183
  Args:
183
184
  resourceName: The name of the media resource to retrieve. Required and cannot be None.
184
-
185
+
185
186
  Returns:
186
187
  JSON-formatted data representing the media resource.
187
-
188
+
188
189
  Raises:
189
190
  ValueError: If 'resourceName' is None.
190
191
  requests.exceptions.HTTPError: If the HTTP request fails, such as a 404 for a non-existent resource.
191
-
192
+
192
193
  Tags:
193
194
  retrieve, media, json, http, get
194
195
  """
@@ -209,19 +210,19 @@ class YoutubeApp(APIApplication):
209
210
  ) -> Any:
210
211
  """
211
212
  Retrieves a paginated list of report types from the API with optional filtering.
212
-
213
+
213
214
  Args:
214
215
  includeSystemManaged: Boolean indicating whether to include system-managed report types in results.
215
216
  onBehalfOfContentOwner: Content owner ID for delegated authority requests.
216
217
  pageSize: Maximum number of items to return per response page.
217
218
  pageToken: Token identifying a specific results page for pagination.
218
-
219
+
219
220
  Returns:
220
221
  Dictionary containing report type entries and pagination details, typically including 'items' list and 'nextPageToken' if applicable.
221
-
222
+
222
223
  Raises:
223
224
  HTTPError: If the API request fails due to network issues, authentication problems, or invalid parameters.
224
-
225
+
225
226
  Tags:
226
227
  retrieve, list, api-resource, filtering, pagination, report-management
227
228
  """
@@ -245,18 +246,18 @@ class YoutubeApp(APIApplication):
245
246
  ) -> Any:
246
247
  """
247
248
  Deletes specified captions from a YouTube resource and returns the API response.
248
-
249
+
249
250
  Args:
250
251
  id: Optional unique identifier for the caption resource to delete.
251
252
  onBehalfOf: Optional parameter identifying the user on whose behalf the request is made.
252
253
  onBehalfOfContentOwner: Optional parameter specifying the content owner authorizing the request.
253
-
254
+
254
255
  Returns:
255
256
  JSON response containing the result of the DELETE operation from the YouTube API.
256
-
257
+
257
258
  Raises:
258
259
  HTTPError: Raised when the HTTP request fails, such as invalid ID, authentication failures, or API limitations exceeded.
259
-
260
+
260
261
  Tags:
261
262
  delete, captions, api, management
262
263
  """
@@ -274,50 +275,53 @@ class YoutubeApp(APIApplication):
274
275
  response.raise_for_status()
275
276
  return response.json()
276
277
 
277
-
278
278
  def get_captions(self, video_id: str) -> str:
279
279
  """
280
280
  Retrieves the captions text for a specified video ID on youtube
281
-
281
+
282
282
  Args:
283
283
  video_id: The unique identifier for the target video (required)
284
-
284
+
285
285
  Returns:
286
286
  String containing the complete transcript text without timestamps
287
-
287
+
288
288
  Raises:
289
289
  ValueError: Raised when required 'video_id' parameter is missing
290
290
  Exception: Raised when transcript cannot be retrieved (e.g., no captions available)
291
-
291
+
292
292
  Tags:
293
293
  retrieve, transcript, text, captions
294
294
  """
295
295
  if video_id is None:
296
296
  raise ValueError("Missing required parameter 'video_id'")
297
-
297
+
298
298
  try:
299
299
  api = YouTubeTranscriptApi()
300
300
  transcript = api.fetch(video_id)
301
-
302
- transcript_text = ' '.join([snippet.text for snippet in transcript.snippets])
303
-
301
+
302
+ transcript_text = " ".join(
303
+ [snippet.text for snippet in transcript.snippets]
304
+ )
305
+
304
306
  return transcript_text
305
307
  except Exception as e:
306
- raise Exception(f"Failed to retrieve transcript for video {video_id}: {str(e)}")
308
+ raise Exception(
309
+ f"Failed to retrieve transcript for video {video_id}: {str(e)}"
310
+ )
307
311
 
308
312
  def delete_comments(self, id=None) -> Any:
309
313
  """
310
314
  Deletes a comment or comments from the server based on the specified ID.
311
-
315
+
312
316
  Args:
313
317
  id: Optional ID of the comment to be deleted. If not provided, and based on implementation, all comments may be deleted.
314
-
318
+
315
319
  Returns:
316
320
  The JSON response from the server after attempting to delete the comment(s).
317
-
321
+
318
322
  Raises:
319
323
  requests.RequestException: Raised if there is a network error or an invalid response from the server.
320
-
324
+
321
325
  Tags:
322
326
  delete, comments, management
323
327
  """
@@ -329,16 +333,16 @@ class YoutubeApp(APIApplication):
329
333
  def add_comments_mark_as_spam(self, id=None) -> Any:
330
334
  """
331
335
  Marks a comment as spam by sending a POST request to the API endpoint.
332
-
336
+
333
337
  Args:
334
338
  id: Optional unique identifier of the comment to mark as spam (included in request parameters when provided).
335
-
339
+
336
340
  Returns:
337
341
  JSON response from the API containing the operation result.
338
-
342
+
339
343
  Raises:
340
344
  HTTPError: If the POST request fails or returns a non-200 status code.
341
-
345
+
342
346
  Tags:
343
347
  comments, spam, post-request, api, moderation
344
348
  """
@@ -353,18 +357,18 @@ class YoutubeApp(APIApplication):
353
357
  ) -> Any:
354
358
  """
355
359
  Sets the moderation status for a comment and optionally bans the author through a POST request to a defined endpoint.
356
-
360
+
357
361
  Args:
358
362
  banAuthor: Optional boolean indicating whether to ban the comment's author
359
363
  id: Optional string representing the unique identifier of the comment to moderate
360
364
  moderationStatus: Optional string specifying the new moderation status (e.g., 'approved', 'rejected')
361
-
365
+
362
366
  Returns:
363
367
  JSON response from the server containing the result of the moderation operation
364
-
368
+
365
369
  Raises:
366
370
  requests.HTTPError: Raised when the HTTP request fails (e.g., invalid parameters or server errors)
367
-
371
+
368
372
  Tags:
369
373
  moderation, comments, management, api-client, status-update, ban-author
370
374
  """
@@ -387,18 +391,18 @@ class YoutubeApp(APIApplication):
387
391
  ) -> Any:
388
392
  """
389
393
  Deletes specified live broadcasts using query parameters to filter requests.
390
-
394
+
391
395
  Args:
392
396
  id: Optional; Unique identifier of the live broadcast to delete (str).
393
397
  onBehalfOfContentOwner: Optional; Content owner acting on behalf of (str).
394
398
  onBehalfOfContentOwnerChannel: Optional; Channel ID linked to content owner (str).
395
-
399
+
396
400
  Returns:
397
401
  Dict[str, Any] containing the JSON-parsed response from the API request.
398
-
402
+
399
403
  Raises:
400
404
  requests.HTTPError: Raised for any HTTP request failures or invalid status codes (4XX/5XX).
401
-
405
+
402
406
  Tags:
403
407
  delete, live-broadcast, management, api
404
408
  """
@@ -426,20 +430,20 @@ class YoutubeApp(APIApplication):
426
430
  ) -> Any:
427
431
  """
428
432
  Binds a live broadcast to a stream on YouTube, using specified parameters for authentication and identification.
429
-
433
+
430
434
  Args:
431
435
  id: The id of the live broadcast to bind.
432
436
  onBehalfOfContentOwner: The YouTube CMS content owner on behalf of whom the operation is performed.
433
437
  onBehalfOfContentOwnerChannel: The YouTube channel ID for which the live broadcast is operated.
434
438
  part: A comma-separated list of liveBroadcast resource properties to include in the API response.
435
439
  streamId: The id of the stream to which the live broadcast is to be bound.
436
-
440
+
437
441
  Returns:
438
442
  The JSON response object from the YouTube API after attempting to bind the live broadcast to the stream.
439
-
443
+
440
444
  Raises:
441
445
  HTTPError: Raised if the request to the YouTube API fails, typically due to server errors or invalid responses.
442
-
446
+
443
447
  Tags:
444
448
  bind, youtube-api, live-broadcast, stream
445
449
  """
@@ -471,7 +475,7 @@ class YoutubeApp(APIApplication):
471
475
  ) -> Any:
472
476
  """
473
477
  Controls a live broadcast by sending a POST request with specified parameters.
474
-
478
+
475
479
  Args:
476
480
  displaySlate: Optional; Specifies whether or not to show a slate during the broadcast.
477
481
  id: Optional; The ID of the live broadcast to control.
@@ -480,13 +484,13 @@ class YoutubeApp(APIApplication):
480
484
  onBehalfOfContentOwnerChannel: Optional; The channel owned by the content owner.
481
485
  part: Optional; Specifies a comma-separated list of one or more broadcasts resource properties.
482
486
  walltime: Optional; An RFC 3339 timestamp that represents the time at which the action takes place.
483
-
487
+
484
488
  Returns:
485
489
  The JSON response from the server after controlling the live broadcast.
486
-
490
+
487
491
  Raises:
488
492
  requests.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
489
-
493
+
490
494
  Tags:
491
495
  control, live-broadcast, async_job, management
492
496
  """
@@ -518,20 +522,20 @@ class YoutubeApp(APIApplication):
518
522
  ) -> Any:
519
523
  """
520
524
  Transitions a live broadcast to a specified status for a given broadcast ID via API.
521
-
525
+
522
526
  Args:
523
527
  broadcastStatus: Optional; The status to which the live broadcast should be transitioned.
524
528
  id: Optional; The unique identifier of the broadcast that needs to be transitioned.
525
529
  onBehalfOfContentOwner: Optional; The YouTube content owner on whose behalf the API request is being made.
526
530
  onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID of the channel associated with the specified content owner.
527
531
  part: Optional; A comma-separated list of one or more liveBroadcast resource properties that the API response will include.
528
-
532
+
529
533
  Returns:
530
534
  The JSON response from the API containing the details of the transitioned live broadcast.
531
-
535
+
532
536
  Raises:
533
537
  requests.HTTPError: Raised when the HTTP request to the API fails due to a server error or invalid request.
534
-
538
+
535
539
  Tags:
536
540
  transition, live-broadcast, youtube-api, video-management
537
541
  """
@@ -554,16 +558,16 @@ class YoutubeApp(APIApplication):
554
558
  def delete_live_chat_bans(self, id=None) -> Any:
555
559
  """
556
560
  Deletes a live chat ban identified by the specified ID from the server.
557
-
561
+
558
562
  Args:
559
563
  id: Optional; The unique identifier of the live chat ban to delete. If None, no specific ban is targeted.
560
-
564
+
561
565
  Returns:
562
566
  The JSON response from the server after deletion, typically containing operation details.
563
-
567
+
564
568
  Raises:
565
569
  requests.HTTPError: Raised if the HTTP request fails, indicating server-side issues or invalid parameters.
566
-
570
+
567
571
  Tags:
568
572
  delete, management, live-chat, async-job
569
573
  """
@@ -576,16 +580,16 @@ class YoutubeApp(APIApplication):
576
580
  def delete_live_chat_messages(self, id=None) -> Any:
577
581
  """
578
582
  Deletes live chat messages based on the specified message ID.
579
-
583
+
580
584
  Args:
581
585
  id: Optional; The identifier of the specific live chat message to be deleted. If not provided, it defaults to None.
582
-
586
+
583
587
  Returns:
584
588
  A JSON object containing the server's response to the deletion request. It includes details about the operation's success or failure.
585
-
589
+
586
590
  Raises:
587
591
  HTTPError: Raised if the HTTP request to delete the message fails.
588
-
592
+
589
593
  Tags:
590
594
  delete, live-chat, message-management
591
595
  """
@@ -598,16 +602,16 @@ class YoutubeApp(APIApplication):
598
602
  def delete_live_chat_moderators(self, id=None) -> Any:
599
603
  """
600
604
  Deletes a live chat moderator by ID using the specified endpoint.
601
-
605
+
602
606
  Args:
603
607
  id: The ID of the live chat moderator to delete. When None, no deletion occurs (moderator IDs must be explicitly specified).
604
-
608
+
605
609
  Returns:
606
610
  Parsed JSON response from the server containing deletion confirmation or error details.
607
-
611
+
608
612
  Raises:
609
613
  requests.HTTPError: Raised for unsuccessful HTTP responses (e.g., invalid ID, authorization failure, or server errors).
610
-
614
+
611
615
  Tags:
612
616
  delete, moderators, management, live-chat, async_job, ids
613
617
  """
@@ -620,17 +624,17 @@ class YoutubeApp(APIApplication):
620
624
  def delete_videos(self, id=None, onBehalfOfContentOwner=None) -> Any:
621
625
  """
622
626
  Deletes specified videos from a video platform using API endpoints.
623
-
627
+
624
628
  Args:
625
629
  id: (str, optional): Unique identifier of the video to delete. If omitted, no video ID is specified.
626
630
  onBehalfOfContentOwner: (str, optional): Content owner on whose behalf the operation is performed. Defaults to authenticated user.
627
-
631
+
628
632
  Returns:
629
633
  (Any): Parsed JSON response from the API including deletion status/errors.
630
-
634
+
631
635
  Raises:
632
636
  requests.HTTPError: Raised when the API request fails (e.g., invalid video ID, insufficient permissions).
633
-
637
+
634
638
  Tags:
635
639
  delete, video-management, api, async_job
636
640
  """
@@ -647,17 +651,17 @@ class YoutubeApp(APIApplication):
647
651
  def get_videos_get_rating(self, id=None, onBehalfOfContentOwner=None) -> Any:
648
652
  """
649
653
  Retrieves the rating of a video using its ID and optional content owner specification.
650
-
654
+
651
655
  Args:
652
656
  id: Optional; The ID of the video for which the rating is to be retrieved. If None, no specific video ID is used in the request.
653
657
  onBehalfOfContentOwner: Optional; Identifies the content owner for whom the request is being made.
654
-
658
+
655
659
  Returns:
656
660
  A JSON object containing the video rating information returned by the API.
657
-
661
+
658
662
  Raises:
659
663
  HTTPError: Raised if the HTTP request returns an unsuccessful status code.
660
-
664
+
661
665
  Tags:
662
666
  check, video-management
663
667
  """
@@ -674,17 +678,17 @@ class YoutubeApp(APIApplication):
674
678
  def add_videos_rate(self, id=None, rating=None) -> Any:
675
679
  """
676
680
  Submits a rating for a video on the server using the provided video ID and rating value.
677
-
681
+
678
682
  Args:
679
683
  id: Optional; The unique identifier of the video to rate. If None, the video ID is not included in the request.
680
684
  rating: Optional; The rating value to assign to the video. If None, the rating is not included in the request.
681
-
685
+
682
686
  Returns:
683
687
  The JSON response from the server after submitting the rating.
684
-
688
+
685
689
  Raises:
686
690
  HTTPError: Raised when the server returns an HTTP error status.
687
-
691
+
688
692
  Tags:
689
693
  rate, video-management, importance
690
694
  """
@@ -699,16 +703,16 @@ class YoutubeApp(APIApplication):
699
703
  def add_videos_report_abuse(self, onBehalfOfContentOwner=None) -> Any:
700
704
  """
701
705
  Sends an abuse report for videos via the YouTube API, typically used to flag inappropriate content.
702
-
706
+
703
707
  Args:
704
708
  onBehalfOfContentOwner: Optional; YouTube content owner ID acting as the reporting entity (for partner accounts).
705
-
709
+
706
710
  Returns:
707
711
  Dict containing the JSON response from the YouTube API after reporting abuse.
708
-
712
+
709
713
  Raises:
710
714
  HTTPError: Raised when the YouTube API request fails, typically due to authentication errors or invalid parameters.
711
-
715
+
712
716
  Tags:
713
717
  report, abuse, video, content, api
714
718
  """
@@ -725,17 +729,17 @@ class YoutubeApp(APIApplication):
725
729
  def add_watermarks_set(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
726
730
  """
727
731
  Sets watermarks on a specified YouTube channel using optional content owner credentials.
728
-
732
+
729
733
  Args:
730
734
  channelId: Optional; The ID of the YouTube channel on which to set the watermark.
731
735
  onBehalfOfContentOwner: Optional; The content owner's ID that the request is made on behalf of.
732
-
736
+
733
737
  Returns:
734
738
  The JSON response from the API call, which includes details about the watermark setting operation.
735
-
739
+
736
740
  Raises:
737
741
  requests.RequestException: Raised if there is an error with the API request, such as connection issues or invalid response status.
738
-
742
+
739
743
  Tags:
740
744
  watermark, youtube, management, channel-config
741
745
  """
@@ -755,17 +759,17 @@ class YoutubeApp(APIApplication):
755
759
  def add_watermarks_unset(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
756
760
  """
757
761
  Removes watermarks from a YouTube channel specified by channel ID.
758
-
762
+
759
763
  Args:
760
764
  channelId: Optional; The unique identifier of the YouTube channel from which to remove watermarks.
761
765
  onBehalfOfContentOwner: Optional; The content owner that the request is on behalf of, used by YouTube content partners.
762
-
766
+
763
767
  Returns:
764
768
  The JSON response from the YouTube API after attempting to remove the watermarks.
765
-
769
+
766
770
  Raises:
767
771
  HTTPError: Raised when there is an error in the HTTP request or if the server returns a status code indicating a client or server error.
768
-
772
+
769
773
  Tags:
770
774
  remove, watermark, youtube
771
775
  """
@@ -796,7 +800,7 @@ class YoutubeApp(APIApplication):
796
800
  ) -> Any:
797
801
  """
798
802
  Retrieve YouTube channel activities based on specified filters and parameters.
799
-
803
+
800
804
  Args:
801
805
  channelId: The YouTube channel ID to fetch activities from. If None, fetches from multiple sources (depending on other parameters).
802
806
  home: If True, retrieves activities from the user's personalized YouTube home feed. Requires authentication if mine is not specified.
@@ -807,13 +811,13 @@ class YoutubeApp(APIApplication):
807
811
  publishedAfter: Filter activities published after this datetime (ISO 8601 format).
808
812
  publishedBefore: Filter activities published before this datetime (ISO 8601 format).
809
813
  regionCode: Return activities viewable in the specified two-letter ISO country code.
810
-
814
+
811
815
  Returns:
812
816
  Dictionary containing parsed JSON response with activity data.
813
-
817
+
814
818
  Raises:
815
819
  requests.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors.
816
-
820
+
817
821
  Tags:
818
822
  retrieve, activities, youtube, api-client, pagination, filter, async
819
823
  """
@@ -842,17 +846,17 @@ class YoutubeApp(APIApplication):
842
846
  ) -> Any:
843
847
  """
844
848
  Inserts a new channel banner for a YouTube channel using the YouTube Data API.
845
-
849
+
846
850
  Args:
847
851
  channelId: Optional string specifying the unique identifier of the YouTube channel for banner insertion
848
852
  onBehalfOfContentOwner: Optional string indicating the content owner's external ID when acting on their behalf
849
-
853
+
850
854
  Returns:
851
855
  JSON object containing the API response with details of the newly inserted channel banner
852
-
856
+
853
857
  Raises:
854
858
  HTTPError: Raised when the YouTube Data API request fails (4XX or 5XX status code)
855
-
859
+
856
860
  Tags:
857
861
  insert, channel, banner, youtube-api, management, async_job
858
862
  """
@@ -872,17 +876,17 @@ class YoutubeApp(APIApplication):
872
876
  def delete_channel_sections(self, id=None, onBehalfOfContentOwner=None) -> Any:
873
877
  """
874
878
  Deletes one or more channel sections from the specified platform using the provided identifiers.
875
-
879
+
876
880
  Args:
877
881
  id: Optional string representing the unique identifier of the target channel section. If omitted, no specific deletion occurs (behavior depends on API implementation).
878
882
  onBehalfOfContentOwner: Optional string indicating the content owner on whose behalf the request is made.
879
-
883
+
880
884
  Returns:
881
885
  JSON-decoded response payload from the API server after deletion attempt.
882
-
886
+
883
887
  Raises:
884
888
  requests.HTTPError: Raised for HTTP 4xx/5xx responses from the server during the deletion request.
885
-
889
+
886
890
  Tags:
887
891
  delete, channel-section, management
888
892
  """
@@ -912,7 +916,7 @@ class YoutubeApp(APIApplication):
912
916
  ) -> Any:
913
917
  """
914
918
  Retrieves YouTube channels based on specified parameters.
915
-
919
+
916
920
  Args:
917
921
  categoryId: Category ID to filter channels.
918
922
  forUsername: Username to retrieve channels for.
@@ -925,13 +929,13 @@ class YoutubeApp(APIApplication):
925
929
  onBehalfOfContentOwner: Content owner ID to retrieve channels on behalf of.
926
930
  pageToken: Token for pagination.
927
931
  part: Specified parts of the channel resource to include in the response.
928
-
932
+
929
933
  Returns:
930
934
  JSON response containing the requested channels.
931
-
935
+
932
936
  Raises:
933
937
  ResponseError: Raised if there is an error in the HTTP response.
934
-
938
+
935
939
  Tags:
936
940
  search, youtube, channels, management, important
937
941
  """
@@ -973,7 +977,7 @@ class YoutubeApp(APIApplication):
973
977
  ) -> Any:
974
978
  """
975
979
  Retrieve YouTube comment threads based on specified filters and pagination parameters.
976
-
980
+
977
981
  Args:
978
982
  allThreadsRelatedToChannelId: Returns all threads associated with the specified channel, including replies
979
983
  channelId: Channel ID to filter comment threads
@@ -986,13 +990,13 @@ class YoutubeApp(APIApplication):
986
990
  searchTerms: Text search query to filter comments
987
991
  textFormat: Formatting for comment text (e.g., 'html', 'plainText')
988
992
  videoId: Video ID to filter associated comment threads
989
-
993
+
990
994
  Returns:
991
995
  JSON response containing comment thread data and pagination information
992
-
996
+
993
997
  Raises:
994
998
  HTTPError: Raised for unsuccessful API requests (4xx/5xx status codes)
995
-
999
+
996
1000
  Tags:
997
1001
  retrieve, comments, pagination, youtube-api, rest, data-fetch
998
1002
  """
@@ -1023,19 +1027,19 @@ class YoutubeApp(APIApplication):
1023
1027
  ) -> Any:
1024
1028
  """
1025
1029
  Retrieves fan funding events based on specified filter criteria.
1026
-
1030
+
1027
1031
  Args:
1028
1032
  hl: Optional; a string representing the language for text values.
1029
1033
  maxResults: Optional; an integer specifying the maximum number of results to return.
1030
1034
  pageToken: Optional; a string token to retrieve a specific page in a paginated set of results.
1031
1035
  part: Optional; a comma-separated list of one or more 'fanFundingEvent' resource properties that the API response will include.
1032
-
1036
+
1033
1037
  Returns:
1034
1038
  A JSON-decoded response of the fan funding events data retrieved from the API.
1035
-
1039
+
1036
1040
  Raises:
1037
1041
  HTTPError: Raised if the API request returns a status code that indicates an error.
1038
-
1042
+
1039
1043
  Tags:
1040
1044
  retrieve, events, fanfunding
1041
1045
  """
@@ -1057,19 +1061,19 @@ class YoutubeApp(APIApplication):
1057
1061
  def get_guecategories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
1058
1062
  """
1059
1063
  Fetches guide categories from a remote service based on specified parameters.
1060
-
1064
+
1061
1065
  Args:
1062
1066
  hl: Optional; a string that specifies the language localization.
1063
1067
  id: Optional; a string representing the ID of the guide category.
1064
1068
  part: Optional; a string indicating which parts of the guide category resource to return.
1065
1069
  regionCode: Optional; a string that denotes the region of interest.
1066
-
1070
+
1067
1071
  Returns:
1068
1072
  A dictionary containing the JSON response representing guide categories from the service.
1069
-
1073
+
1070
1074
  Raises:
1071
1075
  requests.exceptions.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
1072
-
1076
+
1073
1077
  Tags:
1074
1078
  get, fetch, guide-categories, api-call
1075
1079
  """
@@ -1091,17 +1095,17 @@ class YoutubeApp(APIApplication):
1091
1095
  def get_languages(self, hl=None, part=None) -> Any:
1092
1096
  """
1093
1097
  Fetches a list of supported languages from the internationalization API, returning localized names when specified.
1094
-
1098
+
1095
1099
  Args:
1096
1100
  hl: Optional language code to localize returned language names (e.g., 'en' for English).
1097
1101
  part: Optional comma-separated list of i18nLanguage resource properties to include in response.
1098
-
1102
+
1099
1103
  Returns:
1100
1104
  JSON object containing API response with supported languages data.
1101
-
1105
+
1102
1106
  Raises:
1103
1107
  HTTPError: Raised for unsuccessful API requests (4XX/5XX status codes).
1104
-
1108
+
1105
1109
  Tags:
1106
1110
  fetch, i18n, languages, api-client
1107
1111
  """
@@ -1114,17 +1118,17 @@ class YoutubeApp(APIApplication):
1114
1118
  def get_regions(self, hl=None, part=None) -> Any:
1115
1119
  """
1116
1120
  Retrieves a list of i18n regions from an API endpoint.
1117
-
1121
+
1118
1122
  Args:
1119
1123
  hl: Optional string representing language code for regional localization.
1120
1124
  part: Optional comma-separated string specifying i18nRegion resource parts to include.
1121
-
1125
+
1122
1126
  Returns:
1123
1127
  JSON response containing i18n regions data.
1124
-
1128
+
1125
1129
  Raises:
1126
1130
  HTTPError: If the API request fails with a 4XX/5XX status code.
1127
-
1131
+
1128
1132
  Tags:
1129
1133
  list, regions, i18n, api
1130
1134
  """
@@ -1139,18 +1143,18 @@ class YoutubeApp(APIApplication):
1139
1143
  ) -> Any:
1140
1144
  """
1141
1145
  Deletes a YouTube livestream resource using the YouTube Data API with optional filtering parameters.
1142
-
1146
+
1143
1147
  Args:
1144
1148
  id: Optional; A comma-separated list of YouTube livestream IDs to be deleted.
1145
1149
  onBehalfOfContentOwner: Optional; The YouTube content owner who is the channel owner of the livestream and makes this API call.
1146
1150
  onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID on behalf of which the API call is made.
1147
-
1151
+
1148
1152
  Returns:
1149
1153
  A JSON object containing the API's response to the delete request.
1150
-
1154
+
1151
1155
  Raises:
1152
1156
  requests.HTTPError: Raised when the HTTP request returns an unsuccessful status code.
1153
-
1157
+
1154
1158
  Tags:
1155
1159
  delete, livestream, youtube, api
1156
1160
  """
@@ -1171,17 +1175,17 @@ class YoutubeApp(APIApplication):
1171
1175
  def delete_play_list_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
1172
1176
  """
1173
1177
  Deletes playlist items identified by the given ID or on behalf of the specified content owner.
1174
-
1178
+
1175
1179
  Args:
1176
1180
  id: Optional; The ID of the playlist item to be deleted.
1177
1181
  onBehalfOfContentOwner: Optional; The content owner on whose behalf the playlist item is being deleted.
1178
-
1182
+
1179
1183
  Returns:
1180
1184
  JSON response from the server indicating the result of the deletion operation.
1181
-
1185
+
1182
1186
  Raises:
1183
1187
  HTTPError: Raised if the API request fails due to invalid parameters, authorization issues, or server errors.
1184
-
1188
+
1185
1189
  Tags:
1186
1190
  delete, playlist-items, management
1187
1191
  """
@@ -1198,17 +1202,17 @@ class YoutubeApp(APIApplication):
1198
1202
  def delete_playlists(self, id=None, onBehalfOfContentOwner=None) -> Any:
1199
1203
  """
1200
1204
  Deletes playlists via the YouTube Data API based on specified criteria.
1201
-
1205
+
1202
1206
  Args:
1203
1207
  id: Optional; A string representing the ID of the playlist to delete. If None, operation details depend on API implementation (not recommended without explicit identifier).
1204
1208
  onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the operation is performed. Used for delegated access.
1205
-
1209
+
1206
1210
  Returns:
1207
1211
  Dictionary containing the JSON response from the YouTube API after playlist deletion.
1208
-
1212
+
1209
1213
  Raises:
1210
1214
  HTTPError: Raised when the API request fails, typically due to invalid permissions, non-existent playlist, or network issues.
1211
-
1215
+
1212
1216
  Tags:
1213
1217
  delete, playlists, youtube-api, management
1214
1218
  """
@@ -1258,7 +1262,7 @@ class YoutubeApp(APIApplication):
1258
1262
  ) -> Any:
1259
1263
  """
1260
1264
  Submits a search query to the YouTube Data API with optional filters.
1261
-
1265
+
1262
1266
  Args:
1263
1267
  channelId: Channel filter for the search.
1264
1268
  channelType: Type of channel to filter by.
@@ -1291,13 +1295,13 @@ class YoutubeApp(APIApplication):
1291
1295
  videoLicense: License filter for videos.
1292
1296
  videoSyndicated: Whether videos are syndicated.
1293
1297
  videoType: Type of video (e.g., 'movie', 'episode')
1294
-
1298
+
1295
1299
  Returns:
1296
1300
  JSON response containing the search results.
1297
-
1301
+
1298
1302
  Raises:
1299
1303
  HTTPError: If the request to the YouTube Data API fails.
1300
-
1304
+
1301
1305
  Tags:
1302
1306
  search, youtube-api, video-search, web-api, important
1303
1307
  """
@@ -1348,19 +1352,19 @@ class YoutubeApp(APIApplication):
1348
1352
  ) -> Any:
1349
1353
  """
1350
1354
  Fetches a list of sponsors from a server with optional filtering and pagination.
1351
-
1355
+
1352
1356
  Args:
1353
1357
  filter: Optional string containing filtering criteria for sponsors.
1354
1358
  maxResults: Optional integer limiting the number of returned sponsors.
1355
1359
  pageToken: Optional token string for paginating to a specific result page.
1356
1360
  part: Optional string specifying which sponsor detail parts to include.
1357
-
1361
+
1358
1362
  Returns:
1359
1363
  JSON response containing the list of sponsors (filtered/paginated) as returned by the server.
1360
-
1364
+
1361
1365
  Raises:
1362
1366
  requests.HTTPError: If the HTTP request fails or returns a non-200 status code.
1363
-
1367
+
1364
1368
  Tags:
1365
1369
  fetch, list, pagination, filter, sponsors, api
1366
1370
  """
@@ -1382,16 +1386,16 @@ class YoutubeApp(APIApplication):
1382
1386
  def delete_subscriptions(self, id=None) -> Any:
1383
1387
  """
1384
1388
  Deletes one or all subscriptions by sending a DELETE request to the API endpoint.
1385
-
1389
+
1386
1390
  Args:
1387
1391
  id: Optional identifier for a specific subscription to delete (str, int, or None). If None, deletes all subscriptions.
1388
-
1392
+
1389
1393
  Returns:
1390
1394
  JSON-formatted response from the API containing deletion results.
1391
-
1395
+
1392
1396
  Raises:
1393
1397
  HTTPError: Raised for HTTP request failures (4XX/5XX status codes) during the deletion attempt.
1394
-
1398
+
1395
1399
  Tags:
1396
1400
  delete, subscriptions, async-job, management
1397
1401
  """
@@ -1406,19 +1410,19 @@ class YoutubeApp(APIApplication):
1406
1410
  ) -> Any:
1407
1411
  """
1408
1412
  Fetches a list of super chat events from the YouTube API with optional filtering parameters.
1409
-
1413
+
1410
1414
  Args:
1411
1415
  hl: Optional; the language code to select localized resource information.
1412
1416
  maxResults: Optional; the maximum number of items that should be returned in the result set.
1413
1417
  pageToken: Optional; the token to identify a specific page in the result set.
1414
1418
  part: Optional; the parameter specifying which super chat event resource parts to include in the response.
1415
-
1419
+
1416
1420
  Returns:
1417
1421
  A JSON object containing the super chat events data returned by the YouTube API.
1418
-
1422
+
1419
1423
  Raises:
1420
1424
  RequestException: Raised if there is an issue with the HTTP request, such as network or server errors.
1421
-
1425
+
1422
1426
  Tags:
1423
1427
  fetch, youtube-api, async-job
1424
1428
  """
@@ -1440,17 +1444,17 @@ class YoutubeApp(APIApplication):
1440
1444
  def add_thumbnails_set(self, onBehalfOfContentOwner=None, videoId=None) -> Any:
1441
1445
  """
1442
1446
  Sets a thumbnail for a specified video on behalf of a content owner using the YouTube API.
1443
-
1447
+
1444
1448
  Args:
1445
1449
  onBehalfOfContentOwner: Optional; str. The YouTube content owner ID on whose behalf the request is being made.
1446
1450
  videoId: Optional; str. The ID of the video for which the thumbnails are being set.
1447
-
1451
+
1448
1452
  Returns:
1449
1453
  dict. The response from the YouTube API as a JSON object, containing details of the updated video thumbnail.
1450
-
1454
+
1451
1455
  Raises:
1452
1456
  HTTPError: Raised if the HTTP request returns an unsuccessful status code.
1453
-
1457
+
1454
1458
  Tags:
1455
1459
  thumbnail, youtube-api, video-management, async-job
1456
1460
  """
@@ -1470,17 +1474,17 @@ class YoutubeApp(APIApplication):
1470
1474
  def get_video_abuse_report_reasons(self, hl=None, part=None) -> Any:
1471
1475
  """
1472
1476
  Fetches video abuse report reasons with optional localization and response filtering.
1473
-
1477
+
1474
1478
  Args:
1475
1479
  hl: Optional BCP-47 language code for localizing the response (e.g., 'en' or 'fr').
1476
1480
  part: Optional parameter specifying which parts of the abuse report reasons to include in the response (e.g., 'id' or 'snippet').
1477
-
1481
+
1478
1482
  Returns:
1479
1483
  A JSON object containing the list of video abuse report reasons, or filtered parts if specified.
1480
-
1484
+
1481
1485
  Raises:
1482
1486
  requests.RequestException: Raised if there is a problem with the HTTP request (e.g., network issues or invalid response).
1483
-
1487
+
1484
1488
  Tags:
1485
1489
  fetch, management, abuse-report, video-content
1486
1490
  """
@@ -1493,19 +1497,19 @@ class YoutubeApp(APIApplication):
1493
1497
  def get_veocategories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
1494
1498
  """
1495
1499
  Fetches video categories from an external API using specified query parameters and returns the parsed JSON response.
1496
-
1500
+
1497
1501
  Args:
1498
1502
  hl: Optional; the language code (e.g., 'en') for localized video category names
1499
1503
  id: Optional; comma-separated list of video category IDs to filter results
1500
1504
  part: Optional; list of properties (e.g., 'snippet') to include in the response
1501
1505
  regionCode: Optional; ISO 3166-1 alpha-2 country code to filter region-specific categories
1502
-
1506
+
1503
1507
  Returns:
1504
1508
  Dictionary containing parsed JSON response with video category details
1505
-
1509
+
1506
1510
  Raises:
1507
1511
  requests.HTTPError: Raised when the API request fails with a non-success status code
1508
-
1512
+
1509
1513
  Tags:
1510
1514
  fetch, video-categories, api-request, json-response
1511
1515
  """
@@ -1527,17 +1531,17 @@ class YoutubeApp(APIApplication):
1527
1531
  def delete_groupitems(self, id=None, onBehalfOfContentOwner=None) -> Any:
1528
1532
  """
1529
1533
  Deletes group items based on the provided parameters.
1530
-
1534
+
1531
1535
  Args:
1532
1536
  id: Optional; A string that identifies the group item to be deleted. If not provided, all group items may be affected depending on other parameters.
1533
1537
  onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the request is being made.
1534
-
1538
+
1535
1539
  Returns:
1536
1540
  A JSON object containing the response from the deletion request.
1537
-
1541
+
1538
1542
  Raises:
1539
1543
  HTTPError: Raised if the HTTP request returns an unsuccessful status code.
1540
-
1544
+
1541
1545
  Tags:
1542
1546
  delete, groupitems, management
1543
1547
  """
@@ -1554,17 +1558,17 @@ class YoutubeApp(APIApplication):
1554
1558
  def delete_groups(self, id=None, onBehalfOfContentOwner=None) -> Any:
1555
1559
  """
1556
1560
  Deletes specified groups via API, optionally on behalf of a content owner.
1557
-
1561
+
1558
1562
  Args:
1559
1563
  id: Optional unique identifier for the group to delete. If None, no specific group targeted.
1560
1564
  onBehalfOfContentOwner: Optional content owner ID for delegated authorization.
1561
-
1565
+
1562
1566
  Returns:
1563
1567
  JSON-decoded response indicating operation success/failure.
1564
-
1568
+
1565
1569
  Raises:
1566
1570
  requests.exceptions.HTTPError: Raised for invalid requests, authentication failures, or server errors during deletion.
1567
-
1571
+
1568
1572
  Tags:
1569
1573
  delete, management, async_job, api
1570
1574
  """
@@ -1593,7 +1597,7 @@ class YoutubeApp(APIApplication):
1593
1597
  ) -> Any:
1594
1598
  """
1595
1599
  Fetches and returns report data based on specified filtering, sorting, and range criteria.
1596
-
1600
+
1597
1601
  Args:
1598
1602
  currency: Optional; specifies the currency format for monetary values in the report
1599
1603
  dimensions: Optional; list of dimensions (e.g., 'country', 'device') to include in report breakdowns
@@ -1605,13 +1609,13 @@ class YoutubeApp(APIApplication):
1605
1609
  metrics: Optional; list of measurable values to include (e.g., 'clicks', 'conversions')
1606
1610
  sort: Optional; criteria for sorting results (e.g., '-clicks' for descending order)
1607
1611
  start: Optional; start date (YYYY-MM-DD format) for the report data range
1608
-
1612
+
1609
1613
  Returns:
1610
1614
  Report data as parsed JSON from the API response
1611
-
1615
+
1612
1616
  Raises:
1613
1617
  requests.exceptions.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors
1614
-
1618
+
1615
1619
  Tags:
1616
1620
  fetch, report, api, filter, sort, metrics, management
1617
1621
  """