4141 SendMessage ,
4242 SyncConversation ,
4343 SyncInbox ,
44+ SyncNetwork ,
4445 WithdrawConnectionRequest ,
4546)
4647from linkedapi .types import AccountInfo , LinkedApiActionError , serialize_value
5051 InboxMessage ,
5152 InboxPollRequest ,
5253)
54+ from linkedapi .types .network import NetworkEvent , NetworkPollRequest
5355from linkedapi .types .statistics import ApiUsageAction , ApiUsageParams
5456
5557
@@ -67,6 +69,7 @@ def __init__(self, config: LinkedApiConfig | HttpClient[Any]) -> None:
6769 self .send_message = SendMessage (self .http_client )
6870 self .sync_conversation = SyncConversation (self .http_client )
6971 self .sync_inbox = SyncInbox (self .http_client )
72+ self .sync_network = SyncNetwork (self .http_client )
7073 self .manage_conversation = ManageConversation (self .http_client )
7174 self .check_connection_status = CheckConnectionStatus (self .http_client )
7275 self .send_connection_request = SendConnectionRequest (self .http_client )
@@ -103,6 +106,7 @@ def __init__(self, config: LinkedApiConfig | HttpClient[Any]) -> None:
103106 self .send_message ,
104107 self .sync_conversation ,
105108 self .sync_inbox ,
109+ self .sync_network ,
106110 self .manage_conversation ,
107111 self .check_connection_status ,
108112 self .send_connection_request ,
@@ -189,6 +193,30 @@ def poll_inbox(
189193 ],
190194 )
191195
196+ def poll_network (
197+ self ,
198+ request : NetworkPollRequest | None = None ,
199+ ) -> MappedResponse [list [NetworkEvent ]]:
200+ """Read the monitored network connection events, newest events first."""
201+
202+ payload = serialize_value (request ) if request is not None else {}
203+ response = self .http_client .post ("/network/poll" , payload )
204+ if response .success and response .result is not None :
205+ events = response .result .get ("events" , [])
206+ return MappedResponse (
207+ data = [NetworkEvent .model_validate (item ) for item in events ],
208+ errors = [],
209+ )
210+ return MappedResponse (
211+ data = None ,
212+ errors = [
213+ LinkedApiActionError (
214+ type = response .error .type if response .error else "" ,
215+ message = response .error .message if response .error else "" ,
216+ ),
217+ ],
218+ )
219+
192220 def get_account_info (self ) -> MappedResponse [AccountInfo ]:
193221 """Retrieve basic information about the current LinkedIn account."""
194222
0 commit comments