universal-mcp-applications 0.1.17__py3-none-any.whl → 0.1.19__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 (88) hide show
  1. universal_mcp/applications/ahrefs/README.md +3 -3
  2. universal_mcp/applications/airtable/README.md +3 -3
  3. universal_mcp/applications/asana/README.md +3 -3
  4. universal_mcp/applications/aws_s3/README.md +29 -0
  5. universal_mcp/applications/bill/README.md +249 -0
  6. universal_mcp/applications/calendly/README.md +45 -45
  7. universal_mcp/applications/canva/README.md +35 -35
  8. universal_mcp/applications/clickup/README.md +4 -4
  9. universal_mcp/applications/contentful/README.md +1 -2
  10. universal_mcp/applications/crustdata/README.md +3 -3
  11. universal_mcp/applications/domain_checker/README.md +2 -2
  12. universal_mcp/applications/e2b/README.md +4 -4
  13. universal_mcp/applications/elevenlabs/README.md +3 -77
  14. universal_mcp/applications/exa/README.md +7 -7
  15. universal_mcp/applications/falai/README.md +13 -12
  16. universal_mcp/applications/falai/app.py +6 -6
  17. universal_mcp/applications/figma/README.md +3 -3
  18. universal_mcp/applications/file_system/README.md +13 -0
  19. universal_mcp/applications/firecrawl/README.md +9 -9
  20. universal_mcp/applications/firecrawl/app.py +10 -10
  21. universal_mcp/applications/fireflies/README.md +14 -14
  22. universal_mcp/applications/fpl/README.md +12 -12
  23. universal_mcp/applications/fpl/app.py +5 -5
  24. universal_mcp/applications/github/README.md +10 -10
  25. universal_mcp/applications/github/app.py +9 -9
  26. universal_mcp/applications/google_calendar/README.md +10 -10
  27. universal_mcp/applications/google_calendar/app.py +10 -10
  28. universal_mcp/applications/google_docs/README.md +14 -14
  29. universal_mcp/applications/google_docs/app.py +12 -12
  30. universal_mcp/applications/google_drive/README.md +54 -57
  31. universal_mcp/applications/google_drive/app.py +38 -38
  32. universal_mcp/applications/google_gemini/README.md +3 -14
  33. universal_mcp/applications/google_gemini/app.py +13 -12
  34. universal_mcp/applications/google_mail/README.md +20 -20
  35. universal_mcp/applications/google_mail/app.py +19 -19
  36. universal_mcp/applications/google_searchconsole/README.md +10 -10
  37. universal_mcp/applications/google_searchconsole/app.py +8 -8
  38. universal_mcp/applications/google_sheet/README.md +25 -25
  39. universal_mcp/applications/google_sheet/app.py +20 -20
  40. universal_mcp/applications/http_tools/README.md +5 -5
  41. universal_mcp/applications/hubspot/__init__.py +1 -1
  42. universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
  43. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +25 -0
  44. universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
  45. universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
  46. universal_mcp/applications/hubspot/app.py +74 -146
  47. universal_mcp/applications/klaviyo/README.md +0 -36
  48. universal_mcp/applications/linkedin/README.md +4 -4
  49. universal_mcp/applications/linkedin/app.py +4 -4
  50. universal_mcp/applications/mailchimp/README.md +3 -3
  51. universal_mcp/applications/ms_teams/README.md +31 -31
  52. universal_mcp/applications/ms_teams/app.py +28 -28
  53. universal_mcp/applications/neon/README.md +3 -3
  54. universal_mcp/applications/openai/README.md +18 -17
  55. universal_mcp/applications/outlook/README.md +9 -9
  56. universal_mcp/applications/outlook/app.py +9 -9
  57. universal_mcp/applications/perplexity/README.md +4 -4
  58. universal_mcp/applications/posthog/README.md +128 -127
  59. universal_mcp/applications/reddit/README.md +21 -124
  60. universal_mcp/applications/reddit/app.py +90 -89
  61. universal_mcp/applications/replicate/README.md +10 -10
  62. universal_mcp/applications/resend/README.md +29 -29
  63. universal_mcp/applications/scraper/README.md +4 -4
  64. universal_mcp/applications/scraper/app.py +31 -31
  65. universal_mcp/applications/semrush/README.md +3 -0
  66. universal_mcp/applications/serpapi/README.md +3 -3
  67. universal_mcp/applications/sharepoint/README.md +17 -0
  68. universal_mcp/applications/sharepoint/app.py +7 -7
  69. universal_mcp/applications/shortcut/README.md +3 -3
  70. universal_mcp/applications/slack/README.md +23 -0
  71. universal_mcp/applications/spotify/README.md +3 -3
  72. universal_mcp/applications/supabase/README.md +3 -3
  73. universal_mcp/applications/tavily/README.md +4 -4
  74. universal_mcp/applications/twilio/README.md +15 -0
  75. universal_mcp/applications/twitter/README.md +92 -89
  76. universal_mcp/applications/twitter/app.py +11 -11
  77. universal_mcp/applications/unipile/README.md +17 -17
  78. universal_mcp/applications/unipile/app.py +14 -14
  79. universal_mcp/applications/whatsapp/README.md +12 -12
  80. universal_mcp/applications/whatsapp/app.py +13 -13
  81. universal_mcp/applications/whatsapp_business/README.md +23 -23
  82. universal_mcp/applications/youtube/README.md +46 -46
  83. universal_mcp/applications/youtube/app.py +7 -1
  84. universal_mcp/applications/zenquotes/README.md +1 -1
  85. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/METADATA +2 -89
  86. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/RECORD +88 -83
  87. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/WHEEL +0 -0
  88. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/licenses/LICENSE +0 -0
