2222 NvSearchPeople ,
2323 NvSendMessage ,
2424 NvSyncConversation ,
25+ NvSyncInbox ,
2526 ReactToPost ,
2627 RemoveConnection ,
2728 RetrieveConnections ,
3435 SendConnectionRequest ,
3536 SendMessage ,
3637 SyncConversation ,
38+ SyncInbox ,
3739 WithdrawConnectionRequest ,
3840)
3941from linkedapi .types import AccountInfo , LinkedApiActionError , serialize_value
40- from linkedapi .types .message import ConversationPollRequest , ConversationPollResult
42+ from linkedapi .types .message import (
43+ ConversationPollRequest ,
44+ ConversationPollResult ,
45+ InboxMessage ,
46+ InboxPollRequest ,
47+ )
4148from linkedapi .types .statistics import ApiUsageAction , ApiUsageParams
4249
4350
@@ -54,6 +61,7 @@ def __init__(self, config: LinkedApiConfig | HttpClient[Any]) -> None:
5461 self .custom_workflow = CustomWorkflow (self .http_client )
5562 self .send_message = SendMessage (self .http_client )
5663 self .sync_conversation = SyncConversation (self .http_client )
64+ self .sync_inbox = SyncInbox (self .http_client )
5765 self .check_connection_status = CheckConnectionStatus (self .http_client )
5866 self .send_connection_request = SendConnectionRequest (self .http_client )
5967 self .withdraw_connection_request = WithdrawConnectionRequest (self .http_client )
@@ -74,6 +82,7 @@ def __init__(self, config: LinkedApiConfig | HttpClient[Any]) -> None:
7482 self .retrieve_performance = RetrievePerformance (self .http_client )
7583 self .nv_send_message = NvSendMessage (self .http_client )
7684 self .nv_sync_conversation = NvSyncConversation (self .http_client )
85+ self .nv_sync_inbox = NvSyncInbox (self .http_client )
7786 self .nv_search_companies = NvSearchCompanies (self .http_client )
7887 self .nv_search_people = NvSearchPeople (self .http_client )
7988 self .nv_fetch_company = NvFetchCompany (self .http_client )
@@ -83,6 +92,7 @@ def __init__(self, config: LinkedApiConfig | HttpClient[Any]) -> None:
8392 self .custom_workflow ,
8493 self .send_message ,
8594 self .sync_conversation ,
95+ self .sync_inbox ,
8696 self .check_connection_status ,
8797 self .send_connection_request ,
8898 self .withdraw_connection_request ,
@@ -103,6 +113,7 @@ def __init__(self, config: LinkedApiConfig | HttpClient[Any]) -> None:
103113 self .retrieve_performance ,
104114 self .nv_send_message ,
105115 self .nv_sync_conversation ,
116+ self .nv_sync_inbox ,
106117 self .nv_search_companies ,
107118 self .nv_search_people ,
108119 self .nv_fetch_company ,
@@ -139,6 +150,30 @@ def poll_conversations(
139150 )
140151 raise
141152
153+ def poll_inbox (
154+ self ,
155+ request : InboxPollRequest | None = None ,
156+ ) -> MappedResponse [list [InboxMessage ]]:
157+ """Read the monitored standard or Sales Navigator inbox, newest messages first."""
158+
159+ payload = serialize_value (request ) if request is not None else {}
160+ response = self .http_client .post ("/inbox/poll" , payload )
161+ if response .success and response .result is not None :
162+ messages = response .result .get ("messages" , [])
163+ return MappedResponse (
164+ data = [InboxMessage .model_validate (item ) for item in messages ],
165+ errors = [],
166+ )
167+ return MappedResponse (
168+ data = None ,
169+ errors = [
170+ LinkedApiActionError (
171+ type = response .error .type if response .error else "" ,
172+ message = response .error .message if response .error else "" ,
173+ ),
174+ ],
175+ )
176+
142177 def get_account_info (self ) -> MappedResponse [AccountInfo ]:
143178 """Retrieve basic information about the current LinkedIn account."""
144179
0 commit comments