bereach 1.4.2 → 1.5.0

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.
Files changed (288) hide show
  1. package/README.md +71 -5
  2. package/esm/funcs/actions-connect-profile.d.ts +1 -1
  3. package/esm/funcs/actions-connect-profile.js +1 -1
  4. package/esm/funcs/actions-edit-profile.d.ts +18 -0
  5. package/esm/funcs/actions-edit-profile.d.ts.map +1 -0
  6. package/esm/funcs/actions-edit-profile.js +97 -0
  7. package/esm/funcs/actions-edit-profile.js.map +1 -0
  8. package/esm/funcs/chat-get-conversation-summary.d.ts +18 -0
  9. package/esm/funcs/chat-get-conversation-summary.d.ts.map +1 -0
  10. package/esm/funcs/chat-get-conversation-summary.js +100 -0
  11. package/esm/funcs/chat-get-conversation-summary.js.map +1 -0
  12. package/esm/funcs/chat-list-inbox.d.ts +1 -1
  13. package/esm/funcs/chat-list-inbox.js +1 -1
  14. package/esm/funcs/chat-save-conversation-summary.d.ts +18 -0
  15. package/esm/funcs/chat-save-conversation-summary.d.ts.map +1 -0
  16. package/esm/funcs/chat-save-conversation-summary.js +97 -0
  17. package/esm/funcs/chat-save-conversation-summary.js.map +1 -0
  18. package/esm/funcs/company-pages-get-analytics.d.ts +1 -1
  19. package/esm/funcs/company-pages-get-analytics.js +1 -1
  20. package/esm/funcs/connectors-agent-snapshot.d.ts +18 -0
  21. package/esm/funcs/connectors-agent-snapshot.d.ts.map +1 -0
  22. package/esm/funcs/connectors-agent-snapshot.js +86 -0
  23. package/esm/funcs/connectors-agent-snapshot.js.map +1 -0
  24. package/esm/funcs/connectors-connector-heartbeat.d.ts +18 -0
  25. package/esm/funcs/connectors-connector-heartbeat.d.ts.map +1 -0
  26. package/esm/funcs/connectors-connector-heartbeat.js +99 -0
  27. package/esm/funcs/connectors-connector-heartbeat.js.map +1 -0
  28. package/esm/funcs/connectors-list-connectors.d.ts +18 -0
  29. package/esm/funcs/connectors-list-connectors.d.ts.map +1 -0
  30. package/esm/funcs/connectors-list-connectors.js +86 -0
  31. package/esm/funcs/connectors-list-connectors.js.map +1 -0
  32. package/esm/funcs/connectors-pull-task.d.ts +18 -0
  33. package/esm/funcs/connectors-pull-task.d.ts.map +1 -0
  34. package/esm/funcs/connectors-pull-task.js +86 -0
  35. package/esm/funcs/connectors-pull-task.js.map +1 -0
  36. package/esm/funcs/connectors-submit-task-result.d.ts +18 -0
  37. package/esm/funcs/connectors-submit-task-result.d.ts.map +1 -0
  38. package/esm/funcs/connectors-submit-task-result.js +103 -0
  39. package/esm/funcs/connectors-submit-task-result.js.map +1 -0
  40. package/esm/funcs/contacts-global-activities.d.ts +18 -0
  41. package/esm/funcs/contacts-global-activities.d.ts.map +1 -0
  42. package/esm/funcs/contacts-global-activities.js +105 -0
  43. package/esm/funcs/contacts-global-activities.js.map +1 -0
  44. package/esm/funcs/profile-create-api-token.d.ts +18 -0
  45. package/esm/funcs/profile-create-api-token.d.ts.map +1 -0
  46. package/esm/funcs/profile-create-api-token.js +99 -0
  47. package/esm/funcs/profile-create-api-token.js.map +1 -0
  48. package/esm/funcs/profile-delete-api-token.d.ts +18 -0
  49. package/esm/funcs/profile-delete-api-token.d.ts.map +1 -0
  50. package/esm/funcs/profile-delete-api-token.js +99 -0
  51. package/esm/funcs/profile-delete-api-token.js.map +1 -0
  52. package/esm/funcs/profile-get-api-token.d.ts +18 -0
  53. package/esm/funcs/profile-get-api-token.d.ts.map +1 -0
  54. package/esm/funcs/profile-get-api-token.js +100 -0
  55. package/esm/funcs/profile-get-api-token.js.map +1 -0
  56. package/esm/funcs/profile-get-my-activity.d.ts +18 -0
  57. package/esm/funcs/profile-get-my-activity.d.ts.map +1 -0
  58. package/esm/funcs/profile-get-my-activity.js +104 -0
  59. package/esm/funcs/profile-get-my-activity.js.map +1 -0
  60. package/esm/funcs/profile-get-settings.d.ts +18 -0
  61. package/esm/funcs/profile-get-settings.d.ts.map +1 -0
  62. package/esm/funcs/profile-get-settings.js +86 -0
  63. package/esm/funcs/profile-get-settings.js.map +1 -0
  64. package/esm/funcs/profile-patch-settings.d.ts +18 -0
  65. package/esm/funcs/profile-patch-settings.d.ts.map +1 -0
  66. package/esm/funcs/profile-patch-settings.js +97 -0
  67. package/esm/funcs/profile-patch-settings.js.map +1 -0
  68. package/esm/funcs/profile-revalidate-linkedin.d.ts +18 -0
  69. package/esm/funcs/profile-revalidate-linkedin.d.ts.map +1 -0
  70. package/esm/funcs/profile-revalidate-linkedin.js +86 -0
  71. package/esm/funcs/profile-revalidate-linkedin.js.map +1 -0
  72. package/esm/funcs/sales-nav-search.d.ts +1 -1
  73. package/esm/funcs/sales-nav-search.js +1 -1
  74. package/esm/funcs/scheduled-messages-review-drafts.d.ts +18 -0
  75. package/esm/funcs/scheduled-messages-review-drafts.d.ts.map +1 -0
  76. package/esm/funcs/scheduled-messages-review-drafts.js +97 -0
  77. package/esm/funcs/scheduled-messages-review-drafts.js.map +1 -0
  78. package/esm/funcs/scrapers-collect-comment-replies.d.ts +1 -1
  79. package/esm/funcs/scrapers-collect-comment-replies.js +1 -1
  80. package/esm/funcs/scrapers-collect-comments.d.ts +1 -1
  81. package/esm/funcs/scrapers-collect-comments.js +1 -1
  82. package/esm/funcs/scrapers-collect-likes.d.ts +1 -1
  83. package/esm/funcs/scrapers-collect-likes.js +1 -1
  84. package/esm/funcs/scrapers-visit-profile.d.ts +2 -0
  85. package/esm/funcs/scrapers-visit-profile.d.ts.map +1 -1
  86. package/esm/funcs/scrapers-visit-profile.js +2 -0
  87. package/esm/funcs/scrapers-visit-profile.js.map +1 -1
  88. package/esm/funcs/search-people.d.ts +2 -2
  89. package/esm/funcs/search-people.js +2 -2
  90. package/esm/funcs/search-search.d.ts +1 -1
  91. package/esm/funcs/search-search.js +1 -1
  92. package/esm/funcs/settings-get-dm-polling-settings.d.ts +18 -0
  93. package/esm/funcs/settings-get-dm-polling-settings.d.ts.map +1 -0
  94. package/esm/funcs/settings-get-dm-polling-settings.js +86 -0
  95. package/esm/funcs/settings-get-dm-polling-settings.js.map +1 -0
  96. package/esm/funcs/settings-patch-dm-polling-settings.d.ts +18 -0
  97. package/esm/funcs/settings-patch-dm-polling-settings.d.ts.map +1 -0
  98. package/esm/funcs/settings-patch-dm-polling-settings.js +97 -0
  99. package/esm/funcs/settings-patch-dm-polling-settings.js.map +1 -0
  100. package/esm/funcs/tasks-cancel-chain.d.ts +18 -0
  101. package/esm/funcs/tasks-cancel-chain.d.ts.map +1 -0
  102. package/esm/funcs/tasks-cancel-chain.js +102 -0
  103. package/esm/funcs/tasks-cancel-chain.js.map +1 -0
  104. package/esm/funcs/tasks-cancel-task.d.ts +18 -0
  105. package/esm/funcs/tasks-cancel-task.d.ts.map +1 -0
  106. package/esm/funcs/tasks-cancel-task.js +102 -0
  107. package/esm/funcs/tasks-cancel-task.js.map +1 -0
  108. package/esm/funcs/tasks-events-feed.d.ts +18 -0
  109. package/esm/funcs/tasks-events-feed.d.ts.map +1 -0
  110. package/esm/funcs/tasks-events-feed.js +101 -0
  111. package/esm/funcs/tasks-events-feed.js.map +1 -0
  112. package/esm/funcs/tasks-list-tasks.d.ts +18 -0
  113. package/esm/funcs/tasks-list-tasks.d.ts.map +1 -0
  114. package/esm/funcs/tasks-list-tasks.js +104 -0
  115. package/esm/funcs/tasks-list-tasks.js.map +1 -0
  116. package/esm/funcs/workspace-create-workspace-invite.d.ts +18 -0
  117. package/esm/funcs/workspace-create-workspace-invite.d.ts.map +1 -0
  118. package/esm/funcs/workspace-create-workspace-invite.js +97 -0
  119. package/esm/funcs/workspace-create-workspace-invite.js.map +1 -0
  120. package/esm/funcs/workspace-delete-workspace-account.d.ts +18 -0
  121. package/esm/funcs/workspace-delete-workspace-account.d.ts.map +1 -0
  122. package/esm/funcs/workspace-delete-workspace-account.js +102 -0
  123. package/esm/funcs/workspace-delete-workspace-account.js.map +1 -0
  124. package/esm/funcs/workspace-delete-workspace-invite.d.ts +18 -0
  125. package/esm/funcs/workspace-delete-workspace-invite.d.ts.map +1 -0
  126. package/esm/funcs/workspace-delete-workspace-invite.js +97 -0
  127. package/esm/funcs/workspace-delete-workspace-invite.js.map +1 -0
  128. package/esm/funcs/workspace-upgrade-workspace-account.d.ts +18 -0
  129. package/esm/funcs/workspace-upgrade-workspace-account.d.ts.map +1 -0
  130. package/esm/funcs/workspace-upgrade-workspace-account.js +97 -0
  131. package/esm/funcs/workspace-upgrade-workspace-account.js.map +1 -0
  132. package/esm/hooks/hooks.d.ts.map +1 -1
  133. package/esm/hooks/hooks.js +0 -2
  134. package/esm/hooks/hooks.js.map +1 -1
  135. package/esm/lib/config.d.ts +5 -5
  136. package/esm/lib/config.d.ts.map +1 -1
  137. package/esm/lib/config.js +6 -6
  138. package/esm/lib/config.js.map +1 -1
  139. package/esm/lib/encodings.d.ts.map +1 -1
  140. package/esm/lib/encodings.js +20 -5
  141. package/esm/lib/encodings.js.map +1 -1
  142. package/esm/lib/security.d.ts +1 -1
  143. package/esm/lib/security.d.ts.map +1 -1
  144. package/esm/lib/security.js +19 -8
  145. package/esm/lib/security.js.map +1 -1
  146. package/esm/models/operations/{search-contacts-campaign.d.ts → archive-response.d.ts} +1174 -1151
  147. package/esm/models/operations/archive-response.d.ts.map +1 -0
  148. package/esm/models/operations/{search-contacts-campaign.js → archive-response.js} +456 -461
  149. package/esm/models/operations/archive-response.js.map +1 -0
  150. package/esm/models/operations/delete-workspace-invite-response.d.ts +1374 -0
  151. package/esm/models/operations/delete-workspace-invite-response.d.ts.map +1 -0
  152. package/esm/models/operations/delete-workspace-invite-response.js +901 -0
  153. package/esm/models/operations/delete-workspace-invite-response.js.map +1 -0
  154. package/esm/models/operations/{update-schedule-response.d.ts → get-by-url-campaign.d.ts} +1629 -1291
  155. package/esm/models/operations/get-by-url-campaign.d.ts.map +1 -0
  156. package/esm/models/operations/{update-schedule-response.js → get-by-url-campaign.js} +534 -341
  157. package/esm/models/operations/get-by-url-campaign.js.map +1 -0
  158. package/esm/models/operations/index.d.ts +4 -3
  159. package/esm/models/operations/index.d.ts.map +1 -1
  160. package/esm/models/operations/index.js +4 -3
  161. package/esm/models/operations/index.js.map +1 -1
  162. package/esm/models/operations/search-companies-response.d.ts +45 -12
  163. package/esm/models/operations/search-companies-response.d.ts.map +1 -1
  164. package/esm/models/operations/search-companies-response.js +10 -2
  165. package/esm/models/operations/search-companies-response.js.map +1 -1
  166. package/esm/models/operations/{update-account-response.d.ts → update-account-proxy-config-response.d.ts} +70 -38
  167. package/esm/models/operations/update-account-proxy-config-response.d.ts.map +1 -0
  168. package/esm/models/operations/{update-account-response.js → update-account-proxy-config-response.js} +27 -28
  169. package/esm/models/operations/update-account-proxy-config-response.js.map +1 -0
  170. package/esm/sdk/actions.d.ts +8 -1
  171. package/esm/sdk/actions.d.ts.map +1 -1
  172. package/esm/sdk/actions.js +11 -1
  173. package/esm/sdk/actions.js.map +1 -1
  174. package/esm/sdk/chat.d.ts +15 -1
  175. package/esm/sdk/chat.d.ts.map +1 -1
  176. package/esm/sdk/chat.js +21 -1
  177. package/esm/sdk/chat.js.map +1 -1
  178. package/esm/sdk/company-pages.d.ts +1 -1
  179. package/esm/sdk/company-pages.js +1 -1
  180. package/esm/sdk/connectors.d.ts +40 -0
  181. package/esm/sdk/connectors.d.ts.map +1 -0
  182. package/esm/sdk/connectors.js +58 -0
  183. package/esm/sdk/connectors.js.map +1 -0
  184. package/esm/sdk/contacts.d.ts +7 -0
  185. package/esm/sdk/contacts.d.ts.map +1 -1
  186. package/esm/sdk/contacts.js +10 -0
  187. package/esm/sdk/contacts.js.map +1 -1
  188. package/esm/sdk/profile.d.ts +49 -0
  189. package/esm/sdk/profile.d.ts.map +1 -1
  190. package/esm/sdk/profile.js +70 -0
  191. package/esm/sdk/profile.js.map +1 -1
  192. package/esm/sdk/sales-nav.d.ts +1 -1
  193. package/esm/sdk/sales-nav.js +1 -1
  194. package/esm/sdk/scheduled-messages.d.ts +7 -0
  195. package/esm/sdk/scheduled-messages.d.ts.map +1 -1
  196. package/esm/sdk/scheduled-messages.js +10 -0
  197. package/esm/sdk/scheduled-messages.js.map +1 -1
  198. package/esm/sdk/scrapers.d.ts +5 -3
  199. package/esm/sdk/scrapers.d.ts.map +1 -1
  200. package/esm/sdk/scrapers.js +5 -3
  201. package/esm/sdk/scrapers.js.map +1 -1
  202. package/esm/sdk/sdk.d.ts +12 -0
  203. package/esm/sdk/sdk.d.ts.map +1 -1
  204. package/esm/sdk/sdk.js +20 -0
  205. package/esm/sdk/sdk.js.map +1 -1
  206. package/esm/sdk/search.d.ts +3 -3
  207. package/esm/sdk/search.js +3 -3
  208. package/esm/sdk/settings.d.ts +19 -0
  209. package/esm/sdk/settings.d.ts.map +1 -0
  210. package/esm/sdk/settings.js +28 -0
  211. package/esm/sdk/settings.js.map +1 -0
  212. package/esm/sdk/tasks.d.ts +33 -0
  213. package/esm/sdk/tasks.d.ts.map +1 -0
  214. package/esm/sdk/tasks.js +48 -0
  215. package/esm/sdk/tasks.js.map +1 -0
  216. package/esm/sdk/workspace.d.ts +33 -0
  217. package/esm/sdk/workspace.d.ts.map +1 -0
  218. package/esm/sdk/workspace.js +48 -0
  219. package/esm/sdk/workspace.js.map +1 -0
  220. package/jsr.json +1 -1
  221. package/package.json +1 -1
  222. package/src/funcs/actions-connect-profile.ts +1 -1
  223. package/src/funcs/actions-edit-profile.ts +224 -0
  224. package/src/funcs/chat-get-conversation-summary.ts +229 -0
  225. package/src/funcs/chat-list-inbox.ts +1 -1
  226. package/src/funcs/chat-save-conversation-summary.ts +225 -0
  227. package/src/funcs/company-pages-get-analytics.ts +1 -1
  228. package/src/funcs/connectors-agent-snapshot.ts +205 -0
  229. package/src/funcs/connectors-connector-heartbeat.ts +230 -0
  230. package/src/funcs/connectors-list-connectors.ts +205 -0
  231. package/src/funcs/connectors-pull-task.ts +205 -0
  232. package/src/funcs/connectors-submit-task-result.ts +231 -0
  233. package/src/funcs/contacts-global-activities.ts +237 -0
  234. package/src/funcs/profile-create-api-token.ts +230 -0
  235. package/src/funcs/profile-delete-api-token.ts +230 -0
  236. package/src/funcs/profile-get-api-token.ts +229 -0
  237. package/src/funcs/profile-get-my-activity.ts +236 -0
  238. package/src/funcs/profile-get-settings.ts +205 -0
  239. package/src/funcs/profile-patch-settings.ts +224 -0
  240. package/src/funcs/profile-revalidate-linkedin.ts +205 -0
  241. package/src/funcs/sales-nav-search.ts +1 -1
  242. package/src/funcs/scheduled-messages-review-drafts.ts +224 -0
  243. package/src/funcs/scrapers-collect-comment-replies.ts +1 -1
  244. package/src/funcs/scrapers-collect-comments.ts +1 -1
  245. package/src/funcs/scrapers-collect-likes.ts +1 -1
  246. package/src/funcs/scrapers-visit-profile.ts +2 -0
  247. package/src/funcs/search-people.ts +2 -2
  248. package/src/funcs/search-search.ts +1 -1
  249. package/src/funcs/settings-get-dm-polling-settings.ts +205 -0
  250. package/src/funcs/settings-patch-dm-polling-settings.ts +225 -0
  251. package/src/funcs/tasks-cancel-chain.ts +229 -0
  252. package/src/funcs/tasks-cancel-task.ts +229 -0
  253. package/src/funcs/tasks-events-feed.ts +230 -0
  254. package/src/funcs/tasks-list-tasks.ts +233 -0
  255. package/src/funcs/workspace-create-workspace-invite.ts +225 -0
  256. package/src/funcs/workspace-delete-workspace-account.ts +230 -0
  257. package/src/funcs/workspace-delete-workspace-invite.ts +225 -0
  258. package/src/funcs/workspace-upgrade-workspace-account.ts +225 -0
  259. package/src/hooks/hooks.ts +0 -3
  260. package/src/lib/config.ts +6 -6
  261. package/src/lib/encodings.ts +23 -4
  262. package/src/lib/security.ts +14 -2
  263. package/src/models/operations/{search-contacts-campaign.ts → archive-response.ts} +2503 -2362
  264. package/src/models/operations/delete-workspace-invite-response.ts +2783 -0
  265. package/src/models/operations/{update-schedule-response.ts → get-by-url-campaign.ts} +3591 -2939
  266. package/src/models/operations/index.ts +4 -3
  267. package/src/models/operations/search-companies-response.ts +55 -14
  268. package/src/models/operations/{update-account-response.ts → update-account-proxy-config-response.ts} +112 -84
  269. package/src/sdk/actions.ts +19 -1
  270. package/src/sdk/chat.ts +37 -1
  271. package/src/sdk/company-pages.ts +1 -1
  272. package/src/sdk/connectors.ts +93 -0
  273. package/src/sdk/contacts.ts +18 -0
  274. package/src/sdk/profile.ts +122 -0
  275. package/src/sdk/sales-nav.ts +1 -1
  276. package/src/sdk/scheduled-messages.ts +18 -0
  277. package/src/sdk/scrapers.ts +5 -3
  278. package/src/sdk/sdk.ts +24 -0
  279. package/src/sdk/search.ts +3 -3
  280. package/src/sdk/settings.ts +43 -0
  281. package/src/sdk/tasks.ts +81 -0
  282. package/src/sdk/workspace.ts +81 -0
  283. package/esm/models/operations/search-contacts-campaign.d.ts.map +0 -1
  284. package/esm/models/operations/search-contacts-campaign.js.map +0 -1
  285. package/esm/models/operations/update-account-response.d.ts.map +0 -1
  286. package/esm/models/operations/update-account-response.js.map +0 -1
  287. package/esm/models/operations/update-schedule-response.d.ts.map +0 -1
  288. package/esm/models/operations/update-schedule-response.js.map +0 -1