@@ -9,92 +9,95 @@ This is automatically generated from OpenAPI schema for the TwitterApp API.
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `list_batch_compliance_jobs` | Retrieves a list of compliance jobs based on the specified job type, with optional filtering by status. |
13
- | `create_batch_compliance_job` | Creates a new compliance job using JSON data in the request body and authenticates the request using a Bearer token. |
14
- | `get_batch_compliance_job` | Retrieves information about a compliance job by its ID using the BearerToken for authentication. |
15
- | `dm_conversation_id_create` | Creates a new group Direct Message conversation and sends an initial message to the specified participants. |
16
- | `get_dm_convo_with_patcpnts_id_dm_evnts` | Retrieves a list of direct message events for a conversation with a specific participant, allowing for optional filtering by event types and pagination. |
17
- | `get_dm_conversations_id_dm_events` | Retrieves a list of direct message events for a specified conversation ID, allowing for optional filtering by event types and pagination. |
18
- | `get_dm_events` | Retrieves a list of direct message events with optional filtering by event types, pagination, and field expansions for media, users, tweets, and DM event details. |
19
- | `dm_event_delete` | Deletes a DM event by its ID using the DELETE method, requiring authentication via OAuth2UserToken with "dm.read" and "dm.write" scopes or UserToken. |
20
- | `get_dm_events_by_id` | Retrieves detailed information about a specific direct message event by its event ID with optional expansions and field selections. |
21
- | `get_likes_compliance_stream` | Streams compliance-related likes data using the GET method, allowing optional filtering by backfill minutes and time range. |
22
- | `likes_firehose_stream` | Streams a real-time firehose of likes data filtered by partition and optional time range parameters, including expanded tweet and user fields, using Bearer Token authentication. |
23
- | `likes_sample10_stream` | Streams a sample of 10 likes using the GET method, optionally filtering by backfill minutes, partition, start and end times, and including specific tweet and user fields. |
24
- | `list_id_create` | Creates a new Twitter list using the X API v2 and returns the newly created list's details. |
25
- | `list_id_delete` | Deletes a list specified by its ID using the DELETE method. |
26
- | `list_id_get` | Retrieves detailed information about a specific Twitter List by its unique identifier, including optional expansions and fields for lists and users. |
27
- | `list_id_update` | Updates a list specified by the ID using the provided JSON payload, authenticating with OAuth2 or user tokens. |
28
- | `list_get_followers` | Retrieves a list of users who follow a specified Twitter list using the list ID, with optional parameters for pagination and user data customization. |
29
- | `list_get_members` | Retrieves a list of User objects that are members of a specified Twitter List by the provided List ID. |
30
- | `list_add_member` | Adds one or more members to a specified list by list ID using the POST method. |
31
- | `list_remove_member` | Removes a member from a list using the provided list ID and user ID, requiring appropriate permissions for the operation. |
32
- | `lists_id_tweets` | Retrieves a list of tweets for a specified list by ID using the "GET" method, allowing optional parameters for pagination and field customization. |
33
- | `get_open_api_spec` | Retrieves the OpenAPI JSON file at the specified path "/2/openapi.json" using the GET method. |
34
- | `find_spaces_by_ids` | Retrieves detailed information about specified spaces using the "GET" method, allowing customization through parameters such as space IDs, space fields, space expansions, user fields, and topic fields, while requiring authentication via Bearer or OAuth2 tokens for authorized access. |
35
- | `find_spaces_by_creator_ids` | Retrieves a list of spaces by their creator IDs using the specified user IDs, with optional filtering by space fields, space expansions, user fields, and topic fields. |
36
- | `search_spaces` | Searches for spaces using the specified query and optional filters like state, and returns the results with customizable fields and expansions. |
37
- | `find_space_by_id` | Retrieves details about a specific space by its ID, allowing optional customization through space fields, space expansions, user fields, and topic fields, using a Bearer or OAuth2 token for authentication. |
38
- | `space_buyers` | Retrieves a list of buyers for a specific space using the "GET" method, allowing optional pagination and customization of returned user and tweet fields. |
39
- | `space_tweets` | Retrieves a list of tweets from a specified Twitter Space by its ID, with optional parameters to customize the fields and expansions included in the response. |
40
- | `get_trends` | Retrieves trending information by WOEID (Where On Earth ID) using the specified trend fields and returns a response with a valid Bearer token. |
41
- | `find_tweets_by_id` | Retrieves one or more Tweets by their IDs and returns associated details, supporting optional parameters for specifying additional fields and expansions. |
42
- | `create_tweet` | Creates a new tweet using the Twitter API v2, requiring an application/json payload and OAuth2 user token for authentication, and returns a 201 status upon successful creation. |
43
- | `get_tweets_compliance_stream` | Streams compliance events for tweets in real-time, allowing for the retrieval of events such as post deletions, edits, and withholdings, as well as user account changes, using parameters like partition, backfill_minutes, start_time, and end_time. |
44
- | `tweet_counts_full_archive_search` | Retrieves the full-archive count of tweets for a specified query using the "/2/tweets/counts/all" endpoint, allowing optional filtering by start and end times, granularity, and pagination. |
45
- | `tweet_counts_recent_search` | Retrieves the count of recent Tweets that match a search query over the last seven days, using the "GET" method with optional parameters for specifying start and end times, granularity, and pagination. |
46
- | `get_tweets_firehose_stream` | Streams all tweets in real-time using the Firehose API, allowing parameters such as partition, backfill minutes, start and end time, and various field expansions to customize the data retrieved, which requires authentication via a Bearer Token. |
47
- | `get_tweets_firehose_stream_lang_en` | Connects to the Twitter Firehose streaming API to receive a real-time stream of English-language tweets with optional filtering and data field expansions. |
48
- | `get_tweets_firehose_stream_lang_ja` | Retrieves a stream of Tweets in Japanese using the Firehose API, allowing for real-time access to a high-volume stream of Tweets based on specified parameters such as partitions and optional backfill minutes, start and end times, and customizable fields for Tweets, users, and media. |
49
- | `get_tweets_firehose_stream_lang_ko` | Streams real-time tweets in Korean from the Twitter firehose, allowing for optional backfill, specific partitions, and customizable start and end times, with support for various tweet, media, poll, user, and place fields. |
50
- | `get_tweets_firehose_stream_lang_pt` | Streams real-time Tweets in Portuguese using the Firehose API, allowing for filtering by specific parameters such as tweet fields, expansions, media, polls, users, and places, and requires a partition number for the stream. |
51
- | `get_tweets_label_stream` | Streams tweets labeled with a specific identifier in real-time using the Twitter API, allowing for optional parameters to specify backfill minutes, start time, and end time, and requires authentication via a Bearer Token. |
52
- | `sample_stream` | Retrieves a real-time sampled stream of public Tweets with optional parameters to specify Tweet, user, media, poll, and place fields, supporting backfill for missed data. |
53
- | `get_tweets_sample10_stream` | Streams a random sample of 10% of all Tweets in real-time, allowing optional filtering by specifying additional parameters such as backfill minutes, partition, start and end times, and various field expansions for tweets, media, polls, users, and places. |
54
- | `tweets_fullarchive_search` | Retrieves and returns a list of historical Tweets matching a specified query, allowing for filtering by time range, tweet ID, and other parameters. |
55
- | `tweets_recent_search` | Retrieves recent tweets based on a specified search query, allowing for optional filtering by time range and additional parameters such as tweet fields, expansions, and user details. |
56
- | `search_stream` | Streams tweets based on predefined rules using the Twitter API v2, allowing for real-time filtering and retrieval of tweets with optional parameters for backfill minutes, start and end times, and various tweet, media, poll, user, and place fields. |
57
- | `get_rules` | Retrieves the active stream filtering rules for a user's Twitter API v2 filtered stream, optionally filtered by rule IDs, with support for pagination and maximum results. |
58
- | `get_rule_count` | Retrieves the counts of Tweets matching specific search rules using the "GET" method, providing a way to analyze the volume of Tweets based on predefined criteria. |
59
- | `delete_tweet_by_id` | Deletes a specified Tweet by its ID on behalf of an authenticated user. |
60
- | `find_tweet_by_id` | Retrieves detailed information about a single Tweet specified by its unique ID, with optional expansions for fields related to the Tweet, user, media, polls, and places. |
61
- | `tweets_id_liking_users` | Retrieves a list of users who have liked a specified tweet using the provided tweet ID. |
62
- | `find_tweets_that_quote_atweet` | Retrieves a list of quote Tweets for a specified Tweet ID, allowing for optional parameters to customize the results with fields like tweet fields, media fields, and user expansions, and supports pagination for handling large responses. |
63
- | `tweets_id_retweeting_users` | Retrieves a list of User objects representing users who have retweeted the Tweet specified by the given Tweet ID. |
64
- | `find_tweets_that_retweet_atweet` | Retrieves a list of retweets for a specified Tweet ID, optionally allowing for pagination and customization of returned fields via query parameters. |
65
- | `hide_reply_by_id` | Hides or unhides a reply to a specified Tweet by its tweet_id. |
66
- | `get_usage_tweets` | Retrieves and returns Twitter usage data using the specified fields and optionally filters by a number of days. |
67
- | `find_users_by_id` | Retrieves information about one or more users specified by their IDs, allowing for customization with user fields and expansions. |
68
- | `find_users_by_username` | Retrieves information about one or more users specified by their usernames using the Twitter API, allowing optional specification of additional user fields and expansions. |
69
- | `find_user_by_username` | Retrieves information about a user specified by their username, optionally including additional fields and expansions, using the "GET" method with authentication. |
70
- | `get_users_compliance_stream` | Streams compliance data for users using the "GET" method, supporting optional backfill minutes, start and end times, and requiring a partition parameter. |
71
- | `find_my_user` | Retrieves detailed information about the authenticated user, including optional expansions and fields for user and tweet data. |
72
- | `search_user_by_query` | Searches for users using a query string, returning a list of matching users with optional fields for user details, expansions, and related tweet fields. |
73
- | `find_user_by_id` | Retrieves information about a user specified by their ID, with optional parameters for specifying additional user fields, expansions, and tweet fields. |
74
- | `users_id_blocking` | Retrieves a list of user objects that are blocked by the specified user ID, allowing for additional fields and expansions to be specified. |
75
- | `get_users_id_bookmarks` | Retrieves a list of bookmarks for a user with the specified ID, allowing optional pagination and customization of returned fields. |
76
- | `post_users_id_bookmarks` | Adds bookmarks for a specified user using the provided JSON data and returns a successful response upon completion. |
77
- | `users_id_bookmarks_delete` | Deletes a bookmarked tweet for a specified user using the "DELETE" method. |
78
- | `user_followed_lists` | Retrieves a list of Twitter lists followed by a specified user, with optional parameters for pagination, list fields, and user fields. |
79
- | `list_user_follow` | Adds a Twitter user to a list of followed lists using the Twitter API and returns a status message. |
80
- | `list_user_unfollow` | Deletes the specified list followed by the user identified by the given user ID and list ID. |
81
- | `users_id_followers` | Retrieves a list of users who follow a specified user using the Twitter API, with optional parameters for result pagination and additional user or tweet fields. |
82
- | `users_id_following` | Retrieves a list of users followed by the specified user ID, allowing optional parameters to customize the response with additional user fields, expansions, and tweet fields. |
83
- | `users_id_follow` | Follows another user on behalf of the current user using the Twitter API, returning a status message indicating whether the action was successful. |
84
- | `users_id_liked_tweets` | Retrieves a list of tweets liked by the specified user, supporting pagination and optional expansions and fields for tweets, users, media, polls, and places. |
85
- | `users_id_like` | Creates a new like for a user's content using the provided user ID and returns a status message. |
86
- | `users_id_unlike` | Deletes a user's like on a specific tweet using the provided user ID and tweet ID, requiring OAuth2UserToken with "like.write," "tweet.read," and "users.read" permissions. |
87
- | `get_user_list_memberships` | Retrieves a list of memberships for a specified user using their ID, allowing for optional filtering by maximum results and pagination, and returns the membership details. |
88
- | `users_id_mentions` | Retrieves the timeline of tweets that mention the user associated with the provided ID, allowing for customization with parameters such as since and until IDs, pagination tokens, and various field expansions. |
89
- | `users_id_muting` | Retrieves a list of users muted by the specified user using the Twitter API with optional filtering by max results, pagination token, user fields, user expansions, tweet fields, and returns the response upon authorization with the required "mute.read," "tweet.read," and "users.read" scopes. |
90
- | `users_id_mute` | Mutes a user identified by their ID using the API, requiring a POST request with appropriate OAuth2 credentials. |
91
- | `list_user_owned_lists` | Retrieves a list of Twitter Lists owned by the specified user, supporting optional pagination and field expansions. |
92
- | `list_user_pinned_lists` | Retrieves the pinned Lists of a specified user by their user ID, returning detailed information about each pinned List. |
93
- | `list_user_pin` | Creates a pinned list for a user identified by {id} using JSON data and OAuth2UserToken or UserToken authentication. |
94
- | `list_user_unpin` | Deletes a specified pinned list from a user's account by user ID and list ID. |
95
- | `users_id_retweets` | Retweets a post using the X API on behalf of a specified user, requiring authentication with OAuth2UserToken and appropriate permissions. |
96
- | `users_id_unretweets` | Undoes a retweet of a specified tweet by a user using the Twitter API v2, requiring OAuth authentication and user permissions. |
97
- | `users_id_timeline` | Retrieves a user's reverse chronological timeline, returning tweets in the order they were posted, with optional filtering by time range, tweet IDs, and additional metadata fields. |
98
- | `users_id_tweets` | Retrieves a list of tweets for a user with the specified ID, allowing optional filtering by tweet ID range, result count, pagination token, excluded fields, and time range, using the "GET" method. |
99
- | `users_id_unfollow` | Unfollows a target user by deleting the follow relationship between the source user and the target user using the "DELETE" method. |
100
- | `users_id_unmute` | Unmutes a target user using the "DELETE" method on the "/2/users/{source_user_id}/muting/{target_user_id}" path, reversing the mute action applied by the source user to the target user. |
12
+ | `list_batch_compliance_jobs` | Retrieves a list of compliance jobs, requiring a job `type` ('tweets' or 'users') and allowing optional filtering by `status`. This function fetches multiple jobs, distinguishing it from `get_batch_compliance_job` which retrieves a single job by its unique ID. |
13
+ | `create_batch_compliance_job` | Creates a new batch compliance job for a specified type ('tweets' or 'users'). A custom name can be provided, and resumable uploads can be enabled. This initiates the job creation process, differing from functions that list or retrieve existing jobs. |
14
+ | `get_compliance_job` | Retrieves a single batch compliance job by its unique ID. Unlike `list_batch_compliance_jobs`, which fetches a list, this function returns details for one specific job. Optional parameters can customize which data fields are returned in the response. |
15
+ | `create_dm_conversation` | Creates a new group Direct Message conversation with specified participants and sends an initial message. This function specifically handles the creation of new multi-participant conversations, distinct from other methods in this class that add messages to existing one-to-one or group DMs. |
16
+ | `get_dm_events_by_participant_id` | Retrieves direct message events from a conversation identified by a specific participant's ID. Supports pagination and filtering by event type. This method is distinct from `get_dm_conversations_id_dm_events`, which uses a direct conversation ID for retrieval instead of a participant's ID. |
17
+ | `send_dm_by_participant_id` | Sends a direct message to a user specified by their participant ID. It creates a new one-on-one conversation or appends the message to an existing one. Unlike other functions, this method identifies the conversation using the participant's ID rather than a pre-existing conversation ID. |
18
+ | `add_message_to_dm_conversation` | Sends a new message with optional text and attachments to an existing Direct Message conversation. The target conversation is specified by its `dm_conversation_id`, distinguishing it from functions that create new conversations or send one-to-one messages using a participant ID. |
19
+ | `get_dm_events_by_conversation_id` | Retrieves direct message events for a specific conversation using its unique ID. This function, distinct from fetching by participant ID, supports pagination, event type filtering, and data field expansion for detailed results. |
20
+ | `get_dm_events` | Retrieves a list of direct message events, unlike `get_dm_events_by_id` which fetches a single event. Supports pagination, filtering by event type, and specifying which data fields to return for various objects to customize the API response. |
21
+ | `delete_dm_event` | Deletes a specific Direct Message (DM) event identified by its unique ID. This function issues an authenticated HTTP DELETE request to the API to permanently remove the specified event, returning a confirmation of the deletion. |
22
+ | `get_dm_event_by_id` | Fetches a specific Direct Message event using its unique ID. Optional parameters allow customizing the response by selecting specific fields for the event, media, users, and tweets, and by including expanded object details. This differs from `get_dm_events`, which retrieves a list of events. |
23
+ | `get_likes_compliance_stream` | Streams compliance-related data for 'like' events, such as un-likes, with optional time and backfill filters. This endpoint is for compliance monitoring, differing from the firehose and sample streams which provide real-time like creation events. |
24
+ | `get_likes_firehose_stream` | Streams a comprehensive, real-time 'firehose' of all like events from a specified data partition. This function allows time-based filtering and customization of returned fields, providing a complete data flow distinct from the compliance or sampled stream methods. |
25
+ | `likes_sample10_stream` | Streams a 10% sample of real-time like events, a low-volume alternative to the full firehose stream. It allows filtering by partition and time range, and supports data enrichment by specifying tweet, user, and expansion fields to customize the response. |
26
+ | `create_list` | Creates a new list on X (formerly Twitter) with an optional name, description, and privacy setting. It sends a POST request to the `/2/lists` endpoint and returns the JSON data of the newly created list upon success. |
27
+ | `delete_list` | Permanently deletes a specific Twitter List identified by its unique ID. This function sends an authorized DELETE request to the API's `/2/lists/{id}` endpoint, returning a confirmation response upon successful removal. It is distinct from `list_remove_member`, which only removes a user from a list. |
28
+ | `get_list_by_id` | Retrieves detailed information for a specific list by its ID. This function allows for response customization by specifying which list and user fields to return and supports expansions to include related objects like the owner's user data. |
29
+ | `update_list` | Modifies an existing Twitter list identified by its unique ID. This function updates the list's name, description, or privacy status by sending a PUT request to the API and returns the updated list data upon success. |
30
+ | `get_list_followers` | Retrieves the users who follow a specific list, identified by its ID. Supports pagination and allows for the customization of returned user, tweet, and expansion fields to tailor the response data, differentiating it from fetching list members. |
31
+ | `list_get_members` | Retrieves users who are members of a specific Twitter list, identified by its ID. Unlike `list_get_followers`, this returns users explicitly added to the list, not subscribers. Supports pagination and customization of the returned user data fields to include expanded objects and specific details. |
32
+ | `list_add_member` | Adds a user to a specified Twitter list via a POST request to the `/2/lists/{id}/members` endpoint, requiring list and user IDs. This function modifies a list's membership, distinguishing it from `list_get_members` (retrieves) and its counterpart `list_remove_member` (deletes). |
33
+ | `delete_list_member` | Removes a specific user from a Twitter list. This function sends a DELETE request to the `/2/lists/{id}/members/{user_id}` API endpoint, requiring both the list ID and the user ID to perform the action and confirm the member's removal. |
34
+ | `get_list_tweets` | Retrieves tweets from a specified Twitter List using its ID. Supports pagination and allows extensive customization of returned fields for tweets, users, media, and other entities. This function uniquely fetches the list's tweet timeline, distinguishing it from functions that retrieve list members or followers. |
35
+ | `get_open_api_spec` | Args: |
36
+ | `find_spaces_by_ids` | Retrieves detailed information for a batch of spaces, specified by a list of their unique IDs. Optional parameters allow for customizing the response by including specific fields and expansions. This method is distinct from `find_space_by_id`, which fetches only a single space per call. |
37
+ | `find_spaces_by_creator_ids` | Fetches a list of spaces created by specified users, identified by their user IDs. This function is distinct from `find_spaces_by_ids`, which retrieves spaces by their own unique IDs. Optional parameters allow for customizing the fields returned for spaces, users, and topics. |
38
+ | `search_spaces` | Performs a keyword-based search for Twitter Spaces, allowing filters by state (e.g., 'live', 'scheduled'). The function supports customizing the response data by specifying fields for spaces, users, and topics, distinguishing it from methods that find spaces by specific IDs. |
39
+ | `get_space_by_id` | Retrieves detailed information for a single space using its unique ID. Optional parameters allow customizing the response by specifying fields and expansions. Unlike `find_spaces_by_ids`, which fetches multiple spaces, this function targets only one specific space. |
40
+ | `list_space_buyers` | Retrieves a list of users who have purchased tickets for a specific ticketed Space, identified by its ID. This function supports pagination and allows for the customization of user and tweet fields in the API response. |
41
+ | `list_tweets_from_space` | Fetches tweets from a specific Space using its ID. Allows extensive customization of returned data fields (e.g., media, user) and limits results. Unlike `space_buyers`, which retrieves users who purchased tickets, this function returns the actual tweets shared within the Space. |
42
+ | `get_trends_by_woeid` | Fetches trending topics for a specific location identified by its Where On Earth ID (WOEID). It builds and executes an authenticated API request, optionally allowing users to specify which trend-related fields (e.g., 'tweet_count') to include in the returned JSON response. |
43
+ | `find_tweets_by_id` | Fetches detailed information for multiple tweets, specified by a list of their IDs. Optional parameters allow response customization by including specific fields (e.g., media, user, polls) and expansions. This function handles batch lookups, distinguishing it from `find_tweet_by_id` which retrieves a single tweet. |
44
+ | `create_tweet` | Posts a new tweet for an authenticated user, supporting optional parameters like text, media, polls, replies, and quote tweets. This function constructs a POST request to the `/2/tweets` endpoint, enabling the creation of diverse tweet formats with specific visibility and reply settings. |
45
+ | `get_tweets_compliance_stream` | Streams real-time compliance events for tweets, such as deletions and user updates, from a specified partition. Unlike other stream functions that return tweet content, this provides metadata about content and user status changes, supporting optional time-based filtering and backfilling. |
46
+ | `tweet_counts_full_archive_search` | Calculates the number of tweets from the entire historical archive that match a given search query. Results can be aggregated by minute, hour, or day over a specific time range to analyze historical tweet volume trends. |
47
+ | `tweet_counts_recent_search` | Retrieves the total count of tweets from the last seven days matching a specified query. Results can be aggregated by minute, hour, or day and filtered by time range or tweet ID. This function contrasts with `tweet_counts_full_archive_search`, which queries the entire tweet history. |
48
+ | `get_tweets_firehose_stream` | Streams all public tweets in real-time from the Firehose API for a specified partition. This unfiltered feed can be customized with optional parameters to backfill data, define a time window, and specify desired tweet, user, and media fields. |
49
+ | `stream_english_tweets_firehose` | Streams real-time public tweets from the Firehose API, specifically filtered for the English language. Requires a partition number and supports optional parameters to customize the data payload. It is distinct from other language-specific (`_ja`, `_ko`, `_pt`) or the unfiltered `get_tweets_firehose_stream` functions. |
50
+ | `get_tweets_firehose_stream_lang_ja` | Streams real-time tweets specifically in Japanese from the Twitter Firehose API, requiring a partition number. It supports optional parameters for time ranges, backfill, and customizable fields. This method is distinct from other `get_tweets_firehose_stream` variants, which target different languages or the entire stream. |
51
+ | `stream_korean_firehose_tweets` | Streams real-time tweets filtered for the Korean language from the Firehose API. This function allows customization via parameters for partitions, time range, backfill, and specific data fields for tweets, users, and media, distinguishing it from other language-specific stream functions. |
52
+ | `get_tweets_firehose_stream_lang_pt` | Streams real-time tweets in Portuguese from the Firehose API, requiring a partition number. It allows data customization via optional parameters for time ranges and fields, specifically targeting the Portuguese language stream, unlike other general or language-specific firehose functions. |
53
+ | `stream_labeled_tweets` | Streams real-time Tweet objects labeled for compliance reasons, such as withheld content. Unlike `get_tweets_compliance_stream`, which provides events, this returns the actual tweets. Supports filtering by a time window and backfilling missed data upon reconnection. |
54
+ | `sample_stream` | Streams a real-time, random sample of public tweets from the API. It allows data customization through optional field and expansion parameters. This function targets the standard (~1%) sample stream, distinct from `get_tweets_sample_stream` which accesses the partitioned 10% stream. |
55
+ | `get_tweets_sample10_stream` | Streams a 10% random sample of real-time tweets from a specified partition, offering a larger volume than `sample_stream`. It supports optional time-based filtering and customization of returned data for tweets, media, users, and places using field selectors and expansions. |
56
+ | `tweets_fullarchive_search` | Searches the entire historical archive of public Tweets using a specific query. It supports filtering by time range and pagination, allowing customization of returned fields. This differs from `tweets_recent_search`, which only covers the last seven days, and `tweet_counts_full_archive_search`, which returns counts instead of tweet data. |
57
+ | `tweets_recent_search` | Searches for tweets from the past seven days matching a specific query. Allows advanced filtering, pagination, and data expansions to customize results. Unlike `tweet_counts_recent_search`, it returns full tweet objects instead of just a count. |
58
+ | `get_filtered_stream` | Streams real-time tweets matching a user's pre-configured filtering rules from the Twitter API. Unlike `sample_stream` or `get_tweets_firehose_stream`, this provides a targeted feed. Optional parameters can customize returned data fields and specify a time window. |
59
+ | `get_filtered_stream_rules` | Retrieves the active filtering rules for a Twitter API v2 filtered stream. It can fetch all rules or a subset specified by rule IDs, with support for pagination to manage large rule sets, complementing the `add_or_delete_rules` and `search_stream` functions. |
60
+ | `update_stream_rules` | Adds or removes filtering rules for a tweet stream. Supports a dry-run mode to validate rule syntax without application and an option to delete all existing rules. This function directly modifies the active rule set used by the `search_stream` function. |
61
+ | `get_stream_rule_usage` | Retrieves the number of active filtered stream rules for the user's project and app. This helps manage usage against API limits by providing metadata about rule counts, not the number of tweets matching those rules. |
62
+ | `delete_tweet_by_id` | Deletes a specific Tweet, identified by its unique ID, on behalf of the authenticated user. This function permanently removes the targeted Tweet by sending a DELETE request to the API's corresponding endpoint. |
63
+ | `get_tweet_by_id` | Retrieves detailed information for a single Tweet by its unique ID. It supports optional parameters to customize the response by specifying fields for the tweet, user, and media. Unlike `find_tweets_by_id`, which retrieves a batch of tweets, this function fetches exactly one. |
64
+ | `get_tweet_liking_users` | Retrieves a list of users who have liked a specific tweet, identified by its ID. Supports pagination and allows for customization of the returned data fields for users and tweets, including expansions for related objects. |
65
+ | `get_quote_tweets_by_id` | Retrieves a list of tweets that have quoted a specified tweet ID. Supports pagination and allows for response customization by specifying additional data fields for tweets, media, users, polls, and places through various expansion parameters. |
66
+ | `get_retweeting_users_by_tweet_id` | Retrieves a list of users who retweeted a specific tweet, identified by its ID. Supports pagination and allows customizing the response with optional fields. This function returns user objects, unlike `find_tweets_that_retweet_atweet` which returns the actual retweet objects. |
67
+ | `get_retweets_by_id` | Retrieves Tweet objects that are retweets of a specified tweet ID, supporting pagination and data customization. This function returns the actual retweets, distinguishing it from `tweets_id_retweeting_users` which returns the users who retweeted. |
68
+ | `set_reply_visibility` | Updates the visibility of a specific reply tweet. This function sends a PUT request to hide or unhide a reply, identified by its `tweet_id`, based on the provided boolean `hidden` parameter, thus managing its state within a conversation. |
69
+ | `get_usage_tweets` | Fetches Tweet usage data from the `/2/usage/tweets` API endpoint. It allows users to specify the number of days for the report and select specific usage fields to return, providing customized metrics on project consumption. |
70
+ | `get_users_by_ids` | Retrieves detailed information for multiple users in a single API request, specified by a list of their unique IDs. Unlike `find_user_by_id`, which fetches a single user, this function performs a bulk lookup and allows for response customization with optional fields and expansions. |
71
+ | `get_users_by_usernames` | Fetches public data for a batch of users specified by their usernames. This function supports retrieving multiple users in a single request, unlike `find_user_by_username`. It allows for data customization through optional fields and expansions. |
72
+ | `find_user_by_username` | Retrieves detailed information for a single user specified by their username, with options to include additional user, tweet, and expansion fields. This differs from `find_users_by_username`, which fetches data for multiple users in a single request. |
73
+ | `get_users_compliance_stream` | Streams real-time user compliance events, such as account deletions or suspensions, from a specified data partition. Allows for backfilling missed data after a disconnection and filtering the event stream by a specific time range for targeted data retrieval. |
74
+ | `get_authenticated_user` | Retrieves detailed information about the authenticated user making the request. Optional parameters allow for customizing the returned user and tweet data fields and including expanded objects. This differs from other 'find' functions as it requires no ID or username. |
75
+ | `search_users_by_query` | Searches for users matching a specific query string. Supports pagination and allows customizing the response by specifying which user, tweet, and expansion fields to include in the results, providing a flexible way to discover users. |
76
+ | `find_user_by_id` | Retrieves detailed information for a single user specified by their unique ID. This function allows for response customization using optional fields and expansions. It differs from `find_users_by_id`, which fetches data for multiple users in a single request. |
77
+ | `list_blocked_users` | Retrieves a paginated list of users blocked by a specified user ID. The response can be customized by specifying additional fields for users, tweets, and expansions to tailor the returned data objects. |
78
+ | `list_user_bookmarks` | Retrieves a paginated list of tweets bookmarked by a specified user. Allows extensive customization of the response data by specifying tweet, media, user, and place fields, as well as object expansions. |
79
+ | `bookmark_tweet` | Bookmarks a specific tweet for a user. This action adds the tweet, identified by `tweet_id`, to the bookmarks of the user specified by their unique `id`, making a POST request to the bookmarks endpoint. |
80
+ | `remove_bookmark` | Deletes a bookmarked tweet for a specified user. This action requires both the user's ID and the tweet's ID to target the correct bookmark for removal via an API DELETE request. It is the inverse of `post_users_id_bookmarks`. |
81
+ | `get_user_followed_lists` | Retrieves a paginated list of Twitter Lists that a specified user follows. Identified by user ID, this function allows response customization with optional parameters for pagination, expansions, and specific list or user fields to include in the results. |
82
+ | `follow_list` | Causes a specified user to follow a particular Twitter List. It sends a POST request to the `/users/{id}/followed_lists` endpoint with the list's ID. This contrasts with `user_followed_lists`, which retrieves the lists a user already follows, and `list_user_unfollow`, which removes a list. |
83
+ | `unfollow_list` | Causes a user, specified by their ID, to unfollow a particular Twitter List, identified by its list ID. This action sends a DELETE request to the API, removing the follow relationship between the user and the list. |
84
+ | `get_user_followers` | Fetches a paginated list of users who follow a specified user ID. The response can be customized with optional parameters to control the number of results, expand related objects, and specify which user or tweet fields to return. |
85
+ | `get_following_by_user_id` | Retrieves a paginated list of users followed by a specific user ID. The response can be customized by requesting additional user fields, tweet fields, and data expansions to include more detailed information about the followed accounts. |
86
+ | `follow_user` | Causes a source user, specified by `id`, to follow a target user (`target_user_id`). It sends a POST request to the `/2/users/{id}/following` endpoint to create the follow relationship, distinct from `users_id_following` which retrieves a list of followed users. |
87
+ | `get_liked_tweets_by_user` | Fetches a list of tweets liked by a specified user ID. This function supports pagination and allows for extensive customization of the returned data, including expansions and specific fields for tweets, media, users, polls, and places. |
88
+ | `like_tweet` | Causes a user, specified by `id`, to like a tweet, specified by `tweet_id`. This function sends a POST request to add a like, contrasting with `users_id_unlike` which removes a like and `users_id_liked_tweets` which retrieves a list of liked tweets. |
89
+ | `unlike_tweet` | Removes a like from a tweet on behalf of an authenticated user. This function identifies the specific like to be deleted using the user's ID and the tweet's ID, then sends a corresponding DELETE request to the Twitter API. |
90
+ | `get_user_list_memberships` | Retrieves all Twitter Lists of which a specific user is a member. Supports pagination and allows for response customization by specifying which list fields, user fields, and expansions to return, differentiating it from functions that get followed, owned, or pinned lists. |
91
+ | `get_user_mentions` | Retrieves a timeline of tweets mentioning a specified user, identified by their ID. Allows for pagination and filtering by time or tweet ID, with options to customize the returned data fields for tweets, users, media, and other entities. |
92
+ | `get_muted_users` | Retrieves a list of users muted by a specific user, identified by ID. Supports pagination and allows for customizing the returned data, including user fields, expansions, and tweet fields, to tailor the response. |
93
+ | `mute_user` | Mutes a target user on behalf of an authenticated user. This action requires the authenticated user's ID and the target user's ID. It differs from `users_id_unmute` (which unmutes) and `users_id_muting` (which lists muted users) by performing the actual mute operation via POST request. |
94
+ | `get_user_owned_lists` | Retrieves all Twitter Lists owned by a specified user ID. Supports pagination and custom data fields for detailed results. This function fetches lists created by the user, distinguishing it from methods that retrieve lists the user follows (`user_followed_lists`) or has pinned (`list_user_pinned_lists`). |
95
+ | `get_user_pinned_lists` | Retrieves the collection of lists pinned by a specific user, identified by their ID. Optional parameters allow for customizing the returned list and user data fields, and including expansions. This is distinct from fetching lists a user follows or owns. |
96
+ | `pin_list` | Pins a specified list to a user's profile via a POST request, using the user and list IDs. This creates a new pin, differing from `list_user_unpin` which removes a pin and `list_user_pinned_lists` which retrieves all of a user's currently pinned lists. |
97
+ | `unpin_list` | Unpins a specific list from a user's profile, identified by their user ID and the list's ID. This action sends a DELETE request to the API, removing the specified list from the user's collection of pinned lists. |
98
+ | `create_retweet` | Causes a user, identified by `id`, to retweet a specific tweet. This action sends a POST request to the `/2/users/{id}/retweets` endpoint, requiring the `tweet_id` of the tweet to be retweeted. It is the opposite of the `users_id_unretweets` function, which deletes a retweet. |
99
+ | `delete_retweet` | Removes a retweet for a specified user by sending a DELETE request to the Twitter API. It requires the user's ID and the ID of the original tweet that was retweeted to successfully undo the action. |
100
+ | `get_user_tweet_timeline` | Retrieves tweets from a user's timeline in reverse chronological order. Supports filtering by time or tweet ID, pagination, and excluding replies or retweets. Optional parameters allow for expanding returned data with additional tweet, user, and media fields. |
101
+ | `get_tweets_by_user_id` | Retrieves tweets authored by a specific user, identified by their ID. Supports pagination and filtering by time range, allowing response customization to exclude replies or retweets. This fetches tweets composed by the user, unlike the more general `users_id_timeline` function which includes retweets. |
102
+ | `unfollow_user` | Causes a specified user (`source_user_id`) to unfollow another user (`target_user_id`). This function sends a DELETE API request to remove the follow relationship, requiring both user IDs to successfully complete the action. |
103
+ | `unmute_user` | Allows an authenticated user (source) to unmute another user (target). This action removes the specified target user from the source user's mute list, reversing a previous mute action. |
@@ -1,17 +1,17 @@
1
1
  from universal_mcp.applications.application import APIApplication
