universal-mcp-applications 0.1.12__py3-none-any.whl → 0.1.14__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.

Potentially problematic release.


This version of universal-mcp-applications might be problematic. Click here for more details.

Files changed (54) hide show
  1. universal_mcp/applications/aws_s3/app.py +71 -71
  2. universal_mcp/applications/calendly/app.py +199 -199
  3. universal_mcp/applications/canva/app.py +189 -189
  4. universal_mcp/applications/domain_checker/app.py +31 -24
  5. universal_mcp/applications/e2b/app.py +6 -7
  6. universal_mcp/applications/elevenlabs/app.py +24 -20
  7. universal_mcp/applications/exa/app.py +25 -20
  8. universal_mcp/applications/falai/app.py +44 -41
  9. universal_mcp/applications/file_system/app.py +20 -12
  10. universal_mcp/applications/firecrawl/app.py +46 -47
  11. universal_mcp/applications/fireflies/app.py +79 -79
  12. universal_mcp/applications/fpl/app.py +83 -74
  13. universal_mcp/applications/github/README.md +0 -1028
  14. universal_mcp/applications/github/app.py +55 -50227
  15. universal_mcp/applications/google_calendar/app.py +63 -65
  16. universal_mcp/applications/google_docs/app.py +78 -78
  17. universal_mcp/applications/google_drive/app.py +361 -440
  18. universal_mcp/applications/google_gemini/app.py +34 -17
  19. universal_mcp/applications/google_mail/app.py +164 -118
  20. universal_mcp/applications/google_searchconsole/app.py +41 -47
  21. universal_mcp/applications/google_sheet/app.py +157 -164
  22. universal_mcp/applications/http_tools/app.py +16 -16
  23. universal_mcp/applications/linkedin/app.py +26 -31
  24. universal_mcp/applications/ms_teams/app.py +190 -190
  25. universal_mcp/applications/openai/app.py +55 -56
  26. universal_mcp/applications/outlook/app.py +57 -57
  27. universal_mcp/applications/perplexity/app.py +17 -17
  28. universal_mcp/applications/reddit/app.py +225 -4053
  29. universal_mcp/applications/replicate/app.py +40 -42
  30. universal_mcp/applications/resend/app.py +157 -154
  31. universal_mcp/applications/scraper/app.py +24 -24
  32. universal_mcp/applications/serpapi/app.py +18 -20
  33. universal_mcp/applications/sharepoint/app.py +46 -36
  34. universal_mcp/applications/slack/app.py +66 -66
  35. universal_mcp/applications/tavily/app.py +7 -7
  36. universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
  37. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
  38. universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
  39. universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
  40. universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
  41. universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
  42. universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
  43. universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
  44. universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
  45. universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
  46. universal_mcp/applications/unipile/app.py +99 -105
  47. universal_mcp/applications/whatsapp/app.py +86 -82
  48. universal_mcp/applications/whatsapp_business/app.py +147 -147
  49. universal_mcp/applications/youtube/app.py +290 -290
  50. universal_mcp/applications/zenquotes/app.py +6 -6
  51. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/METADATA +2 -2
  52. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/RECORD +54 -54
  53. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/WHEEL +0 -0
  54. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/licenses/LICENSE +0 -0
@@ -21,7 +21,7 @@ class YoutubeApp(APIApplication):
21
21
  super().__init__(name="youtube", integration=integration, **kwargs)
22
22
  self.base_url = "https://www.googleapis.com/youtube/v3"
23
23
 
