universal-mcp-applications 0.1.13__py3-none-any.whl → 0.1.15__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.
- universal_mcp/applications/aws_s3/app.py +71 -71
- universal_mcp/applications/calendly/app.py +199 -199
- universal_mcp/applications/canva/app.py +189 -189
- universal_mcp/applications/domain_checker/app.py +31 -24
- universal_mcp/applications/e2b/app.py +6 -7
- universal_mcp/applications/elevenlabs/app.py +24 -20
- universal_mcp/applications/exa/app.py +25 -20
- universal_mcp/applications/falai/app.py +44 -41
- universal_mcp/applications/file_system/app.py +20 -12
- universal_mcp/applications/firecrawl/app.py +46 -47
- universal_mcp/applications/fireflies/app.py +79 -79
- universal_mcp/applications/fpl/app.py +83 -74
- universal_mcp/applications/github/README.md +0 -1028
- universal_mcp/applications/github/app.py +55 -50227
- universal_mcp/applications/google_calendar/app.py +63 -65
- universal_mcp/applications/google_docs/app.py +78 -78
- universal_mcp/applications/google_drive/app.py +361 -440
- universal_mcp/applications/google_gemini/app.py +34 -17
- universal_mcp/applications/google_mail/app.py +117 -117
- universal_mcp/applications/google_searchconsole/app.py +41 -47
- universal_mcp/applications/google_sheet/app.py +157 -164
- universal_mcp/applications/http_tools/app.py +16 -16
- universal_mcp/applications/linkedin/app.py +26 -31
- universal_mcp/applications/ms_teams/app.py +190 -190
- universal_mcp/applications/openai/app.py +55 -56
- universal_mcp/applications/outlook/app.py +71 -71
- universal_mcp/applications/perplexity/app.py +17 -17
- universal_mcp/applications/reddit/app.py +225 -4053
- universal_mcp/applications/replicate/app.py +40 -42
- universal_mcp/applications/resend/app.py +157 -154
- universal_mcp/applications/scraper/app.py +24 -24
- universal_mcp/applications/serpapi/app.py +18 -20
- universal_mcp/applications/sharepoint/app.py +46 -36
- universal_mcp/applications/slack/app.py +66 -66
- universal_mcp/applications/tavily/app.py +7 -7
- universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
- universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
- universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
- universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
- universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
- universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
- universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
- universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
- universal_mcp/applications/unipile/app.py +99 -105
- universal_mcp/applications/whatsapp/app.py +86 -82
- universal_mcp/applications/whatsapp_business/app.py +147 -147
- universal_mcp/applications/youtube/app.py +290 -290
- universal_mcp/applications/zenquotes/app.py +6 -6
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/RECORD +54 -54
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/licenses/LICENSE +0 -0
|
@@ -31,8 +31,7 @@ class UnipileApp(APIApplication):
|
|
|
31
31
|
@property
|
|
32
32
|
def base_url(self) -> str:
|
|
33
33
|
"""
|
|
34
|
-
|
|
35
|
-
This is constructed from the integration's credentials.
|
|
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.
|
|
36
35
|
"""
|
|
37
36
|
if not self._base_url:
|
|
38
37
|
credentials = self.integration.get_credentials()
|
|
@@ -51,9 +50,8 @@ class UnipileApp(APIApplication):
|
|
|
51
50
|
@base_url.setter
|
|
52
51
|
def base_url(self, base_url: str) -> None:
|
|
53
52
|
"""
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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.
|
|
54
|
+
|
|
57
55
|
Args:
|
|
58
56
|
base_url: The new base URL to set.
|
|
59
57
|
"""
|
|
@@ -106,8 +104,8 @@ class UnipileApp(APIApplication):
|
|
|
106
104
|
account_id: str | None = None, # Comma-separated list of ids
|
|
107
105
|
) -> dict[str, Any]:
|
|
108
106
|
"""
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
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.
|
|
108
|
+
|
|
111
109
|
Args:
|
|
112
110
|
unread: Filter for unread chats only or read chats only.
|
|
113
111
|
cursor: Pagination cursor for the next page of entries.
|
|
@@ -116,13 +114,13 @@ class UnipileApp(APIApplication):
|
|
|
116
114
|
limit: Number of items to return (1-250).
|
|
117
115
|
account_type: Filter by provider (e.g., "linkedin").
|
|
118
116
|
account_id: Filter by specific account IDs (comma-separated).
|
|
119
|
-
|
|
117
|
+
|
|
120
118
|
Returns:
|
|
121
119
|
A dictionary containing a list of chat objects and a pagination cursor.
|
|
122
|
-
|
|
120
|
+
|
|
123
121
|
Raises:
|
|
124
122
|
httpx.HTTPError: If the API request fails.
|
|
125
|
-
|
|
123
|
+
|
|
126
124
|
Tags:
|
|
127
125
|
linkedin, chat, list, messaging, api
|
|
128
126
|
"""
|
|
@@ -156,8 +154,8 @@ class UnipileApp(APIApplication):
|
|
|
156
154
|
sender_id: str | None = None,
|
|
157
155
|
) -> dict[str, Any]:
|
|
158
156
|
"""
|
|
159
|
-
|
|
160
|
-
|
|
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.
|
|
158
|
+
|
|
161
159
|
Args:
|
|
162
160
|
chat_id: The ID of the chat to retrieve messages from.
|
|
163
161
|
cursor: Pagination cursor for the next page of entries.
|
|
@@ -165,13 +163,13 @@ class UnipileApp(APIApplication):
|
|
|
165
163
|
after: Filter for items created after this ISO 8601 UTC datetime (exclusive).
|
|
166
164
|
limit: Number of items to return (1-250).
|
|
167
165
|
sender_id: Filter messages from a specific sender ID.
|
|
168
|
-
|
|
166
|
+
|
|
169
167
|
Returns:
|
|
170
168
|
A dictionary containing a list of message objects and a pagination cursor.
|
|
171
|
-
|
|
169
|
+
|
|
172
170
|
Raises:
|
|
173
171
|
httpx.HTTPError: If the API request fails.
|
|
174
|
-
|
|
172
|
+
|
|
175
173
|
Tags:
|
|
176
174
|
linkedin, chat, message, list, messaging, api
|
|
177
175
|
"""
|
|
@@ -197,19 +195,19 @@ class UnipileApp(APIApplication):
|
|
|
197
195
|
text: str,
|
|
198
196
|
) -> dict[str, Any]:
|
|
199
197
|
"""
|
|
200
|
-
Sends a message
|
|
201
|
-
|
|
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.
|
|
199
|
+
|
|
202
200
|
Args:
|
|
203
201
|
chat_id: The ID of the chat where the message will be sent.
|
|
204
202
|
text: The text content of the message.
|
|
205
203
|
attachments: Optional list of attachment objects to include with the message.
|
|
206
|
-
|
|
204
|
+
|
|
207
205
|
Returns:
|
|
208
206
|
A dictionary containing the ID of the sent message.
|
|
209
|
-
|
|
207
|
+
|
|
210
208
|
Raises:
|
|
211
209
|
httpx.HTTPError: If the API request fails.
|
|
212
|
-
|
|
210
|
+
|
|
213
211
|
Tags:
|
|
214
212
|
linkedin, chat, message, send, create, messaging, api
|
|
215
213
|
"""
|
|
@@ -223,18 +221,18 @@ class UnipileApp(APIApplication):
|
|
|
223
221
|
self, chat_id: str, account_id: str | None = None
|
|
224
222
|
) -> dict[str, Any]:
|
|
225
223
|
"""
|
|
226
|
-
Retrieves a
|
|
227
|
-
|
|
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.
|
|
225
|
+
|
|
228
226
|
Args:
|
|
229
227
|
chat_id: The Unipile or provider ID of the chat.
|
|
230
228
|
account_id: Mandatory if the chat_id is a provider ID. Specifies the account context.
|
|
231
|
-
|
|
229
|
+
|
|
232
230
|
Returns:
|
|
233
231
|
A dictionary containing the chat object details.
|
|
234
|
-
|
|
232
|
+
|
|
235
233
|
Raises:
|
|
236
234
|
httpx.HTTPError: If the API request fails.
|
|
237
|
-
|
|
235
|
+
|
|
238
236
|
Tags:
|
|
239
237
|
linkedin, chat, retrieve, get, messaging, api
|
|
240
238
|
"""
|
|
@@ -256,8 +254,8 @@ class UnipileApp(APIApplication):
|
|
|
256
254
|
account_id: str | None = None,
|
|
257
255
|
) -> dict[str, Any]:
|
|
258
256
|
"""
|
|
259
|
-
|
|
260
|
-
|
|
257
|
+
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.
|
|
258
|
+
|
|
261
259
|
Args:
|
|
262
260
|
cursor: Pagination cursor.
|
|
263
261
|
before: Filter for items created before this ISO 8601 UTC datetime.
|
|
@@ -265,13 +263,13 @@ class UnipileApp(APIApplication):
|
|
|
265
263
|
limit: Number of items to return (1-250).
|
|
266
264
|
sender_id: Filter messages from a specific sender.
|
|
267
265
|
account_id: Filter messages from a specific linked account.
|
|
268
|
-
|
|
266
|
+
|
|
269
267
|
Returns:
|
|
270
268
|
A dictionary containing a list of message objects and a pagination cursor.
|
|
271
|
-
|
|
269
|
+
|
|
272
270
|
Raises:
|
|
273
271
|
httpx.HTTPError: If the API request fails.
|
|
274
|
-
|
|
272
|
+
|
|
275
273
|
Tags:
|
|
276
274
|
linkedin, message, list, all_messages, messaging, api
|
|
277
275
|
"""
|
|
@@ -299,18 +297,18 @@ class UnipileApp(APIApplication):
|
|
|
299
297
|
limit: int | None = None, # 1-259 according to spec
|
|
300
298
|
) -> dict[str, Any]:
|
|
301
299
|
"""
|
|
302
|
-
|
|
303
|
-
|
|
300
|
+
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.
|
|
301
|
+
|
|
304
302
|
Args:
|
|
305
303
|
cursor: Pagination cursor.
|
|
306
304
|
limit: Number of items to return (1-259).
|
|
307
|
-
|
|
305
|
+
|
|
308
306
|
Returns:
|
|
309
307
|
A dictionary containing a list of account objects and a pagination cursor.
|
|
310
|
-
|
|
308
|
+
|
|
311
309
|
Raises:
|
|
312
310
|
httpx.HTTPError: If the API request fails.
|
|
313
|
-
|
|
311
|
+
|
|
314
312
|
Tags:
|
|
315
313
|
linkedin, account, list, unipile, api, important
|
|
316
314
|
"""
|
|
@@ -324,22 +322,22 @@ class UnipileApp(APIApplication):
|
|
|
324
322
|
response = self._get(url, params=params)
|
|
325
323
|
return response.json()
|
|
326
324
|
|
|
327
|
-
def
|
|
325
|
+
def retrieve_linked_account(
|
|
328
326
|
self,
|
|
329
327
|
account_id: str,
|
|
330
328
|
) -> dict[str, Any]:
|
|
331
329
|
"""
|
|
332
|
-
Retrieves a specific linked
|
|
333
|
-
|
|
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.
|
|
331
|
+
|
|
334
332
|
Args:
|
|
335
333
|
account_id: The ID of the account to retrieve.
|
|
336
|
-
|
|
334
|
+
|
|
337
335
|
Returns:
|
|
338
336
|
A dictionary containing the account object details.
|
|
339
|
-
|
|
337
|
+
|
|
340
338
|
Raises:
|
|
341
339
|
httpx.HTTPError: If the API request fails.
|
|
342
|
-
|
|
340
|
+
|
|
343
341
|
Tags:
|
|
344
342
|
linkedin, account, retrieve, get, unipile, api, important
|
|
345
343
|
"""
|
|
@@ -347,7 +345,7 @@ class UnipileApp(APIApplication):
|
|
|
347
345
|
response = self._get(url)
|
|
348
346
|
return response.json()
|
|
349
347
|
|
|
350
|
-
def
|
|
348
|
+
def list_profile_posts(
|
|
351
349
|
self,
|
|
352
350
|
identifier: str, # User or Company provider internal ID
|
|
353
351
|
account_id: str, # Account to perform the request from (REQUIRED)
|
|
@@ -356,21 +354,21 @@ class UnipileApp(APIApplication):
|
|
|
356
354
|
is_company: bool | None = None,
|
|
357
355
|
) -> dict[str, Any]:
|
|
358
356
|
"""
|
|
359
|
-
|
|
360
|
-
|
|
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.
|
|
358
|
+
|
|
361
359
|
Args:
|
|
362
360
|
identifier: The entity's provider internal ID (LinkedIn ID).
|
|
363
361
|
account_id: The ID of the Unipile account to perform the request from (REQUIRED).
|
|
364
362
|
cursor: Pagination cursor.
|
|
365
363
|
limit: Number of items to return (1-100, as per Unipile example, though spec allows up to 250).
|
|
366
364
|
is_company: Boolean indicating if the identifier is for a company.
|
|
367
|
-
|
|
365
|
+
|
|
368
366
|
Returns:
|
|
369
367
|
A dictionary containing a list of post objects and pagination details.
|
|
370
|
-
|
|
368
|
+
|
|
371
369
|
Raises:
|
|
372
370
|
httpx.HTTPError: If the API request fails.
|
|
373
|
-
|
|
371
|
+
|
|
374
372
|
Tags:
|
|
375
373
|
linkedin, post, list, user_posts, company_posts, content, api, important
|
|
376
374
|
"""
|
|
@@ -391,17 +389,17 @@ class UnipileApp(APIApplication):
|
|
|
391
389
|
account_id: str,
|
|
392
390
|
) -> dict[str, Any]:
|
|
393
391
|
"""
|
|
394
|
-
Retrieves the profile
|
|
395
|
-
|
|
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.
|
|
393
|
+
|
|
396
394
|
Args:
|
|
397
395
|
account_id: The ID of the Unipile account to use for retrieving the profile (REQUIRED).
|
|
398
|
-
|
|
396
|
+
|
|
399
397
|
Returns:
|
|
400
398
|
A dictionary containing the user's profile details.
|
|
401
|
-
|
|
399
|
+
|
|
402
400
|
Raises:
|
|
403
401
|
httpx.HTTPError: If the API request fails.
|
|
404
|
-
|
|
402
|
+
|
|
405
403
|
Tags:
|
|
406
404
|
linkedin, user, profile, me, retrieve, get, api
|
|
407
405
|
"""
|
|
@@ -416,18 +414,18 @@ class UnipileApp(APIApplication):
|
|
|
416
414
|
account_id: str,
|
|
417
415
|
) -> dict[str, Any]:
|
|
418
416
|
"""
|
|
419
|
-
|
|
420
|
-
|
|
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.
|
|
418
|
+
|
|
421
419
|
Args:
|
|
422
420
|
post_id: The ID of the post to retrieve.
|
|
423
421
|
account_id: The ID of the Unipile account to perform the request from (REQUIRED).
|
|
424
|
-
|
|
422
|
+
|
|
425
423
|
Returns:
|
|
426
424
|
A dictionary containing the post details.
|
|
427
|
-
|
|
425
|
+
|
|
428
426
|
Raises:
|
|
429
427
|
httpx.HTTPError: If the API request fails.
|
|
430
|
-
|
|
428
|
+
|
|
431
429
|
Tags:
|
|
432
430
|
linkedin, post, retrieve, get, content, api, important
|
|
433
431
|
"""
|
|
@@ -445,21 +443,21 @@ class UnipileApp(APIApplication):
|
|
|
445
443
|
limit: int | None = None,
|
|
446
444
|
) -> dict[str, Any]:
|
|
447
445
|
"""
|
|
448
|
-
|
|
449
|
-
|
|
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.
|
|
447
|
+
|
|
450
448
|
Args:
|
|
451
449
|
post_id: The social ID of the post.
|
|
452
450
|
account_id: The ID of the Unipile account to perform the request from (REQUIRED).
|
|
453
451
|
comment_id: If provided, retrieves replies to this comment ID instead of top-level comments.
|
|
454
452
|
cursor: Pagination cursor.
|
|
455
453
|
limit: Number of comments to return. (OpenAPI spec shows type string, passed as string if provided).
|
|
456
|
-
|
|
454
|
+
|
|
457
455
|
Returns:
|
|
458
456
|
A dictionary containing a list of comment objects and pagination details.
|
|
459
|
-
|
|
457
|
+
|
|
460
458
|
Raises:
|
|
461
459
|
httpx.HTTPError: If the API request fails.
|
|
462
|
-
|
|
460
|
+
|
|
463
461
|
Tags:
|
|
464
462
|
linkedin, post, comment, list, content, api, important
|
|
465
463
|
"""
|
|
@@ -483,21 +481,21 @@ class UnipileApp(APIApplication):
|
|
|
483
481
|
external_link: str | None = None,
|
|
484
482
|
) -> dict[str, Any]:
|
|
485
483
|
"""
|
|
486
|
-
|
|
487
|
-
|
|
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.
|
|
485
|
+
|
|
488
486
|
Args:
|
|
489
487
|
account_id: The ID of the Unipile account that will author the post (added as query parameter).
|
|
490
488
|
text: The main text content of the post.
|
|
491
489
|
mentions: Optional list of dictionaries, each representing a mention.
|
|
492
490
|
Example: `[{"entity_urn": "urn:li:person:...", "start_index": 0, "end_index": 5}]`
|
|
493
491
|
external_link: Optional string, an external URL that should be displayed within a card.
|
|
494
|
-
|
|
492
|
+
|
|
495
493
|
Returns:
|
|
496
494
|
A dictionary containing the ID of the created post.
|
|
497
|
-
|
|
495
|
+
|
|
498
496
|
Raises:
|
|
499
497
|
httpx.HTTPError: If the API request fails.
|
|
500
|
-
|
|
498
|
+
|
|
501
499
|
Tags:
|
|
502
500
|
linkedin, post, create, share, content, api, important
|
|
503
501
|
"""
|
|
@@ -516,7 +514,7 @@ class UnipileApp(APIApplication):
|
|
|
516
514
|
response = self._post(url, data=params)
|
|
517
515
|
return response.json()
|
|
518
516
|
|
|
519
|
-
def
|
|
517
|
+
def list_content_reactions(
|
|
520
518
|
self,
|
|
521
519
|
post_id: str,
|
|
522
520
|
account_id: str,
|
|
@@ -525,21 +523,21 @@ class UnipileApp(APIApplication):
|
|
|
525
523
|
limit: int | None = None,
|
|
526
524
|
) -> dict[str, Any]:
|
|
527
525
|
"""
|
|
528
|
-
|
|
529
|
-
|
|
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.
|
|
527
|
+
|
|
530
528
|
Args:
|
|
531
529
|
post_id: The social ID of the post.
|
|
532
530
|
account_id: The ID of the Unipile account to perform the request from .
|
|
533
531
|
comment_id: If provided, retrieves reactions for this comment ID.
|
|
534
532
|
cursor: Pagination cursor.
|
|
535
533
|
limit: Number of reactions to return (1-100, spec max 250).
|
|
536
|
-
|
|
534
|
+
|
|
537
535
|
Returns:
|
|
538
536
|
A dictionary containing a list of reaction objects and pagination details.
|
|
539
|
-
|
|
537
|
+
|
|
540
538
|
Raises:
|
|
541
539
|
httpx.HTTPError: If the API request fails.
|
|
542
|
-
|
|
540
|
+
|
|
543
541
|
Tags:
|
|
544
542
|
linkedin, post, reaction, list, like, content, api
|
|
545
543
|
"""
|
|
@@ -564,8 +562,8 @@ class UnipileApp(APIApplication):
|
|
|
564
562
|
mentions_body: list[dict[str, Any]] | None = None,
|
|
565
563
|
) -> dict[str, Any]:
|
|
566
564
|
"""
|
|
567
|
-
|
|
568
|
-
|
|
565
|
+
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.
|
|
566
|
+
|
|
569
567
|
Args:
|
|
570
568
|
post_social_id: The social ID of the post to comment on.
|
|
571
569
|
account_id: The ID of the Unipile account performing the comment.
|
|
@@ -573,13 +571,13 @@ class UnipileApp(APIApplication):
|
|
|
573
571
|
Supports Unipile's mention syntax like "Hey {{0}}".
|
|
574
572
|
comment_id: Optional ID of a specific comment to reply to instead of commenting on the post.
|
|
575
573
|
mentions_body: Optional list of mention objects for the request body if needed.
|
|
576
|
-
|
|
574
|
+
|
|
577
575
|
Returns:
|
|
578
576
|
A dictionary, likely confirming comment creation. (Structure depends on actual API response)
|
|
579
|
-
|
|
577
|
+
|
|
580
578
|
Raises:
|
|
581
579
|
httpx.HTTPError: If the API request fails.
|
|
582
|
-
|
|
580
|
+
|
|
583
581
|
Tags:
|
|
584
582
|
linkedin, post, comment, create, content, api, important
|
|
585
583
|
"""
|
|
@@ -605,7 +603,7 @@ class UnipileApp(APIApplication):
|
|
|
605
603
|
"message": "Comment action processed.",
|
|
606
604
|
}
|
|
607
605
|
|
|
608
|
-
def
|
|
606
|
+
def create_reaction(
|
|
609
607
|
self,
|
|
610
608
|
post_social_id: str,
|
|
611
609
|
reaction_type: Literal[
|
|
@@ -615,24 +613,20 @@ class UnipileApp(APIApplication):
|
|
|
615
613
|
comment_id: str | None = None,
|
|
616
614
|
) -> dict[str, Any]:
|
|
617
615
|
"""
|
|
618
|
-
Adds a reaction to a post or comment.
|
|
619
|
-
|
|
620
|
-
(as 'post_id') and 'reaction_type' (as 'value') are in the JSON body.
|
|
621
|
-
'account_id' is an optional query parameter.
|
|
622
|
-
Verify request/response structure with official Unipile LinkedIn API documentation.
|
|
623
|
-
|
|
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.
|
|
617
|
+
|
|
624
618
|
Args:
|
|
625
619
|
post_social_id: The social ID of the post or comment to react to.
|
|
626
620
|
reaction_type: The type of reaction .
|
|
627
621
|
account_id: Account ID of the Unipile account performing the reaction.
|
|
628
622
|
comment_id: Optional ID of a specific comment to react to instead of the post.
|
|
629
|
-
|
|
623
|
+
|
|
630
624
|
Returns:
|
|
631
625
|
A dictionary, likely confirming the reaction. (Structure depends on actual API response)
|
|
632
|
-
|
|
626
|
+
|
|
633
627
|
Raises:
|
|
634
628
|
httpx.HTTPError: If the API request fails.
|
|
635
|
-
|
|
629
|
+
|
|
636
630
|
Tags:
|
|
637
631
|
linkedin, post, reaction, create, like, content, api, important
|
|
638
632
|
"""
|
|
@@ -689,8 +683,8 @@ class UnipileApp(APIApplication):
|
|
|
689
683
|
search_url: str | None = None,
|
|
690
684
|
) -> dict[str, Any]:
|
|
691
685
|
"""
|
|
692
|
-
Performs a comprehensive search
|
|
693
|
-
|
|
686
|
+
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.
|
|
687
|
+
|
|
694
688
|
Args:
|
|
695
689
|
account_id: The ID of the Unipile account to perform the search from (REQUIRED).
|
|
696
690
|
category: Type of search to perform - "people", "companies", "posts", or "jobs".
|
|
@@ -715,13 +709,13 @@ class UnipileApp(APIApplication):
|
|
|
715
709
|
"value": 80
|
|
716
710
|
}
|
|
717
711
|
search_url: Direct LinkedIn search URL to use instead of building parameters.
|
|
718
|
-
|
|
712
|
+
|
|
719
713
|
Returns:
|
|
720
714
|
A dictionary containing search results and pagination details.
|
|
721
|
-
|
|
715
|
+
|
|
722
716
|
Raises:
|
|
723
717
|
httpx.HTTPError: If the API request fails.
|
|
724
|
-
|
|
718
|
+
|
|
725
719
|
Tags:
|
|
726
720
|
linkedin, search, people, companies, posts, jobs, api, important
|
|
727
721
|
"""
|
|
@@ -784,25 +778,25 @@ class UnipileApp(APIApplication):
|
|
|
784
778
|
response = self._post(url, params=params, data=payload)
|
|
785
779
|
return self._handle_response(response)
|
|
786
780
|
|
|
787
|
-
def
|
|
781
|
+
def retrieve_user_profile(
|
|
788
782
|
self,
|
|
789
783
|
identifier: str,
|
|
790
784
|
account_id: str,
|
|
791
785
|
) -> dict[str, Any]:
|
|
792
786
|
"""
|
|
793
|
-
Retrieves a specific user profile
|
|
794
|
-
|
|
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.
|
|
788
|
+
|
|
795
789
|
Args:
|
|
796
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".
|
|
797
|
-
|
|
791
|
+
|
|
798
792
|
account_id: The ID of the Unipile account to perform the request from (REQUIRED).
|
|
799
|
-
|
|
793
|
+
|
|
800
794
|
Returns:
|
|
801
795
|
A dictionary containing the user's profile details.
|
|
802
|
-
|
|
796
|
+
|
|
803
797
|
Raises:
|
|
804
798
|
httpx.HTTPError: If the API request fails.
|
|
805
|
-
|
|
799
|
+
|
|
806
800
|
Tags:
|
|
807
801
|
linkedin, user, profile, retrieve, get, api, important
|
|
808
802
|
"""
|
|
@@ -819,15 +813,15 @@ class UnipileApp(APIApplication):
|
|
|
819
813
|
self.retrieve_chat,
|
|
820
814
|
self.list_all_messages,
|
|
821
815
|
self.list_all_accounts,
|
|
822
|
-
self.
|
|
823
|
-
self.
|
|
816
|
+
self.retrieve_linked_account,
|
|
817
|
+
self.list_profile_posts,
|
|
824
818
|
self.retrieve_own_profile,
|
|
825
|
-
self.
|
|
819
|
+
self.retrieve_user_profile,
|
|
826
820
|
self.retrieve_post,
|
|
827
821
|
self.list_post_comments,
|
|
828
822
|
self.create_post,
|
|
829
|
-
self.
|
|
823
|
+
self.list_content_reactions,
|
|
830
824
|
self.create_post_comment,
|
|
831
|
-
self.
|
|
825
|
+
self.create_reaction,
|
|
832
826
|
self.search,
|
|
833
827
|
]
|