2
2
  from universal_mcp.integrations import Integration
3
3
 
4
- from .api_segments.compliance_api import ComplianceApi
5
- from .api_segments.dm_conversations_api import DmConversationsApi
6
- from .api_segments.dm_events_api import DmEventsApi
7
- from .api_segments.likes_api import LikesApi
8
- from .api_segments.lists_api import ListsApi
9
- from .api_segments.openapi_json_api import OpenapiJsonApi
10
- from .api_segments.spaces_api import SpacesApi
11
- from .api_segments.trends_api import TrendsApi
12
- from .api_segments.tweets_api import TweetsApi
13
- from .api_segments.usage_api import UsageApi
14
- from .api_segments.users_api import UsersApi
4
+ from universal_mcp.applications.twitter.api_segments.compliance_api import ComplianceApi
5
+ from universal_mcp.applications.twitter.api_segments.dm_conversations_api import DmConversationsApi
6
+ from universal_mcp.applications.twitter.api_segments.dm_events_api import DmEventsApi
7
+ from universal_mcp.applications.twitter.api_segments.likes_api import LikesApi
8
+ from universal_mcp.applications.twitter.api_segments.lists_api import ListsApi
9
+ from universal_mcp.applications.twitter.api_segments.openapi_json_api import OpenapiJsonApi
10
+ from universal_mcp.applications.twitter.api_segments.spaces_api import SpacesApi
11
+ from universal_mcp.applications.twitter.api_segments.trends_api import TrendsApi
12
+ from universal_mcp.applications.twitter.api_segments.tweets_api import TweetsApi
13
+ from universal_mcp.applications.twitter.api_segments.usage_api import UsageApi
14
+ from universal_mcp.applications.twitter.api_segments.users_api import UsersApi
15
15
 