@@ -1,576 +1,450 @@
1
1
  import * as z from "zod/v4-mini";
2
- import { ClosedEnum, OpenEnum } from "../../types/enums.js";
2
+ import { ClosedEnum } from "../../types/enums.js";
3
3
  import { Result as SafeParseResult } from "../../types/fp.js";
4
4
  import { SDKValidationError } from "../errors/sdk-validation-error.js";
5
- import { SearchContactsCampaign } from "./search-contacts-campaign.js";
6
- export type SearchContactsContact = {
7
- id: string;
8
- linkedinUrl: string;
5
+ export type UnarchiveRequest = {
9
6
  /**
10
- * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
7
+ * Full conversation URN
11
8
  */
12
- profileUrn: string | null;
9
+ conversationUrn: string;
10
+ };
11
+ /**
12
+ * Conversation unarchived
13
+ */
14
+ export type UnarchiveResponse = {
15
+ success: true;
13
16
  /**
14
- * LinkedIn vanity slug (e.g. joshuaau)
17
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
18
+ */
19
+ creditsUsed: number;
20
+ /**
21
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
22
+ */
23
+ retryAfter: number;
24
+ };
25
+ export type ListArchivedRequest = {
26
+ /**
27
+ * Pagination cursor from a previous response
15
28
  */
29
+ nextCursor?: string | undefined;
30
+ };
31
+ export type ListArchivedParticipant = {
32
+ profileUrn: string;
33
+ firstName: string;
34
+ lastName: string;
35
+ profileUrl: string | null;
36
+ headline: string | null;
37
+ profilePicture: string | null;
16
38
  publicIdentifier: string | null;
17
- name: string;
18
- lifecycleStage: string;
19
- hotScore: number;
20
- qualificationNotes: string | null;
21
- notes: string | null;
22
- stageChangedAt: string | null;
23
- profileData: any | null;
24
- profileUpdatedAt: string | null;
25
- conversationData: any | null;
26
- conversationUpdatedAt: string | null;
27
- outreachStatus: string;
28
- lastContactedAt: string | null;
29
- lastRepliedAt: string | null;
30
- nextFollowUpAt: string | null;
31
- doNotContact: boolean;
32
- tags: Array<string>;
33
- createdAt: string;
34
- updatedAt: string;
35
- campaigns: Array<SearchContactsCampaign>;
36
39
  };
37
- export type SearchContactsPagination = {
38
- limit: number;
39
- offset: number;
40
- total: number;
40
+ export type ListArchivedLastMessage = {
41
+ text: string | null;
42
+ deliveredAt: number;
43
+ senderProfileUrn: string;
44
+ };
45
+ export type ListArchivedConversation = {
46
+ conversationUrn: string;
47
+ conversationUrl: string;
48
+ lastActivityAt: number;
49
+ createdAt: number;
50
+ read: boolean;
51
+ unreadCount: number;
52
+ groupChat: boolean;
53
+ participants: Array<ListArchivedParticipant>;
54
+ lastMessage: ListArchivedLastMessage | null;
41
55
  };
42
56
  /**
43
- * Matching contacts
57
+ * Archived conversations
44
58
  */
45
- export type SearchContactsResponse = {
59
+ export type ListArchivedResponse = {
46
60
  success: true;
47
- contacts: Array<SearchContactsContact>;
48
- pagination: SearchContactsPagination;
61
+ conversations: Array<ListArchivedConversation>;
49
62
  /**
50
- * Credits consumed by this call (always 0 for contacts queries).
63
+ * Cursor for fetching next page
64
+ */
65
+ nextCursor: string | null;
66
+ /**
67
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
51
68
  */
52
69
  creditsUsed: number;
53
70
  /**
54
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
71
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
55
72
  */
56
73
  retryAfter: number;
57
74
  };
58
- export type GetContactRequest = {
75
+ export type ReactRequest = {
59
76
  /**
60
- * Contact ID
77
+ * Full message URN (e.g. 'urn:li:msg_message:(urn:li:fsd_profile:ACoAAXXX,2-MTcw...)')
61
78
  */
62
- id: string;
63
- };
64
- export type GetContactActivity = {
65
- id: string;
66
- type: string;
67
- content: string | null;
68
- metadata: any | null;
69
- createdAt: string;
70
- };
71
- export type GetContactCampaign = {
72
- campaignId: string;
73
- campaignName: string;
74
- campaignStatus: string;
75
- source: string;
76
- sourceAngle: string | null;
77
- addedAt: string;
78
- };
79
- export type GetContactContact = {
80
- id: string;
81
- linkedinUrl: string;
79
+ messageUrn: string;
82
80
  /**
83
- * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
81
+ * Emoji character to react with (e.g. '👍', '❤️', '😂')
84
82
  */
85
- profileUrn: string | null;
83
+ emoji: string;
86
84
  /**
87
- * LinkedIn vanity slug (e.g. joshuaau)
85
+ * Conversation URN (required for the old messaging API fallback)
88
86
  */
89
- publicIdentifier: string | null;
90
- name: string;
91
- lifecycleStage: string;
92
- hotScore: number;
93
- qualificationNotes: string | null;
94
- notes: string | null;
95
- stageChangedAt: string | null;
96
- profileData: any | null;
97
- profileUpdatedAt: string | null;
98
- conversationData: any | null;
99
- conversationUpdatedAt: string | null;
100
- outreachStatus: string;
101
- lastContactedAt: string | null;
102
- lastRepliedAt: string | null;
103
- nextFollowUpAt: string | null;
104
- doNotContact: boolean;
105
- tags: Array<string>;
106
- createdAt: string;
107
- updatedAt: string;
108
- activities: Array<GetContactActivity>;
109
- campaigns: Array<GetContactCampaign>;
87
+ conversationUrn: string;
110
88
  };
111
89
  /**
112
- * Contact details
90
+ * Reaction added
113
91
  */
114
- export type GetContactResponse = {
92
+ export type ReactResponse = {
115
93
  success: true;
116
- contact: GetContactContact;
117
94
  /**
118
- * Credits consumed by this call (always 0 for contacts queries).
95
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
119
96
  */
120
97
  creditsUsed: number;
121
98
  /**
122
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
99
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
123
100
  */
124
101
  retryAfter: number;
125
102
  };
126
- /**
127
- * Promote to new stage (forward-only, except rejected)
128
- */
129
- export declare const UpdateLifecycleStage: {
130
- readonly Contact: "contact";
131
- readonly Lead: "lead";
132
- readonly Qualified: "qualified";
133
- readonly Approved: "approved";
134
- readonly Rejected: "rejected";
103
+ export type UnreactRequest = {
104
+ /**
105
+ * Full message URN (e.g. 'urn:li:msg_message:(urn:li:fsd_profile:ACoAAXXX,2-MTcw...)')
106
+ */
107
+ messageUrn: string;
108
+ /**
109
+ * Emoji character to react with (e.g. '👍', '❤️', '😂')
110
+ */
111
+ emoji: string;
112
+ /**
113
+ * Conversation URN (required for the old messaging API fallback)
114
+ */
115
+ conversationUrn: string;
135
116
  };
136
117
  /**
137
- * Promote to new stage (forward-only, except rejected)
138
- */
139
- export type UpdateLifecycleStage = ClosedEnum<typeof UpdateLifecycleStage>;
140
- /**
141
- * Manual outreach status override
118
+ * Reaction removed
142
119
  */
143
- export declare const UpdateOutreachStatus: {
144
- readonly None: "none";
145
- readonly ConnectionSent: "connection_sent";
146
- readonly Connected: "connected";
147
- readonly DmSent: "dm_sent";
148
- readonly FollowedUp: "followed_up";
149
- readonly Replied: "replied";
150
- readonly InConversation: "in_conversation";
151
- readonly MeetingBooked: "meeting_booked";
152
- readonly Converted: "converted";
153
- readonly NotInterested: "not_interested";
120
+ export type UnreactResponse = {
121
+ success: true;
122
+ /**
123
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
124
+ */
125
+ creditsUsed: number;
126
+ /**
127
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
128
+ */
129
+ retryAfter: number;
130
+ };
131
+ export type SendTypingIndicatorRequest = {
132
+ /**
133
+ * Full conversation URN
134
+ */
135
+ conversationUrn: string;
154
136
  };
155
137
  /**
156
- * Manual outreach status override
138
+ * Typing indicator sent
157
139
  */
158
- export type UpdateOutreachStatus = ClosedEnum<typeof UpdateOutreachStatus>;
159
- export type Tags3 = {
160
- set: Array<string>;
161
- };
162
- export type Tags2 = {
163
- add?: Array<string> | undefined;
164
- remove: Array<string>;
165
- };
166
- export type Tags1 = {
167
- add: Array<string>;
168
- remove?: Array<string> | undefined;
140
+ export type SendTypingIndicatorResponse = {
141
+ success: true;
142
+ /**
143
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
144
+ */
145
+ creditsUsed: number;
146
+ /**
147
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
148
+ */
149
+ retryAfter: number;
169
150
  };
170
151
  /**
171
- * Add/remove/set tags
152
+ * Unread count
172
153
  */
173
- export type TagsUnion = Tags1 | Tags2 | Tags3;
174
- export type UpdateRequestBody = {
154
+ export type GetUnreadCountResponse = {
155
+ success: true;
175
156
  /**
176
- * Promote to new stage (forward-only, except rejected)
157
+ * Number of unread conversations/messages
177
158
  */
178
- lifecycleStage?: UpdateLifecycleStage | undefined;
179
- hotScore?: number | undefined;
180
- qualificationNotes?: string | undefined;
181
- notes?: string | undefined;
159
+ unreadCount: number;
182
160
  /**
183
- * Update contact name
161
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
184
162
  */
185
- name?: string | undefined;
163
+ creditsUsed: number;
186
164
  /**
187
- * Full LinkedIn profile snapshot (JSON)
165
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
188
166
  */
189
- profileData?: any | undefined;
167
+ retryAfter: number;
168
+ };
169
+ export type GetConversationSummaryRequest = {
190
170
  /**
191
- * When profileData was last refreshed
171
+ * LinkedIn profile URL or vanity name of the contact
192
172
  */
193
- profileUpdatedAt?: Date | undefined;
173
+ profile: string;
174
+ };
175
+ /**
176
+ * Summary retrieved
177
+ */
178
+ export type GetConversationSummaryResponse = {
179
+ success: true;
194
180
  /**
195
- * DM history (JSON: historySummary + recentMessages)
181
+ * Whether a contact with a saved summary was found
196
182
  */
197
- conversationData?: any | undefined;
183
+ found: boolean;
198
184
  /**
199
- * When conversationData was last synced
185
+ * Internal contact ID present only when found is true
200
186
  */
201
- conversationUpdatedAt?: Date | undefined;
187
+ contactId?: string | undefined;
202
188
  /**
203
- * Manual outreach status override
189
+ * The saved conversation summary text, null if none exists
204
190
  */
205
- outreachStatus?: UpdateOutreachStatus | undefined;
191
+ summary: string | null;
206
192
  /**
207
- * When agent should follow up (null to clear)
193
+ * ISO timestamp of when the summary was last saved — present only when found is true
208
194
  */
209
- nextFollowUpAt?: Date | null | undefined;
195
+ summarizedAt?: string | null | undefined;
210
196
  /**
211
- * Flag contact as do-not-contact
197
+ * Message count at the time of summarization — present only when found is true
212
198
  */
213
- doNotContact?: boolean | undefined;
199
+ messageCount?: number | null | undefined;
214
200
  /**
215
- * Add/remove/set tags
201
+ * Timestamp of last conversation data update — present only when found is true
216
202
  */
217
- tags?: Tags1 | Tags2 | Tags3 | undefined;
218
- };
219
- export type UpdateRequest = {
203
+ conversationUpdatedAt?: string | null | undefined;
220
204
  /**
221
- * Contact ID
205
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
222
206
  */
223
- id: string;
224
- body: UpdateRequestBody;
207
+ creditsUsed: number;
208
+ /**
209
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
210
+ */
211
+ retryAfter: number;
225
212
  };
226
- export type UpdateContact = {
227
- id: string;
228
- linkedinUrl: string;
213
+ export type SaveConversationSummaryRequest = {
229
214
  /**
230
- * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
215
+ * LinkedIn profile URL or vanity name of the contact
231
216
  */
232
- profileUrn: string | null;
217
+ profile: string;
233
218
  /**
234
- * LinkedIn vanity slug (e.g. joshuaau)
219
+ * Conversation summary text to save
235
220
  */
236
- publicIdentifier: string | null;
237
- name: string;
238
- lifecycleStage: string;
239
- hotScore: number;
240
- qualificationNotes: string | null;
241
- notes: string | null;
242
- stageChangedAt: string | null;
243
- profileData: any | null;
244
- profileUpdatedAt: string | null;
245
- conversationData: any | null;
246
- conversationUpdatedAt: string | null;
247
- outreachStatus: string;
248
- lastContactedAt: string | null;
249
- lastRepliedAt: string | null;
250
- nextFollowUpAt: string | null;
251
- doNotContact: boolean;
252
- tags: Array<string>;
253
- createdAt: string;
254
- updatedAt: string;
221
+ summary: string;
255
222
  };
256
223
  /**
257
- * Updated contact
224
+ * Summary saved
258
225
  */
259
- export type UpdateResponse = {
226
+ export type SaveConversationSummaryResponse = {
260
227
  success: true;
261
- contact: UpdateContact;
262
228
  /**
263
- * Credits consumed by this call (always 0 for contacts queries).
229
+ * Internal contact ID (created if not found)
230
+ */
231
+ contactId: string;
232
+ /**
233
+ * ISO timestamp of when the summary was saved
234
+ */
235
+ summarizedAt: string;
236
+ /**
237
+ * Credits consumed by this call (0 for free endpoints, cached results, or duplicates).
264
238
  */
265
239
  creditsUsed: number;
266
240
  /**
267
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
241
+ * Seconds to wait before making another call of the same type. 0 means no wait needed.
268
242
  */
269
243
  retryAfter: number;
270
244
  };
271
- export type ListActivitiesRequest = {
245
+ export type FilterRequest = {
272
246
  /**
273
- * Filter by activity type
247
+ * Unique identifier for the automation campaign (e.g., 'lead-magnet-post-12345', 'outreach-webinar-feb')
274
248
  */
275
- type?: string | undefined;
276
- limit?: number | undefined;
277
- offset?: number | undefined;
249
+ campaignSlug: string;
278
250
  /**
279
- * Contact ID
251
+ * Comma-separated list of action slugs to check (e.g., 'send-mp-john-doe,like-comment-abc123')
280
252
  */
281
- id: string;
253
+ actionSlugs: string;
282
254
  };
283
- export type ListActivitiesActivity = {
284
- id: string;
285
- type: string;
286
- content: string | null;
287
- metadata: any | null;
288
- createdAt: string;
289
- };
290
- export type ListActivitiesPagination = {
291
- limit: number;
292
- offset: number;
293
- total: number;
255
+ export type CheckedSlug = {
256
+ actionSlug: string;
257
+ completed: boolean;
294
258
  };
295
259
  /**
296
- * Contact activities
260
+ * Filter status with checked slugs
297
261
  */
298
- export type ListActivitiesResponse = {
299
- success: true;
300
- activities: Array<ListActivitiesActivity>;
301
- pagination: ListActivitiesPagination;
302
- /**
303
- * Credits consumed by this call (always 0 for contacts queries).
304
- */
305
- creditsUsed: number;
262
+ export type FilterResponse = {
306
263
  /**
307
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
264
+ * True if all actionSlugs have been completed for this campaign, meaning the entire flow can be skipped
308
265
  */
309
- retryAfter: number;
310
- };
311
- /**
312
- * Activity type
313
- */
314
- export declare const AddActivitiesType: {
315
- readonly ConnectionRequest: "connection_request";
316
- readonly Message: "message";
317
- readonly FollowUp: "follow_up";
318
- readonly ReplyReceived: "reply_received";
319
- readonly ConnectionAccepted: "connection_accepted";
320
- readonly ProfileView: "profile_view";
321
- readonly EngagementObserved: "engagement_observed";
322
- readonly PostInteraction: "post_interaction";
323
- readonly SearchFound: "search_found";
324
- readonly Qualification: "qualification";
325
- readonly StageChange: "stage_change";
326
- readonly MessageReceived: "message_received";
327
- readonly UserInterest: "user_interest";
328
- readonly MeetingBooked: "meeting_booked";
329
- readonly MeetingCompleted: "meeting_completed";
330
- readonly MeetingCancelled: "meeting_cancelled";
331
- readonly DoNotContact: "do_not_contact";
332
- };
333
- /**
334
- * Activity type
335
- */
336
- export type AddActivitiesType = ClosedEnum<typeof AddActivitiesType>;
337
- export type AddActivitiesActivity = {
266
+ filtered: boolean;
338
267
  /**
339
- * Activity type
268
+ * Status of each action slug — completed means the action was already executed for this campaign
340
269
  */
341
- type: AddActivitiesType;
270
+ checkedSlugs: Array<CheckedSlug>;
342
271
  /**
343
- * Human-readable description of what happened
272
+ * Credits consumed by this call (always 0 for campaign queries).
344
273
  */
345
- content?: string | undefined;
274
+ creditsUsed: number;
346
275
  /**
347
- * Structured data: postUrl, postAuthor, angle, distance, etc.
276
+ * Seconds to wait before next call of the same type (always 0 for campaign queries).
348
277
  */
349
- metadata?: any | undefined;
278
+ retryAfter: number;
350
279
  };
351
- export type AddActivitiesRequestBody = {
280
+ export type GetStatusRequestBody = {
352
281
  /**
353
- * Activities to log
282
+ * LinkedIn profile URLs or URNs to check status for within this campaign.
354
283
  */
355
- activities: Array<AddActivitiesActivity>;
284
+ profiles: Array<string>;
356
285
  };
357
- export type AddActivitiesRequest = {
286
+ export type GetStatusRequest = {
358
287
  /**
359
- * Contact ID
288
+ * Campaign identifier
360
289
  */
361
- id: string;
362
- body: AddActivitiesRequestBody;
290
+ campaignSlug: string;
291
+ body: GetStatusRequestBody;
292
+ };
293
+ export type GetStatusProfile = {
294
+ profile: string;
295
+ message: boolean;
296
+ reply: boolean;
297
+ like: boolean;
298
+ visit: boolean;
299
+ connect: boolean;
363
300
  };
364
301
  /**
365
- * Activities logged
302
+ * Per-profile action completion status
366
303
  */
367
- export type AddActivitiesResponse = {
304
+ export type GetStatusResponse = {
368
305
  success: true;
369
- created: number;
306
+ profiles: Array<GetStatusProfile>;
370
307
  /**
371
- * Credits consumed by this call (always 0 for contacts queries).
308
+ * Credits consumed by this call (always 0 for campaign queries).
372
309
  */
373
310
  creditsUsed: number;
374
311
  /**
375
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
312
+ * Seconds to wait before next call of the same type (always 0 for campaign queries).
376
313
  */
377
314
  retryAfter: number;
378
315
  };
379
- export declare const BulkUpdateLifecycleStage: {
380
- readonly Contact: "contact";
381
- readonly Lead: "lead";
382
- readonly Qualified: "qualified";
383
- readonly Approved: "approved";
384
- readonly Rejected: "rejected";
385
- };
386
- export type BulkUpdateLifecycleStage = ClosedEnum<typeof BulkUpdateLifecycleStage>;
387
- export declare const BulkUpdateOutreachStatus: {
388
- readonly None: "none";
389
- readonly ConnectionSent: "connection_sent";
390
- readonly Connected: "connected";
391
- readonly DmSent: "dm_sent";
392
- readonly FollowedUp: "followed_up";
393
- readonly Replied: "replied";
394
- readonly InConversation: "in_conversation";
395
- readonly MeetingBooked: "meeting_booked";
396
- readonly Converted: "converted";
397
- readonly NotInterested: "not_interested";
398
- };
399
- export type BulkUpdateOutreachStatus = ClosedEnum<typeof BulkUpdateOutreachStatus>;
400
- export type BulkUpdateTags3 = {
401
- set: Array<string>;
402
- };
403
- export type BulkUpdateTags2 = {
404
- add?: Array<string> | undefined;
405
- remove: Array<string>;
406
- };
407
- export type BulkUpdateTags1 = {
408
- add: Array<string>;
409
- remove?: Array<string> | undefined;
316
+ export declare const SyncAction: {
317
+ readonly Message: "message";
318
+ readonly Reply: "reply";
319
+ readonly Like: "like";
320
+ readonly Visit: "visit";
321
+ readonly Connect: "connect";
410
322
  };
411
- /**
412
- * Tag operations: { add, remove } or { set }
413
- */
414
- export type BulkUpdateTagsUnion = BulkUpdateTags1 | BulkUpdateTags2 | BulkUpdateTags3;
415
- /**
416
- * Fields to update on all matching contacts
417
- */
418
- export type Update = {
419
- lifecycleStage?: BulkUpdateLifecycleStage | undefined;
420
- hotScore?: number | undefined;
421
- qualificationNotes?: string | undefined;
422
- notes?: string | undefined;
423
- outreachStatus?: BulkUpdateOutreachStatus | undefined;
424
- nextFollowUpAt?: Date | null | undefined;
425
- doNotContact?: boolean | undefined;
323
+ export type SyncAction = ClosedEnum<typeof SyncAction>;
324
+ export type SyncProfile = {
426
325
  /**
427
- * Tag operations: { add, remove } or { set }
326
+ * LinkedIn profile URL or URN
428
327
  */
429
- tags?: BulkUpdateTags1 | BulkUpdateTags2 | BulkUpdateTags3 | undefined;
328
+ profile: string;
329
+ /**
330
+ * Action types to mark as completed
331
+ */
332
+ actions: Array<SyncAction>;
430
333
  };
431
- export type BulkUpdateRequest = {
334
+ export type SyncRequestBody = {
432
335
  /**
433
- * Contact IDs to update
336
+ * Profiles and actions to mark as completed without performing them on LinkedIn.
434
337
  */
435
- contactIds: Array<string>;
338
+ profiles: Array<SyncProfile>;
339
+ };
340
+ export type SyncRequest = {
436
341
  /**
437
- * Fields to update on all matching contacts
342
+ * Campaign identifier
438
343
  */
439
- update: Update;
344
+ campaignSlug: string;
345
+ body: SyncRequestBody;
346
+ };
347
+ export type Synced = {
348
+ profile: string;
349
+ actions: {
350
+ [k: string]: boolean;
351
+ };
440
352
  };
441
353
  /**
442
- * Bulk update results
354
+ * Actions marked as completed
443
355
  */
444
- export type BulkUpdateResponse = {
356
+ export type SyncResponse = {
445
357
  success: true;
446
- updated: number;
447
- skipped: number;
448
- errors: Array<string>;
358
+ synced: Array<Synced>;
449
359
  /**
450
- * Credits consumed by this call (always 0 for contacts queries).
360
+ * Credits consumed by this call (always 0 for campaign queries).
451
361
  */
452
362
  creditsUsed: number;
453
363
  /**
454
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
364
+ * Seconds to wait before next call of the same type (always 0 for campaign queries).
455
365
  */
456
366
  retryAfter: number;
457
367
  };
458
- export type GetContactStatsRequest = {
368
+ export type GetCampaignStatsRequest = {
459
369
  /**
460
- * Filter stats by campaign
370
+ * Campaign identifier
461
371
  */
462
- campaignId?: string | undefined;
463
- };
464
- export type Funnel = {
465
- contact: number;
466
- lead: number;
467
- qualified: number;
468
- approved: number;
469
- rejected: number;
470
- };
471
- export type BySourceAngle = {
472
- total: number;
473
- contact: number;
474
- lead: number;
475
- qualified: number;
476
- approved: number;
477
- rejected: number;
478
- };
479
- export type ByCampaign = {
480
- name: string;
481
- total: number;
482
- contact: number;
483
- lead: number;
484
- qualified: number;
485
- approved: number;
486
- rejected: number;
487
- };
488
- export type GetContactStatsDaily = {
489
- date: string;
490
- created: number;
372
+ campaignSlug: string;
491
373
  };
492
374
  /**
493
- * Contact statistics
375
+ * Aggregate campaign statistics
494
376
  */
495
- export type GetContactStatsResponse = {
377
+ export type GetCampaignStatsResponse = {
496
378
  success: true;
497
- funnel: Funnel;
498
- bySource: {
379
+ /**
380
+ * Per-action-type counts (e.g. message: 45, reply: 120)
381
+ */
382
+ stats: {
499
383
  [k: string]: number;
500
384
  };
501
- bySourceAngle: {
502
- [k: string]: BySourceAngle;
503
- };
504
- byCampaign: {
505
- [k: string]: ByCampaign;
506
- };
507
- daily: Array<GetContactStatsDaily>;
508
385
  /**
509
- * Credits consumed by this call (always 0 for contacts queries).
386
+ * Unique profiles processed in this campaign
387
+ */
388
+ totalProfiles: number;
389
+ /**
390
+ * Total credits consumed by this campaign (sum of action counts). Also serves as the per-call creditsUsed (always 0 for this endpoint).
510
391
  */
511
392
  creditsUsed: number;
512
393
  /**
513
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
394
+ * Seconds to wait before next call of the same type (always 0 for campaign queries).
514
395
  */
515
396
  retryAfter: number;
516
397
  };
517
- /**
518
- * When 'true', omits the data payload and returns only keys + timestamps. Useful for state overview without transferring large payloads.
519
- */
520
- export declare const KeysOnly: {
521
- readonly True: "true";
522
- readonly False: "false";
523
- };
524
- /**
525
- * When 'true', omits the data payload and returns only keys + timestamps. Useful for state overview without transferring large payloads.
526
- */
527
- export type KeysOnly = ClosedEnum<typeof KeysOnly>;
528
- export type ListAgentStatesRequest = {
398
+ export type GlobalActivitiesRequest = {
529
399
  /**
530
- * When 'true', omits the data payload and returns only keys + timestamps. Useful for state overview without transferring large payloads.
400
+ * Comma-separated activity types to filter (e.g. 'message,connection_request')
531
401
  */
532
- keysOnly?: KeysOnly | undefined;
533
- };
534
- export type State = {
535
- key: string;
402
+ type?: string | undefined;
536
403
  /**
537
- * Full state object
404
+ * Filter activities to contacts in this campaign
538
405
  */
539
- data: any;
540
- updatedAt: string | null;
541
- };
542
- /**
543
- * All state entries
544
- */
545
- export type ListAgentStatesResponse = {
546
- success: true;
547
- states: Array<State>;
406
+ campaignId?: string | undefined;
548
407
  /**
549
- * Credits consumed by this call (always 0 for contacts queries).
408
+ * ISO date/time lower bound for createdAt
550
409
  */
551
- creditsUsed: number;
410
+ from?: string | undefined;
552
411
  /**
553
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
412
+ * ISO date/time upper bound for createdAt
554
413
  */
555
- retryAfter: number;
556
- };
557
- export type GetAgentStateRequest = {
414
+ to?: string | undefined;
558
415
  /**
559
- * State key
416
+ * Results per page (max 200)
560
417
  */
561
- key: string;
418
+ limit?: number | undefined;
419
+ /**
420
+ * Pagination offset
421
+ */
422
+ offset?: number | undefined;
423
+ };
424
+ export type GlobalActivitiesActivity = {
425
+ id: string;
426
+ type: string;
427
+ content: string | null;
428
+ metadata: any | null;
429
+ success: boolean | null;
430
+ error: string | null;
431
+ createdAt: string;
432
+ contactId: string;
433
+ contactName: string | null;
434
+ contactLinkedinUrl: string | null;
435
+ };
436
+ export type GlobalActivitiesPagination = {
437
+ limit: number;
438
+ offset: number;
439
+ total: number;
562
440
  };
563
441
  /**
564
- * State entry
442
+ * Activities list
565
443
  */
566
- export type GetAgentStateResponse = {
444
+ export type GlobalActivitiesResponse = {
567
445
  success: true;
568
- key: string;
569
- /**
570
- * Full state object
571
- */
572
- data: any;
573
- updatedAt: string | null;
446
+ activities: Array<GlobalActivitiesActivity>;
447
+ pagination: GlobalActivitiesPagination;
574
448
  /**
575
449
  * Credits consumed by this call (always 0 for contacts queries).
576
450
  */
@@ -580,85 +454,137 @@ export type GetAgentStateResponse = {
580
454
  */
581
455
  retryAfter: number;
582
456
  };
583
- export type SetAgentStateRequestBody = {
584
- /**
585
- * Full state object to store
586
- */
587
- data: any;
588
- };
589
- export type SetAgentStateRequest = {
590
- /**
591
- * State key
592
- */
593
- key: string;
594
- body: SetAgentStateRequestBody;
595
- };
596
457
  /**
597
- * State saved
458
+ * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
598
459
  */
599
- export type SetAgentStateResponse = {
600
- success: true;
601
- key: string;
602
- /**
603
- * Full state object
604
- */
605
- data: any;
606
- updatedAt: string | null;
460
+ export declare const UpsertSource: {
461
+ readonly Likes: "likes";
462
+ readonly Comments: "comments";
463
+ readonly Reposts: "reposts";
464
+ readonly Posts: "posts";
465
+ readonly CompanyFollowers: "company_followers";
466
+ readonly SearchResults: "search_results";
467
+ readonly ManualImport: "manual_import";
468
+ readonly EventAttendees: "event_attendees";
469
+ readonly GroupMembers: "group_members";
470
+ readonly EngagementScraping: "engagement_scraping";
471
+ readonly ContentSearch: "content_search";
472
+ readonly FollowersMining: "followers_mining";
473
+ readonly PeopleSearch: "people_search";
474
+ readonly JobSearch: "job_search";
475
+ readonly CompanySearch: "company_search";
476
+ readonly NetworkExpansion: "network_expansion";
477
+ readonly BulkVisit: "bulk_visit";
478
+ };
479
+ /**
480
+ * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
481
+ */
482
+ export type UpsertSource = ClosedEnum<typeof UpsertSource>;
483
+ /**
484
+ * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
485
+ */
486
+ export declare const UpsertLifecycleStage: {
487
+ readonly Contact: "contact";
488
+ readonly Lead: "lead";
489
+ readonly Qualified: "qualified";
490
+ readonly Approved: "approved";
491
+ readonly Rejected: "rejected";
492
+ };
493
+ /**
494
+ * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
495
+ */
496
+ export type UpsertLifecycleStage = ClosedEnum<typeof UpsertLifecycleStage>;
497
+ export type UpsertContactRequest = {
607
498
  /**
608
- * Credits consumed by this call (always 0 for contacts queries).
499
+ * LinkedIn profile URL, URN, or bare vanity name
609
500
  */
610
- creditsUsed: number;
501
+ linkedinUrl: string;
611
502
  /**
612
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
503
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...). Improves dedup when provided alongside a vanity URL.
613
504
  */
614
- retryAfter: number;
615
- };
616
- export type DeleteAgentStateRequest = {
505
+ profileUrn?: string | null | undefined;
617
506
  /**
618
- * State key
507
+ * LinkedIn vanity slug (e.g. joshuaau). Improves dedup when provided alongside a URN.
619
508
  */
620
- key: string;
621
- };
622
- /**
623
- * State deleted
624
- */
625
- export type DeleteAgentStateResponse = {
626
- success: true;
509
+ publicIdentifier?: string | null | undefined;
627
510
  /**
628
- * Credits consumed by this call (always 0 for contacts queries).
511
+ * Profile name
629
512
  */
630
- creditsUsed: number;
513
+ name: string;
631
514
  /**
632
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
515
+ * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
633
516
  */
634
- retryAfter: number;
517
+ source?: UpsertSource | undefined;
518
+ /**
519
+ * Which lead-gen angle found this (e.g., 'vp-sales-france')
520
+ */
521
+ sourceAngle?: string | undefined;
522
+ /**
523
+ * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
524
+ */
525
+ lifecycleStage?: UpsertLifecycleStage | undefined;
526
+ /**
527
+ * Contact quality score (0-100)
528
+ */
529
+ hotScore?: number | undefined;
530
+ /**
531
+ * Agent reasoning for qualification decision
532
+ */
533
+ qualificationNotes?: string | undefined;
534
+ notes?: string | undefined;
635
535
  };
636
- export type PatchAgentStateRequestBody = {
536
+ export type UpsertRequest = {
637
537
  /**
638
- * Partial state fields to merge
538
+ * Contacts to add (single or bulk)
639
539
  */
640
- data: {
641
- [k: string]: any;
642
- };
540
+ contacts: Array<UpsertContactRequest>;
643
541
  };
644
- export type PatchAgentStateRequest = {
542
+ export type UpsertResults = {
543
+ created: number;
544
+ updated: number;
545
+ skipped: number;
546
+ errors: Array<string>;
547
+ };
548
+ export type UpsertContactResponse = {
549
+ id: string;
550
+ linkedinUrl: string;
645
551
  /**
646
- * State key
552
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
647
553
  */
648
- key: string;
649
- body: PatchAgentStateRequestBody;
554
+ profileUrn: string | null;
555
+ /**
556
+ * LinkedIn vanity slug (e.g. joshuaau)
557
+ */
558
+ publicIdentifier: string | null;
559
+ name: string;
560
+ lifecycleStage: string;
561
+ hotScore: number;
562
+ qualificationNotes: string | null;
563
+ notes: string | null;
564
+ stageChangedAt: string | null;
565
+ profileData: any | null;
566
+ profileUpdatedAt: string | null;
567
+ conversationData: any | null;
568
+ conversationUpdatedAt: string | null;
569
+ outreachStatus: string;
570
+ lastContactedAt: string | null;
571
+ lastRepliedAt: string | null;
572
+ nextFollowUpAt: string | null;
573
+ doNotContact: boolean;
574
+ tags: Array<string>;
575
+ createdAt: string;
576
+ updatedAt: string;
650
577
  };
651
578
  /**
652
- * State merged
579
+ * Contacts created or updated
653
580
  */
654
- export type PatchAgentStateResponse = {
581
+ export type UpsertResponse = {
655
582
  success: true;
656
- key: string;
583
+ results: UpsertResults;
657
584
  /**
658
- * Full state object
585
+ * Full contact objects with IDs for immediate use
659
586
  */
660
- data: any;
661
- updatedAt: string | null;
587
+ contacts: Array<UpsertContactResponse>;
662
588
  /**
663
589
  * Credits consumed by this call (always 0 for contacts queries).
664
590
  */
@@ -668,87 +594,121 @@ export type PatchAgentStateResponse = {
668
594
  */
669
595
  retryAfter: number;
670
596
  };
671
- export declare const ListCampaignsType: {
672
- readonly Outreach: "outreach";
673
- readonly LeadGen: "lead_gen";
674
- readonly LeadMagnet: "lead_magnet";
597
+ export declare const SearchContactsLifecycleStage: {
598
+ readonly Contact: "contact";
599
+ readonly Lead: "lead";
600
+ readonly Qualified: "qualified";
601
+ readonly Approved: "approved";
602
+ readonly Rejected: "rejected";
675
603
  };
676
- export type ListCampaignsType = ClosedEnum<typeof ListCampaignsType>;
677
- export type ListCampaignsRequest = {
678
- type?: ListCampaignsType | undefined;
679
- status?: string | undefined;
680
- limit?: number | undefined;
681
- offset?: number | undefined;
604
+ export type SearchContactsLifecycleStage = ClosedEnum<typeof SearchContactsLifecycleStage>;
605
+ export declare const SearchContactsOutreachStatus: {
606
+ readonly None: "none";
607
+ readonly ConnectionSent: "connection_sent";
608
+ readonly Connected: "connected";
609
+ readonly DmSent: "dm_sent";
610
+ readonly FollowedUp: "followed_up";
611
+ readonly Replied: "replied";
612
+ readonly InConversation: "in_conversation";
613
+ readonly MeetingBooked: "meeting_booked";
614
+ readonly Converted: "converted";
615
+ readonly NotInterested: "not_interested";
682
616
  };
683
- export type ListCampaignsStageCounts = {
684
- contact: number;
685
- lead: number;
686
- qualified: number;
687
- approved: number;
688
- rejected: number;
617
+ export type SearchContactsOutreachStatus = ClosedEnum<typeof SearchContactsOutreachStatus>;
618
+ export declare const DoNotContact: {
619
+ readonly True: "true";
620
+ readonly False: "false";
689
621
  };
690
- export type ListCampaignsCampaign = {
691
- /**
692
- * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
693
- */
694
- id: string;
695
- /**
696
- * Human-readable campaign name.
697
- */
698
- name: string;
622
+ export type DoNotContact = ClosedEnum<typeof DoNotContact>;
623
+ export declare const HasProfileData: {
624
+ readonly True: "true";
625
+ readonly False: "false";
626
+ };
627
+ export type HasProfileData = ClosedEnum<typeof HasProfileData>;
628
+ export type SearchContactsRequest = {
699
629
  /**
700
- * URL-safe slug auto-generated from name.
630
+ * Filter by LinkedIn URL (exact match)
701
631
  */
702
- slug?: string | null | undefined;
703
- description: string | null;
704
- context: string | null;
705
- type: string;
706
- status: string;
707
- totalContacts: number;
632
+ linkedinUrl?: string | undefined;
708
633
  /**
709
- * Daily start time (HH:MM)
634
+ * Filter by name (partial match)
710
635
  */
711
- scheduledStartTime?: string | null | undefined;
636
+ name?: string | undefined;
637
+ lifecycleStage?: SearchContactsLifecycleStage | undefined;
712
638
  /**
713
- * Daily stop time (HH:MM)
639
+ * Sort field (e.g. 'hotScore', 'createdAt', 'nextFollowUpAt')
714
640
  */
715
- scheduledStopTime?: string | null | undefined;
641
+ sortBy?: string | undefined;
642
+ minHotScore?: number | undefined;
643
+ outreachStatus?: SearchContactsOutreachStatus | undefined;
716
644
  /**
717
- * IANA timezone
645
+ * Filter by tag
718
646
  */
719
- timezone?: string | null | undefined;
647
+ tag?: string | undefined;
720
648
  /**
721
- * Days to run (e.g. ['monday','tuesday'])
649
+ * ISO date: contacts with nextFollowUpAt before this date
722
650
  */
723
- runDays?: Array<string> | null | undefined;
651
+ followUpBefore?: string | undefined;
652
+ doNotContact?: DoNotContact | undefined;
653
+ hasProfileData?: HasProfileData | undefined;
654
+ campaignId?: string | undefined;
655
+ limit?: number | undefined;
656
+ offset?: number | undefined;
657
+ };
658
+ export type SearchContactsCampaign = {
659
+ campaignId: string;
660
+ campaignName: string;
724
661
  /**
725
- * Max actions per day
662
+ * Campaign status (e.g. 'active', 'paused', 'completed').
726
663
  */
727
- dailyActionLimit?: number | null | undefined;
664
+ campaignStatus: string;
665
+ source: string;
666
+ sourceAngle: string | null;
667
+ addedAt: string;
668
+ };
669
+ export type SearchContactsContact = {
670
+ id: string;
671
+ linkedinUrl: string;
728
672
  /**
729
- * When campaign was first started
673
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
730
674
  */
731
- startedAt?: string | null | undefined;
675
+ profileUrn: string | null;
732
676
  /**
733
- * When campaign was completed
677
+ * LinkedIn vanity slug (e.g. joshuaau)
734
678
  */
735
- completedAt?: string | null | undefined;
736
- stageCounts?: ListCampaignsStageCounts | undefined;
679
+ publicIdentifier: string | null;
680
+ name: string;
681
+ lifecycleStage: string;
682
+ hotScore: number;
683
+ qualificationNotes: string | null;
684
+ notes: string | null;
685
+ stageChangedAt: string | null;
686
+ profileData: any | null;
687
+ profileUpdatedAt: string | null;
688
+ conversationData: any | null;
689
+ conversationUpdatedAt: string | null;
690
+ outreachStatus: string;
691
+ lastContactedAt: string | null;
692
+ lastRepliedAt: string | null;
693
+ nextFollowUpAt: string | null;
694
+ doNotContact: boolean;
695
+ tags: Array<string>;
737
696
  createdAt: string;
738
697
  updatedAt: string;
698
+ campaigns: Array<SearchContactsCampaign>;
739
699
  };
740
- export type ListCampaignsPagination = {
700
+ export type SearchContactsPagination = {
741
701
  limit: number;
742
702
  offset: number;
743
703
  total: number;
744
704
  };
745
705
  /**
746
- * Campaigns list
706
+ * Matching contacts
747
707
  */
748
- export type ListCampaignsResponse = {
708
+ export type SearchContactsResponse = {
749
709
  success: true;
750
- campaigns: Array<ListCampaignsCampaign>;
751
- pagination: ListCampaignsPagination;
710
+ contacts: Array<SearchContactsContact>;
711
+ pagination: SearchContactsPagination;
752
712
  /**
753
713
  * Credits consumed by this call (always 0 for contacts queries).
754
714
  */
@@ -758,99 +718,496 @@ export type ListCampaignsResponse = {
758
718
  */
759
719
  retryAfter: number;
760
720
  };
761
- /**
762
- * Campaign type
763
- */
764
- export declare const CreateCampaignType: {
765
- readonly Outreach: "outreach";
766
- readonly LeadGen: "lead_gen";
767
- readonly LeadMagnet: "lead_magnet";
768
- };
769
- /**
770
- * Campaign type
771
- */
772
- export type CreateCampaignType = ClosedEnum<typeof CreateCampaignType>;
773
- export type CreateCampaignRequest = {
721
+ export type GetContactRequest = {
774
722
  /**
775
- * Human-readable campaign name. Use a clear, descriptive title (e.g., 'Reverse Prospecting — LinkedIn Connections', 'SaaS Sales Leaders EU'). Do NOT use slugs or technical IDs.
723
+ * Contact ID
776
724
  */
777
- name: string;
725
+ id: string;
726
+ };
727
+ export type GetContactActivity = {
728
+ id: string;
729
+ type: string;
730
+ content: string | null;
731
+ metadata: any | null;
732
+ createdAt: string;
733
+ };
734
+ export type GetContactCampaign = {
735
+ campaignId: string;
736
+ campaignName: string;
737
+ campaignStatus: string;
738
+ source: string;
739
+ sourceAngle: string | null;
740
+ addedAt: string;
741
+ };
742
+ export type GetContactContact = {
743
+ id: string;
744
+ linkedinUrl: string;
778
745
  /**
779
- * Optional campaign description
746
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
780
747
  */
781
- description?: string | undefined;
748
+ profileUrn: string | null;
782
749
  /**
783
- * Full agent instructions in markdown
750
+ * LinkedIn vanity slug (e.g. joshuaau)
784
751
  */
785
- context?: string | undefined;
752
+ publicIdentifier: string | null;
753
+ name: string;
754
+ lifecycleStage: string;
755
+ hotScore: number;
756
+ qualificationNotes: string | null;
757
+ notes: string | null;
758
+ stageChangedAt: string | null;
759
+ profileData: any | null;
760
+ profileUpdatedAt: string | null;
761
+ conversationData: any | null;
762
+ conversationUpdatedAt: string | null;
763
+ outreachStatus: string;
764
+ lastContactedAt: string | null;
765
+ lastRepliedAt: string | null;
766
+ nextFollowUpAt: string | null;
767
+ doNotContact: boolean;
768
+ tags: Array<string>;
769
+ createdAt: string;
770
+ updatedAt: string;
771
+ activities: Array<GetContactActivity>;
772
+ campaigns: Array<GetContactCampaign>;
773
+ };
774
+ /**
775
+ * Contact details
776
+ */
777
+ export type GetContactResponse = {
778
+ success: true;
779
+ contact: GetContactContact;
786
780
  /**
787
- * Campaign type
781
+ * Credits consumed by this call (always 0 for contacts queries).
788
782
  */
789
- type?: CreateCampaignType | undefined;
783
+ creditsUsed: number;
784
+ /**
785
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
786
+ */
787
+ retryAfter: number;
790
788
  };
791
- export type CreateCampaignStageCounts = {
792
- contact: number;
793
- lead: number;
794
- qualified: number;
795
- approved: number;
796
- rejected: number;
789
+ /**
790
+ * Promote to new stage (forward-only, except rejected)
791
+ */
792
+ export declare const UpdateLifecycleStage: {
793
+ readonly Contact: "contact";
794
+ readonly Lead: "lead";
795
+ readonly Qualified: "qualified";
796
+ readonly Approved: "approved";
797
+ readonly Rejected: "rejected";
797
798
  };
798
- export type CreateCampaignCampaign = {
799
+ /**
800
+ * Promote to new stage (forward-only, except rejected)
801
+ */
802
+ export type UpdateLifecycleStage = ClosedEnum<typeof UpdateLifecycleStage>;
803
+ /**
804
+ * Manual outreach status override
805
+ */
806
+ export declare const UpdateOutreachStatus: {
807
+ readonly None: "none";
808
+ readonly ConnectionSent: "connection_sent";
809
+ readonly Connected: "connected";
810
+ readonly DmSent: "dm_sent";
811
+ readonly FollowedUp: "followed_up";
812
+ readonly Replied: "replied";
813
+ readonly InConversation: "in_conversation";
814
+ readonly MeetingBooked: "meeting_booked";
815
+ readonly Converted: "converted";
816
+ readonly NotInterested: "not_interested";
817
+ };
818
+ /**
819
+ * Manual outreach status override
820
+ */
821
+ export type UpdateOutreachStatus = ClosedEnum<typeof UpdateOutreachStatus>;
822
+ export type Tags3 = {
823
+ set: Array<string>;
824
+ };
825
+ export type Tags2 = {
826
+ add?: Array<string> | undefined;
827
+ remove: Array<string>;
828
+ };
829
+ export type Tags1 = {
830
+ add: Array<string>;
831
+ remove?: Array<string> | undefined;
832
+ };
833
+ /**
834
+ * Add/remove/set tags
835
+ */
836
+ export type TagsUnion = Tags1 | Tags2 | Tags3;
837
+ export type UpdateRequestBody = {
799
838
  /**
800
- * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
839
+ * Promote to new stage (forward-only, except rejected)
801
840
  */
841
+ lifecycleStage?: UpdateLifecycleStage | undefined;
842
+ hotScore?: number | undefined;
843
+ qualificationNotes?: string | undefined;
844
+ notes?: string | undefined;
845
+ /**
846
+ * Update contact name
847
+ */
848
+ name?: string | undefined;
849
+ /**
850
+ * Full LinkedIn profile snapshot (JSON)
851
+ */
852
+ profileData?: any | undefined;
853
+ /**
854
+ * When profileData was last refreshed
855
+ */
856
+ profileUpdatedAt?: Date | undefined;
857
+ /**
858
+ * DM history (JSON: historySummary + recentMessages)
859
+ */
860
+ conversationData?: any | undefined;
861
+ /**
862
+ * When conversationData was last synced
863
+ */
864
+ conversationUpdatedAt?: Date | undefined;
865
+ /**
866
+ * Manual outreach status override
867
+ */
868
+ outreachStatus?: UpdateOutreachStatus | undefined;
869
+ /**
870
+ * When agent should follow up (null to clear)
871
+ */
872
+ nextFollowUpAt?: Date | null | undefined;
873
+ /**
874
+ * Flag contact as do-not-contact
875
+ */
876
+ doNotContact?: boolean | undefined;
877
+ /**
878
+ * Add/remove/set tags
879
+ */
880
+ tags?: Tags1 | Tags2 | Tags3 | undefined;
881
+ };
882
+ export type UpdateRequest = {
883
+ /**
884
+ * Contact ID
885
+ */
886
+ id: string;
887
+ body: UpdateRequestBody;
888
+ };
889
+ export type UpdateContact = {
802
890
  id: string;
891
+ linkedinUrl: string;
803
892
  /**
804
- * Human-readable campaign name.
893
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
894
+ */
895
+ profileUrn: string | null;
896
+ /**
897
+ * LinkedIn vanity slug (e.g. joshuaau)
805
898
  */
899
+ publicIdentifier: string | null;
806
900
  name: string;
901
+ lifecycleStage: string;
902
+ hotScore: number;
903
+ qualificationNotes: string | null;
904
+ notes: string | null;
905
+ stageChangedAt: string | null;
906
+ profileData: any | null;
907
+ profileUpdatedAt: string | null;
908
+ conversationData: any | null;
909
+ conversationUpdatedAt: string | null;
910
+ outreachStatus: string;
911
+ lastContactedAt: string | null;
912
+ lastRepliedAt: string | null;
913
+ nextFollowUpAt: string | null;
914
+ doNotContact: boolean;
915
+ tags: Array<string>;
916
+ createdAt: string;
917
+ updatedAt: string;
918
+ };
919
+ /**
920
+ * Updated contact
921
+ */
922
+ export type UpdateResponse = {
923
+ success: true;
924
+ contact: UpdateContact;
807
925
  /**
808
- * URL-safe slug auto-generated from name.
926
+ * Credits consumed by this call (always 0 for contacts queries).
809
927
  */
810
- slug?: string | null | undefined;
811
- description: string | null;
812
- context: string | null;
928
+ creditsUsed: number;
929
+ /**
930
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
931
+ */
932
+ retryAfter: number;
933
+ };
934
+ export type ListActivitiesRequest = {
935
+ /**
936
+ * Filter by activity type
937
+ */
938
+ type?: string | undefined;
939
+ limit?: number | undefined;
940
+ offset?: number | undefined;
941
+ /**
942
+ * Contact ID
943
+ */
944
+ id: string;
945
+ };
946
+ export type ListActivitiesActivity = {
947
+ id: string;
813
948
  type: string;
814
- status: string;
815
- totalContacts: number;
949
+ content: string | null;
950
+ metadata: any | null;
951
+ createdAt: string;
952
+ };
953
+ export type ListActivitiesPagination = {
954
+ limit: number;
955
+ offset: number;
956
+ total: number;
957
+ };
958
+ /**
959
+ * Contact activities
960
+ */
961
+ export type ListActivitiesResponse = {
962
+ success: true;
963
+ activities: Array<ListActivitiesActivity>;
964
+ pagination: ListActivitiesPagination;
816
965
  /**
817
- * Daily start time (HH:MM)
966
+ * Credits consumed by this call (always 0 for contacts queries).
818
967
  */
819
- scheduledStartTime?: string | null | undefined;
968
+ creditsUsed: number;
820
969
  /**
821
- * Daily stop time (HH:MM)
970
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
822
971
  */
823
- scheduledStopTime?: string | null | undefined;
972
+ retryAfter: number;
973
+ };
974
+ /**
975
+ * Activity type
976
+ */
977
+ export declare const AddActivitiesType: {
978
+ readonly ConnectionRequest: "connection_request";
979
+ readonly Message: "message";
980
+ readonly FollowUp: "follow_up";
981
+ readonly ReplyReceived: "reply_received";
982
+ readonly ConnectionAccepted: "connection_accepted";
983
+ readonly ProfileView: "profile_view";
984
+ readonly EngagementObserved: "engagement_observed";
985
+ readonly PostInteraction: "post_interaction";
986
+ readonly SearchFound: "search_found";
987
+ readonly Qualification: "qualification";
988
+ readonly StageChange: "stage_change";
989
+ readonly MessageReceived: "message_received";
990
+ readonly UserInterest: "user_interest";
991
+ readonly MeetingBooked: "meeting_booked";
992
+ readonly MeetingCompleted: "meeting_completed";
993
+ readonly MeetingCancelled: "meeting_cancelled";
994
+ readonly DoNotContact: "do_not_contact";
995
+ };
996
+ /**
997
+ * Activity type
998
+ */
999
+ export type AddActivitiesType = ClosedEnum<typeof AddActivitiesType>;
1000
+ export type AddActivitiesActivity = {
824
1001
  /**
825
- * IANA timezone
1002
+ * Activity type
826
1003
  */
827
- timezone?: string | null | undefined;
1004
+ type: AddActivitiesType;
828
1005
  /**
829
- * Days to run (e.g. ['monday','tuesday'])
1006
+ * Human-readable description of what happened
830
1007
  */
831
- runDays?: Array<string> | null | undefined;
1008
+ content?: string | undefined;
832
1009
  /**
833
- * Max actions per day
1010
+ * Structured data: postUrl, postAuthor, angle, distance, etc.
834
1011
  */
835
- dailyActionLimit?: number | null | undefined;
1012
+ metadata?: any | undefined;
1013
+ };
1014
+ export type AddActivitiesRequestBody = {
836
1015
  /**
837
- * When campaign was first started
1016
+ * Activities to log
838
1017
  */
839
- startedAt?: string | null | undefined;
1018
+ activities: Array<AddActivitiesActivity>;
1019
+ };
1020
+ export type AddActivitiesRequest = {
840
1021
  /**
841
- * When campaign was completed
1022
+ * Contact ID
842
1023
  */
843
- completedAt?: string | null | undefined;
844
- stageCounts?: CreateCampaignStageCounts | undefined;
845
- createdAt: string;
846
- updatedAt: string;
1024
+ id: string;
1025
+ body: AddActivitiesRequestBody;
1026
+ };
1027
+ /**
1028
+ * Activities logged
1029
+ */
1030
+ export type AddActivitiesResponse = {
1031
+ success: true;
1032
+ created: number;
1033
+ /**
1034
+ * Credits consumed by this call (always 0 for contacts queries).
1035
+ */
1036
+ creditsUsed: number;
1037
+ /**
1038
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1039
+ */
1040
+ retryAfter: number;
1041
+ };
1042
+ export declare const BulkUpdateLifecycleStage: {
1043
+ readonly Contact: "contact";
1044
+ readonly Lead: "lead";
1045
+ readonly Qualified: "qualified";
1046
+ readonly Approved: "approved";
1047
+ readonly Rejected: "rejected";
1048
+ };
1049
+ export type BulkUpdateLifecycleStage = ClosedEnum<typeof BulkUpdateLifecycleStage>;
1050
+ export declare const BulkUpdateOutreachStatus: {
1051
+ readonly None: "none";
1052
+ readonly ConnectionSent: "connection_sent";
1053
+ readonly Connected: "connected";
1054
+ readonly DmSent: "dm_sent";
1055
+ readonly FollowedUp: "followed_up";
1056
+ readonly Replied: "replied";
1057
+ readonly InConversation: "in_conversation";
1058
+ readonly MeetingBooked: "meeting_booked";
1059
+ readonly Converted: "converted";
1060
+ readonly NotInterested: "not_interested";
1061
+ };
1062
+ export type BulkUpdateOutreachStatus = ClosedEnum<typeof BulkUpdateOutreachStatus>;
1063
+ export type BulkUpdateTags3 = {
1064
+ set: Array<string>;
1065
+ };
1066
+ export type BulkUpdateTags2 = {
1067
+ add?: Array<string> | undefined;
1068
+ remove: Array<string>;
1069
+ };
1070
+ export type BulkUpdateTags1 = {
1071
+ add: Array<string>;
1072
+ remove?: Array<string> | undefined;
1073
+ };
1074
+ /**
1075
+ * Tag operations: { add, remove } or { set }
1076
+ */
1077
+ export type BulkUpdateTagsUnion = BulkUpdateTags1 | BulkUpdateTags2 | BulkUpdateTags3;
1078
+ /**
1079
+ * Fields to update on all matching contacts
1080
+ */
1081
+ export type Update = {
1082
+ lifecycleStage?: BulkUpdateLifecycleStage | undefined;
1083
+ hotScore?: number | undefined;
1084
+ qualificationNotes?: string | undefined;
1085
+ notes?: string | undefined;
1086
+ outreachStatus?: BulkUpdateOutreachStatus | undefined;
1087
+ nextFollowUpAt?: Date | null | undefined;
1088
+ doNotContact?: boolean | undefined;
1089
+ /**
1090
+ * Tag operations: { add, remove } or { set }
1091
+ */
1092
+ tags?: BulkUpdateTags1 | BulkUpdateTags2 | BulkUpdateTags3 | undefined;
1093
+ };
1094
+ export type BulkUpdateRequest = {
1095
+ /**
1096
+ * Contact IDs to update
1097
+ */
1098
+ contactIds: Array<string>;
1099
+ /**
1100
+ * Fields to update on all matching contacts
1101
+ */
1102
+ update: Update;
1103
+ };
1104
+ /**
1105
+ * Bulk update results
1106
+ */
1107
+ export type BulkUpdateResponse = {
1108
+ success: true;
1109
+ updated: number;
1110
+ skipped: number;
1111
+ errors: Array<string>;
1112
+ /**
1113
+ * Credits consumed by this call (always 0 for contacts queries).
1114
+ */
1115
+ creditsUsed: number;
1116
+ /**
1117
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1118
+ */
1119
+ retryAfter: number;
1120
+ };
1121
+ export type GetContactStatsRequest = {
1122
+ /**
1123
+ * Filter stats by campaign
1124
+ */
1125
+ campaignId?: string | undefined;
1126
+ };
1127
+ export type Funnel = {
1128
+ contact: number;
1129
+ lead: number;
1130
+ qualified: number;
1131
+ approved: number;
1132
+ rejected: number;
1133
+ };
1134
+ export type BySourceAngle = {
1135
+ total: number;
1136
+ contact: number;
1137
+ lead: number;
1138
+ qualified: number;
1139
+ approved: number;
1140
+ rejected: number;
1141
+ };
1142
+ export type ByCampaign = {
1143
+ name: string;
1144
+ total: number;
1145
+ contact: number;
1146
+ lead: number;
1147
+ qualified: number;
1148
+ approved: number;
1149
+ rejected: number;
1150
+ };
1151
+ export type GetContactStatsDaily = {
1152
+ date: string;
1153
+ created: number;
1154
+ };
1155
+ /**
1156
+ * Contact statistics
1157
+ */
1158
+ export type GetContactStatsResponse = {
1159
+ success: true;
1160
+ funnel: Funnel;
1161
+ bySource: {
1162
+ [k: string]: number;
1163
+ };
1164
+ bySourceAngle: {
1165
+ [k: string]: BySourceAngle;
1166
+ };
1167
+ byCampaign: {
1168
+ [k: string]: ByCampaign;
1169
+ };
1170
+ daily: Array<GetContactStatsDaily>;
1171
+ /**
1172
+ * Credits consumed by this call (always 0 for contacts queries).
1173
+ */
1174
+ creditsUsed: number;
1175
+ /**
1176
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1177
+ */
1178
+ retryAfter: number;
1179
+ };
1180
+ /**
1181
+ * When 'true', omits the data payload and returns only keys + timestamps. Useful for state overview without transferring large payloads.
1182
+ */
1183
+ export declare const KeysOnly: {
1184
+ readonly True: "true";
1185
+ readonly False: "false";
1186
+ };
1187
+ /**
1188
+ * When 'true', omits the data payload and returns only keys + timestamps. Useful for state overview without transferring large payloads.
1189
+ */
1190
+ export type KeysOnly = ClosedEnum<typeof KeysOnly>;
1191
+ export type ListAgentStatesRequest = {
1192
+ /**
1193
+ * When 'true', omits the data payload and returns only keys + timestamps. Useful for state overview without transferring large payloads.
1194
+ */
1195
+ keysOnly?: KeysOnly | undefined;
1196
+ };
1197
+ export type State = {
1198
+ key: string;
1199
+ /**
1200
+ * Full state object
1201
+ */
1202
+ data: any;
1203
+ updatedAt: string | null;
847
1204
  };
848
1205
  /**
849
- * Campaign created
1206
+ * All state entries
850
1207
  */
851
- export type CreateCampaignResponse = {
1208
+ export type ListAgentStatesResponse = {
852
1209
  success: true;
853
- campaign: CreateCampaignCampaign;
1210
+ states: Array<State>;
854
1211
  /**
855
1212
  * Credits consumed by this call (always 0 for contacts queries).
856
1213
  */
@@ -860,75 +1217,80 @@ export type CreateCampaignResponse = {
860
1217
  */
861
1218
  retryAfter: number;
862
1219
  };
863
- export type GetCampaignRequest = {
1220
+ export type GetAgentStateRequest = {
864
1221
  /**
865
- * Campaign ID
1222
+ * State key
866
1223
  */
867
- campaignId: string;
868
- };
869
- export type GetCampaignStageCounts = {
870
- contact: number;
871
- lead: number;
872
- qualified: number;
873
- approved: number;
874
- rejected: number;
1224
+ key: string;
875
1225
  };
876
- export type GetCampaignCampaign = {
877
- /**
878
- * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
879
- */
880
- id: string;
1226
+ /**
1227
+ * State entry
1228
+ */
1229
+ export type GetAgentStateResponse = {
1230
+ success: true;
1231
+ key: string;
881
1232
  /**
882
- * Human-readable campaign name.
1233
+ * Full state object
883
1234
  */
884
- name: string;
1235
+ data: any;
1236
+ updatedAt: string | null;
885
1237
  /**
886
- * URL-safe slug auto-generated from name.
1238
+ * Credits consumed by this call (always 0 for contacts queries).
887
1239
  */
888
- slug?: string | null | undefined;
889
- description: string | null;
890
- context: string | null;
891
- type: string;
892
- status: string;
893
- totalContacts: number;
1240
+ creditsUsed: number;
894
1241
  /**
895
- * Daily start time (HH:MM)
1242
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
896
1243
  */
897
- scheduledStartTime?: string | null | undefined;
1244
+ retryAfter: number;
1245
+ };
1246
+ export type SetAgentStateRequestBody = {
898
1247
  /**
899
- * Daily stop time (HH:MM)
1248
+ * Full state object to store
900
1249
  */
901
- scheduledStopTime?: string | null | undefined;
1250
+ data: any;
1251
+ };
1252
+ export type SetAgentStateRequest = {
902
1253
  /**
903
- * IANA timezone
1254
+ * State key
904
1255
  */
905
- timezone?: string | null | undefined;
1256
+ key: string;
1257
+ body: SetAgentStateRequestBody;
1258
+ };
1259
+ /**
1260
+ * State saved
1261
+ */
1262
+ export type SetAgentStateResponse = {
1263
+ success: true;
1264
+ key: string;
906
1265
  /**
907
- * Days to run (e.g. ['monday','tuesday'])
1266
+ * Full state object
908
1267
  */
909
- runDays?: Array<string> | null | undefined;
1268
+ data: any;
1269
+ updatedAt: string | null;
910
1270
  /**
911
- * Max actions per day
1271
+ * Credits consumed by this call (always 0 for contacts queries).
912
1272
  */
913
- dailyActionLimit?: number | null | undefined;
1273
+ creditsUsed: number;
914
1274
  /**
915
- * When campaign was first started
1275
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
916
1276
  */
917
- startedAt?: string | null | undefined;
1277
+ retryAfter: number;
1278
+ };
1279
+ export type DeleteAgentStateRequest = {
918
1280
  /**
919
- * When campaign was completed
1281
+ * State key
920
1282
  */
921
- completedAt?: string | null | undefined;
922
- stageCounts?: GetCampaignStageCounts | undefined;
923
- createdAt: string;
924
- updatedAt: string;
1283
+ key: string;
925
1284
  };
926
1285
  /**
927
- * Campaign details
1286
+ * State deleted
928
1287
  */
929
- export type GetCampaignResponse = {
1288
+ export type DeleteAgentStateResponse = {
930
1289
  success: true;
931
- campaign: GetCampaignCampaign;
1290
+ /**
1291
+ * The key that was deleted
1292
+ */
1293
+ key: string;
932
1294
  /**
933
1295
  * Credits consumed by this call (always 0 for contacts queries).
934
1296
  */
@@ -938,17 +1300,32 @@ export type GetCampaignResponse = {
938
1300
  */
939
1301
  retryAfter: number;
940
1302
  };
941
- export type DeleteCampaignRequest = {
1303
+ export type PatchAgentStateRequestBody = {
942
1304
  /**
943
- * Campaign ID
1305
+ * Partial state fields to merge
944
1306
  */
945
- campaignId: string;
1307
+ data: {
1308
+ [k: string]: any;
1309
+ };
1310
+ };
1311
+ export type PatchAgentStateRequest = {
1312
+ /**
1313
+ * State key
1314
+ */
1315
+ key: string;
1316
+ body: PatchAgentStateRequestBody;
946
1317
  };
947
1318
  /**
948
- * Campaign deleted
1319
+ * State merged
949
1320
  */
950
- export type DeleteCampaignResponse = {
1321
+ export type PatchAgentStateResponse = {
951
1322
  success: true;
1323
+ key: string;
1324
+ /**
1325
+ * Full state object
1326
+ */
1327
+ data: any;
1328
+ updatedAt: string | null;
952
1329
  /**
953
1330
  * Credits consumed by this call (always 0 for contacts queries).
954
1331
  */
@@ -958,41 +1335,26 @@ export type DeleteCampaignResponse = {
958
1335
  */
959
1336
  retryAfter: number;
960
1337
  };
961
- export declare const UpdateCampaignStatus: {
962
- readonly Draft: "draft";
963
- readonly Scheduled: "scheduled";
964
- readonly Running: "running";
965
- readonly Paused: "paused";
966
- readonly Completed: "completed";
967
- readonly Failed: "failed";
968
- };
969
- export type UpdateCampaignStatus = ClosedEnum<typeof UpdateCampaignStatus>;
970
- export type UpdateCampaignRequestBody = {
971
- name?: string | undefined;
972
- description?: string | undefined;
973
- context?: string | undefined;
974
- status?: UpdateCampaignStatus | undefined;
975
- scheduledStartTime?: string | undefined;
976
- scheduledStopTime?: string | undefined;
977
- timezone?: string | undefined;
978
- runDays?: Array<string> | undefined;
979
- dailyActionLimit?: number | null | undefined;
1338
+ export declare const ListCampaignsType: {
1339
+ readonly Outreach: "outreach";
1340
+ readonly LeadGen: "lead_gen";
1341
+ readonly LeadMagnet: "lead_magnet";
980
1342
  };
981
- export type UpdateCampaignRequest = {
982
- /**
983
- * Campaign ID
984
- */
985
- campaignId: string;
986
- body: UpdateCampaignRequestBody;
1343
+ export type ListCampaignsType = ClosedEnum<typeof ListCampaignsType>;
1344
+ export type ListCampaignsRequest = {
1345
+ type?: ListCampaignsType | undefined;
1346
+ status?: string | undefined;
1347
+ limit?: number | undefined;
1348
+ offset?: number | undefined;
987
1349
  };
988
- export type UpdateCampaignStageCounts = {
1350
+ export type ListCampaignsStageCounts = {
989
1351
  contact: number;
990
1352
  lead: number;
991
1353
  qualified: number;
992
1354
  approved: number;
993
1355
  rejected: number;
994
1356
  };
995
- export type UpdateCampaignCampaign = {
1357
+ export type ListCampaignsCampaign = {
996
1358
  /**
997
1359
  * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
998
1360
  */
@@ -1038,16 +1400,22 @@ export type UpdateCampaignCampaign = {
1038
1400
  * When campaign was completed
1039
1401
  */
1040
1402
  completedAt?: string | null | undefined;
1041
- stageCounts?: UpdateCampaignStageCounts | undefined;
1403
+ stageCounts?: ListCampaignsStageCounts | undefined;
1042
1404
  createdAt: string;
1043
1405
  updatedAt: string;
1044
1406
  };
1407
+ export type ListCampaignsPagination = {
1408
+ limit: number;
1409
+ offset: number;
1410
+ total: number;
1411
+ };
1045
1412
  /**
1046
- * Campaign updated
1413
+ * Campaigns list
1047
1414
  */
1048
- export type UpdateCampaignResponse = {
1415
+ export type ListCampaignsResponse = {
1049
1416
  success: true;
1050
- campaign: UpdateCampaignCampaign;
1417
+ campaigns: Array<ListCampaignsCampaign>;
1418
+ pagination: ListCampaignsPagination;
1051
1419
  /**
1052
1420
  * Credits consumed by this call (always 0 for contacts queries).
1053
1421
  */
@@ -1057,38 +1425,44 @@ export type UpdateCampaignResponse = {
1057
1425
  */
1058
1426
  retryAfter: number;
1059
1427
  };
1060
- export declare const CampaignStatusTransitionAction: {
1061
- readonly Activate: "activate";
1062
- readonly Start: "start";
1063
- readonly Pause: "pause";
1064
- readonly Resume: "resume";
1065
- readonly Complete: "complete";
1066
- readonly Reset: "reset";
1067
- };
1068
- export type CampaignStatusTransitionAction = ClosedEnum<typeof CampaignStatusTransitionAction>;
1069
- export type CampaignStatusTransitionRequestBody = {
1070
- action: CampaignStatusTransitionAction;
1071
- scheduledStartTime?: string | undefined;
1072
- scheduledStopTime?: string | undefined;
1073
- timezone?: string | undefined;
1074
- runDays?: Array<string> | undefined;
1075
- dailyActionLimit?: number | undefined;
1428
+ /**
1429
+ * Campaign type
1430
+ */
1431
+ export declare const CreateCampaignType: {
1432
+ readonly Outreach: "outreach";
1433
+ readonly LeadGen: "lead_gen";
1434
+ readonly LeadMagnet: "lead_magnet";
1076
1435
  };
1077
- export type CampaignStatusTransitionRequest = {
1436
+ /**
1437
+ * Campaign type
1438
+ */
1439
+ export type CreateCampaignType = ClosedEnum<typeof CreateCampaignType>;
1440
+ export type CreateCampaignRequest = {
1078
1441
  /**
1079
- * Campaign ID
1442
+ * Human-readable campaign name. Use a clear, descriptive title (e.g., 'Reverse Prospecting — LinkedIn Connections', 'SaaS Sales Leaders EU'). Do NOT use slugs or technical IDs.
1080
1443
  */
1081
- campaignId: string;
1082
- body: CampaignStatusTransitionRequestBody;
1444
+ name: string;
1445
+ /**
1446
+ * Optional campaign description
1447
+ */
1448
+ description?: string | undefined;
1449
+ /**
1450
+ * Full agent instructions in markdown
1451
+ */
1452
+ context?: string | undefined;
1453
+ /**
1454
+ * Campaign type
1455
+ */
1456
+ type?: CreateCampaignType | undefined;
1083
1457
  };
1084
- export type CampaignStatusTransitionStageCounts = {
1458
+ export type CreateCampaignStageCounts = {
1085
1459
  contact: number;
1086
1460
  lead: number;
1087
1461
  qualified: number;
1088
1462
  approved: number;
1089
1463
  rejected: number;
1090
1464
  };
1091
- export type CampaignStatusTransitionCampaign = {
1465
+ export type CreateCampaignCampaign = {
1092
1466
  /**
1093
1467
  * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
1094
1468
  */
@@ -1119,105 +1493,31 @@ export type CampaignStatusTransitionCampaign = {
1119
1493
  */
1120
1494
  timezone?: string | null | undefined;
1121
1495
  /**
1122
- * Days to run (e.g. ['monday','tuesday'])
1123
- */
1124
- runDays?: Array<string> | null | undefined;
1125
- /**
1126
- * Max actions per day
1127
- */
1128
- dailyActionLimit?: number | null | undefined;
1129
- /**
1130
- * When campaign was first started
1131
- */
1132
- startedAt?: string | null | undefined;
1133
- /**
1134
- * When campaign was completed
1135
- */
1136
- completedAt?: string | null | undefined;
1137
- stageCounts?: CampaignStatusTransitionStageCounts | undefined;
1138
- createdAt: string;
1139
- updatedAt: string;
1140
- };
1141
- /**
1142
- * Status updated
1143
- */
1144
- export type CampaignStatusTransitionResponse = {
1145
- success: true;
1146
- campaign: CampaignStatusTransitionCampaign;
1147
- /**
1148
- * Credits consumed by this call (always 0 for contacts queries).
1149
- */
1150
- creditsUsed: number;
1151
- /**
1152
- * Seconds to wait before next call of the same type (always 0 for contacts queries).
1496
+ * Days to run (e.g. ['monday','tuesday'])
1153
1497
  */
1154
- retryAfter: number;
1155
- };
1156
- export declare const ListCampaignContactsLifecycleStage: {
1157
- readonly Contact: "contact";
1158
- readonly Lead: "lead";
1159
- readonly Qualified: "qualified";
1160
- readonly Approved: "approved";
1161
- readonly Rejected: "rejected";
1162
- };
1163
- export type ListCampaignContactsLifecycleStage = ClosedEnum<typeof ListCampaignContactsLifecycleStage>;
1164
- export type ListCampaignContactsRequest = {
1165
- lifecycleStage?: ListCampaignContactsLifecycleStage | undefined;
1166
- source?: string | undefined;
1167
- sourceAngle?: string | undefined;
1168
- minHotScore?: number | undefined;
1169
- limit?: number | undefined;
1170
- offset?: number | undefined;
1498
+ runDays?: Array<string> | null | undefined;
1171
1499
  /**
1172
- * Campaign ID
1500
+ * Max actions per day
1173
1501
  */
1174
- campaignId: string;
1175
- };
1176
- export type ListCampaignContactsContact = {
1177
- id: string;
1178
- linkedinUrl: string;
1502
+ dailyActionLimit?: number | null | undefined;
1179
1503
  /**
1180
- * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
1504
+ * When campaign was first started
1181
1505
  */
1182
- profileUrn: string | null;
1506
+ startedAt?: string | null | undefined;
1183
1507
  /**
1184
- * LinkedIn vanity slug (e.g. joshuaau)
1508
+ * When campaign was completed
1185
1509
  */
1186
- publicIdentifier: string | null;
1187
- name: string;
1188
- lifecycleStage: string;
1189
- hotScore: number;
1190
- qualificationNotes: string | null;
1191
- notes: string | null;
1192
- stageChangedAt: string | null;
1193
- profileData: any | null;
1194
- profileUpdatedAt: string | null;
1195
- conversationData: any | null;
1196
- conversationUpdatedAt: string | null;
1197
- outreachStatus: string;
1198
- lastContactedAt: string | null;
1199
- lastRepliedAt: string | null;
1200
- nextFollowUpAt: string | null;
1201
- doNotContact: boolean;
1202
- tags: Array<string>;
1510
+ completedAt?: string | null | undefined;
1511
+ stageCounts?: CreateCampaignStageCounts | undefined;
1203
1512
  createdAt: string;
1204
1513
  updatedAt: string;
1205
- source: string;
1206
- sourceAngle: string | null;
1207
- addedAt: string;
1208
- };
1209
- export type ListCampaignContactsPagination = {
1210
- limit: number;
1211
- offset: number;
1212
- total: number;
1213
1514
  };
1214
1515
  /**
1215
- * Campaign contacts
1516
+ * Campaign created
1216
1517
  */
1217
- export type ListCampaignContactsResponse = {
1518
+ export type CreateCampaignResponse = {
1218
1519
  success: true;
1219
- contacts: Array<ListCampaignContactsContact>;
1220
- pagination: ListCampaignContactsPagination;
1520
+ campaign: CreateCampaignCampaign;
1221
1521
  /**
1222
1522
  * Credits consumed by this call (always 0 for contacts queries).
1223
1523
  */
@@ -1227,109 +1527,75 @@ export type ListCampaignContactsResponse = {
1227
1527
  */
1228
1528
  retryAfter: number;
1229
1529
  };
1230
- /**
1231
- * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
1232
- */
1233
- export declare const AddCampaignContactsSource: {
1234
- readonly Likes: "likes";
1235
- readonly Comments: "comments";
1236
- readonly Reposts: "reposts";
1237
- readonly Posts: "posts";
1238
- readonly CompanyFollowers: "company_followers";
1239
- readonly SearchResults: "search_results";
1240
- readonly ManualImport: "manual_import";
1241
- readonly EventAttendees: "event_attendees";
1242
- readonly GroupMembers: "group_members";
1243
- readonly EngagementScraping: "engagement_scraping";
1244
- readonly ContentSearch: "content_search";
1245
- readonly FollowersMining: "followers_mining";
1246
- readonly PeopleSearch: "people_search";
1247
- readonly JobSearch: "job_search";
1248
- readonly CompanySearch: "company_search";
1249
- readonly NetworkExpansion: "network_expansion";
1250
- readonly BulkVisit: "bulk_visit";
1251
- };
1252
- /**
1253
- * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
1254
- */
1255
- export type AddCampaignContactsSource = ClosedEnum<typeof AddCampaignContactsSource>;
1256
- /**
1257
- * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
1258
- */
1259
- export declare const AddCampaignContactsLifecycleStage: {
1260
- readonly Contact: "contact";
1261
- readonly Lead: "lead";
1262
- readonly Qualified: "qualified";
1263
- readonly Approved: "approved";
1264
- readonly Rejected: "rejected";
1265
- };
1266
- /**
1267
- * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
1268
- */
1269
- export type AddCampaignContactsLifecycleStage = ClosedEnum<typeof AddCampaignContactsLifecycleStage>;
1270
- export type AddCampaignContactsContact = {
1530
+ export type GetCampaignRequest = {
1271
1531
  /**
1272
- * LinkedIn profile URL, URN, or bare vanity name
1532
+ * Campaign ID
1273
1533
  */
1274
- linkedinUrl: string;
1534
+ campaignId: string;
1535
+ };
1536
+ export type GetCampaignStageCounts = {
1537
+ contact: number;
1538
+ lead: number;
1539
+ qualified: number;
1540
+ approved: number;
1541
+ rejected: number;
1542
+ };
1543
+ export type GetCampaignCampaign = {
1275
1544
  /**
1276
- * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...). Improves dedup when provided alongside a vanity URL.
1545
+ * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
1277
1546
  */
1278
- profileUrn?: string | null | undefined;
1547
+ id: string;
1279
1548
  /**
1280
- * LinkedIn vanity slug (e.g. joshuaau). Improves dedup when provided alongside a URN.
1549
+ * Human-readable campaign name.
1281
1550
  */
1282
- publicIdentifier?: string | null | undefined;
1551
+ name: string;
1283
1552
  /**
1284
- * Profile name
1553
+ * URL-safe slug auto-generated from name.
1285
1554
  */
1286
- name: string;
1555
+ slug?: string | null | undefined;
1556
+ description: string | null;
1557
+ context: string | null;
1558
+ type: string;
1559
+ status: string;
1560
+ totalContacts: number;
1287
1561
  /**
1288
- * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
1562
+ * Daily start time (HH:MM)
1289
1563
  */
1290
- source?: AddCampaignContactsSource | undefined;
1564
+ scheduledStartTime?: string | null | undefined;
1291
1565
  /**
1292
- * Which lead-gen angle found this (e.g., 'vp-sales-france')
1566
+ * Daily stop time (HH:MM)
1293
1567
  */
1294
- sourceAngle?: string | undefined;
1568
+ scheduledStopTime?: string | null | undefined;
1295
1569
  /**
1296
- * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
1570
+ * IANA timezone
1297
1571
  */
1298
- lifecycleStage?: AddCampaignContactsLifecycleStage | undefined;
1572
+ timezone?: string | null | undefined;
1299
1573
  /**
1300
- * Contact quality score (0-100)
1574
+ * Days to run (e.g. ['monday','tuesday'])
1301
1575
  */
1302
- hotScore?: number | undefined;
1576
+ runDays?: Array<string> | null | undefined;
1303
1577
  /**
1304
- * Agent reasoning for qualification decision
1578
+ * Max actions per day
1305
1579
  */
1306
- qualificationNotes?: string | undefined;
1307
- notes?: string | undefined;
1308
- };
1309
- export type AddCampaignContactsRequestBody = {
1580
+ dailyActionLimit?: number | null | undefined;
1310
1581
  /**
1311
- * Contacts to add (single or bulk)
1582
+ * When campaign was first started
1312
1583
  */
1313
- contacts: Array<AddCampaignContactsContact>;
1314
- };
1315
- export type AddCampaignContactsRequest = {
1584
+ startedAt?: string | null | undefined;
1316
1585
  /**
1317
- * Campaign ID
1586
+ * When campaign was completed
1318
1587
  */
1319
- campaignId: string;
1320
- body: AddCampaignContactsRequestBody;
1321
- };
1322
- export type AddCampaignContactsResults = {
1323
- created: number;
1324
- skipped: number;
1325
- errors: Array<string>;
1588
+ completedAt?: string | null | undefined;
1589
+ stageCounts?: GetCampaignStageCounts | undefined;
1590
+ createdAt: string;
1591
+ updatedAt: string;
1326
1592
  };
1327
1593
  /**
1328
- * Contacts added
1594
+ * Campaign details
1329
1595
  */
1330
- export type AddCampaignContactsResponse = {
1596
+ export type GetCampaignResponse = {
1331
1597
  success: true;
1332
- results: AddCampaignContactsResults;
1598
+ campaign: GetCampaignCampaign;
1333
1599
  /**
1334
1600
  * Credits consumed by this call (always 0 for contacts queries).
1335
1601
  */
@@ -1339,65 +1605,17 @@ export type AddCampaignContactsResponse = {
1339
1605
  */
1340
1606
  retryAfter: number;
1341
1607
  };
1342
- export type GetByUrlRequest = {
1608
+ export type DeleteCampaignRequest = {
1343
1609
  /**
1344
- * LinkedIn profile URL to look up
1610
+ * Campaign ID
1345
1611
  */
1346
- linkedinUrl: string;
1347
- };
1348
- export type GetByUrlActivity = {
1349
- id: string;
1350
- type: string;
1351
- content: string | null;
1352
- metadata: any | null;
1353
- createdAt: string;
1354
- };
1355
- export type GetByUrlCampaign = {
1356
1612
  campaignId: string;
1357
- campaignName: string;
1358
- campaignStatus: string;
1359
- source: string;
1360
- sourceAngle: string | null;
1361
- addedAt: string;
1362
- };
1363
- export type GetByUrlContact = {
1364
- id: string;
1365
- linkedinUrl: string;
1366
- /**
1367
- * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
1368
- */
1369
- profileUrn: string | null;
1370
- /**
1371
- * LinkedIn vanity slug (e.g. joshuaau)
1372
- */
1373
- publicIdentifier: string | null;
1374
- name: string;
1375
- lifecycleStage: string;
1376
- hotScore: number;
1377
- qualificationNotes: string | null;
1378
- notes: string | null;
1379
- stageChangedAt: string | null;
1380
- profileData: any | null;
1381
- profileUpdatedAt: string | null;
1382
- conversationData: any | null;
1383
- conversationUpdatedAt: string | null;
1384
- outreachStatus: string;
1385
- lastContactedAt: string | null;
1386
- lastRepliedAt: string | null;
1387
- nextFollowUpAt: string | null;
1388
- doNotContact: boolean;
1389
- tags: Array<string>;
1390
- createdAt: string;
1391
- updatedAt: string;
1392
- activities: Array<GetByUrlActivity>;
1393
- campaigns: Array<GetByUrlCampaign>;
1394
1613
  };
1395
1614
  /**
1396
- * Contact found
1615
+ * Campaign deleted
1397
1616
  */
1398
- export type GetByUrlResponse = {
1617
+ export type DeleteCampaignResponse = {
1399
1618
  success: true;
1400
- contact: GetByUrlContact;
1401
1619
  /**
1402
1620
  * Credits consumed by this call (always 0 for contacts queries).
1403
1621
  */
@@ -1407,398 +1625,659 @@ export type GetByUrlResponse = {
1407
1625
  */
1408
1626
  retryAfter: number;
1409
1627
  };
1410
- export declare const QueryParamStatus: {
1628
+ export declare const UpdateCampaignStatus: {
1411
1629
  readonly Draft: "draft";
1412
1630
  readonly Scheduled: "scheduled";
1413
- readonly Sending: "sending";
1414
- readonly Sent: "sent";
1631
+ readonly Running: "running";
1632
+ readonly Paused: "paused";
1633
+ readonly Completed: "completed";
1415
1634
  readonly Failed: "failed";
1416
- readonly Cancelled: "cancelled";
1417
- };
1418
- export type QueryParamStatus = ClosedEnum<typeof QueryParamStatus>;
1419
- export type ListMessagesRequest = {
1420
- status?: QueryParamStatus | undefined;
1421
- contactId?: string | undefined;
1422
- campaignSlug?: string | undefined;
1423
- limit?: number | undefined;
1424
- offset?: number | undefined;
1425
1635
  };
1426
- export declare const MessageStatus: {
1427
- readonly Draft: "draft";
1428
- readonly Scheduled: "scheduled";
1429
- readonly Sending: "sending";
1430
- readonly Sent: "sent";
1431
- readonly Failed: "failed";
1432
- readonly Cancelled: "cancelled";
1636
+ export type UpdateCampaignStatus = ClosedEnum<typeof UpdateCampaignStatus>;
1637
+ export type UpdateCampaignRequestBody = {
1638
+ name?: string | undefined;
1639
+ description?: string | undefined;
1640
+ context?: string | undefined;
1641
+ status?: UpdateCampaignStatus | undefined;
1642
+ scheduledStartTime?: string | undefined;
1643
+ scheduledStopTime?: string | undefined;
1644
+ timezone?: string | undefined;
1645
+ runDays?: Array<string> | undefined;
1646
+ dailyActionLimit?: number | null | undefined;
1433
1647
  };
1434
- export type MessageStatus = OpenEnum<typeof MessageStatus>;
1435
- export type ListMessagesMessage = {
1436
- id: string;
1437
- contactId: string;
1438
- /**
1439
- * Contact name (included in list, absent in create)
1440
- */
1441
- contactName?: string | null | undefined;
1648
+ export type UpdateCampaignRequest = {
1442
1649
  /**
1443
- * Contact LinkedIn URL (included in list, absent in create)
1650
+ * Campaign ID
1444
1651
  */
1445
- contactLinkedinUrl?: string | null | undefined;
1446
- message: string;
1447
- status: MessageStatus;
1448
- scheduledSendAt: string | null;
1449
- sentAt: string | null;
1450
- campaignSlug: string | null;
1652
+ campaignId: string;
1653
+ body: UpdateCampaignRequestBody;
1654
+ };
1655
+ export type UpdateCampaignStageCounts = {
1656
+ contact: number;
1657
+ lead: number;
1658
+ qualified: number;
1659
+ approved: number;
1660
+ rejected: number;
1661
+ };
1662
+ export type UpdateCampaignCampaign = {
1451
1663
  /**
1452
- * Error message if status is 'failed'
1664
+ * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
1453
1665
  */
1454
- errorMessage?: string | null | undefined;
1455
- createdAt: string;
1456
- };
1457
- /**
1458
- * Messages list
1459
- */
1460
- export type ListMessagesResponse = {
1461
- success: true;
1462
- messages: Array<ListMessagesMessage>;
1463
- total: number;
1464
- limit: number;
1465
- offset: number;
1666
+ id: string;
1466
1667
  /**
1467
- * Credits consumed (always 0 for workspace operations).
1668
+ * Human-readable campaign name.
1468
1669
  */
1469
- creditsUsed: number;
1670
+ name: string;
1470
1671
  /**
1471
- * Seconds to wait (always 0 for workspace operations).
1672
+ * URL-safe slug auto-generated from name.
1472
1673
  */
1473
- retryAfter: number;
1474
- };
1475
- /**
1476
- * Default 'draft'
1477
- */
1478
- export declare const CreateStatusRequest: {
1479
- readonly Draft: "draft";
1480
- readonly Scheduled: "scheduled";
1481
- };
1482
- /**
1483
- * Default 'draft'
1484
- */
1485
- export type CreateStatusRequest = ClosedEnum<typeof CreateStatusRequest>;
1486
- export type CreateRequest = {
1674
+ slug?: string | null | undefined;
1675
+ description: string | null;
1676
+ context: string | null;
1677
+ type: string;
1678
+ status: string;
1679
+ totalContacts: number;
1487
1680
  /**
1488
- * Internal contact ID
1681
+ * Daily start time (HH:MM)
1489
1682
  */
1490
- contactId: string;
1683
+ scheduledStartTime?: string | null | undefined;
1491
1684
  /**
1492
- * DM text
1685
+ * Daily stop time (HH:MM)
1493
1686
  */
1494
- message: string;
1687
+ scheduledStopTime?: string | null | undefined;
1495
1688
  /**
1496
- * Default 'draft'
1689
+ * IANA timezone
1497
1690
  */
1498
- status?: CreateStatusRequest | undefined;
1691
+ timezone?: string | null | undefined;
1499
1692
  /**
1500
- * ISO datetime for auto-send
1693
+ * Days to run (e.g. ['monday','tuesday'])
1501
1694
  */
1502
- scheduledSendAt?: string | undefined;
1503
- campaignSlug?: string | undefined;
1504
- };
1505
- export declare const ScheduledMessageStatus: {
1506
- readonly Draft: "draft";
1507
- readonly Scheduled: "scheduled";
1508
- readonly Sending: "sending";
1509
- readonly Sent: "sent";
1510
- readonly Failed: "failed";
1511
- readonly Cancelled: "cancelled";
1512
- };
1513
- export type ScheduledMessageStatus = OpenEnum<typeof ScheduledMessageStatus>;
1514
- export type ScheduledMessage = {
1515
- id: string;
1516
- contactId: string;
1695
+ runDays?: Array<string> | null | undefined;
1517
1696
  /**
1518
- * Contact name (included in list, absent in create)
1697
+ * Max actions per day
1519
1698
  */
1520
- contactName?: string | null | undefined;
1699
+ dailyActionLimit?: number | null | undefined;
1521
1700
  /**
1522
- * Contact LinkedIn URL (included in list, absent in create)
1701
+ * When campaign was first started
1523
1702
  */
1524
- contactLinkedinUrl?: string | null | undefined;
1525
- message: string;
1526
- status: ScheduledMessageStatus;
1527
- scheduledSendAt: string | null;
1528
- sentAt: string | null;
1529
- campaignSlug: string | null;
1703
+ startedAt?: string | null | undefined;
1530
1704
  /**
1531
- * Error message if status is 'failed'
1705
+ * When campaign was completed
1532
1706
  */
1533
- errorMessage?: string | null | undefined;
1707
+ completedAt?: string | null | undefined;
1708
+ stageCounts?: UpdateCampaignStageCounts | undefined;
1534
1709
  createdAt: string;
1710
+ updatedAt: string;
1535
1711
  };
1536
1712
  /**
1537
- * Message created
1713
+ * Campaign updated
1538
1714
  */
1539
- export type CreateResponse = {
1715
+ export type UpdateCampaignResponse = {
1540
1716
  success: true;
1541
- scheduledMessage: ScheduledMessage;
1717
+ campaign: UpdateCampaignCampaign;
1542
1718
  /**
1543
- * Credits consumed (always 0 for workspace operations).
1719
+ * Credits consumed by this call (always 0 for contacts queries).
1544
1720
  */
1545
1721
  creditsUsed: number;
1546
1722
  /**
1547
- * Seconds to wait (always 0 for workspace operations).
1723
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1548
1724
  */
1549
1725
  retryAfter: number;
1550
1726
  };
1551
- export type BatchScheduleRequest = {
1727
+ export declare const CampaignStatusTransitionAction: {
1728
+ readonly Activate: "activate";
1729
+ readonly Start: "start";
1730
+ readonly Pause: "pause";
1731
+ readonly Resume: "resume";
1732
+ readonly Complete: "complete";
1733
+ readonly Reset: "reset";
1734
+ };
1735
+ export type CampaignStatusTransitionAction = ClosedEnum<typeof CampaignStatusTransitionAction>;
1736
+ export type CampaignStatusTransitionRequestBody = {
1737
+ action: CampaignStatusTransitionAction;
1738
+ scheduledStartTime?: string | undefined;
1739
+ scheduledStopTime?: string | undefined;
1740
+ timezone?: string | undefined;
1741
+ runDays?: Array<string> | undefined;
1742
+ dailyActionLimit?: number | undefined;
1743
+ };
1744
+ export type CampaignStatusTransitionRequest = {
1745
+ /**
1746
+ * Campaign ID
1747
+ */
1748
+ campaignId: string;
1749
+ body: CampaignStatusTransitionRequestBody;
1750
+ };
1751
+ export type CampaignStatusTransitionStageCounts = {
1752
+ contact: number;
1753
+ lead: number;
1754
+ qualified: number;
1755
+ approved: number;
1756
+ rejected: number;
1757
+ };
1758
+ export type CampaignStatusTransitionCampaign = {
1552
1759
  /**
1553
- * Schedule all drafts for these contacts
1760
+ * Campaign unique ID (nanoid). Use this as campaignSlug in API calls.
1554
1761
  */
1555
- contactIds?: Array<string> | undefined;
1762
+ id: string;
1556
1763
  /**
1557
- * Schedule specific messages
1764
+ * Human-readable campaign name.
1558
1765
  */
1559
- messageIds?: Array<string> | undefined;
1766
+ name: string;
1560
1767
  /**
1561
- * ISO datetime for sending
1768
+ * URL-safe slug auto-generated from name.
1562
1769
  */
1563
- scheduledSendAt: string;
1770
+ slug?: string | null | undefined;
1771
+ description: string | null;
1772
+ context: string | null;
1773
+ type: string;
1774
+ status: string;
1775
+ totalContacts: number;
1564
1776
  /**
1565
- * Map of messageId → new content for last-minute edits before scheduling
1777
+ * Daily start time (HH:MM)
1566
1778
  */
1567
- editedMessages?: {
1568
- [k: string]: string;
1569
- } | undefined;
1570
- };
1571
- /**
1572
- * Messages scheduled
1573
- */
1574
- export type BatchScheduleResponse = {
1575
- success: true;
1779
+ scheduledStartTime?: string | null | undefined;
1576
1780
  /**
1577
- * Number of messages scheduled
1781
+ * Daily stop time (HH:MM)
1578
1782
  */
1579
- scheduled: number;
1783
+ scheduledStopTime?: string | null | undefined;
1580
1784
  /**
1581
- * ISO datetime for sending
1785
+ * IANA timezone
1582
1786
  */
1583
- scheduledSendAt: string;
1787
+ timezone?: string | null | undefined;
1584
1788
  /**
1585
- * Credits consumed (always 0 for workspace operations).
1789
+ * Days to run (e.g. ['monday','tuesday'])
1586
1790
  */
1587
- creditsUsed: number;
1791
+ runDays?: Array<string> | null | undefined;
1588
1792
  /**
1589
- * Seconds to wait (always 0 for workspace operations).
1793
+ * Max actions per day
1590
1794
  */
1591
- retryAfter: number;
1592
- };
1593
- export type CancelRequest = {
1795
+ dailyActionLimit?: number | null | undefined;
1594
1796
  /**
1595
- * Cancel specific messages
1797
+ * When campaign was first started
1596
1798
  */
1597
- messageIds?: Array<string> | undefined;
1799
+ startedAt?: string | null | undefined;
1598
1800
  /**
1599
- * Cancel all pending for these contacts
1801
+ * When campaign was completed
1600
1802
  */
1601
- contactIds?: Array<string> | undefined;
1803
+ completedAt?: string | null | undefined;
1804
+ stageCounts?: CampaignStatusTransitionStageCounts | undefined;
1805
+ createdAt: string;
1806
+ updatedAt: string;
1602
1807
  };
1603
1808
  /**
1604
- * Messages cancelled
1809
+ * Status updated
1605
1810
  */
1606
- export type CancelResponse = {
1811
+ export type CampaignStatusTransitionResponse = {
1607
1812
  success: true;
1608
- cancelled: number;
1813
+ campaign: CampaignStatusTransitionCampaign;
1609
1814
  /**
1610
- * Credits consumed (always 0 for workspace operations).
1815
+ * Credits consumed by this call (always 0 for contacts queries).
1611
1816
  */
1612
1817
  creditsUsed: number;
1613
1818
  /**
1614
- * Seconds to wait (always 0 for workspace operations).
1819
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1615
1820
  */
1616
1821
  retryAfter: number;
1617
1822
  };
1618
- export type ListEntriesRequest = {
1823
+ export declare const ListCampaignContactsLifecycleStage: {
1824
+ readonly Contact: "contact";
1825
+ readonly Lead: "lead";
1826
+ readonly Qualified: "qualified";
1827
+ readonly Approved: "approved";
1828
+ readonly Rejected: "rejected";
1829
+ };
1830
+ export type ListCampaignContactsLifecycleStage = ClosedEnum<typeof ListCampaignContactsLifecycleStage>;
1831
+ export type ListCampaignContactsRequest = {
1832
+ lifecycleStage?: ListCampaignContactsLifecycleStage | undefined;
1833
+ source?: string | undefined;
1834
+ sourceAngle?: string | undefined;
1835
+ minHotScore?: number | undefined;
1836
+ limit?: number | undefined;
1837
+ offset?: number | undefined;
1619
1838
  /**
1620
- * Filter by scope (e.g. "campaign:abc", "user")
1839
+ * Campaign ID
1621
1840
  */
1622
- scope?: string | undefined;
1841
+ campaignId: string;
1842
+ };
1843
+ export type ListCampaignContactsContact = {
1844
+ id: string;
1845
+ linkedinUrl: string;
1623
1846
  /**
1624
- * Filter by type (e.g. "icp", "tone-voice")
1847
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...)
1625
1848
  */
1626
- type?: string | undefined;
1627
- };
1628
- export type ListEntriesEntry = {
1849
+ profileUrn: string | null;
1629
1850
  /**
1630
- * Unique entry ID
1851
+ * LinkedIn vanity slug (e.g. joshuaau)
1631
1852
  */
1632
- id: string;
1633
- type: string;
1634
- label: string | null;
1635
- content: string;
1636
- scope: string;
1853
+ publicIdentifier: string | null;
1854
+ name: string;
1855
+ lifecycleStage: string;
1856
+ hotScore: number;
1857
+ qualificationNotes: string | null;
1858
+ notes: string | null;
1859
+ stageChangedAt: string | null;
1860
+ profileData: any | null;
1861
+ profileUpdatedAt: string | null;
1862
+ conversationData: any | null;
1863
+ conversationUpdatedAt: string | null;
1864
+ outreachStatus: string;
1865
+ lastContactedAt: string | null;
1866
+ lastRepliedAt: string | null;
1867
+ nextFollowUpAt: string | null;
1868
+ doNotContact: boolean;
1869
+ tags: Array<string>;
1870
+ createdAt: string;
1637
1871
  updatedAt: string;
1872
+ source: string;
1873
+ sourceAngle: string | null;
1874
+ addedAt: string;
1875
+ };
1876
+ export type ListCampaignContactsPagination = {
1877
+ limit: number;
1878
+ offset: number;
1879
+ total: number;
1638
1880
  };
1639
1881
  /**
1640
- * Context entries
1882
+ * Campaign contacts
1641
1883
  */
1642
- export type ListEntriesResponse = {
1884
+ export type ListCampaignContactsResponse = {
1643
1885
  success: true;
1644
- entries: Array<ListEntriesEntry>;
1886
+ contacts: Array<ListCampaignContactsContact>;
1887
+ pagination: ListCampaignContactsPagination;
1645
1888
  /**
1646
- * Credits consumed (always 0 for workspace operations).
1889
+ * Credits consumed by this call (always 0 for contacts queries).
1647
1890
  */
1648
1891
  creditsUsed: number;
1649
1892
  /**
1650
- * Seconds to wait (always 0 for workspace operations).
1893
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1651
1894
  */
1652
1895
  retryAfter: number;
1653
1896
  };
1654
- export type SetRequest = {
1655
- /**
1656
- * Context type: "user-profile", "product-pitch", "icp", "tone-voice", "playbook", or "custom:{slug}"
1657
- */
1658
- type: string;
1659
- /**
1660
- * Markdown content
1661
- */
1662
- content: string;
1663
- /**
1664
- * Defaults to "user"
1665
- */
1666
- scope?: string | undefined;
1667
- /**
1668
- * Display label
1669
- */
1670
- label?: string | undefined;
1897
+ /**
1898
+ * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
1899
+ */
1900
+ export declare const AddCampaignContactsSource: {
1901
+ readonly Likes: "likes";
1902
+ readonly Comments: "comments";
1903
+ readonly Reposts: "reposts";
1904
+ readonly Posts: "posts";
1905
+ readonly CompanyFollowers: "company_followers";
1906
+ readonly SearchResults: "search_results";
1907
+ readonly ManualImport: "manual_import";
1908
+ readonly EventAttendees: "event_attendees";
1909
+ readonly GroupMembers: "group_members";
1910
+ readonly EngagementScraping: "engagement_scraping";
1911
+ readonly ContentSearch: "content_search";
1912
+ readonly FollowersMining: "followers_mining";
1913
+ readonly PeopleSearch: "people_search";
1914
+ readonly JobSearch: "job_search";
1915
+ readonly CompanySearch: "company_search";
1916
+ readonly NetworkExpansion: "network_expansion";
1917
+ readonly BulkVisit: "bulk_visit";
1671
1918
  };
1672
- export type SetEntry = {
1673
- /**
1674
- * Unique entry ID
1675
- */
1676
- id: string;
1677
- type: string;
1678
- label: string | null;
1679
- content: string;
1680
- scope: string;
1681
- updatedAt: string;
1919
+ /**
1920
+ * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
1921
+ */
1922
+ export type AddCampaignContactsSource = ClosedEnum<typeof AddCampaignContactsSource>;
1923
+ /**
1924
+ * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
1925
+ */
1926
+ export declare const AddCampaignContactsLifecycleStage: {
1927
+ readonly Contact: "contact";
1928
+ readonly Lead: "lead";
1929
+ readonly Qualified: "qualified";
1930
+ readonly Approved: "approved";
1931
+ readonly Rejected: "rejected";
1682
1932
  };
1683
1933
  /**
1684
- * Context saved
1934
+ * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
1685
1935
  */
1686
- export type SetResponse = {
1687
- success: true;
1688
- entry: SetEntry;
1936
+ export type AddCampaignContactsLifecycleStage = ClosedEnum<typeof AddCampaignContactsLifecycleStage>;
1937
+ export type AddCampaignContactsContact = {
1689
1938
  /**
1690
- * Credits consumed (always 0 for workspace operations).
1939
+ * LinkedIn profile URL, URN, or bare vanity name
1691
1940
  */
1692
- creditsUsed: number;
1941
+ linkedinUrl: string;
1693
1942
  /**
1694
- * Seconds to wait (always 0 for workspace operations).
1943
+ * LinkedIn profile URN (e.g. urn:li:fsd_profile:ACoAAA...). Improves dedup when provided alongside a vanity URL.
1695
1944
  */
1696
- retryAfter: number;
1697
- };
1698
- export type DeleteRequest = {
1945
+ profileUrn?: string | null | undefined;
1699
1946
  /**
1700
- * Context type to delete
1947
+ * LinkedIn vanity slug (e.g. joshuaau). Improves dedup when provided alongside a URN.
1701
1948
  */
1702
- type: string;
1949
+ publicIdentifier?: string | null | undefined;
1703
1950
  /**
1704
- * Scope (defaults to "user")
1951
+ * Profile name
1705
1952
  */
1706
- scope?: string | undefined;
1707
- };
1708
- /**
1709
- * Context deleted
1710
- */
1711
- export type DeleteResponse = {
1712
- success: true;
1953
+ name: string;
1713
1954
  /**
1714
- * Credits consumed (always 0 for workspace operations).
1955
+ * How this contact was found. Optional for organic creation (defaults to manual_import), required for campaign-based addition. Unknown values default to manual_import.
1715
1956
  */
1716
- creditsUsed: number;
1957
+ source?: AddCampaignContactsSource | undefined;
1717
1958
  /**
1718
- * Seconds to wait (always 0 for workspace operations).
1959
+ * Which lead-gen angle found this (e.g., 'vp-sales-france')
1719
1960
  */
1720
- retryAfter: number;
1721
- };
1722
- export type Schedule = {
1723
- scheduleId: string;
1961
+ sourceAngle?: string | undefined;
1724
1962
  /**
1725
- * Human-readable schedule name (e.g. 'DM Polling', 'Draft Send')
1963
+ * Lifecycle stage. Defaults to 'contact' on creation. Omit when adding existing contacts to avoid downgrading their stage.
1726
1964
  */
1727
- name: string;
1728
- cron: string | null;
1729
- isPaused: boolean;
1965
+ lifecycleStage?: AddCampaignContactsLifecycleStage | undefined;
1730
1966
  /**
1731
- * ISO 8601 timestamp of last execution
1967
+ * Contact quality score (0-100)
1732
1968
  */
1733
- lastRun: string | null;
1969
+ hotScore?: number | undefined;
1734
1970
  /**
1735
- * ISO 8601 timestamp of next scheduled execution
1971
+ * Agent reasoning for qualification decision
1736
1972
  */
1737
- nextRun: string | null;
1973
+ qualificationNotes?: string | undefined;
1974
+ notes?: string | undefined;
1975
+ };
1976
+ export type AddCampaignContactsRequestBody = {
1738
1977
  /**
1739
- * Status of the last execution
1978
+ * Contacts to add (single or bulk)
1740
1979
  */
1741
- lastStatus: any | null;
1980
+ contacts: Array<AddCampaignContactsContact>;
1981
+ };
1982
+ export type AddCampaignContactsRequest = {
1742
1983
  /**
1743
- * The endpoint URL this schedule invokes
1984
+ * Campaign ID
1744
1985
  */
1745
- destination: string;
1986
+ campaignId: string;
1987
+ body: AddCampaignContactsRequestBody;
1988
+ };
1989
+ export type AddCampaignContactsResults = {
1990
+ created: number;
1991
+ skipped: number;
1992
+ errors: Array<string>;
1746
1993
  };
1747
1994
  /**
1748
- * Cron schedules
1995
+ * Contacts added
1749
1996
  */
1750
- export type ListSchedulesResponse = {
1997
+ export type AddCampaignContactsResponse = {
1751
1998
  success: true;
1752
- schedules: Array<Schedule>;
1999
+ results: AddCampaignContactsResults;
1753
2000
  /**
1754
- * Credits consumed (always 0 for workspace operations).
2001
+ * Credits consumed by this call (always 0 for contacts queries).
1755
2002
  */
1756
2003
  creditsUsed: number;
1757
2004
  /**
1758
- * Seconds to wait (always 0 for workspace operations).
2005
+ * Seconds to wait before next call of the same type (always 0 for contacts queries).
1759
2006
  */
1760
2007
  retryAfter: number;
1761
2008
  };
1762
- /**
1763
- * Action to perform
1764
- */
1765
- export declare const UpdateScheduleAction: {
1766
- readonly Pause: "pause";
1767
- readonly Resume: "resume";
1768
- readonly Delete: "delete";
1769
- };
1770
- /**
1771
- * Action to perform
1772
- */
1773
- export type UpdateScheduleAction = ClosedEnum<typeof UpdateScheduleAction>;
1774
- export type UpdateScheduleRequestBody = {
2009
+ export type GetByUrlRequest = {
1775
2010
  /**
1776
- * Action to perform
2011
+ * LinkedIn profile URL to look up
1777
2012
  */
1778
- action: UpdateScheduleAction;
2013
+ linkedinUrl: string;
1779
2014
  };
1780
- export type UpdateScheduleRequest = {
1781
- /**
1782
- * Schedule ID
1783
- */
1784
- scheduleId: string;
1785
- body: UpdateScheduleRequestBody;
2015
+ export type GetByUrlActivity = {
2016
+ id: string;
2017
+ type: string;
2018
+ content: string | null;
2019
+ metadata: any | null;
2020
+ createdAt: string;
1786
2021
  };
1787
- /**
1788
- * Schedule updated
1789
- */
1790
- export type UpdateScheduleResponse = {
1791
- success: true;
1792
- /**
1793
- * Credits consumed (always 0 for workspace operations).
1794
- */
1795
- creditsUsed: number;
1796
- /**
1797
- * Seconds to wait (always 0 for workspace operations).
1798
- */
1799
- retryAfter: number;
2022
+ export type GetByUrlCampaign = {
2023
+ campaignId: string;
2024
+ campaignName: string;
2025
+ campaignStatus: string;
2026
+ source: string;
2027
+ sourceAngle: string | null;
2028
+ addedAt: string;
2029
+ };
2030
+ /** @internal */
2031
+ export type UnarchiveRequest$Outbound = {
2032
+ conversationUrn: string;
2033
+ };
2034
+ /** @internal */
2035
+ export declare const UnarchiveRequest$outboundSchema: z.ZodMiniType<UnarchiveRequest$Outbound, UnarchiveRequest>;
2036
+ export declare function unarchiveRequestToJSON(unarchiveRequest: UnarchiveRequest): string;
2037
+ /** @internal */
2038
+ export declare const UnarchiveResponse$inboundSchema: z.ZodMiniType<UnarchiveResponse, unknown>;
2039
+ export declare function unarchiveResponseFromJSON(jsonString: string): SafeParseResult<UnarchiveResponse, SDKValidationError>;
2040
+ /** @internal */
2041
+ export type ListArchivedRequest$Outbound = {
2042
+ nextCursor?: string | undefined;
2043
+ };
2044
+ /** @internal */
2045
+ export declare const ListArchivedRequest$outboundSchema: z.ZodMiniType<ListArchivedRequest$Outbound, ListArchivedRequest>;
2046
+ export declare function listArchivedRequestToJSON(listArchivedRequest: ListArchivedRequest): string;
2047
+ /** @internal */
2048
+ export declare const ListArchivedParticipant$inboundSchema: z.ZodMiniType<ListArchivedParticipant, unknown>;
2049
+ export declare function listArchivedParticipantFromJSON(jsonString: string): SafeParseResult<ListArchivedParticipant, SDKValidationError>;
2050
+ /** @internal */
2051
+ export declare const ListArchivedLastMessage$inboundSchema: z.ZodMiniType<ListArchivedLastMessage, unknown>;
2052
+ export declare function listArchivedLastMessageFromJSON(jsonString: string): SafeParseResult<ListArchivedLastMessage, SDKValidationError>;
2053
+ /** @internal */
2054
+ export declare const ListArchivedConversation$inboundSchema: z.ZodMiniType<ListArchivedConversation, unknown>;
2055
+ export declare function listArchivedConversationFromJSON(jsonString: string): SafeParseResult<ListArchivedConversation, SDKValidationError>;
2056
+ /** @internal */
2057
+ export declare const ListArchivedResponse$inboundSchema: z.ZodMiniType<ListArchivedResponse, unknown>;
2058
+ export declare function listArchivedResponseFromJSON(jsonString: string): SafeParseResult<ListArchivedResponse, SDKValidationError>;
2059
+ /** @internal */
2060
+ export type ReactRequest$Outbound = {
2061
+ messageUrn: string;
2062
+ emoji: string;
2063
+ conversationUrn: string;
2064
+ };
2065
+ /** @internal */
2066
+ export declare const ReactRequest$outboundSchema: z.ZodMiniType<ReactRequest$Outbound, ReactRequest>;
2067
+ export declare function reactRequestToJSON(reactRequest: ReactRequest): string;
2068
+ /** @internal */
2069
+ export declare const ReactResponse$inboundSchema: z.ZodMiniType<ReactResponse, unknown>;
2070
+ export declare function reactResponseFromJSON(jsonString: string): SafeParseResult<ReactResponse, SDKValidationError>;
2071
+ /** @internal */
2072
+ export type UnreactRequest$Outbound = {
2073
+ messageUrn: string;
2074
+ emoji: string;
2075
+ conversationUrn: string;
2076
+ };
2077
+ /** @internal */
2078
+ export declare const UnreactRequest$outboundSchema: z.ZodMiniType<UnreactRequest$Outbound, UnreactRequest>;
2079
+ export declare function unreactRequestToJSON(unreactRequest: UnreactRequest): string;
2080
+ /** @internal */
2081
+ export declare const UnreactResponse$inboundSchema: z.ZodMiniType<UnreactResponse, unknown>;
2082
+ export declare function unreactResponseFromJSON(jsonString: string): SafeParseResult<UnreactResponse, SDKValidationError>;
2083
+ /** @internal */
2084
+ export type SendTypingIndicatorRequest$Outbound = {
2085
+ conversationUrn: string;
2086
+ };
2087
+ /** @internal */
2088
+ export declare const SendTypingIndicatorRequest$outboundSchema: z.ZodMiniType<SendTypingIndicatorRequest$Outbound, SendTypingIndicatorRequest>;
2089
+ export declare function sendTypingIndicatorRequestToJSON(sendTypingIndicatorRequest: SendTypingIndicatorRequest): string;
2090
+ /** @internal */
2091
+ export declare const SendTypingIndicatorResponse$inboundSchema: z.ZodMiniType<SendTypingIndicatorResponse, unknown>;
2092
+ export declare function sendTypingIndicatorResponseFromJSON(jsonString: string): SafeParseResult<SendTypingIndicatorResponse, SDKValidationError>;
2093
+ /** @internal */
2094
+ export declare const GetUnreadCountResponse$inboundSchema: z.ZodMiniType<GetUnreadCountResponse, unknown>;
2095
+ export declare function getUnreadCountResponseFromJSON(jsonString: string): SafeParseResult<GetUnreadCountResponse, SDKValidationError>;
2096
+ /** @internal */
2097
+ export type GetConversationSummaryRequest$Outbound = {
2098
+ profile: string;
2099
+ };
2100
+ /** @internal */
2101
+ export declare const GetConversationSummaryRequest$outboundSchema: z.ZodMiniType<GetConversationSummaryRequest$Outbound, GetConversationSummaryRequest>;
2102
+ export declare function getConversationSummaryRequestToJSON(getConversationSummaryRequest: GetConversationSummaryRequest): string;
2103
+ /** @internal */
2104
+ export declare const GetConversationSummaryResponse$inboundSchema: z.ZodMiniType<GetConversationSummaryResponse, unknown>;
2105
+ export declare function getConversationSummaryResponseFromJSON(jsonString: string): SafeParseResult<GetConversationSummaryResponse, SDKValidationError>;
2106
+ /** @internal */
2107
+ export type SaveConversationSummaryRequest$Outbound = {
2108
+ profile: string;
2109
+ summary: string;
2110
+ };
2111
+ /** @internal */
2112
+ export declare const SaveConversationSummaryRequest$outboundSchema: z.ZodMiniType<SaveConversationSummaryRequest$Outbound, SaveConversationSummaryRequest>;
2113
+ export declare function saveConversationSummaryRequestToJSON(saveConversationSummaryRequest: SaveConversationSummaryRequest): string;
2114
+ /** @internal */
2115
+ export declare const SaveConversationSummaryResponse$inboundSchema: z.ZodMiniType<SaveConversationSummaryResponse, unknown>;
2116
+ export declare function saveConversationSummaryResponseFromJSON(jsonString: string): SafeParseResult<SaveConversationSummaryResponse, SDKValidationError>;
2117
+ /** @internal */
2118
+ export type FilterRequest$Outbound = {
2119
+ campaignSlug: string;
2120
+ actionSlugs: string;
2121
+ };
2122
+ /** @internal */
2123
+ export declare const FilterRequest$outboundSchema: z.ZodMiniType<FilterRequest$Outbound, FilterRequest>;
2124
+ export declare function filterRequestToJSON(filterRequest: FilterRequest): string;
2125
+ /** @internal */
2126
+ export declare const CheckedSlug$inboundSchema: z.ZodMiniType<CheckedSlug, unknown>;
2127
+ export declare function checkedSlugFromJSON(jsonString: string): SafeParseResult<CheckedSlug, SDKValidationError>;
2128
+ /** @internal */
2129
+ export declare const FilterResponse$inboundSchema: z.ZodMiniType<FilterResponse, unknown>;
2130
+ export declare function filterResponseFromJSON(jsonString: string): SafeParseResult<FilterResponse, SDKValidationError>;
2131
+ /** @internal */
2132
+ export type GetStatusRequestBody$Outbound = {
2133
+ profiles: Array<string>;
2134
+ };
2135
+ /** @internal */
2136
+ export declare const GetStatusRequestBody$outboundSchema: z.ZodMiniType<GetStatusRequestBody$Outbound, GetStatusRequestBody>;
2137
+ export declare function getStatusRequestBodyToJSON(getStatusRequestBody: GetStatusRequestBody): string;
2138
+ /** @internal */
2139
+ export type GetStatusRequest$Outbound = {
2140
+ campaignSlug: string;
2141
+ body: GetStatusRequestBody$Outbound;
2142
+ };
2143
+ /** @internal */
2144
+ export declare const GetStatusRequest$outboundSchema: z.ZodMiniType<GetStatusRequest$Outbound, GetStatusRequest>;
2145
+ export declare function getStatusRequestToJSON(getStatusRequest: GetStatusRequest): string;
2146
+ /** @internal */
2147
+ export declare const GetStatusProfile$inboundSchema: z.ZodMiniType<GetStatusProfile, unknown>;
2148
+ export declare function getStatusProfileFromJSON(jsonString: string): SafeParseResult<GetStatusProfile, SDKValidationError>;
2149
+ /** @internal */
2150
+ export declare const GetStatusResponse$inboundSchema: z.ZodMiniType<GetStatusResponse, unknown>;
2151
+ export declare function getStatusResponseFromJSON(jsonString: string): SafeParseResult<GetStatusResponse, SDKValidationError>;
2152
+ /** @internal */
2153
+ export declare const SyncAction$outboundSchema: z.ZodMiniEnum<typeof SyncAction>;
2154
+ /** @internal */
2155
+ export type SyncProfile$Outbound = {
2156
+ profile: string;
2157
+ actions: Array<string>;
2158
+ };
2159
+ /** @internal */
2160
+ export declare const SyncProfile$outboundSchema: z.ZodMiniType<SyncProfile$Outbound, SyncProfile>;
2161
+ export declare function syncProfileToJSON(syncProfile: SyncProfile): string;
2162
+ /** @internal */
2163
+ export type SyncRequestBody$Outbound = {
2164
+ profiles: Array<SyncProfile$Outbound>;
2165
+ };
2166
+ /** @internal */
2167
+ export declare const SyncRequestBody$outboundSchema: z.ZodMiniType<SyncRequestBody$Outbound, SyncRequestBody>;
2168
+ export declare function syncRequestBodyToJSON(syncRequestBody: SyncRequestBody): string;
2169
+ /** @internal */
2170
+ export type SyncRequest$Outbound = {
2171
+ campaignSlug: string;
2172
+ body: SyncRequestBody$Outbound;
2173
+ };
2174
+ /** @internal */
2175
+ export declare const SyncRequest$outboundSchema: z.ZodMiniType<SyncRequest$Outbound, SyncRequest>;
2176
+ export declare function syncRequestToJSON(syncRequest: SyncRequest): string;
2177
+ /** @internal */
2178
+ export declare const Synced$inboundSchema: z.ZodMiniType<Synced, unknown>;
2179
+ export declare function syncedFromJSON(jsonString: string): SafeParseResult<Synced, SDKValidationError>;
2180
+ /** @internal */
2181
+ export declare const SyncResponse$inboundSchema: z.ZodMiniType<SyncResponse, unknown>;
2182
+ export declare function syncResponseFromJSON(jsonString: string): SafeParseResult<SyncResponse, SDKValidationError>;
2183
+ /** @internal */
2184
+ export type GetCampaignStatsRequest$Outbound = {
2185
+ campaignSlug: string;
2186
+ };
2187
+ /** @internal */
2188
+ export declare const GetCampaignStatsRequest$outboundSchema: z.ZodMiniType<GetCampaignStatsRequest$Outbound, GetCampaignStatsRequest>;
2189
+ export declare function getCampaignStatsRequestToJSON(getCampaignStatsRequest: GetCampaignStatsRequest): string;
2190
+ /** @internal */
2191
+ export declare const GetCampaignStatsResponse$inboundSchema: z.ZodMiniType<GetCampaignStatsResponse, unknown>;
2192
+ export declare function getCampaignStatsResponseFromJSON(jsonString: string): SafeParseResult<GetCampaignStatsResponse, SDKValidationError>;
2193
+ /** @internal */
2194
+ export type GlobalActivitiesRequest$Outbound = {
2195
+ type?: string | undefined;
2196
+ campaignId?: string | undefined;
2197
+ from?: string | undefined;
2198
+ to?: string | undefined;
2199
+ limit: number;
2200
+ offset: number;
2201
+ };
2202
+ /** @internal */
2203
+ export declare const GlobalActivitiesRequest$outboundSchema: z.ZodMiniType<GlobalActivitiesRequest$Outbound, GlobalActivitiesRequest>;
2204
+ export declare function globalActivitiesRequestToJSON(globalActivitiesRequest: GlobalActivitiesRequest): string;
2205
+ /** @internal */
2206
+ export declare const GlobalActivitiesActivity$inboundSchema: z.ZodMiniType<GlobalActivitiesActivity, unknown>;
2207
+ export declare function globalActivitiesActivityFromJSON(jsonString: string): SafeParseResult<GlobalActivitiesActivity, SDKValidationError>;
2208
+ /** @internal */
2209
+ export declare const GlobalActivitiesPagination$inboundSchema: z.ZodMiniType<GlobalActivitiesPagination, unknown>;
2210
+ export declare function globalActivitiesPaginationFromJSON(jsonString: string): SafeParseResult<GlobalActivitiesPagination, SDKValidationError>;
2211
+ /** @internal */
2212
+ export declare const GlobalActivitiesResponse$inboundSchema: z.ZodMiniType<GlobalActivitiesResponse, unknown>;
2213
+ export declare function globalActivitiesResponseFromJSON(jsonString: string): SafeParseResult<GlobalActivitiesResponse, SDKValidationError>;
2214
+ /** @internal */
2215
+ export declare const UpsertSource$outboundSchema: z.ZodMiniEnum<typeof UpsertSource>;
2216
+ /** @internal */
2217
+ export declare const UpsertLifecycleStage$outboundSchema: z.ZodMiniEnum<typeof UpsertLifecycleStage>;
2218
+ /** @internal */
2219
+ export type UpsertContactRequest$Outbound = {
2220
+ linkedinUrl: string;
2221
+ profileUrn?: string | null | undefined;
2222
+ publicIdentifier?: string | null | undefined;
2223
+ name: string;
2224
+ source: string;
2225
+ sourceAngle?: string | undefined;
2226
+ lifecycleStage?: string | undefined;
2227
+ hotScore?: number | undefined;
2228
+ qualificationNotes?: string | undefined;
2229
+ notes?: string | undefined;
2230
+ };
2231
+ /** @internal */
2232
+ export declare const UpsertContactRequest$outboundSchema: z.ZodMiniType<UpsertContactRequest$Outbound, UpsertContactRequest>;
2233
+ export declare function upsertContactRequestToJSON(upsertContactRequest: UpsertContactRequest): string;
2234
+ /** @internal */
2235
+ export type UpsertRequest$Outbound = {
2236
+ contacts: Array<UpsertContactRequest$Outbound>;
2237
+ };
2238
+ /** @internal */
2239
+ export declare const UpsertRequest$outboundSchema: z.ZodMiniType<UpsertRequest$Outbound, UpsertRequest>;
2240
+ export declare function upsertRequestToJSON(upsertRequest: UpsertRequest): string;
2241
+ /** @internal */
2242
+ export declare const UpsertResults$inboundSchema: z.ZodMiniType<UpsertResults, unknown>;
2243
+ export declare function upsertResultsFromJSON(jsonString: string): SafeParseResult<UpsertResults, SDKValidationError>;
2244
+ /** @internal */
2245
+ export declare const UpsertContactResponse$inboundSchema: z.ZodMiniType<UpsertContactResponse, unknown>;
2246
+ export declare function upsertContactResponseFromJSON(jsonString: string): SafeParseResult<UpsertContactResponse, SDKValidationError>;
2247
+ /** @internal */
2248
+ export declare const UpsertResponse$inboundSchema: z.ZodMiniType<UpsertResponse, unknown>;
2249
+ export declare function upsertResponseFromJSON(jsonString: string): SafeParseResult<UpsertResponse, SDKValidationError>;
2250
+ /** @internal */
2251
+ export declare const SearchContactsLifecycleStage$outboundSchema: z.ZodMiniEnum<typeof SearchContactsLifecycleStage>;
2252
+ /** @internal */
2253
+ export declare const SearchContactsOutreachStatus$outboundSchema: z.ZodMiniEnum<typeof SearchContactsOutreachStatus>;
2254
+ /** @internal */
2255
+ export declare const DoNotContact$outboundSchema: z.ZodMiniEnum<typeof DoNotContact>;
2256
+ /** @internal */
2257
+ export declare const HasProfileData$outboundSchema: z.ZodMiniEnum<typeof HasProfileData>;
2258
+ /** @internal */
2259
+ export type SearchContactsRequest$Outbound = {
2260
+ linkedinUrl?: string | undefined;
2261
+ name?: string | undefined;
2262
+ lifecycleStage?: string | undefined;
2263
+ sortBy?: string | undefined;
2264
+ minHotScore?: number | undefined;
2265
+ outreachStatus?: string | undefined;
2266
+ tag?: string | undefined;
2267
+ followUpBefore?: string | undefined;
2268
+ doNotContact?: string | undefined;
2269
+ hasProfileData?: string | undefined;
2270
+ campaignId?: string | undefined;
2271
+ limit: number;
2272
+ offset: number;
1800
2273
  };
1801
2274
  /** @internal */
2275
+ export declare const SearchContactsRequest$outboundSchema: z.ZodMiniType<SearchContactsRequest$Outbound, SearchContactsRequest>;
2276
+ export declare function searchContactsRequestToJSON(searchContactsRequest: SearchContactsRequest): string;
2277
+ /** @internal */
2278
+ export declare const SearchContactsCampaign$inboundSchema: z.ZodMiniType<SearchContactsCampaign, unknown>;
2279
+ export declare function searchContactsCampaignFromJSON(jsonString: string): SafeParseResult<SearchContactsCampaign, SDKValidationError>;
2280
+ /** @internal */
1802
2281
  export declare const SearchContactsContact$inboundSchema: z.ZodMiniType<SearchContactsContact, unknown>;
1803
2282
  export declare function searchContactsContactFromJSON(jsonString: string): SafeParseResult<SearchContactsContact, SDKValidationError>;
1804
2283
  /** @internal */
@@ -2305,145 +2784,4 @@ export declare function getByUrlActivityFromJSON(jsonString: string): SafeParseR
2305
2784
  /** @internal */
2306
2785
  export declare const GetByUrlCampaign$inboundSchema: z.ZodMiniType<GetByUrlCampaign, unknown>;
2307
2786
  export declare function getByUrlCampaignFromJSON(jsonString: string): SafeParseResult<GetByUrlCampaign, SDKValidationError>;
2308
- /** @internal */
2309
- export declare const GetByUrlContact$inboundSchema: z.ZodMiniType<GetByUrlContact, unknown>;
2310
- export declare function getByUrlContactFromJSON(jsonString: string): SafeParseResult<GetByUrlContact, SDKValidationError>;
2311
- /** @internal */
2312
- export declare const GetByUrlResponse$inboundSchema: z.ZodMiniType<GetByUrlResponse, unknown>;
2313
- export declare function getByUrlResponseFromJSON(jsonString: string): SafeParseResult<GetByUrlResponse, SDKValidationError>;
2314
- /** @internal */
2315
- export declare const QueryParamStatus$outboundSchema: z.ZodMiniEnum<typeof QueryParamStatus>;
2316
- /** @internal */
2317
- export type ListMessagesRequest$Outbound = {
2318
- status?: string | undefined;
2319
- contactId?: string | undefined;
2320
- campaignSlug?: string | undefined;
2321
- limit: number;
2322
- offset: number;
2323
- };
2324
- /** @internal */
2325
- export declare const ListMessagesRequest$outboundSchema: z.ZodMiniType<ListMessagesRequest$Outbound, ListMessagesRequest>;
2326
- export declare function listMessagesRequestToJSON(listMessagesRequest: ListMessagesRequest): string;
2327
- /** @internal */
2328
- export declare const MessageStatus$inboundSchema: z.ZodMiniType<MessageStatus, unknown>;
2329
- /** @internal */
2330
- export declare const ListMessagesMessage$inboundSchema: z.ZodMiniType<ListMessagesMessage, unknown>;
2331
- export declare function listMessagesMessageFromJSON(jsonString: string): SafeParseResult<ListMessagesMessage, SDKValidationError>;
2332
- /** @internal */
2333
- export declare const ListMessagesResponse$inboundSchema: z.ZodMiniType<ListMessagesResponse, unknown>;
2334
- export declare function listMessagesResponseFromJSON(jsonString: string): SafeParseResult<ListMessagesResponse, SDKValidationError>;
2335
- /** @internal */
2336
- export declare const CreateStatusRequest$outboundSchema: z.ZodMiniEnum<typeof CreateStatusRequest>;
2337
- /** @internal */
2338
- export type CreateRequest$Outbound = {
2339
- contactId: string;
2340
- message: string;
2341
- status?: string | undefined;
2342
- scheduledSendAt?: string | undefined;
2343
- campaignSlug?: string | undefined;
2344
- };
2345
- /** @internal */
2346
- export declare const CreateRequest$outboundSchema: z.ZodMiniType<CreateRequest$Outbound, CreateRequest>;
2347
- export declare function createRequestToJSON(createRequest: CreateRequest): string;
2348
- /** @internal */
2349
- export declare const ScheduledMessageStatus$inboundSchema: z.ZodMiniType<ScheduledMessageStatus, unknown>;
2350
- /** @internal */
2351
- export declare const ScheduledMessage$inboundSchema: z.ZodMiniType<ScheduledMessage, unknown>;
2352
- export declare function scheduledMessageFromJSON(jsonString: string): SafeParseResult<ScheduledMessage, SDKValidationError>;
2353
- /** @internal */
2354
- export declare const CreateResponse$inboundSchema: z.ZodMiniType<CreateResponse, unknown>;
2355
- export declare function createResponseFromJSON(jsonString: string): SafeParseResult<CreateResponse, SDKValidationError>;
2356
- /** @internal */
2357
- export type BatchScheduleRequest$Outbound = {
2358
- contactIds?: Array<string> | undefined;
2359
- messageIds?: Array<string> | undefined;
2360
- scheduledSendAt: string;
2361
- editedMessages?: {
2362
- [k: string]: string;
2363
- } | undefined;
2364
- };
2365
- /** @internal */
2366
- export declare const BatchScheduleRequest$outboundSchema: z.ZodMiniType<BatchScheduleRequest$Outbound, BatchScheduleRequest>;
2367
- export declare function batchScheduleRequestToJSON(batchScheduleRequest: BatchScheduleRequest): string;
2368
- /** @internal */
2369
- export declare const BatchScheduleResponse$inboundSchema: z.ZodMiniType<BatchScheduleResponse, unknown>;
2370
- export declare function batchScheduleResponseFromJSON(jsonString: string): SafeParseResult<BatchScheduleResponse, SDKValidationError>;
2371
- /** @internal */
2372
- export type CancelRequest$Outbound = {
2373
- messageIds?: Array<string> | undefined;
2374
- contactIds?: Array<string> | undefined;
2375
- };
2376
- /** @internal */
2377
- export declare const CancelRequest$outboundSchema: z.ZodMiniType<CancelRequest$Outbound, CancelRequest>;
2378
- export declare function cancelRequestToJSON(cancelRequest: CancelRequest): string;
2379
- /** @internal */
2380
- export declare const CancelResponse$inboundSchema: z.ZodMiniType<CancelResponse, unknown>;
2381
- export declare function cancelResponseFromJSON(jsonString: string): SafeParseResult<CancelResponse, SDKValidationError>;
2382
- /** @internal */
2383
- export type ListEntriesRequest$Outbound = {
2384
- scope?: string | undefined;
2385
- type?: string | undefined;
2386
- };
2387
- /** @internal */
2388
- export declare const ListEntriesRequest$outboundSchema: z.ZodMiniType<ListEntriesRequest$Outbound, ListEntriesRequest>;
2389
- export declare function listEntriesRequestToJSON(listEntriesRequest: ListEntriesRequest): string;
2390
- /** @internal */
2391
- export declare const ListEntriesEntry$inboundSchema: z.ZodMiniType<ListEntriesEntry, unknown>;
2392
- export declare function listEntriesEntryFromJSON(jsonString: string): SafeParseResult<ListEntriesEntry, SDKValidationError>;
2393
- /** @internal */
2394
- export declare const ListEntriesResponse$inboundSchema: z.ZodMiniType<ListEntriesResponse, unknown>;
2395
- export declare function listEntriesResponseFromJSON(jsonString: string): SafeParseResult<ListEntriesResponse, SDKValidationError>;
2396
- /** @internal */
2397
- export type SetRequest$Outbound = {
2398
- type: string;
2399
- content: string;
2400
- scope?: string | undefined;
2401
- label?: string | undefined;
2402
- };
2403
- /** @internal */
2404
- export declare const SetRequest$outboundSchema: z.ZodMiniType<SetRequest$Outbound, SetRequest>;
2405
- export declare function setRequestToJSON(setRequest: SetRequest): string;
2406
- /** @internal */
2407
- export declare const SetEntry$inboundSchema: z.ZodMiniType<SetEntry, unknown>;
2408
- export declare function setEntryFromJSON(jsonString: string): SafeParseResult<SetEntry, SDKValidationError>;
2409
- /** @internal */
2410
- export declare const SetResponse$inboundSchema: z.ZodMiniType<SetResponse, unknown>;
2411
- export declare function setResponseFromJSON(jsonString: string): SafeParseResult<SetResponse, SDKValidationError>;
2412
- /** @internal */
2413
- export type DeleteRequest$Outbound = {
2414
- type: string;
2415
- scope?: string | undefined;
2416
- };
2417
- /** @internal */
2418
- export declare const DeleteRequest$outboundSchema: z.ZodMiniType<DeleteRequest$Outbound, DeleteRequest>;
2419
- export declare function deleteRequestToJSON(deleteRequest: DeleteRequest): string;
2420
- /** @internal */
2421
- export declare const DeleteResponse$inboundSchema: z.ZodMiniType<DeleteResponse, unknown>;
2422
- export declare function deleteResponseFromJSON(jsonString: string): SafeParseResult<DeleteResponse, SDKValidationError>;
2423
- /** @internal */
2424
- export declare const Schedule$inboundSchema: z.ZodMiniType<Schedule, unknown>;
2425
- export declare function scheduleFromJSON(jsonString: string): SafeParseResult<Schedule, SDKValidationError>;
2426
- /** @internal */
2427
- export declare const ListSchedulesResponse$inboundSchema: z.ZodMiniType<ListSchedulesResponse, unknown>;
2428
- export declare function listSchedulesResponseFromJSON(jsonString: string): SafeParseResult<ListSchedulesResponse, SDKValidationError>;
2429
- /** @internal */
2430
- export declare const UpdateScheduleAction$outboundSchema: z.ZodMiniEnum<typeof UpdateScheduleAction>;
2431
- /** @internal */
2432
- export type UpdateScheduleRequestBody$Outbound = {
2433
- action: string;
2434
- };
2435
- /** @internal */
2436
- export declare const UpdateScheduleRequestBody$outboundSchema: z.ZodMiniType<UpdateScheduleRequestBody$Outbound, UpdateScheduleRequestBody>;
2437
- export declare function updateScheduleRequestBodyToJSON(updateScheduleRequestBody: UpdateScheduleRequestBody): string;
2438
- /** @internal */
2439
- export type UpdateScheduleRequest$Outbound = {
2440
- scheduleId: string;
2441
- body: UpdateScheduleRequestBody$Outbound;
2442
- };
2443
- /** @internal */
2444
- export declare const UpdateScheduleRequest$outboundSchema: z.ZodMiniType<UpdateScheduleRequest$Outbound, UpdateScheduleRequest>;
2445
- export declare function updateScheduleRequestToJSON(updateScheduleRequest: UpdateScheduleRequest): string;
2446
- /** @internal */
2447
- export declare const UpdateScheduleResponse$inboundSchema: z.ZodMiniType<UpdateScheduleResponse, unknown>;
2448
- export declare function updateScheduleResponseFromJSON(jsonString: string): SafeParseResult<UpdateScheduleResponse, SDKValidationError>;
2449
- //# sourceMappingURL=update-schedule-response.d.ts.map
2787
+ //# sourceMappingURL=get-by-url-campaign.d.ts.map