24
- def get_jobs_job_reports(
24
+ def list_job_reports(
25
25
  self,
26
26
  jobId,
27
27
  createdAfter=None,
@@ -32,8 +32,8 @@ class YoutubeApp(APIApplication):
32
32
  startTimeBefore=None,
33
33
  ) -> Any:
34
34
  """
35
- Retrieves job reports for a specified job based on provided filters and parameters.
36
-
35
+ Retrieves a paginated list of all reports for a specific job ID, with options for filtering by date. Unlike `get_jobs_job_reports_report`, which fetches a single report by its ID, this function returns a collection of reports associated with a job.
36
+
37
37
  Args:
38
38
  jobId: The unique identifier for the job whose reports are to be retrieved.
39
39
  createdAfter: Optional; filter to include only reports created after this date (ISO 8601 format).
@@ -42,13 +42,13 @@ class YoutubeApp(APIApplication):
42
42
  pageToken: Optional; a token identifying the page of results to return.
43
43
  startTimeAtOrAfter: Optional; filter to include only reports starting at or after this date-time (ISO 8601 format).
44
44
  startTimeBefore: Optional; filter to include only reports with a start time before this date-time (ISO 8601 format).
45
-
45
+
46
46
  Returns:
47
47
  A JSON object containing the job reports matching the provided criteria.
48
-
48
+
49
49
  Raises:
50
50
  ValueError: Raised if the required 'jobId' parameter is missing.
51
-
51
+
52
52
  Tags:
53
53
  retrieve, report, job-management, batch
54
54
  """
@@ -71,24 +71,24 @@ class YoutubeApp(APIApplication):
71
71
  response.raise_for_status()
72
72
  return response.json()
73
73
 
74
- def get_jobs_job_reports_report(
74
+ def get_job_report(
75
75
  self, jobId, reportId, onBehalfOfContentOwner=None
76
76
  ) -> Any:
77
77
  """
78
- Retrieves a specific report associated with a job using the provided job and report identifiers.
79
-
78
+ Fetches a single, specific report identified by its `reportId` from within a given `jobId`. This retrieves an individual record, distinguishing it from `get_jobs_job_reports`, which returns a list of reports for a job. The request can be made on behalf of a content owner.
79
+
80
80
  Args:
81
81
  jobId: The unique identifier for the job containing the report (required).
82
82
  reportId: The unique identifier for the report to fetch (required).
83
83
  onBehalfOfContentOwner: Optional; specifies the content owner for whom the request is made.
84
-
84
+
85
85
  Returns:
86
86
  A JSON object containing the fetched report details.
87
-
87
+
88
88
  Raises:
89
89
  ValueError: Raised if 'jobId' or 'reportId' is not provided.
90
90
  requests.HTTPError: Raised if the API request fails (e.g., invalid permissions or resource not found).
91
-
91
+
92
92
  Tags:
93
93
  retrieve, report, job, api, json
94
94
  """
@@ -106,21 +106,21 @@ class YoutubeApp(APIApplication):
106
106
  response.raise_for_status()
107
107
  return response.json()
108
108
 
109
- def delete_jobs_job(self, jobId, onBehalfOfContentOwner=None) -> Any:
109
+ def delete_job(self, jobId, onBehalfOfContentOwner=None) -> Any:
110
110
  """
111
- Deletes a job with the specified ID, optionally acting on behalf of a content owner.
112
-
111
+ Deletes a specific job resource using its unique `jobId`, optionally on behalf of a content owner. This action permanently removes the job itself, differentiating it from functions that only retrieve or manage job reports.
112
+
113
113
  Args:
114
114
  jobId: The unique identifier of the job to delete. Required.
115
115
  onBehalfOfContentOwner: Optional. Content owner ID for delegated authorization.
116
-
116
+
117
117
  Returns:
118
118
  JSON response from the API as a Python dictionary.
119
-
119
+
120
120
  Raises:
121
121
  ValueError: Raised when jobId is None.
122
122
  requests.exceptions.HTTPError: Raised for failed HTTP requests (e.g., invalid job ID, permission errors).
123
-
123
+
124
124
  Tags:
125
125
  delete, jobs, async_job, management
126
126
  """
@@ -136,7 +136,7 @@ class YoutubeApp(APIApplication):
136
136
  response.raise_for_status()
137
137
  return response.json()
138
138
 
139
- def get_jobs(
139
+ def list_jobs(
140
140
  self,
141
141
  includeSystemManaged=None,
142
142
  onBehalfOfContentOwner=None,
@@ -144,20 +144,20 @@ class YoutubeApp(APIApplication):
144
144
  pageToken=None,
145
145
  ) -> Any:
146
146
  """
147
- Retrieves a list of jobs from the server with optional filtering by query parameters.
148
-
147
+ Retrieves a paginated list of asynchronous jobs from the YouTube Reporting API. Supports filtering by content owner and including system-managed jobs. This function lists multiple jobs, distinct from `get_jobs_job_reports` which retrieves reports for a single job.
148
+
149
149
  Args:
150
150
  includeSystemManaged: Optional boolean indicating whether to include system-managed jobs.
151
151
  onBehalfOfContentOwner: Optional string representing the content owner on behalf of which the request is made.
152
152
  pageSize: Optional integer specifying the number of jobs per page.
153
153
  pageToken: Optional string for paginated results page token.
154
-
154
+
155
155
  Returns:
156
156
  JSON-decoded response containing the list of jobs and related metadata.
157
-
157
+
158
158
  Raises:
159
159
  HTTPError: Raised if the server returns an unsuccessful status code.
160
-
160
+
161
161
  Tags:
162
162
  list, scrape, management
163
163
  """
@@ -176,20 +176,20 @@ class YoutubeApp(APIApplication):
176
176
  response.raise_for_status()
177
177
  return response.json()
178
178
 
179
- def get_media_resource_name(self, resourceName) -> Any:
179
+ def download_report_media(self, resourceName) -> Any:
180
180
  """
181
- Retrieves a media resource by name and returns its JSON representation.
182
-
181
+ Downloads the content of a bulk data report from the YouTube Reporting API by its unique `resourceName`. This function retrieves the actual media file generated by a reporting job, distinct from functions that only fetch report metadata.
182
+
183
183
  Args:
184
184
  resourceName: The name of the media resource to retrieve. Required and cannot be None.
185
-
185
+
186
186
  Returns:
187
187
  JSON-formatted data representing the media resource.
188
-
188
+
189
189
  Raises:
190
190
  ValueError: If 'resourceName' is None.
191
191
  requests.exceptions.HTTPError: If the HTTP request fails, such as a 404 for a non-existent resource.
192
-
192
+
193
193
  Tags:
194
194
  retrieve, media, json, http, get
195
195
  """
@@ -209,20 +209,20 @@ class YoutubeApp(APIApplication):
209
209
  pageToken=None,
210
210
  ) -> Any:
211
211
  """
212
- Retrieves a paginated list of report types from the API with optional filtering.
213
-
212
+ Retrieves a list of available report types from the YouTube Reporting API, supporting pagination and filtering. This function returns metadata about what kinds of reports can be generated, distinct from functions like `get_reports` that fetch actual report content.
213
+
214
214
  Args:
215
215
  includeSystemManaged: Boolean indicating whether to include system-managed report types in results.
216
216
  onBehalfOfContentOwner: Content owner ID for delegated authority requests.
217
217
  pageSize: Maximum number of items to return per response page.
218
218
  pageToken: Token identifying a specific results page for pagination.
219
-
219
+
220
220
  Returns:
221
221
  Dictionary containing report type entries and pagination details, typically including 'items' list and 'nextPageToken' if applicable.
222
-
222
+
223
223
  Raises:
224
224
  HTTPError: If the API request fails due to network issues, authentication problems, or invalid parameters.
225
-
225
+
226
226
  Tags:
227
227
  retrieve, list, api-resource, filtering, pagination, report-management
228
228
  """
@@ -245,19 +245,19 @@ class YoutubeApp(APIApplication):
245
245
  self, id=None, onBehalfOf=None, onBehalfOfContentOwner=None
246
246
  ) -> Any:
247
247
  """
248
- Deletes specified captions from a YouTube resource and returns the API response.
249
-
248
+ Deletes a specific YouTube caption resource using its unique ID, with optional delegation for content owners. This management function removes the entire caption track, unlike `get_captions` which only retrieves the transcript text for a given video ID.
249
+
250
250
  Args:
251
251
  id: Optional unique identifier for the caption resource to delete.
252
252
  onBehalfOf: Optional parameter identifying the user on whose behalf the request is made.
253
253
  onBehalfOfContentOwner: Optional parameter specifying the content owner authorizing the request.
254
-
254
+
255
255
  Returns:
256
256
  JSON response containing the result of the DELETE operation from the YouTube API.
257
-
257
+
258
258
  Raises:
259
259
  HTTPError: Raised when the HTTP request fails, such as invalid ID, authentication failures, or API limitations exceeded.
260
-
260
+
261
261
  Tags:
262
262
  delete, captions, api, management
263
263
  """
@@ -275,20 +275,20 @@ class YoutubeApp(APIApplication):
275
275
  response.raise_for_status()
276
276
  return response.json()
277
277
 
278
- def get_captions(self, video_id: str) -> str:
278
+ def get_transcript_text(self, video_id: str) -> str:
279
279
  """
280
- Retrieves the captions text for a specified video ID on youtube
281
-
280
+ Fetches the full text transcript for a YouTube video using its ID. Unlike other methods using the official API, this function utilizes the `youtube-transcript-api` library to extract and concatenate all caption snippets into a single, timestamp-free string of the video's spoken content.
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
  """
@@ -311,17 +311,17 @@ class YoutubeApp(APIApplication):
311
311
 
312
312
  def delete_comments(self, id=None) -> Any:
313
313
  """
314
- Deletes a comment or comments from the server based on the specified ID.
315
-
314
+ Permanently removes a specific comment identified by its unique ID via a DELETE request. Unlike moderation functions like `add_comments_mark_as_spam`, which only alter a comment's state, this action is irreversible and deletes the resource. An `id` is required to specify the target comment.
315
+
316
316
  Args:
317
317
  id: Optional ID of the comment to be deleted. If not provided, and based on implementation, all comments may be deleted.
318
-
318
+
319
319
  Returns:
320
320
  The JSON response from the server after attempting to delete the comment(s).
321
-
321
+
322
322
  Raises:
323
323
  requests.RequestException: Raised if there is a network error or an invalid response from the server.
324
-
324
+
325
325
  Tags:
326
326
  delete, comments, management
327
327
  """
@@ -330,19 +330,19 @@ class YoutubeApp(APIApplication):
330
330
  response = self._delete(url, params=query_params)
331
331
  return self._handle_response(response)
332
332
 
333
- def add_comments_mark_as_spam(self, id=None) -> Any:
333
+ def mark_comment_as_spam(self, id=None) -> Any:
334
334
  """
335
- Marks a comment as spam by sending a POST request to the API endpoint.
336
-
335
+ Marks a specified YouTube comment as spam via a POST request to the API. This moderation action is distinct from deleting comments (`delete_comments`) or setting other statuses like 'approved' or 'rejected' (`add_comments_set_moderation_status`).
336
+
337
337
  Args:
338
338
  id: Optional unique identifier of the comment to mark as spam (included in request parameters when provided).
339
-
339
+
340
340
  Returns:
341
341
  JSON response from the API containing the operation result.
342
-
342
+
343
343
  Raises:
344
344
  HTTPError: If the POST request fails or returns a non-200 status code.
345
-
345
+
346
346
  Tags:
347
347
  comments, spam, post-request, api, moderation
348
348
  """
@@ -352,23 +352,23 @@ class YoutubeApp(APIApplication):
352
352
  response.raise_for_status()
353
353
  return response.json()
354
354
 
355
- def add_comments_set_moderation_status(
355
+ def set_comment_moderation_status(
356
356
  self, banAuthor=None, id=None, moderationStatus=None
357
357
  ) -> Any:
358
358
  """
359
- Sets the moderation status for a comment and optionally bans the author through a POST request to a defined endpoint.
360
-
359
+ Sets the moderation status (e.g., 'approved', 'rejected') for specified comments and can optionally ban the author. Unlike `add_comments_mark_as_spam`, this function allows for various moderation states, providing more granular control over comment management.
360
+
361
361
  Args:
362
362
  banAuthor: Optional boolean indicating whether to ban the comment's author
363
363
  id: Optional string representing the unique identifier of the comment to moderate
364
364
  moderationStatus: Optional string specifying the new moderation status (e.g., 'approved', 'rejected')
365
-
365
+
366
366
  Returns:
367
367
  JSON response from the server containing the result of the moderation operation
368
-
368
+
369
369
  Raises:
370
370
  requests.HTTPError: Raised when the HTTP request fails (e.g., invalid parameters or server errors)
371
-
371
+
372
372
  Tags:
373
373
  moderation, comments, management, api-client, status-update, ban-author
374
374
  """
@@ -390,19 +390,19 @@ class YoutubeApp(APIApplication):
390
390
  self, id=None, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None
391
391
  ) -> Any:
392
392
  """
393
- Deletes specified live broadcasts using query parameters to filter requests.
394
-
393
+ Deletes a YouTube live broadcast event by its unique ID via the API. This request can be made on behalf of a content owner or channel. It targets the `/liveBroadcasts` endpoint, distinguishing it from `delete_livestreams` which manages the actual content stream.
394
+
395
395
  Args:
396
396
  id: Optional; Unique identifier of the live broadcast to delete (str).
397
397
  onBehalfOfContentOwner: Optional; Content owner acting on behalf of (str).
398
398
  onBehalfOfContentOwnerChannel: Optional; Channel ID linked to content owner (str).
399
-
399
+
400
400
  Returns:
401
401
  Dict[str, Any] containing the JSON-parsed response from the API request.
402
-
402
+
403
403
  Raises:
404
404
  requests.HTTPError: Raised for any HTTP request failures or invalid status codes (4XX/5XX).
405
-
405
+
406
406
  Tags:
407
407
  delete, live-broadcast, management, api
408
408
  """
@@ -420,7 +420,7 @@ class YoutubeApp(APIApplication):
420
420
  response.raise_for_status()
421
421
  return response.json()
422
422
 
423
- def add_live_broadcasts_bind(
423
+ def bind_live_broadcast_to_stream(
424
424
  self,
425
425
  id=None,
426
426
  onBehalfOfContentOwner=None,
@@ -429,21 +429,21 @@ class YoutubeApp(APIApplication):
429
429
  streamId=None,
430
430
  ) -> Any:
431
431
  """
432
- Binds a live broadcast to a stream on YouTube, using specified parameters for authentication and identification.
433
-
432
+ Binds a YouTube live broadcast to a video stream using their respective IDs. This action associates the broadcast's metadata with the content stream, optionally performing the action on behalf of a content owner, facilitating the link between a planned event and its live video feed.
433
+
434
434
  Args:
435
435
  id: The id of the live broadcast to bind.
436
436
  onBehalfOfContentOwner: The YouTube CMS content owner on behalf of whom the operation is performed.
437
437
  onBehalfOfContentOwnerChannel: The YouTube channel ID for which the live broadcast is operated.
438
438
  part: A comma-separated list of liveBroadcast resource properties to include in the API response.
439
439
  streamId: The id of the stream to which the live broadcast is to be bound.
440
-
440
+
441
441
  Returns:
442
442
  The JSON response object from the YouTube API after attempting to bind the live broadcast to the stream.
443
-
443
+
444
444
  Raises:
445
445
  HTTPError: Raised if the request to the YouTube API fails, typically due to server errors or invalid responses.
446
-
446
+
447
447
  Tags:
448
448
  bind, youtube-api, live-broadcast, stream
449
449
  """
@@ -463,7 +463,7 @@ class YoutubeApp(APIApplication):
463
463
  response.raise_for_status()
464
464
  return response.json()
465
465
 
466
- def add_live_broadcasts_control(
466
+ def control_live_broadcast(
467
467
  self,
468
468
  displaySlate=None,
469
469
  id=None,
@@ -474,8 +474,8 @@ class YoutubeApp(APIApplication):
474
474
  walltime=None,
475
475
  ) -> Any:
476
476
  """
477
- Controls a live broadcast by sending a POST request with specified parameters.
478
-
477
+ Sends control commands to a YouTube live broadcast, identified by its ID. It can display a slate or schedule an action using a time offset. Unlike `add_live_broadcasts_transition`, which alters broadcast status (e.g., 'live'), this function manages in-stream state.
478
+
479
479
  Args:
480
480
  displaySlate: Optional; Specifies whether or not to show a slate during the broadcast.
481
481
  id: Optional; The ID of the live broadcast to control.
@@ -484,13 +484,13 @@ class YoutubeApp(APIApplication):
484
484
  onBehalfOfContentOwnerChannel: Optional; The channel owned by the content owner.
485
485
  part: Optional; Specifies a comma-separated list of one or more broadcasts resource properties.
486
486
  walltime: Optional; An RFC 3339 timestamp that represents the time at which the action takes place.
487
-
487
+
488
488
  Returns:
489
489
  The JSON response from the server after controlling the live broadcast.
490
-
490
+
491
491
  Raises:
492
492
  requests.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
493
-
493
+
494
494
  Tags:
495
495
  control, live-broadcast, async_job, management
496
496
  """
@@ -512,7 +512,7 @@ class YoutubeApp(APIApplication):
512
512
  response.raise_for_status()
513
513
  return response.json()
514
514
 
515
- def add_live_broadcasts_transition(
515
+ def transition_live_broadcast(
516
516
  self,
517
517
  broadcastStatus=None,
518
518
  id=None,
@@ -521,21 +521,21 @@ class YoutubeApp(APIApplication):
521
521
  part=None,
522
522
  ) -> Any:
523
523
  """
524
- Transitions a live broadcast to a specified status for a given broadcast ID via API.
525
-
524
+ Changes a YouTube live broadcast's status (e.g., making it 'live' or 'complete') by posting to the API's transition endpoint. This function alters the broadcast's lifecycle state, distinct from other control actions like binding it to a stream, and returns the API's JSON response.
525
+
526
526
  Args:
527
527
  broadcastStatus: Optional; The status to which the live broadcast should be transitioned.
528
528
  id: Optional; The unique identifier of the broadcast that needs to be transitioned.
529
529
  onBehalfOfContentOwner: Optional; The YouTube content owner on whose behalf the API request is being made.
530
530
  onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID of the channel associated with the specified content owner.
531
531
  part: Optional; A comma-separated list of one or more liveBroadcast resource properties that the API response will include.
532
-
532
+
533
533
  Returns:
534
534
  The JSON response from the API containing the details of the transitioned live broadcast.
535
-
535
+
536
536
  Raises:
537
537
  requests.HTTPError: Raised when the HTTP request to the API fails due to a server error or invalid request.
538
-
538
+
539
539
  Tags:
540
540
  transition, live-broadcast, youtube-api, video-management
541
541
  """
@@ -555,19 +555,19 @@ class YoutubeApp(APIApplication):
555
555
  response.raise_for_status()
556
556
  return response.json()
557
557
 
558
- def delete_live_chat_bans(self, id=None) -> Any:
558
+ def delete_live_chat_ban(self, id=None) -> Any:
559
559
  """
560
- Deletes a live chat ban identified by the specified ID from the server.
561
-
560
+ Deletes a specific YouTube live chat ban using its unique ID. It sends a DELETE request to the `/liveChat/bans` endpoint to revoke the ban, allowing the user to participate in the chat again.
561
+
562
562
  Args:
563
563
  id: Optional; The unique identifier of the live chat ban to delete. If None, no specific ban is targeted.
564
-
564
+
565
565
  Returns:
566
566
  The JSON response from the server after deletion, typically containing operation details.
567
-
567
+
568
568
  Raises:
569
569
  requests.HTTPError: Raised if the HTTP request fails, indicating server-side issues or invalid parameters.
570
-
570
+
571
571
  Tags:
572
572
  delete, management, live-chat, async-job
573
573
  """
@@ -577,19 +577,19 @@ class YoutubeApp(APIApplication):
577
577
  response.raise_for_status()
578
578
  return response.json()
579
579
 
580
- def delete_live_chat_messages(self, id=None) -> Any:
580
+ def delete_live_chat_message(self, id=None) -> Any:
581
581
  """
582
- Deletes live chat messages based on the specified message ID.
583
-
582
+ Deletes a specific YouTube live chat message identified by its unique ID. This function targets the `/liveChat/messages` endpoint, distinguishing it from `delete_live_chat_bans` and `delete_live_chat_moderators`, which manage different aspects of a live chat.
583
+
584
584
  Args:
585
585
  id: Optional; The identifier of the specific live chat message to be deleted. If not provided, it defaults to None.
586
-
586
+
587
587
  Returns:
588
588
  A JSON object containing the server's response to the deletion request. It includes details about the operation's success or failure.
589
-
589
+
590
590
  Raises:
591
591
  HTTPError: Raised if the HTTP request to delete the message fails.
592
-
592
+
593
593
  Tags:
594
594
  delete, live-chat, message-management
595
595
  """
@@ -601,17 +601,17 @@ class YoutubeApp(APIApplication):
601
601
 
602
602
  def delete_live_chat_moderators(self, id=None) -> Any:
603
603
  """
604
- Deletes a live chat moderator by ID using the specified endpoint.
605
-
604
+ Deletes a specific YouTube live chat moderator using their unique ID. This function sends a DELETE request to the `/liveChat/moderators` API endpoint and returns the server's JSON response, confirming the successful removal or detailing errors. The moderator ID is a required parameter for this action.
605
+
606
606
  Args:
607
607
  id: The ID of the live chat moderator to delete. When None, no deletion occurs (moderator IDs must be explicitly specified).
608
-
608
+
609
609
  Returns:
610
610
  Parsed JSON response from the server containing deletion confirmation or error details.
611
-
611
+
612
612
  Raises:
613
613
  requests.HTTPError: Raised for unsuccessful HTTP responses (e.g., invalid ID, authorization failure, or server errors).
614
-
614
+
615
615
  Tags:
616
616
  delete, moderators, management, live-chat, async_job, ids
617
617
  """
@@ -623,18 +623,18 @@ class YoutubeApp(APIApplication):
623
623
 
624
624
  def delete_videos(self, id=None, onBehalfOfContentOwner=None) -> Any:
625
625
  """
626
- Deletes specified videos from a video platform using API endpoints.
627
-
626
+ Deletes a specified YouTube video using its unique ID. The operation can be performed on behalf of a content owner by sending an HTTP DELETE request to the `/videos` endpoint. It's distinct from other video functions that only modify or retrieve metadata, like rating or abuse reports.
627
+
628
628
  Args:
629
629
  id: (str, optional): Unique identifier of the video to delete. If omitted, no video ID is specified.
630
630
  onBehalfOfContentOwner: (str, optional): Content owner on whose behalf the operation is performed. Defaults to authenticated user.
631
-
631
+
632
632
  Returns:
633
633
  (Any): Parsed JSON response from the API including deletion status/errors.
634
-
634
+
635
635
  Raises:
636
636
  requests.HTTPError: Raised when the API request fails (e.g., invalid video ID, insufficient permissions).
637
-
637
+
638
638
  Tags:
639
639
  delete, video-management, api, async_job
640
640
  """
@@ -648,20 +648,20 @@ class YoutubeApp(APIApplication):
648
648
  response.raise_for_status()
649
649
  return response.json()
650
650
 
651
- def get_videos_get_rating(self, id=None, onBehalfOfContentOwner=None) -> Any:
651
+ def get_video_ratings(self, id=None, onBehalfOfContentOwner=None) -> Any:
652
652
  """
653
- Retrieves the rating of a video using its ID and optional content owner specification.
654
-
653
+ Retrieves the authenticated user's rating (e.g., 'like', 'dislike') for specified videos. This function fetches existing rating data, distinct from `add_videos_rate` which submits a new rating, and can be performed on behalf of a content owner.
654
+
655
655
  Args:
656
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.
657
657
  onBehalfOfContentOwner: Optional; Identifies the content owner for whom the request is being made.
658
-
658
+
659
659
  Returns:
660
660
  A JSON object containing the video rating information returned by the API.
661
-
661
+
662
662
  Raises:
663
663
  HTTPError: Raised if the HTTP request returns an unsuccessful status code.
664
-
664
+
665
665
  Tags:
666
666
  check, video-management
667
667
  """
@@ -675,20 +675,20 @@ class YoutubeApp(APIApplication):
675
675
  response.raise_for_status()
676
676
  return response.json()
677
677
 
678
- def add_videos_rate(self, id=None, rating=None) -> Any:
678
+ def rate_video(self, id=None, rating=None) -> Any:
679
679
  """
680
- Submits a rating for a video on the server using the provided video ID and rating value.
681
-
680
+ Submits a rating (e.g., 'like', 'dislike') for a video specified by its unique ID. This function sends a POST request to the YouTube API's `/videos/rate` endpoint and returns the server's JSON response upon successful submission.
681
+
682
682
  Args:
683
683
  id: Optional; The unique identifier of the video to rate. If None, the video ID is not included in the request.
684
684
  rating: Optional; The rating value to assign to the video. If None, the rating is not included in the request.
685
-
685
+
686
686
  Returns:
687
687
  The JSON response from the server after submitting the rating.
688
-
688
+
689
689
  Raises:
690
690
  HTTPError: Raised when the server returns an HTTP error status.
691
-
691
+
692
692
  Tags:
693
693
  rate, video-management, importance
694
694
  """
@@ -700,19 +700,19 @@ class YoutubeApp(APIApplication):
700
700
  response.raise_for_status()
701
701
  return response.json()
702
702
 
703
- def add_videos_report_abuse(self, onBehalfOfContentOwner=None) -> Any:
703
+ def report_video_for_abuse(self, onBehalfOfContentOwner=None) -> Any:
704
704
  """
705
- Sends an abuse report for videos via the YouTube API, typically used to flag inappropriate content.
706
-
705
+ Reports a video for abuse via a POST request to the YouTube API. An optional parameter allows a content owner to submit the report on behalf of their account, flagging potentially inappropriate content for review by YouTube.
706
+
707
707
  Args:
708
708
  onBehalfOfContentOwner: Optional; YouTube content owner ID acting as the reporting entity (for partner accounts).
709
-
709
+
710
710
  Returns:
711
711
  Dict containing the JSON response from the YouTube API after reporting abuse.
712
-
712
+
713
713
  Raises:
714
714
  HTTPError: Raised when the YouTube API request fails, typically due to authentication errors or invalid parameters.
715
-
715
+
716
716
  Tags:
717
717
  report, abuse, video, content, api
718
718
  """
@@ -726,20 +726,20 @@ class YoutubeApp(APIApplication):
726
726
  response.raise_for_status()
727
727
  return response.json()
728
728
 
729
- def add_watermarks_set(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
729
+ def set_channel_watermark(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
730
730
  """
731
- Sets watermarks on a specified YouTube channel using optional content owner credentials.
732
-
731
+ Sets a branding watermark on a specified YouTube channel. The operation targets the channel using its ID and can be executed on behalf of a content owner. This function contrasts with `add_watermarks_unset`, which removes the watermark.
732
+
733
733
  Args:
734
734
  channelId: Optional; The ID of the YouTube channel on which to set the watermark.
735
735
  onBehalfOfContentOwner: Optional; The content owner's ID that the request is made on behalf of.
736
-
736
+
737
737
  Returns:
738
738
  The JSON response from the API call, which includes details about the watermark setting operation.
739
-
739
+
740
740
  Raises:
741
741
  requests.RequestException: Raised if there is an error with the API request, such as connection issues or invalid response status.
742
-
742
+
743
743
  Tags:
744
744
  watermark, youtube, management, channel-config
745
745
  """
@@ -756,20 +756,20 @@ class YoutubeApp(APIApplication):
756
756
  response.raise_for_status()
757
757
  return response.json()
758
758
 
759
- def add_watermarks_unset(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
759
+ def unset_channel_watermark(self, channelId=None, onBehalfOfContentOwner=None) -> Any:
760
760
  """
761
- Removes watermarks from a YouTube channel specified by channel ID.
762
-
761
+ Removes the branding watermark for a specified YouTube channel via an API POST request. This operation, the inverse of `add_watermarks_set`, can be executed on behalf of a content owner to unset the channel's current watermark.
762
+
763
763
  Args:
764
764
  channelId: Optional; The unique identifier of the YouTube channel from which to remove watermarks.
765
765
  onBehalfOfContentOwner: Optional; The content owner that the request is on behalf of, used by YouTube content partners.
766
-
766
+
767
767
  Returns:
768
768
  The JSON response from the YouTube API after attempting to remove the watermarks.
769
-
769
+
770
770
  Raises:
771
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.
772
-
772
+
773
773
  Tags:
774
774
  remove, watermark, youtube
775
775
  """
@@ -799,8 +799,8 @@ class YoutubeApp(APIApplication):
799
799
  regionCode=None,
800
800
  ) -> Any:
801
801
  """
802
- Retrieve YouTube channel activities based on specified filters and parameters.
803
-
802
+ Retrieves a list of YouTube activities, such as video uploads or social posts. Supports filtering by channel, authenticated user's feed, publication date, and region. The function also handles pagination to navigate through large result sets and returns the JSON response from the API.
803
+
804
804
  Args:
805
805
  channelId: The YouTube channel ID to fetch activities from. If None, fetches from multiple sources (depending on other parameters).
806
806
  home: If True, retrieves activities from the user's personalized YouTube home feed. Requires authentication if mine is not specified.
@@ -811,13 +811,13 @@ class YoutubeApp(APIApplication):
811
811
  publishedAfter: Filter activities published after this datetime (ISO 8601 format).
812
812
  publishedBefore: Filter activities published before this datetime (ISO 8601 format).
813
813
  regionCode: Return activities viewable in the specified two-letter ISO country code.
814
-
814
+
815
815
  Returns:
816
816
  Dictionary containing parsed JSON response with activity data.
817
-
817
+
818
818
  Raises:
819
819
  requests.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors.
820
-
820
+
821
821
  Tags:
822
822
  retrieve, activities, youtube, api-client, pagination, filter, async
823
823
  """
@@ -841,22 +841,22 @@ class YoutubeApp(APIApplication):
841
841
  response.raise_for_status()
842
842
  return response.json()
843
843
 
844
- def add_channel_banners_insert(
844
+ def insert_channel_banner(
845
845
  self, channelId=None, onBehalfOfContentOwner=None
846
846
  ) -> Any:
847
847
  """
848
- Inserts a new channel banner for a YouTube channel using the YouTube Data API.
849
-
848
+ Uploads and sets a new banner image for a specified YouTube channel. This function makes a POST request to the `/channelBanners/insert` endpoint, optionally on behalf of a content owner, and returns details of the newly created banner.
849
+
850
850
  Args:
851
851
  channelId: Optional string specifying the unique identifier of the YouTube channel for banner insertion
852
852
  onBehalfOfContentOwner: Optional string indicating the content owner's external ID when acting on their behalf
853
-
853
+
854
854
  Returns:
855
855
  JSON object containing the API response with details of the newly inserted channel banner
856
-
856
+
857
857
  Raises:
858
858
  HTTPError: Raised when the YouTube Data API request fails (4XX or 5XX status code)
859
-
859
+
860
860
  Tags:
861
861
  insert, channel, banner, youtube-api, management, async_job
862
862
  """
@@ -875,18 +875,18 @@ class YoutubeApp(APIApplication):
875
875
 
876
876
  def delete_channel_sections(self, id=None, onBehalfOfContentOwner=None) -> Any:
877
877
  """
878
- Deletes one or more channel sections from the specified platform using the provided identifiers.
879
-
878
+ Deletes a YouTube channel section by its unique ID via an API request. The operation can be performed on behalf of a content owner for delegated management, returning a JSON response upon success or raising an HTTPError for failures like invalid IDs or insufficient permissions.
879
+
880
880
  Args:
881
881
  id: Optional string representing the unique identifier of the target channel section. If omitted, no specific deletion occurs (behavior depends on API implementation).
882
882
  onBehalfOfContentOwner: Optional string indicating the content owner on whose behalf the request is made.
883
-
883
+
884
884
  Returns:
885
885
  JSON-decoded response payload from the API server after deletion attempt.
886
-
886
+
887
887
  Raises:
888
888
  requests.HTTPError: Raised for HTTP 4xx/5xx responses from the server during the deletion request.
889
-
889
+
890
890
  Tags:
891
891
  delete, channel-section, management
892
892
  """
@@ -900,7 +900,7 @@ class YoutubeApp(APIApplication):
900
900
  response.raise_for_status()
901
901
  return response.json()
902
902
 
903
- def get_channels(
903
+ def list_channels(
904
904
  self,
905
905
  categoryId=None,
906
906
  forUsername=None,
@@ -915,8 +915,8 @@ class YoutubeApp(APIApplication):
915
915
  part=None,
916
916
  ) -> Any:
917
917
  """
918
- Retrieves YouTube channels based on specified parameters.
919
-
918
+ Retrieves channel data from the YouTube API using specific filters like ID, username, or ownership status (`mine`, `managedByMe`). The function supports pagination and localization, returning a JSON object containing details for the targeted channels.
919
+
920
920
  Args:
921
921
  categoryId: Category ID to filter channels.
922
922
  forUsername: Username to retrieve channels for.
@@ -929,13 +929,13 @@ class YoutubeApp(APIApplication):
929
929
  onBehalfOfContentOwner: Content owner ID to retrieve channels on behalf of.
930
930
  pageToken: Token for pagination.
931
931
  part: Specified parts of the channel resource to include in the response.
932
-
932
+
933
933
  Returns:
934
934
  JSON response containing the requested channels.
935
-
935
+
936
936
  Raises:
937
937
  ResponseError: Raised if there is an error in the HTTP response.
938
-
938
+
939
939
  Tags:
940
940
  search, youtube, channels, management, important
941
941
  """
@@ -976,8 +976,8 @@ class YoutubeApp(APIApplication):
976
976
  videoId=None,
977
977
  ) -> Any:
978
978
  """
979
- Retrieve YouTube comment threads based on specified filters and pagination parameters.
980
-
979
+ Retrieves YouTube comment threads using filters like channel ID, video ID, or search terms. It supports pagination and sorting, serving as the primary method for fetching comment data, distinct from other functions in the script that moderate or delete individual comments.
980
+
981
981
  Args:
982
982
  allThreadsRelatedToChannelId: Returns all threads associated with the specified channel, including replies
983
983
  channelId: Channel ID to filter comment threads
@@ -990,13 +990,13 @@ class YoutubeApp(APIApplication):
990
990
  searchTerms: Text search query to filter comments
991
991
  textFormat: Formatting for comment text (e.g., 'html', 'plainText')
992
992
  videoId: Video ID to filter associated comment threads
993
-
993
+
994
994
  Returns:
995
995
  JSON response containing comment thread data and pagination information
996
-
996
+
997
997
  Raises:
998
998
  HTTPError: Raised for unsuccessful API requests (4xx/5xx status codes)
999
-
999
+
1000
1000
  Tags:
1001
1001
  retrieve, comments, pagination, youtube-api, rest, data-fetch
1002
1002
  """
@@ -1026,20 +1026,20 @@ class YoutubeApp(APIApplication):
1026
1026
  self, hl=None, maxResults=None, pageToken=None, part=None
1027
1027
  ) -> Any:
1028
1028
  """
1029
- Retrieves fan funding events based on specified filter criteria.
1030
-
1029
+ Fetches a list of fan funding events from the YouTube API for the authenticated user's channel. Supports pagination, localization, and partial responses to retrieve customized event data like Super Chat or Super Stickers based on specified filter criteria and response parts.
1030
+
1031
1031
  Args:
1032
1032
  hl: Optional; a string representing the language for text values.
1033
1033
  maxResults: Optional; an integer specifying the maximum number of results to return.
1034
1034
  pageToken: Optional; a string token to retrieve a specific page in a paginated set of results.
1035
1035
  part: Optional; a comma-separated list of one or more 'fanFundingEvent' resource properties that the API response will include.
1036
-
1036
+
1037
1037
  Returns:
1038
1038
  A JSON-decoded response of the fan funding events data retrieved from the API.
1039
-
1039
+
1040
1040
  Raises:
1041
1041
  HTTPError: Raised if the API request returns a status code that indicates an error.
1042
-
1042
+
1043
1043
  Tags:
1044
1044
  retrieve, events, fanfunding
1045
1045
  """
@@ -1058,22 +1058,22 @@ class YoutubeApp(APIApplication):
1058
1058
  response.raise_for_status()
1059
1059
  return response.json()
1060
1060
 
1061
- def get_guecategories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
1061
+ def get_guide_categories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
1062
1062
  """
1063
- Fetches guide categories from a remote service based on specified parameters.
1064
-
1063
+ Retrieves a list of official YouTube guide categories (e.g., Music, Sports). This function queries the `/guideCategories` endpoint, allowing results to be filtered by ID or region and localized for a specific language. These are distinct from the categories assigned to individual videos.
1064
+
1065
1065
  Args:
1066
1066
  hl: Optional; a string that specifies the language localization.
1067
1067
  id: Optional; a string representing the ID of the guide category.
1068
1068
  part: Optional; a string indicating which parts of the guide category resource to return.
1069
1069
  regionCode: Optional; a string that denotes the region of interest.
1070
-
1070
+
1071
1071
  Returns:
1072
1072
  A dictionary containing the JSON response representing guide categories from the service.
1073
-
1073
+
1074
1074
  Raises:
1075
1075
  requests.exceptions.HTTPError: Raised if the HTTP request returns an unsuccessful status code.
1076
-
1076
+
1077
1077
  Tags:
1078
1078
  get, fetch, guide-categories, api-call
1079
1079
  """
@@ -1092,20 +1092,20 @@ class YoutubeApp(APIApplication):
1092
1092
  response.raise_for_status()
1093
1093
  return response.json()
1094
1094
 
1095
- def get_languages(self, hl=None, part=None) -> Any:
1095
+ def get_i18n_languages(self, hl=None, part=None) -> Any:
1096
1096
  """
1097
- Fetches a list of supported languages from the internationalization API, returning localized names when specified.
1098
-
1097
+ Retrieves a list of supported internationalization (i18n) languages from the YouTube API's `/i18nLanguages` endpoint. It can optionally localize the language names in the response. This function is distinct from `get_regions`, which fetches supported geographical regions.
1098
+
1099
1099
  Args:
1100
1100
  hl: Optional language code to localize returned language names (e.g., 'en' for English).
1101
1101
  part: Optional comma-separated list of i18nLanguage resource properties to include in response.
1102
-
1102
+
1103
1103
  Returns:
1104
1104
  JSON object containing API response with supported languages data.
1105
-
1105
+
1106
1106
  Raises:
1107
1107
  HTTPError: Raised for unsuccessful API requests (4XX/5XX status codes).
1108
-
1108
+
1109
1109
  Tags:
1110
1110
  fetch, i18n, languages, api-client
1111
1111
  """
@@ -1115,20 +1115,20 @@ class YoutubeApp(APIApplication):
1115
1115
  response.raise_for_status()
1116
1116
  return response.json()
1117
1117
 
1118
- def get_regions(self, hl=None, part=None) -> Any:
1118
+ def get_i18n_regions(self, hl=None, part=None) -> Any:
1119
1119
  """
1120
- Retrieves a list of i18n regions from an API endpoint.
1121
-
1120
+ Fetches a list of geographic regions supported by the YouTube API for content localization. It can localize region names using the 'hl' parameter. This is distinct from get_languages, which retrieves supported languages, not geographic areas.
1121
+
1122
1122
  Args:
1123
1123
  hl: Optional string representing language code for regional localization.
1124
1124
  part: Optional comma-separated string specifying i18nRegion resource parts to include.
1125
-
1125
+
1126
1126
  Returns:
1127
1127
  JSON response containing i18n regions data.
1128
-
1128
+
1129
1129
  Raises:
1130
1130
  HTTPError: If the API request fails with a 4XX/5XX status code.
1131
-
1131
+
1132
1132
  Tags:
1133
1133
  list, regions, i18n, api
1134
1134
  """
@@ -1142,19 +1142,19 @@ class YoutubeApp(APIApplication):
1142
1142
  self, id=None, onBehalfOfContentOwner=None, onBehalfOfContentOwnerChannel=None
1143
1143
  ) -> Any:
1144
1144
  """
1145
- Deletes a YouTube livestream resource using the YouTube Data API with optional filtering parameters.
1146
-
1145
+ Deletes one or more YouTube livestreams by ID via the `/liveStreams` API endpoint, optionally on behalf of a content owner. This function is distinct from `delete_live_broadcasts`, which targets a different live video resource, and returns the server's JSON response upon successful deletion.
1146
+
1147
1147
  Args:
1148
1148
  id: Optional; A comma-separated list of YouTube livestream IDs to be deleted.
1149
1149
  onBehalfOfContentOwner: Optional; The YouTube content owner who is the channel owner of the livestream and makes this API call.
1150
1150
  onBehalfOfContentOwnerChannel: Optional; The YouTube channel ID on behalf of which the API call is made.
1151
-
1151
+
1152
1152
  Returns:
1153
1153
  A JSON object containing the API's response to the delete request.
1154
-
1154
+
1155
1155
  Raises:
1156
1156
  requests.HTTPError: Raised when the HTTP request returns an unsuccessful status code.
1157
-
1157
+
1158
1158
  Tags:
1159
1159
  delete, livestream, youtube, api
1160
1160
  """
@@ -1172,20 +1172,20 @@ class YoutubeApp(APIApplication):
1172
1172
  response.raise_for_status()
1173
1173
  return response.json()
1174
1174
 
1175
- def delete_play_list_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
1175
+ def delete_playlist_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
1176
1176
  """
1177
- Deletes playlist items identified by the given ID or on behalf of the specified content owner.
1178
-
1177
+ Deletes one or more YouTube playlist items by their unique IDs. The operation can be performed on behalf of a content owner for delegated authorization, sending a DELETE request to the `/playlistItems` endpoint and returning the server's response.
1178
+
1179
1179
  Args:
1180
1180
  id: Optional; The ID of the playlist item to be deleted.
1181
1181
  onBehalfOfContentOwner: Optional; The content owner on whose behalf the playlist item is being deleted.
1182
-
1182
+
1183
1183
  Returns:
1184
1184
  JSON response from the server indicating the result of the deletion operation.
1185
-
1185
+
1186
1186
  Raises:
1187
1187
  HTTPError: Raised if the API request fails due to invalid parameters, authorization issues, or server errors.
1188
-
1188
+
1189
1189
  Tags:
1190
1190
  delete, playlist-items, management
1191
1191
  """
@@ -1201,18 +1201,18 @@ class YoutubeApp(APIApplication):
1201
1201
 
1202
1202
  def delete_playlists(self, id=None, onBehalfOfContentOwner=None) -> Any:
1203
1203
  """
1204
- Deletes playlists via the YouTube Data API based on specified criteria.
1205
-
1204
+ Deletes a YouTube playlist by its unique ID via a DELETE request to the API. The operation can be performed on behalf of a specific content owner for delegated management. This function targets the entire playlist, distinct from `delete_play_list_items` which removes individual videos from a playlist.
1205
+
1206
1206
  Args:
1207
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).
1208
1208
  onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the operation is performed. Used for delegated access.
1209
-
1209
+
1210
1210
  Returns:
1211
1211
  Dictionary containing the JSON response from the YouTube API after playlist deletion.
1212
-
1212
+
1213
1213
  Raises:
1214
1214
  HTTPError: Raised when the API request fails, typically due to invalid permissions, non-existent playlist, or network issues.
1215
-
1215
+
1216
1216
  Tags:
1217
1217
  delete, playlists, youtube-api, management
1218
1218
  """
@@ -1261,8 +1261,8 @@ class YoutubeApp(APIApplication):
1261
1261
  videoType=None,
1262
1262
  ) -> Any:
1263
1263
  """
1264
- Submits a search query to the YouTube Data API with optional filters.
1265
-
1264
+ Performs a versatile search on YouTube for videos, channels, or playlists. This function supports extensive filters, including keywords, publication dates, location, and specific video attributes like category or duration, returning a paginated list of matching resources from the YouTube Data API.
1265
+
1266
1266
  Args:
1267
1267
  channelId: Channel filter for the search.
1268
1268
  channelType: Type of channel to filter by.
@@ -1295,13 +1295,13 @@ class YoutubeApp(APIApplication):
1295
1295
  videoLicense: License filter for videos.
1296
1296
  videoSyndicated: Whether videos are syndicated.
1297
1297
  videoType: Type of video (e.g., 'movie', 'episode')
1298
-
1298
+
1299
1299
  Returns:
1300
1300
  JSON response containing the search results.
1301
-
1301
+
1302
1302
  Raises:
1303
1303
  HTTPError: If the request to the YouTube Data API fails.
1304
-
1304
+
1305
1305
  Tags:
1306
1306
  search, youtube-api, video-search, web-api, important
1307
1307
  """
@@ -1347,24 +1347,24 @@ class YoutubeApp(APIApplication):
1347
1347
  response.raise_for_status()
1348
1348
  return response.json()
1349
1349
 
1350
- def get_sponsors(
1350
+ def list_sponsors(
1351
1351
  self, filter=None, maxResults=None, pageToken=None, part=None
1352
1352
  ) -> Any:
1353
1353
  """
1354
- Fetches a list of sponsors from a server with optional filtering and pagination.
1355
-
1354
+ Retrieves a list of sponsors for the authenticated user's YouTube channel. This function supports filtering, pagination, and specifying which resource parts to include in the response, allowing for flexible and customized data fetching of sponsor information.
1355
+
1356
1356
  Args:
1357
1357
  filter: Optional string containing filtering criteria for sponsors.
1358
1358
  maxResults: Optional integer limiting the number of returned sponsors.
1359
1359
  pageToken: Optional token string for paginating to a specific result page.
1360
1360
  part: Optional string specifying which sponsor detail parts to include.
1361
-
1361
+
1362
1362
  Returns:
1363
1363
  JSON response containing the list of sponsors (filtered/paginated) as returned by the server.
1364
-
1364
+
1365
1365
  Raises:
1366
1366
  requests.HTTPError: If the HTTP request fails or returns a non-200 status code.
1367
-
1367
+
1368
1368
  Tags:
1369
1369
  fetch, list, pagination, filter, sponsors, api
1370
1370
  """
@@ -1385,17 +1385,17 @@ class YoutubeApp(APIApplication):
1385
1385
 
1386
1386
  def delete_subscriptions(self, id=None) -> Any:
1387
1387
  """
1388
- Deletes one or all subscriptions by sending a DELETE request to the API endpoint.
1389
-
1388
+ Deletes a specific YouTube channel subscription identified by its unique ID. This function sends a DELETE request to the `/subscriptions` API endpoint and returns the server's JSON response, confirming the operation's success or failure.
1389
+
1390
1390
  Args:
1391
1391
  id: Optional identifier for a specific subscription to delete (str, int, or None). If None, deletes all subscriptions.
1392
-
1392
+
1393
1393
  Returns:
1394
1394
  JSON-formatted response from the API containing deletion results.
1395
-
1395
+
1396
1396
  Raises:
1397
1397
  HTTPError: Raised for HTTP request failures (4XX/5XX status codes) during the deletion attempt.
1398
-
1398
+
1399
1399
  Tags:
1400
1400
  delete, subscriptions, async-job, management
1401
1401
  """
@@ -1405,24 +1405,24 @@ class YoutubeApp(APIApplication):
1405
1405
  response.raise_for_status()
1406
1406
  return response.json()
1407
1407
 
1408
- def get_superchatevents(
1408
+ def get_super_chat_events(
1409
1409
  self, hl=None, maxResults=None, pageToken=None, part=None
1410
1410
  ) -> Any:
1411
1411
  """
1412
- Fetches a list of super chat events from the YouTube API with optional filtering parameters.
1413
-
1412
+ Retrieves a paginated list of Super Chat events from the YouTube Data API. Allows for localization and specifying which resource parts to include in the response. This function is distinct from `get_fanfundingevents`, which fetches a different type of monetary contribution event.
1413
+
1414
1414
  Args:
1415
1415
  hl: Optional; the language code to select localized resource information.
1416
1416
  maxResults: Optional; the maximum number of items that should be returned in the result set.
1417
1417
  pageToken: Optional; the token to identify a specific page in the result set.
1418
1418
  part: Optional; the parameter specifying which super chat event resource parts to include in the response.
1419
-
1419
+
1420
1420
  Returns:
1421
1421
  A JSON object containing the super chat events data returned by the YouTube API.
1422
-
1422
+
1423
1423
  Raises:
1424
1424
  RequestException: Raised if there is an issue with the HTTP request, such as network or server errors.
1425
-
1425
+
1426
1426
  Tags:
1427
1427
  fetch, youtube-api, async-job
1428
1428
  """
@@ -1441,20 +1441,20 @@ class YoutubeApp(APIApplication):
1441
1441
  response.raise_for_status()
1442
1442
  return response.json()
1443
1443
 
1444
- def add_thumbnails_set(self, onBehalfOfContentOwner=None, videoId=None) -> Any:
1444
+ def set_video_thumbnail(self, onBehalfOfContentOwner=None, videoId=None) -> Any:
1445
1445
  """
1446
- Sets a thumbnail for a specified video on behalf of a content owner using the YouTube API.
1447
-
1446
+ Sets a custom thumbnail for a specified YouTube video via a POST request to the `/thumbnails/set` API endpoint. The operation can be performed on behalf of a content owner for delegated management of video assets.
1447
+
1448
1448
  Args:
1449
1449
  onBehalfOfContentOwner: Optional; str. The YouTube content owner ID on whose behalf the request is being made.
1450
1450
  videoId: Optional; str. The ID of the video for which the thumbnails are being set.
1451
-
1451
+
1452
1452
  Returns:
1453
1453
  dict. The response from the YouTube API as a JSON object, containing details of the updated video thumbnail.
1454
-
1454
+
1455
1455
  Raises:
1456
1456
  HTTPError: Raised if the HTTP request returns an unsuccessful status code.
1457
-
1457
+
1458
1458
  Tags:
1459
1459
  thumbnail, youtube-api, video-management, async-job
1460
1460
  """
@@ -1473,18 +1473,18 @@ class YoutubeApp(APIApplication):
1473
1473
 
1474
1474
  def get_video_abuse_report_reasons(self, hl=None, part=None) -> Any:
1475
1475
  """
1476
- Fetches video abuse report reasons with optional localization and response filtering.
1477
-
1476
+ Retrieves a list of valid reasons (e.g., spam, hate speech) for reporting abusive video content. Supports response localization using a language code (`hl`) and allows filtering which parts of the reason resource (e.g., ID, snippet) are returned, providing metadata before submitting a report.
1477
+
1478
1478
  Args:
1479
1479
  hl: Optional BCP-47 language code for localizing the response (e.g., 'en' or 'fr').
1480
1480
  part: Optional parameter specifying which parts of the abuse report reasons to include in the response (e.g., 'id' or 'snippet').
1481
-
1481
+
1482
1482
  Returns:
1483
1483
  A JSON object containing the list of video abuse report reasons, or filtered parts if specified.
1484
-
1484
+
1485
1485
  Raises:
1486
1486
  requests.RequestException: Raised if there is a problem with the HTTP request (e.g., network issues or invalid response).
1487
-
1487
+
1488
1488
  Tags:
1489
1489
  fetch, management, abuse-report, video-content
1490
1490
  """
@@ -1494,22 +1494,22 @@ class YoutubeApp(APIApplication):
1494
1494
  response.raise_for_status()
1495
1495
  return response.json()
1496
1496
 
1497
- def get_veocategories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
1497
+ def get_video_categories(self, hl=None, id=None, part=None, regionCode=None) -> Any:
1498
1498
  """
1499
- Fetches video categories from an external API using specified query parameters and returns the parsed JSON response.
1500
-
1499
+ Retrieves official YouTube video categories used for classifying uploaded videos, allowing filtering by ID, region, or language. This is distinct from `get_guecategories`, which fetches channel browsing guides, not categories for individual video uploads.
1500
+
1501
1501
  Args:
1502
1502
  hl: Optional; the language code (e.g., 'en') for localized video category names
1503
1503
  id: Optional; comma-separated list of video category IDs to filter results
1504
1504
  part: Optional; list of properties (e.g., 'snippet') to include in the response
1505
1505
  regionCode: Optional; ISO 3166-1 alpha-2 country code to filter region-specific categories
1506
-
1506
+
1507
1507
  Returns:
1508
1508
  Dictionary containing parsed JSON response with video category details
1509
-
1509
+
1510
1510
  Raises:
1511
1511
  requests.HTTPError: Raised when the API request fails with a non-success status code
1512
-
1512
+
1513
1513
  Tags:
1514
1514
  fetch, video-categories, api-request, json-response
1515
1515
  """
@@ -1528,20 +1528,20 @@ class YoutubeApp(APIApplication):
1528
1528
  response.raise_for_status()
1529
1529
  return response.json()
1530
1530
 
1531
- def delete_groupitems(self, id=None, onBehalfOfContentOwner=None) -> Any:
1531
+ def delete_group_items(self, id=None, onBehalfOfContentOwner=None) -> Any:
1532
1532
  """
1533
- Deletes group items based on the provided parameters.
1534
-
1533
+ Deletes specified items from a YouTube Analytics group via an API request. An item can be targeted by its unique ID, and the action can be performed on behalf of a content owner. This function is distinct from `delete_groups`, which removes the entire group.
1534
+
1535
1535
  Args:
1536
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.
1537
1537
  onBehalfOfContentOwner: Optional; A string representing the content owner on whose behalf the request is being made.
1538
-
1538
+
1539
1539
  Returns:
1540
1540
  A JSON object containing the response from the deletion request.
1541
-
1541
+
1542
1542
  Raises:
1543
1543
  HTTPError: Raised if the HTTP request returns an unsuccessful status code.
1544
-
1544
+
1545
1545
  Tags:
1546
1546
  delete, groupitems, management
1547
1547
  """
@@ -1557,18 +1557,18 @@ class YoutubeApp(APIApplication):
1557
1557
 
1558
1558
  def delete_groups(self, id=None, onBehalfOfContentOwner=None) -> Any:
1559
1559
  """
1560
- Deletes specified groups via API, optionally on behalf of a content owner.
1561
-
1560
+ Deletes a YouTube group by its ID via an API request, optionally on behalf of a content owner. Unlike `delete_groupitems`, which only removes an item from a group, this function deletes the entire group entity.
1561
+
1562
1562
  Args:
1563
1563
  id: Optional unique identifier for the group to delete. If None, no specific group targeted.
1564
1564
  onBehalfOfContentOwner: Optional content owner ID for delegated authorization.
1565
-
1565
+
1566
1566
  Returns:
1567
1567
  JSON-decoded response indicating operation success/failure.
1568
-
1568
+
1569
1569
  Raises:
1570
1570
  requests.exceptions.HTTPError: Raised for invalid requests, authentication failures, or server errors during deletion.
1571
-
1571
+
1572
1572
  Tags:
1573
1573
  delete, management, async_job, api
1574
1574
  """
@@ -1582,7 +1582,7 @@ class YoutubeApp(APIApplication):
1582
1582
  response.raise_for_status()
1583
1583
  return response.json()
1584
1584
 
1585
- def get_reports(
1585
+ def get_analytics_report(
1586
1586
  self,
1587
1587
  currency=None,
1588
1588
  dimensions=None,
@@ -1596,8 +1596,8 @@ class YoutubeApp(APIApplication):
1596
1596
  start=None,
1597
1597
  ) -> Any:
1598
1598
  """
1599
- Fetches and returns report data based on specified filtering, sorting, and range criteria.
1600
-
1599
+ Queries the YouTube Analytics API for performance reports, allowing customization via metrics, dimensions, and filters. Unlike `get_jobs_job_reports` which manages bulk report jobs, this function fetches analytical data directly, providing on-demand insights into channel or content performance.
1600
+
1601
1601
  Args:
1602
1602
  currency: Optional; specifies the currency format for monetary values in the report
1603
1603
  dimensions: Optional; list of dimensions (e.g., 'country', 'device') to include in report breakdowns
@@ -1609,13 +1609,13 @@ class YoutubeApp(APIApplication):
1609
1609
  metrics: Optional; list of measurable values to include (e.g., 'clicks', 'conversions')
1610
1610
  sort: Optional; criteria for sorting results (e.g., '-clicks' for descending order)
1611
1611
  start: Optional; start date (YYYY-MM-DD format) for the report data range
1612
-
1612
+
1613
1613
  Returns:
1614
1614
  Report data as parsed JSON from the API response
1615
-
1615
+
1616
1616
  Raises:
1617
1617
  requests.exceptions.HTTPError: Raised when the API request fails due to invalid parameters, authentication issues, or server errors
1618
-
1618
+
1619
1619
  Tags:
1620
1620
  fetch, report, api, filter, sort, metrics, management
1621
1621
  """
@@ -1651,50 +1651,50 @@ class YoutubeApp(APIApplication):
1651
1651
  list: A list containing references to various tool methods associated with job reports, media resources, comments, broadcasts, videos, activities, channels, etc.
1652
1652
  """
1653
1653
  return [
1654
- self.get_jobs_job_reports,
1655
- self.get_jobs_job_reports_report,
1656
- self.delete_jobs_job,
1657
- self.get_jobs,
1658
- self.get_media_resource_name,
1654
+ self.list_job_reports,
1655
+ self.get_job_report,
1656
+ self.delete_job,
1657
+ self.list_jobs,
1658
+ self.download_report_media,
1659
1659
  self.get_reporttypes,
1660
1660
  self.delete_captions,
1661
- self.get_captions,
1661
+ self.get_transcript_text,
1662
1662
  self.delete_comments,
1663
- self.add_comments_mark_as_spam,
1664
- self.add_comments_set_moderation_status,
1663
+ self.mark_comment_as_spam,
1664
+ self.set_comment_moderation_status,
1665
1665
  self.delete_live_broadcasts,
1666
- self.add_live_broadcasts_bind,
1667
- self.add_live_broadcasts_control,
1668
- self.add_live_broadcasts_transition,
1669
- self.delete_live_chat_bans,
1670
- self.delete_live_chat_messages,
1666
+ self.bind_live_broadcast_to_stream,
1667
+ self.control_live_broadcast,
1668
+ self.transition_live_broadcast,
1669
+ self.delete_live_chat_ban,
1670
+ self.delete_live_chat_message,
1671
1671
  self.delete_live_chat_moderators,
1672
1672
  self.delete_videos,
1673
- self.get_videos_get_rating,
1674
- self.add_videos_rate,
1675
- self.add_videos_report_abuse,
1676
- self.add_watermarks_set,
1677
- self.add_watermarks_unset,
1673
+ self.get_video_ratings,
1674
+ self.rate_video,
1675
+ self.report_video_for_abuse,
1676
+ self.set_channel_watermark,
1677
+ self.unset_channel_watermark,
1678
1678
  self.get_activities,
1679
- self.add_channel_banners_insert,
1679
+ self.insert_channel_banner,
1680
1680
  self.delete_channel_sections,
1681
- self.get_channels,
1681
+ self.list_channels,
1682
1682
  self.get_comment_threads,
1683
1683
  self.get_fanfundingevents,
1684
- self.get_guecategories,
1685
- self.get_languages,
1686
- self.get_regions,
1684
+ self.get_guide_categories,
1685
+ self.get_i18n_languages,
1686
+ self.get_i18n_regions,
1687
1687
  self.delete_livestreams,
1688
- self.delete_play_list_items,
1688
+ self.delete_playlist_items,
1689
1689
  self.delete_playlists,
1690
1690
  self.get_search,
1691
- self.get_sponsors,
1691
+ self.list_sponsors,
1692
1692
  self.delete_subscriptions,
1693
- self.get_superchatevents,
1694
- self.add_thumbnails_set,
1693
+ self.get_super_chat_events,
1694
+ self.set_video_thumbnail,
1695
1695
  self.get_video_abuse_report_reasons,
1696
- self.get_veocategories,
1697
- self.delete_groupitems,
1696
+ self.get_video_categories,
1697
+ self.delete_group_items,
1698
1698
  self.delete_groups,
1699
- self.get_reports,
1699
+ self.get_analytics_report,
1700
1700
  ]