16
16
 
17
17
  class TwitterApp(APIApplication):
@@ -9,20 +9,20 @@ This is automatically generated from OpenAPI schema for the UnipileApp API.
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `list_all_chats` | Lists all chats, with options to filter by unread status, pagination, date ranges, and account. |
13
- | `list_chat_messages` | Lists all messages from a specific chat, with pagination and filtering options. |
14
- | `send_chat_message` | Sends a message in a specific chat. |
15
- | `retrieve_chat` | Retrieves a specific chat by its Unipile or provider ID. |
16
- | `list_all_messages` | Lists all messages across all chats, with pagination and filtering options. |
17
- | `list_all_accounts` | Lists all linked accounts. |
18
- | `retrieve_account` | Retrieves a specific linked account by its ID. |
19
- | `list_user_posts` | Lists all posts for a given user or company identifier. |
20
- | `retrieve_own_profile` | Retrieves the profile of the user associated with the given Unipile account_id. |
21
- | `retrieve_profile` | Retrieves a specific user profile by its identifier. |
22
- | `retrieve_post` | Retrieves a specific post by its ID. |
23
- | `list_post_comments` | Lists all comments from a specific post. Can also list replies to a specific comment. |
24
- | `create_post` | Creates a new post on LinkedIn. |
25
- | `list_post_reactions` | Lists all reactions from a specific post or comment. |
26
- | `create_post_comment` | Adds a comment to a specific post. |
27
- | `add_reaction_to_post` | Adds a reaction to a post or comment. |
28
- | `search` | Performs a comprehensive search on LinkedIn for people, companies, posts, or jobs. |
12
+ | `list_all_chats` | Retrieves a paginated list of all chat conversations across linked accounts. Supports filtering by unread status, date range, account provider, and specific account IDs, distinguishing it from functions listing messages within a single chat. |
13
+ | `list_chat_messages` | Retrieves messages from a specific chat identified by `chat_id`. Supports pagination and filtering by date or sender. Unlike `list_all_messages`, which fetches from all chats, this function targets the contents of a single conversation. |
14
+ | `send_chat_message` | Sends a text message to a specific chat conversation using its `chat_id`. This function creates a new message via a POST request, distinguishing it from read-only functions like `list_chat_messages`. It returns the API's response, which typically confirms the successful creation of the message. |
15
+ | `retrieve_chat` | Retrieves a single chat's details using its Unipile or provider-specific ID. Requires an `account_id` when using a provider ID for context. This function is distinct from `list_all_chats`, which returns a collection, by targeting one specific conversation. |
16
+ | `list_all_messages` | Retrieves a paginated list of messages from all chats associated with the account(s). Unlike `list_chat_messages` which targets a specific conversation, this function provides a global message view, filterable by sender, account, and date range. |
17
+ | `list_all_accounts` | Retrieves a paginated list of all social media accounts linked to the Unipile service. This is crucial for obtaining the `account_id` required by other methods to specify which user account should perform an action, like sending a message or retrieving user-specific posts. |
18
+ | `retrieve_linked_account` | Retrieves details for a specific account linked to Unipile using its ID. It fetches metadata about the connection itself (e.g., a linked LinkedIn account), differentiating it from `retrieve_user_profile` which fetches a user's profile from the external platform. |
19
+ | `list_profile_posts` | Retrieves a paginated list of posts from a specific user or company profile using their provider ID. An authorizing `account_id` is required, and the `is_company` flag must specify the entity type, distinguishing this from `retrieve_post` which fetches a single post by its own ID. |
20
+ | `retrieve_own_profile` | Retrieves the profile details for the user associated with the specified Unipile account ID. This function targets the API's 'me' endpoint to fetch the authenticated user's profile, distinct from `retrieve_user_profile` which fetches profiles of other users by their public identifier. |
21
+ | `retrieve_user_profile` | Retrieves a specific LinkedIn user's profile using their public or internal ID, authorized via the provided `account_id`. Unlike `retrieve_own_profile`, which fetches the authenticated user's details, this function targets and returns data for any specified third-party user profile on the platform. |
22
+ | `retrieve_post` | Fetches a specific post's details by its unique ID, requiring an `account_id` for authorization. Unlike `list_profile_posts`, which retrieves a collection of posts from a user or company profile, this function targets one specific post and returns its full object. |
23
+ | `list_post_comments` | Fetches comments for a specific post using an `account_id` for authorization. Providing an optional `comment_id` retrieves threaded replies instead of top-level comments. This read-only operation contrasts with `create_post_comment`, which publishes new comments, and `list_content_reactions`, which retrieves 'likes'. |
24
+ | `create_post` | Publishes a new top-level post from a specified account, including text, user mentions, and an external link. This function creates original content, distinguishing it from `create_post_comment` which adds replies to existing posts. |
25
+ | `list_content_reactions` | Retrieves a paginated list of reactions for a given post or, optionally, a specific comment. This read-only operation uses the provided `account_id` for the request, distinguishing it from the `create_reaction` function which adds new reactions. |
26
+ | `create_post_comment` | Publishes a comment on a specified post. By providing an optional `comment_id`, it creates a threaded reply to an existing comment instead of a new top-level one. This function's dual capability distinguishes it from `list_post_comments`, which only retrieves comments and their replies. |
27
+ | `create_reaction` | Adds a specified reaction (e.g., 'like', 'love') to a LinkedIn post or, optionally, to a specific comment. This function performs a POST request to create the reaction, differentiating it from `list_content_reactions` which only retrieves existing ones. |
28
+ | `search` | Performs a comprehensive LinkedIn search for people, companies, posts, or jobs using granular filters like keywords and location. Alternatively, it can execute a search from a direct LinkedIn URL. Supports pagination and targets either the classic or Sales Navigator API. |
@@ -31,7 +31,7 @@ class UnipileApp(APIApplication):
31
31
  @property
32
32
  def base_url(self) -> str:
33
33
  """
34
- A property that lazily constructs and caches the Unipile API base URL using 'subdomain' and 'port' from integration credentials. The URL is built on first access and used by all API methods, raising a ValueError if the required credentials are missing.
34
+ A property that lazily constructs and caches the Unipile API base URL from 'subdomain' and 'port' credentials. Built on first access and used by all API methods, it raises a ValueError if credentials are missing. This is the default construction, unlike the setter which allows manual override.
35
35
  """
36
36
  if not self._base_url:
37
37
  credentials = self.integration.get_credentials()
@@ -50,7 +50,7 @@ class UnipileApp(APIApplication):
50
50
  @base_url.setter
51
51
  def base_url(self, base_url: str) -> None:
52
52
  """
53
- Sets or overrides the base URL for Unipile API requests. This setter allows manually changing the endpoint, bypassing the default URL that is dynamically constructed from integration credentials. It is primarily intended for testing against different environments or for custom deployments.
53
+ Sets or overrides the Unipile API's base URL. This setter allows manually changing the endpoint, bypassing the default URL that is dynamically constructed from integration credentials. It is primarily intended for testing against different environments or for custom deployments.
54
54
 
55
55
  Args:
56
56
  base_url: The new base URL to set.
@@ -154,7 +154,7 @@ class UnipileApp(APIApplication):
154
154
  sender_id: str | None = None,
155
155
  ) -> dict[str, Any]:
156
156
  """
157
- Retrieves messages from a specific chat identified by `chat_id`. It supports pagination and filtering by date or sender. This function is distinct from `list_all_messages`, which fetches messages across all chats, whereas this method targets the contents of a single conversation.
157
+ Retrieves messages from a specific chat identified by `chat_id`. Supports pagination and filtering by date or sender. Unlike `list_all_messages`, which fetches from all chats, this function targets the contents of a single conversation.
158
158
 
159
159
  Args:
160
160
  chat_id: The ID of the chat to retrieve messages from.
@@ -195,7 +195,7 @@ class UnipileApp(APIApplication):
195
195
  text: str,
196
196
  ) -> dict[str, Any]:
197
197
  """
198
- Sends a text message to a specific chat via a POST request to the Unipile API. Given a chat ID and text content, it creates a new message within that conversation and returns the API's response, typically containing the new message's ID.
198
+ Sends a text message to a specific chat conversation using its `chat_id`. This function creates a new message via a POST request, distinguishing it from read-only functions like `list_chat_messages`. It returns the API's response, which typically confirms the successful creation of the message.
199
199
 
200
200
  Args:
201
201
  chat_id: The ID of the chat where the message will be sent.
@@ -221,7 +221,7 @@ class UnipileApp(APIApplication):
221
221
  self, chat_id: str, account_id: str | None = None
222
222
  ) -> dict[str, Any]:
223
223
  """
224
- Retrieves a single chat by its unique Unipile or provider-specific ID. The `account_id` is required when using a provider ID to specify the correct context. This function fetches one specific chat, unlike `list_all_chats` which retrieves a collection of chats.
224
+ Retrieves a single chat's details using its Unipile or provider-specific ID. Requires an `account_id` when using a provider ID for context. This function is distinct from `list_all_chats`, which returns a collection, by targeting one specific conversation.
225
225
 
226
226
  Args:
227
227
  chat_id: The Unipile or provider ID of the chat.
@@ -327,7 +327,7 @@ class UnipileApp(APIApplication):
327
327
  account_id: str,
328
328
  ) -> dict[str, Any]:
329
329
  """
330
- Retrieves the details of a specific account linked to the Unipile service by its unique ID. This function fetches metadata about the connection itself (e.g., a linked LinkedIn account), distinguishing it from functions that fetch end-user profiles from the external platform.
330
+ Retrieves details for a specific account linked to Unipile using its ID. It fetches metadata about the connection itself (e.g., a linked LinkedIn account), differentiating it from `retrieve_user_profile` which fetches a user's profile from the external platform.
331
331
 
332
332
  Args:
333
333
  account_id: The ID of the account to retrieve.
@@ -354,7 +354,7 @@ class UnipileApp(APIApplication):
354
354
  is_company: bool | None = None,
355
355
  ) -> dict[str, Any]:
356
356
  """
357
- Retrieves a paginated list of posts from a specific user or company profile using their provider ID. A Unipile account is required for authorization, and the `is_company` flag must be used to differentiate between entity types.
357
+ Retrieves a paginated list of posts from a specific user or company profile using their provider ID. An authorizing `account_id` is required, and the `is_company` flag must specify the entity type, distinguishing this from `retrieve_post` which fetches a single post by its own ID.
358
358
 
359
359
  Args:
360
360
  identifier: The entity's provider internal ID (LinkedIn ID).
@@ -389,7 +389,7 @@ class UnipileApp(APIApplication):
389
389
  account_id: str,
390
390
  ) -> dict[str, Any]:
391
391
  """
392
- Retrieves the profile details for the user associated with the specified Unipile account ID. This function targets the API's 'me' endpoint to fetch the current authenticated user's profile, distinct from fetching profiles of other users via the `retrieve_profile` function.
392
+ Retrieves the profile details for the user associated with the specified Unipile account ID. This function targets the API's 'me' endpoint to fetch the authenticated user's profile, distinct from `retrieve_user_profile` which fetches profiles of other users by their public identifier.
393
393
 
394
394
  Args:
395
395
  account_id: The ID of the Unipile account to use for retrieving the profile (REQUIRED).
@@ -414,7 +414,7 @@ class UnipileApp(APIApplication):
414
414
  account_id: str,
415
415
  ) -> dict[str, Any]:
416
416
  """
417
- Fetches the details of a specific post by its unique ID. The request is performed using the provided `account_id` for authorization, returning the full post object. This differs from `list_user_posts` which retrieves multiple posts for a specific user or company.
417
+ Fetches a specific post's details by its unique ID, requiring an `account_id` for authorization. Unlike `list_profile_posts`, which retrieves a collection of posts from a user or company profile, this function targets one specific post and returns its full object.
418
418
 
419
419
  Args:
420
420
  post_id: The ID of the post to retrieve.
@@ -443,7 +443,7 @@ class UnipileApp(APIApplication):
443
443
  limit: int | None = None,
444
444
  ) -> dict[str, Any]:
445
445
  """
446
- Fetches comments for a specific post. By providing an optional `comment_id`, the function retrieves replies to that comment instead of top-level comments. This read-only operation contrasts with `create_post_comment`, which adds new comments, and `list_post_reactions`, which retrieves likes.
446
+ Fetches comments for a specific post using an `account_id` for authorization. Providing an optional `comment_id` retrieves threaded replies instead of top-level comments. This read-only operation contrasts with `create_post_comment`, which publishes new comments, and `list_content_reactions`, which retrieves 'likes'.
447
447
 
448
448
  Args:
449
449
  post_id: The social ID of the post.
@@ -481,7 +481,7 @@ class UnipileApp(APIApplication):
481
481
  external_link: str | None = None,
482
482
  ) -> dict[str, Any]:
483
483
  """
484
- Publishes a new post to LinkedIn via the Unipile API from a specified account. The post's content can include text, user mentions, and an external link displayed as a card. This function is for creating top-level posts, distinct from `create_post_comment` which replies to existing posts.
484
+ Publishes a new top-level post from a specified account, including text, user mentions, and an external link. This function creates original content, distinguishing it from `create_post_comment` which adds replies to existing posts.
485
485
 
486
486
  Args:
487
487
  account_id: The ID of the Unipile account that will author the post (added as query parameter).
@@ -523,7 +523,7 @@ class UnipileApp(APIApplication):
523
523
  limit: int | None = None,
524
524
  ) -> dict[str, Any]:
525
525
  """
526
- Retrieves a paginated list of reactions for a given post or, optionally, a specific comment. This read-only operation uses the provided `account_id` for the request, distinguishing it from `add_reaction_to_post` which creates new reactions.
526
+ Retrieves a paginated list of reactions for a given post or, optionally, a specific comment. This read-only operation uses the provided `account_id` for the request, distinguishing it from the `create_reaction` function which adds new reactions.
527
527
 
528
528
  Args:
529
529
  post_id: The social ID of the post.
@@ -613,7 +613,7 @@ class UnipileApp(APIApplication):
613
613
  comment_id: str | None = None,
614
614
  ) -> dict[str, Any]:
615
615
  """
616
- Adds a specified reaction (e.g., 'like', 'love') to a LinkedIn post or, optionally, to a specific comment. This function performs a POST request to create the reaction, differentiating it from `list_post_reactions` which only retrieves existing ones.
616
+ Adds a specified reaction (e.g., 'like', 'love') to a LinkedIn post or, optionally, to a specific comment. This function performs a POST request to create the reaction, differentiating it from `list_content_reactions` which only retrieves existing ones.
617
617
 
618
618
  Args:
619
619
  post_social_id: The social ID of the post or comment to react to.
@@ -784,7 +784,7 @@ class UnipileApp(APIApplication):
784
784
  account_id: str,
785
785
  ) -> dict[str, Any]:
786
786
  """
787
- Retrieves a specific LinkedIn user's profile using their public or internal ID. This is distinct from `retrieve_own_profile`, which retrieves the profile associated with the Unipile account performing the request.
787
+ Retrieves a specific LinkedIn user's profile using their public or internal ID, authorized via the provided `account_id`. Unlike `retrieve_own_profile`, which fetches the authenticated user's details, this function targets and returns data for any specified third-party user profile on the platform.
788
788
 
789
789
  Args:
790
790
  identifier: Can be the provider's internal id OR the provider's public id of the requested user.For example, for https://www.linkedin.com/in/manojbajaj95/, the identifier is "manojbajaj95".
@@ -9,15 +9,15 @@ This is automatically generated from OpenAPI schema for the WhatsappApp API.
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `search_contacts` | Search WhatsApp contacts by name or phone number. |
13
- | `list_messages` | Get WhatsApp messages matching specified criteria with optional context. |
14
- | `list_chats` | Get WhatsApp chats matching specified criteria. |
15
- | `get_chat` | Get WhatsApp chat metadata by JID. |
16
- | `get_direct_chat_by_contact` | Get WhatsApp chat metadata by sender phone number. |
17
- | `get_contact_chats` | Get all WhatsApp chats involving the contact. |
18
- | `get_last_interaction` | Get most recent WhatsApp message involving the contact. |
19
- | `get_message_context` | Get context around a specific WhatsApp message. |
20
- | `send_message` | Send a WhatsApp message to a person or group. For group chats use the JID. |
21
- | `send_file` | Send a file such as a picture, raw audio, video or document via WhatsApp to the specified recipient. For group messages use the JID. |
22
- | `send_audio_message` | Send any audio file as a WhatsApp audio message to the specified recipient. For group messages use the JID. If it errors due to ffmpeg not being installed, use send_file instead. |
23
- | `download_media` | Download media from a WhatsApp message and get the local file path. |
12
+ | `search_contacts` | Searches for WhatsApp contacts by name or phone number. This function takes a query string, handles user authentication, and calls the underlying API to find and return a list of matching contacts. It serves as the primary method to look up contact information within the application. |
13
+ | `search_messages` | Searches for and retrieves a paginated list of WhatsApp messages using various filters like date, sender, chat, or content query. It can optionally include surrounding contextual messages for each result, unlike `get_message_context` which targets a single message ID. |
14
+ | `search_chats` | Retrieves a paginated list of WhatsApp chats, allowing filtering by a search query and sorting by activity or name. Unlike `get_chat`, which fetches a single known chat, this function provides broad search and discovery capabilities across multiple user conversations. |
15
+ | `get_chat_by_jid` | Retrieves metadata for a specific WhatsApp chat (direct or group) using its unique JID. It can optionally include the most recent message. This precise JID-based lookup distinguishes it from `get_direct_chat_by_contact`, which uses a phone number, and `list_chats`, which performs a broader search. |
16
+ | `get_direct_chat_by_phone_number` | Retrieves metadata for a direct (one-on-one) WhatsApp chat using a contact's phone number. Unlike `get_chat` which requires a JID, this provides a simpler way to find direct conversations. Returns a dictionary containing the chat's details, such as its JID and name. |
17
+ | `list_chats_by_contact_jid` | Retrieves a paginated list of all WhatsApp chats, including direct messages and groups, that a specific contact participates in. The contact is identified by their unique JID. This differs from `get_direct_chat_by_contact` which only finds one-on-one chats. |
18
+ | `get_last_message_by_jid` | Retrieves the content of the most recent message involving a specific contact, identified by their JID. It authenticates the user and returns the message directly as a string, offering a quick way to view the last communication without fetching full message objects or chat histories. |
19
+ | `get_message_context` | Fetches the conversational context surrounding a specific WhatsApp message ID. It retrieves a configurable number of messages immediately preceding and following the target message. This provides a focused view of a dialogue, unlike `list_messages` which performs broader, filter-based searches. |
20
+ | `send_text_message` | Authenticates the user and sends a text message to a specified WhatsApp recipient. The recipient can be an individual (via phone number) or a group (via JID). It returns a dictionary indicating the operation's success status and a corresponding message. |
21
+ | `send_attachment` | Sends a media file (image, video, document, raw audio) as a standard attachment to a WhatsApp contact or group using their phone number or JID. Unlike `send_audio_message`, which creates a playable voice note, this function handles general file transfers. Returns a success status dictionary. |
22
+ | `send_voice_message` | Sends a local audio file as a playable WhatsApp voice message, converting it to the required format. Unlike `send_file` which sends audio as a document attachment, this function formats the audio as a voice note. It can be sent to an individual contact or a group chat. |
23
+ | `download_media_from_message` | Downloads media from a specific WhatsApp message, identified by its ID and chat JID. It saves the content to a local file and returns the file's path upon success. The function automatically handles user authentication before initiating the download. |