@graph8/sdk 0.251.0 → 0.262.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 (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +105 -7
  4. package/dist/index.d.ts +105 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +103 -7
  10. package/dist/react.d.ts +103 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1697 -0
  140. package/docs/api/deals.md +2436 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,866 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.search`: Search
4
+
5
+ 19 operations (13 read, 1 write, 1 destructive, 4 billable).
6
+
7
+ 4 of these also have a hand-written method (`g8.enrich`, `g8.search`), marked **★** below. Prefer the hand-written method when one exists: it unwraps the `data` envelope and takes friendlier arguments. See [../sdk-clients.md](../sdk-clients.md).
8
+
9
+ Every example below assumes this setup (server-side, API key):
10
+
11
+ ```ts
12
+ import { g8 } from "@graph8/sdk";
13
+
14
+ g8.init({ apiKey: process.env.G8_API_KEY! });
15
+ ```
16
+
17
+ Example values are placeholders that match each field's type. Only required fields are shown. Every example is type-checked against the SDK in CI.
18
+
19
+ Exact TypeScript types for every operation on this page, and every schema they use: [search.d.ts](search.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`deleteSavedSearch`](#op-deletesavedsearch) | `DELETE /api/v1/search/saved-searches/{query_id}` | destructive | `search:delete` | Delete Saved Search |
26
+ | [`getAutocompleteSuggestions`](#op-getautocompletesuggestions) | `GET /api/v1/search/autocomplete` | read | `search:read` | Get Autocomplete Suggestions |
27
+ | [`getFilterOptions`](#op-getfilteroptions) | `GET /api/v1/search/filter-options` | read | `search:read` | Get Filter Options |
28
+ | [`getFilteredFilterOptions`](#op-getfilteredfilteroptions) | `POST /api/v1/search/filter-options` | read | `search:read` | Get Filtered Filter Options |
29
+ | [`getSearchSignalOptions`](#op-getsearchsignaloptions) | `GET /api/v1/search/signals/options` | read | `search:read` | Get Search Signal Options |
30
+ | [`listIntentTopics`](#op-listintenttopics) | `GET /api/v1/search/filter-options/intent-topics` | read | `search:read` | List Intent Topics |
31
+ | [`listSavedSearches`](#op-listsavedsearches) | `GET /api/v1/search/saved-searches` | read | `search:read` | List Saved Searches |
32
+ | [`listWorkspaceSearchSections`](#op-listworkspacesearchsections) | `GET /api/v1/search/workspace/sections` | read | `search:read` | List Workspace Search Sections |
33
+ | [`previewSearchSignal`](#op-previewsearchsignal) | `POST /api/v1/search/signals/preview` | read | `search:read` | Preview Search Signal |
34
+ | [`saveCompanySearch`](#op-savecompanysearch) ★ | `POST /api/v1/search/companies/save` | billable | `search:run` | Save Company Search |
35
+ | [`saveContactSearch`](#op-savecontactsearch) ★ | `POST /api/v1/search/contacts/save` | billable | `search:run` | Save Contact Search |
36
+ | [`saveSearch`](#op-savesearch) | `POST /api/v1/search/saved-searches` | write | `search:write` | Save Search |
37
+ | [`searchCompanies`](#op-searchcompanies) ★ | `POST /api/v1/search/companies` | billable | `search:run` | Search Companies |
38
+ | [`searchContacts`](#op-searchcontacts) ★ | `POST /api/v1/search/contacts` | billable | `search:run` | Search Contacts |
39
+ | [`searchCrmEntities`](#op-searchcrmentities) | `GET /api/v1/search/entities` | read | `search:read` | Search Crm Entities |
40
+ | [`searchWorkspaceDocuments`](#op-searchworkspacedocuments) | `POST /api/v1/search/workspace` | read | `search:read` | Search Workspace Documents |
41
+ | [`searchWorkspaceGlobal`](#op-searchworkspaceglobal) | `GET /api/v1/search/global` | read | `search:read` | Search Workspace Global |
42
+ | [`suggestSearchSignalTech`](#op-suggestsearchsignaltech) | `GET /api/v1/search/signals/tech` | read | `search:read` | Suggest Search Signal Tech |
43
+ | [`suggestWorkspaceSearch`](#op-suggestworkspacesearch) | `POST /api/v1/search/workspace/suggest` | read | `search:read` | Suggest Workspace Search |
44
+
45
+ ---
46
+
47
+ <a id="op-deletesavedsearch"></a>
48
+
49
+ ### `g8.api.search.deleteSavedSearch(input)`
50
+
51
+ **Delete Saved Search**
52
+
53
+ - HTTP: `DELETE /api/v1/search/saved-searches/{query_id}`
54
+ - operationId: `delete_saved_search_search_saved_searches__query_id__delete` (also callable as `g8.api.call("delete_saved_search_search_saved_searches__query_id__delete", input)`)
55
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
56
+ - API-key scope: `search:delete`
57
+
58
+ Delete a saved search.
59
+
60
+ SOFT: the row is marked deleted rather than removed, and nothing that was
61
+ ever found by it is touched. Someone else's saved search is a 404, not a
62
+ 403, for the same reason the write above is.
63
+
64
+ **Input**
65
+
66
+ | Field | Type | Required | Description |
67
+ |---|---|---|---|
68
+ | `path.query_id` | `integer` | yes | Saved-search id. |
69
+
70
+ **Returns** `ApiResponse_SearchDiscoveryPayload_`: the envelope `{ data: SearchDiscoveryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
71
+
72
+ Other envelope fields: `pagination` (PaginationMeta).
73
+
74
+ **Example**
75
+
76
+ ```ts
77
+ // destructive: deletes or archives data; confirm with a human before calling.
78
+ const result = await g8.api.search.deleteSavedSearch({ path: { query_id: 123 } });
79
+ ```
80
+
81
+ ---
82
+
83
+ <a id="op-getautocompletesuggestions"></a>
84
+
85
+ ### `g8.api.search.getAutocompleteSuggestions(input)`
86
+
87
+ **Get Autocomplete Suggestions**
88
+
89
+ - HTTP: `GET /api/v1/search/autocomplete`
90
+ - operationId: `get_autocomplete_suggestions_search_autocomplete_get` (also callable as `g8.api.call("get_autocomplete_suggestions_search_autocomplete_get", input)`)
91
+ - Tier: `read`: reads data; safe to call and to retry
92
+ - API-key scope: `search:read`
93
+
94
+ Type-ahead over one field's values.
95
+
96
+ The counterpart to `filter-options` for fields whose value set is too large
97
+ to enumerate - company name and domain especially, where the backend also
98
+ expands domains (`amazon` matches `amazon.com`) and ranks by company score
99
+ rather than alphabetically.
100
+
101
+ **Input**
102
+
103
+ | Field | Type | Required | Description |
104
+ |---|---|---|---|
105
+ | `query.resource` | `"contacts" \| "companies"` | yes | Which vocabulary `field` is in. |
106
+ | `query.field` | `string` | yes | Developer field name to search within. |
107
+ | `query.value` | `string` | yes | What the person has typed so far. |
108
+ | `query.size` | `integer` | no | How many suggestions to return. default `5` |
109
+
110
+ **Returns** `ApiResponse_SearchDiscoveryPayload_`: the envelope `{ data: SearchDiscoveryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
111
+
112
+ Other envelope fields: `pagination` (PaginationMeta).
113
+
114
+ **Example**
115
+
116
+ ```ts
117
+ const result = await g8.api.search.getAutocompleteSuggestions({
118
+ query: { resource: "contacts", field: "example", value: "example" },
119
+ });
120
+ ```
121
+
122
+ ---
123
+
124
+ <a id="op-getfilteroptions"></a>
125
+
126
+ ### `g8.api.search.getFilterOptions(input)`
127
+
128
+ **Get Filter Options**
129
+
130
+ - HTTP: `GET /api/v1/search/filter-options`
131
+ - operationId: `get_filter_options_search_filter_options_get` (also callable as `g8.api.call("get_filter_options_search_filter_options_get", input)`)
132
+ - Tier: `read`: reads data; safe to call and to retry
133
+ - API-key scope: `search:read`
134
+
135
+ Every distinct value a field holds, across the whole open-data index.
136
+
137
+ Read this BEFORE writing a filter. The `id` of each option is exactly what
138
+ `POST /search/{resource}` expects as a filter value, so the two can be
139
+ chained without any guessing in between.
140
+
141
+ Cached server-side, so repeated calls are cheap. It does not consume
142
+ credits.
143
+
144
+ **Input**
145
+
146
+ | Field | Type | Required | Description |
147
+ |---|---|---|---|
148
+ | `query.resource` | `"contacts" \| "companies"` | yes | Which vocabulary the field names are in. |
149
+ | `query.fields` | `Array<string>` | yes | Developer field names, REPEATABLE (`?fields=company_industry&fields=seniority_level`). The same names `POST /search/{resource}` takes. |
150
+
151
+ **Returns** `ApiResponse_dict_str__list_FilterOptionItem___`: the envelope `{ data: Record<string, Array<FilterOptionItem>>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
152
+
153
+ Other envelope fields: `pagination` (PaginationMeta).
154
+
155
+ **Example**
156
+
157
+ ```ts
158
+ const result = await g8.api.search.getFilterOptions({ query: { resource: "contacts", fields: ["example"] } });
159
+ ```
160
+
161
+ ---
162
+
163
+ <a id="op-getfilteredfilteroptions"></a>
164
+
165
+ ### `g8.api.search.getFilteredFilterOptions(input)`
166
+
167
+ **Get Filtered Filter Options**
168
+
169
+ - HTTP: `POST /api/v1/search/filter-options`
170
+ - operationId: `get_filtered_filter_options_search_filter_options_post` (also callable as `g8.api.call("get_filtered_filter_options_search_filter_options_post", input)`)
171
+ - Tier: `read`: reads data; safe to call and to retry
172
+ - API-key scope: `search:read`
173
+
174
+ The same values, but only those present in a SUBSET of the index.
175
+
176
+ The difference matters: `GET /search/filter-options` answers "what
177
+ industries exist", this answers "what industries exist among companies in
178
+ Spain". Building a dependent filter off the unfiltered list offers the
179
+ caller values that cannot return a single row once the other filters are
180
+ applied.
181
+
182
+ `filters` must contain at least one condition, which is the same refusal
183
+ `POST /search/contacts` makes - an unfiltered request scans the entire
184
+ open-data index.
185
+
186
+ **Input**
187
+
188
+ | Field | Type | Required | Description |
189
+ |---|---|---|---|
190
+ | `body` | `FilterOptionsRequest` | yes | Request body; fields below. |
191
+
192
+ Body fields (`FilterOptionsRequest`):
193
+
194
+ | Field | Type | Required | Description |
195
+ |---|---|---|---|
196
+ | `body.fields` | `Array<string>` | yes | Developer field names, as used by `POST /search/{resource}`. min items 1 |
197
+ | `body.resource` | `"contacts" \| "companies"` | yes | Which index the field names belong to. Decides the vocabulary. |
198
+ | `body.filters` | `Array<SearchFilter>` | no | Filter conditions (AND logic) |
199
+ | `body.limit` | `integer` | no | Results per page (max 100) default `25`, min 1, max 100 |
200
+ | `body.page` | `integer` | no | Page number (1-indexed) default `1`, min 1, max 100 |
201
+
202
+ **Returns** `ApiResponse_dict_str__list_FilterOptionItem___`: the envelope `{ data: Record<string, Array<FilterOptionItem>>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
203
+
204
+ Other envelope fields: `pagination` (PaginationMeta).
205
+
206
+ **Example**
207
+
208
+ ```ts
209
+ const result = await g8.api.search.getFilteredFilterOptions({ body: { fields: ["example"], resource: "contacts" } });
210
+ ```
211
+
212
+ ---
213
+
214
+ <a id="op-getsearchsignaloptions"></a>
215
+
216
+ ### `g8.api.search.getSearchSignalOptions(input?)`
217
+
218
+ **Get Search Signal Options**
219
+
220
+ - HTTP: `GET /api/v1/search/signals/options`
221
+ - operationId: `get_search_signal_options_search_signals_options_get` (also callable as `g8.api.call("get_search_signal_options_search_signals_options_get", input)`)
222
+ - Tier: `read`: reads data; safe to call and to retry
223
+ - API-key scope: `search:read`
224
+
225
+ Company categories, detected technologies and data horizons for signal filters.
226
+
227
+ **Input**: none.
228
+
229
+ **Returns** `ApiResponse_WorkspaceSearchPayload_`: the envelope `{ data: WorkspaceSearchPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
230
+
231
+ Other envelope fields: `pagination` (PaginationMeta).
232
+
233
+ **Example**
234
+
235
+ ```ts
236
+ const result = await g8.api.search.getSearchSignalOptions();
237
+ ```
238
+
239
+ ---
240
+
241
+ <a id="op-listintenttopics"></a>
242
+
243
+ ### `g8.api.search.listIntentTopics(input?)`
244
+
245
+ **List Intent Topics**
246
+
247
+ - HTTP: `GET /api/v1/search/filter-options/intent-topics`
248
+ - operationId: `list_intent_topics_search_filter_options_intent_topics_get` (also callable as `g8.api.call("list_intent_topics_search_filter_options_intent_topics_get", input)`)
249
+ - Tier: `read`: reads data; safe to call and to retry
250
+ - API-key scope: `search:read`
251
+
252
+ The intent topics a buying-intent filter can name.
253
+
254
+ Topics carry their own numeric ids rather than the string ids the other
255
+ filter options use, so this is a separate read rather than another entry
256
+ in `filter-options`.
257
+
258
+ **Input**: none.
259
+
260
+ **Returns** `ApiResponse_list_`: the envelope `{ data: Array<unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
261
+
262
+ Other envelope fields: `pagination` (PaginationMeta).
263
+
264
+ **Example**
265
+
266
+ ```ts
267
+ const result = await g8.api.search.listIntentTopics();
268
+ ```
269
+
270
+ ---
271
+
272
+ <a id="op-listsavedsearches"></a>
273
+
274
+ ### `g8.api.search.listSavedSearches(input?)`
275
+
276
+ **List Saved Searches**
277
+
278
+ - HTTP: `GET /api/v1/search/saved-searches`
279
+ - operationId: `list_saved_searches_search_saved_searches_get` (also callable as `g8.api.call("list_saved_searches_search_saved_searches_get", input)`)
280
+ - Tier: `read`: reads data; safe to call and to retry
281
+ - API-key scope: `search:read`
282
+
283
+ Saved searches belonging to the KEY'S OWN identity.
284
+
285
+ Scoped server-side to one identity rather than to the organisation, exactly
286
+ as the in-app route is - so this lists what the key itself saved, not what
287
+ the whole team saved. A personal key sees the minting user's saved
288
+ searches; an organisation key has no person behind it and sees only what
289
+ that credential saved through this API.
290
+
291
+ **Input**
292
+
293
+ | Field | Type | Required | Description |
294
+ |---|---|---|---|
295
+ | `query.scope` | `string \| null` | no | Only saved searches over this resource, e.g. `contacts`. |
296
+
297
+ **Returns** `ApiResponse_list_`: the envelope `{ data: Array<unknown>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
298
+
299
+ Other envelope fields: `pagination` (PaginationMeta).
300
+
301
+ **Example**
302
+
303
+ ```ts
304
+ const result = await g8.api.search.listSavedSearches();
305
+ ```
306
+
307
+ ---
308
+
309
+ <a id="op-listworkspacesearchsections"></a>
310
+
311
+ ### `g8.api.search.listWorkspaceSearchSections(input?)`
312
+
313
+ **List Workspace Search Sections**
314
+
315
+ - HTTP: `GET /api/v1/search/workspace/sections`
316
+ - operationId: `list_workspace_search_sections_search_workspace_sections_get` (also callable as `g8.api.call("list_workspace_search_sections_search_workspace_sections_get", input)`)
317
+ - Tier: `read`: reads data; safe to call and to retry
318
+ - API-key scope: `search:read`
319
+
320
+ The sections workspace search can be filtered to.
321
+
322
+ **Input**: none.
323
+
324
+ **Returns** `ApiResponse_WorkspaceSearchListPayload_`: the envelope `{ data: WorkspaceSearchListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
325
+
326
+ Other envelope fields: `pagination` (PaginationMeta).
327
+
328
+ `WorkspaceSearchListPayload` fields:
329
+
330
+ | Field | Type | Required | Description |
331
+ |---|---|---|---|
332
+ | `items` | `Array<unknown>` | no | |
333
+
334
+ **Example**
335
+
336
+ ```ts
337
+ const result = await g8.api.search.listWorkspaceSearchSections();
338
+ ```
339
+
340
+ ---
341
+
342
+ <a id="op-previewsearchsignal"></a>
343
+
344
+ ### `g8.api.search.previewSearchSignal(input)`
345
+
346
+ **Preview Search Signal**
347
+
348
+ - HTTP: `POST /api/v1/search/signals/preview`
349
+ - operationId: `preview_search_signal_search_signals_preview_post` (also callable as `g8.api.call("preview_search_signal_search_signals_preview_post", input)`)
350
+ - Tier: `read`: reads data; safe to call and to retry
351
+ - API-key scope: `search:read`
352
+
353
+ How many companies one signal matches on its own, before any other filter.
354
+
355
+ **Input**
356
+
357
+ | Field | Type | Required | Description |
358
+ |---|---|---|---|
359
+ | `body` | `SearchSignalFilter` | yes | Request body; fields below. |
360
+
361
+ Body fields (`SearchSignalFilter`):
362
+
363
+ | Field | Type | Required | Description |
364
+ |---|---|---|---|
365
+ | `body.type` | `"hiring" \| "tech" \| "company_type" \| "describes" \| "lookalike" \| "new_in_role"` | yes | |
366
+ | `body.categories` | `Array<string>` | no | company_type: category ids. |
367
+ | `body.days` | `integer` | no | hiring / new_in_role: look-back window. default `30`, min 1, max 730 |
368
+ | `body.domains` | `Array<string>` | no | lookalike: seed company domains. |
369
+ | `body.exclude_staffing` | `boolean` | no | default `true` |
370
+ | `body.facet` | `"what" \| "sells" \| "serves"` | no | default `"what"` |
371
+ | `body.match` | `"any" \| "all"` | no | default `"any"` |
372
+ | `body.min_roles` | `integer` | no | default `1`, min 1, max 100 |
373
+ | `body.negate` | `boolean` | no | Match companies WITHOUT the signal (hiring, tech, company_type). default `false` |
374
+ | `body.roles` | `Array<string>` | no | hiring: role titles. |
375
+ | `body.status` | `"new" \| "open"` | no | default `"new"` |
376
+ | `body.techs` | `Array<string>` | no | tech: technologies. |
377
+ | `body.text` | `string` | no | describes: what the companies do. default `""` |
378
+ | `body.top_k` | `integer` | no | default `300`, min 10, max 5000 |
379
+
380
+ **Returns** `ApiResponse_WorkspaceSearchPayload_`: the envelope `{ data: WorkspaceSearchPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
381
+
382
+ Other envelope fields: `pagination` (PaginationMeta).
383
+
384
+ **Example**
385
+
386
+ ```ts
387
+ const result = await g8.api.search.previewSearchSignal({ body: { type: "hiring" } });
388
+ ```
389
+
390
+ ---
391
+
392
+ <a id="op-savecompanysearch"></a>
393
+
394
+ ### `g8.api.search.saveCompanySearch(input)`
395
+
396
+ **Save Company Search**
397
+
398
+ - HTTP: `POST /api/v1/search/companies/save`
399
+ - operationId: `save_company_search_search_companies_save_post` (also callable as `g8.api.call("save_company_search_search_companies_save_post", input)`)
400
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
401
+ - API-key scope: `search:run`
402
+ - ★ Hand-written: [`g8.search.saveCompanies()`](../sdk-clients.md#g8-search-savecompanies)
403
+
404
+ Search companies and save matching results to a new list.
405
+
406
+ **Input**
407
+
408
+ | Field | Type | Required | Description |
409
+ |---|---|---|---|
410
+ | `body` | `SearchSaveRequest` | yes | Request body; fields below. |
411
+
412
+ Body fields (`SearchSaveRequest`):
413
+
414
+ | Field | Type | Required | Description |
415
+ |---|---|---|---|
416
+ | `body.list_title` | `string` | yes | Title for the new list |
417
+ | `body.filters` | `Array<SearchFilter>` | no | Filter conditions (AND logic) |
418
+ | `body.limit` | `integer` | no | Results per page (max 100) default `25`, min 1, max 100 |
419
+ | `body.max_results` | `integer` | no | Maximum results to save (max 10,000) default `1000`, min 1, max 10000 |
420
+ | `body.page` | `integer` | no | Page number (1-indexed) default `1`, min 1, max 100 |
421
+
422
+ **Returns** `ApiResponse_SearchSaveResponse_`: the envelope `{ data: SearchSaveResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
423
+
424
+ Other envelope fields: `pagination` (PaginationMeta).
425
+
426
+ `SearchSaveResponse` fields:
427
+
428
+ | Field | Type | Required | Description |
429
+ |---|---|---|---|
430
+ | `estimated_total` | `integer` | yes | |
431
+ | `list_id` | `integer` | yes | |
432
+ | `list_title` | `string` | yes | |
433
+ | `status` | `string` | no | default `"processing"` |
434
+
435
+ **Example**
436
+
437
+ ```ts
438
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
439
+ const result = await g8.api.search.saveCompanySearch({ body: { list_title: "Example" } });
440
+ ```
441
+
442
+ ---
443
+
444
+ <a id="op-savecontactsearch"></a>
445
+
446
+ ### `g8.api.search.saveContactSearch(input)`
447
+
448
+ **Save Contact Search**
449
+
450
+ - HTTP: `POST /api/v1/search/contacts/save`
451
+ - operationId: `save_contact_search_search_contacts_save_post` (also callable as `g8.api.call("save_contact_search_search_contacts_save_post", input)`)
452
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
453
+ - API-key scope: `search:run`
454
+ - ★ Hand-written: [`g8.search.saveContacts()`](../sdk-clients.md#g8-search-savecontacts)
455
+
456
+ Search protected contact data and save matching results to a new list.
457
+
458
+ **Input**
459
+
460
+ | Field | Type | Required | Description |
461
+ |---|---|---|---|
462
+ | `body` | `SearchSaveRequest` | yes | Request body; fields below. |
463
+
464
+ Body fields (`SearchSaveRequest`):
465
+
466
+ | Field | Type | Required | Description |
467
+ |---|---|---|---|
468
+ | `body.list_title` | `string` | yes | Title for the new list |
469
+ | `body.filters` | `Array<SearchFilter>` | no | Filter conditions (AND logic) |
470
+ | `body.limit` | `integer` | no | Results per page (max 100) default `25`, min 1, max 100 |
471
+ | `body.max_results` | `integer` | no | Maximum results to save (max 10,000) default `1000`, min 1, max 10000 |
472
+ | `body.page` | `integer` | no | Page number (1-indexed) default `1`, min 1, max 100 |
473
+
474
+ **Returns** `ApiResponse_SearchSaveResponse_`: the envelope `{ data: SearchSaveResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
475
+
476
+ Other envelope fields: `pagination` (PaginationMeta).
477
+
478
+ `SearchSaveResponse` fields:
479
+
480
+ | Field | Type | Required | Description |
481
+ |---|---|---|---|
482
+ | `estimated_total` | `integer` | yes | |
483
+ | `list_id` | `integer` | yes | |
484
+ | `list_title` | `string` | yes | |
485
+ | `status` | `string` | no | default `"processing"` |
486
+
487
+ **Example**
488
+
489
+ ```ts
490
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
491
+ const result = await g8.api.search.saveContactSearch({ body: { list_title: "Example" } });
492
+ ```
493
+
494
+ ---
495
+
496
+ <a id="op-savesearch"></a>
497
+
498
+ ### `g8.api.search.saveSearch(input)`
499
+
500
+ **Save Search**
501
+
502
+ - HTTP: `POST /api/v1/search/saved-searches`
503
+ - operationId: `save_search_search_saved_searches_post` (also callable as `g8.api.call("save_search_search_saved_searches_post", input)`)
504
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
505
+ - API-key scope: `search:write`
506
+
507
+ Store a search so it can be run again.
508
+
509
+ Sending `id` REPLACES that saved search rather than creating a second one -
510
+ which is why a caller looping over a list should send the id back, not omit
511
+ it. A saved search belonging to someone else comes back as a 404 rather
512
+ than a 403, so a guessed id cannot confirm that it exists.
513
+
514
+ `icp_query` is stored verbatim and is not interpreted here.
515
+
516
+ **Input**
517
+
518
+ | Field | Type | Required | Description |
519
+ |---|---|---|---|
520
+ | `body` | `SaveSearchRequest` | yes | Request body; fields below. |
521
+
522
+ Body fields (`SaveSearchRequest`):
523
+
524
+ | Field | Type | Required | Description |
525
+ |---|---|---|---|
526
+ | `body.icp_query` | `Record<string, unknown>` | yes | The search itself. Opaque and round-tripped as-is. |
527
+ | `body.scope` | `string` | yes | What the saved search is over - `contacts` or `companies` today. Deliberately a free string rather than a closed enum, matching the app, which is designed to add more. min length 1, max length 64 |
528
+ | `body.title` | `string` | yes | min length 1, max length 255 |
529
+ | `body.id` | `integer \| null` | no | Send the id of an existing saved search to REPLACE it. |
530
+
531
+ **Returns** `ApiResponse_SearchDiscoveryPayload_`: the envelope `{ data: SearchDiscoveryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
532
+
533
+ Other envelope fields: `pagination` (PaginationMeta).
534
+
535
+ **Example**
536
+
537
+ ```ts
538
+ const result = await g8.api.search.saveSearch({ body: { icp_query: {}, scope: "example", title: "Example" } });
539
+ ```
540
+
541
+ ---
542
+
543
+ <a id="op-searchcompanies"></a>
544
+
545
+ ### `g8.api.search.searchCompanies(input)`
546
+
547
+ **Search Companies**
548
+
549
+ - HTTP: `POST /api/v1/search/companies`
550
+ - operationId: `search_companies_search_companies_post` (also callable as `g8.api.call("search_companies_search_companies_post", input)`)
551
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
552
+ - API-key scope: `search:run`
553
+ - ★ Hand-written: [`g8.search.companies()`](../sdk-clients.md#g8-search-companies)
554
+
555
+ Search open company data with the org's deliverability policy applied.
556
+
557
+ **Input**
558
+
559
+ | Field | Type | Required | Description |
560
+ |---|---|---|---|
561
+ | `body` | `SearchRequest` | yes | Request body; fields below. |
562
+
563
+ Body fields (`SearchRequest`):
564
+
565
+ | Field | Type | Required | Description |
566
+ |---|---|---|---|
567
+ | `body.filters` | `Array<SearchFilter>` | no | Filter conditions (AND logic) |
568
+ | `body.limit` | `integer` | no | Results per page (max 100) default `25`, min 1, max 100 |
569
+ | `body.page` | `integer` | no | Page number (1-indexed) default `1`, min 1, max 100 |
570
+
571
+ **Returns** `ApiResponse_list_SearchCompanyItem__`: the envelope `{ data: Array<SearchCompanyItem>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
572
+
573
+ Other envelope fields: `pagination` (PaginationMeta).
574
+
575
+ `SearchCompanyItem` fields:
576
+
577
+ | Field | Type | Required | Description |
578
+ |---|---|---|---|
579
+ | `address` | `string \| null` | no | |
580
+ | `city` | `string \| null` | no | |
581
+ | `country` | `string \| null` | no | |
582
+ | `crunchbase_url` | `string \| null` | no | |
583
+ | `description` | `string \| null` | no | |
584
+ | `domain` | `string \| null` | no | |
585
+ | `employee_count` | `string \| null` | no | |
586
+ | `facebook_url` | `string \| null` | no | |
587
+ | `founded_year` | `integer \| null` | no | |
588
+ | `industry` | `string \| null` | no | |
589
+ | `industry_group` | `string \| null` | no | |
590
+ | `linkedin_followers` | `string \| null` | no | |
591
+ | `linkedin_url` | `string \| null` | no | |
592
+ | `logo_url` | `string \| null` | no | |
593
+ | `name` | `string \| null` | no | |
594
+ | `phone` | `string \| null` | no | |
595
+ | `revenue` | `string \| null` | no | |
596
+ | `state` | `string \| null` | no | |
597
+ | `twitter_url` | `string \| null` | no | |
598
+ | `website` | `string \| null` | no | |
599
+ | `zip` | `integer \| null` | no | |
600
+
601
+ **Example**
602
+
603
+ ```ts
604
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
605
+ const result = await g8.api.search.searchCompanies({ body: {} });
606
+ ```
607
+
608
+ ---
609
+
610
+ <a id="op-searchcontacts"></a>
611
+
612
+ ### `g8.api.search.searchContacts(input)`
613
+
614
+ **Search Contacts**
615
+
616
+ - HTTP: `POST /api/v1/search/contacts`
617
+ - operationId: `search_contacts_search_contacts_post` (also callable as `g8.api.call("search_contacts_search_contacts_post", input)`)
618
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
619
+ - API-key scope: `search:run`
620
+ - ★ Hand-written: [`g8.enrich.search()`](../sdk-clients.md#g8-enrich-search), [`g8.search.contacts()`](../sdk-clients.md#g8-search-contacts)
621
+
622
+ Search open contact data with the org's deliverability policy applied.
623
+
624
+ **Input**
625
+
626
+ | Field | Type | Required | Description |
627
+ |---|---|---|---|
628
+ | `body` | `SearchRequest` | yes | Request body; fields below. |
629
+
630
+ Body fields (`SearchRequest`):
631
+
632
+ | Field | Type | Required | Description |
633
+ |---|---|---|---|
634
+ | `body.filters` | `Array<SearchFilter>` | no | Filter conditions (AND logic) |
635
+ | `body.limit` | `integer` | no | Results per page (max 100) default `25`, min 1, max 100 |
636
+ | `body.page` | `integer` | no | Page number (1-indexed) default `1`, min 1, max 100 |
637
+
638
+ **Returns** `ApiResponse_list_SearchContactItem__`: the envelope `{ data: Array<SearchContactItem>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
639
+
640
+ Other envelope fields: `pagination` (PaginationMeta).
641
+
642
+ `SearchContactItem` fields:
643
+
644
+ | Field | Type | Required | Description |
645
+ |---|---|---|---|
646
+ | `city` | `string \| null` | no | |
647
+ | `company_country` | `string \| null` | no | |
648
+ | `company_domain` | `string \| null` | no | |
649
+ | `company_employee_count` | `string \| null` | no | |
650
+ | `company_industry` | `string \| null` | no | |
651
+ | `company_name` | `string \| null` | no | |
652
+ | `confidence_score` | `integer \| null` | no | |
653
+ | `country` | `string \| null` | no | |
654
+ | `direct_phone` | `string \| null` | no | |
655
+ | `first_name` | `string \| null` | no | |
656
+ | `job_department` | `string \| null` | no | |
657
+ | `job_title` | `string \| null` | no | |
658
+ | `last_name` | `string \| null` | no | |
659
+ | `linkedin_headline` | `string \| null` | no | |
660
+ | `linkedin_url` | `string \| null` | no | |
661
+ | `middle_name` | `string \| null` | no | |
662
+ | `mobile_phone` | `string \| null` | no | |
663
+ | `personal_emails` | `string \| null` | no | |
664
+ | `role` | `string \| null` | no | |
665
+ | `seniority_level` | `string \| null` | no | |
666
+ | `state` | `string \| null` | no | |
667
+ | `work_email` | `string \| null` | no | |
668
+
669
+ **Example**
670
+
671
+ ```ts
672
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
673
+ const result = await g8.api.search.searchContacts({ body: {} });
674
+ ```
675
+
676
+ ---
677
+
678
+ <a id="op-searchcrmentities"></a>
679
+
680
+ ### `g8.api.search.searchCrmEntities(input)`
681
+
682
+ **Search Crm Entities**
683
+
684
+ - HTTP: `GET /api/v1/search/entities`
685
+ - operationId: `search_crm_entities_search_entities_get` (also callable as `g8.api.call("search_crm_entities_search_entities_get", input)`)
686
+ - Tier: `read`: reads data; safe to call and to retry
687
+ - API-key scope: `search:read`
688
+
689
+ Companies, contacts and deals by name, limited to what this key may see.
690
+
691
+ **Input**
692
+
693
+ | Field | Type | Required | Description |
694
+ |---|---|---|---|
695
+ | `query.q` | `string` | yes | |
696
+ | `query.types` | `string \| null` | no | Comma-separated: companies,contacts,deals. |
697
+ | `query.lifecycle` | `string \| null` | no | Only records in this lifecycle stage. |
698
+ | `query.limit` | `integer` | no | Results per record type. default `10` |
699
+
700
+ **Returns** `ApiResponse_WorkspaceSearchPayload_`: the envelope `{ data: WorkspaceSearchPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
701
+
702
+ Other envelope fields: `pagination` (PaginationMeta).
703
+
704
+ **Example**
705
+
706
+ ```ts
707
+ const result = await g8.api.search.searchCrmEntities({ query: { q: "example" } });
708
+ ```
709
+
710
+ ---
711
+
712
+ <a id="op-searchworkspacedocuments"></a>
713
+
714
+ ### `g8.api.search.searchWorkspaceDocuments(input)`
715
+
716
+ **Search Workspace Documents**
717
+
718
+ - HTTP: `POST /api/v1/search/workspace`
719
+ - operationId: `search_workspace_documents_search_workspace_post` (also callable as `g8.api.call("search_workspace_documents_search_workspace_post", input)`)
720
+ - Tier: `read`: reads data; safe to call and to retry
721
+ - API-key scope: `search:read`
722
+
723
+ Search Studio's documents, intelligence and research.
724
+
725
+ **Input**
726
+
727
+ | Field | Type | Required | Description |
728
+ |---|---|---|---|
729
+ | `body` | `WorkspaceSearchRequest` | yes | Request body; fields below. |
730
+
731
+ Body fields (`WorkspaceSearchRequest`):
732
+
733
+ | Field | Type | Required | Description |
734
+ |---|---|---|---|
735
+ | `body.query` | `string` | yes | |
736
+ | `body.filters` | `Record<string, unknown> \| null` | no | |
737
+ | `body.k` | `integer` | no | How many results. default `20` |
738
+ | `body.search_type` | `"semantic" \| "exact" \| "hybrid" \| "auto"` | no | `auto` picks keyword or semantic from the wording of the query. default `"auto"` |
739
+
740
+ **Returns** `ApiResponse_WorkspaceSearchPayload_`: the envelope `{ data: WorkspaceSearchPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
741
+
742
+ Other envelope fields: `pagination` (PaginationMeta).
743
+
744
+ **Example**
745
+
746
+ ```ts
747
+ const result = await g8.api.search.searchWorkspaceDocuments({ body: { query: "example" } });
748
+ ```
749
+
750
+ ---
751
+
752
+ <a id="op-searchworkspaceglobal"></a>
753
+
754
+ ### `g8.api.search.searchWorkspaceGlobal(input)`
755
+
756
+ **Search Workspace Global**
757
+
758
+ - HTTP: `GET /api/v1/search/global`
759
+ - operationId: `search_workspace_global_search_global_get` (also callable as `g8.api.call("search_workspace_global_search_global_get", input)`)
760
+ - Tier: `read`: reads data; safe to call and to retry
761
+ - API-key scope: `search:read`
762
+
763
+ One query across companies, people, campaigns, deals and documents.
764
+
765
+ **Input**
766
+
767
+ | Field | Type | Required | Description |
768
+ |---|---|---|---|
769
+ | `query.q` | `string` | yes | |
770
+ | `query.limit` | `integer` | no | Results per category. default `5` |
771
+
772
+ **Returns** `ApiResponse_WorkspaceSearchPayload_`: the envelope `{ data: WorkspaceSearchPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
773
+
774
+ Other envelope fields: `pagination` (PaginationMeta).
775
+
776
+ **Example**
777
+
778
+ ```ts
779
+ const result = await g8.api.search.searchWorkspaceGlobal({ query: { q: "example" } });
780
+ ```
781
+
782
+ ---
783
+
784
+ <a id="op-suggestsearchsignaltech"></a>
785
+
786
+ ### `g8.api.search.suggestSearchSignalTech(input)`
787
+
788
+ **Suggest Search Signal Tech**
789
+
790
+ - HTTP: `GET /api/v1/search/signals/tech`
791
+ - operationId: `suggest_search_signal_tech_search_signals_tech_get` (also callable as `g8.api.call("suggest_search_signal_tech_search_signals_tech_get", input)`)
792
+ - Tier: `read`: reads data; safe to call and to retry
793
+ - API-key scope: `search:read`
794
+
795
+ Technologies matching a partial name, with how many companies use each.
796
+
797
+ **Input**
798
+
799
+ | Field | Type | Required | Description |
800
+ |---|---|---|---|
801
+ | `query.q` | `string` | yes | |
802
+
803
+ **Returns** `ApiResponse_WorkspaceSearchListPayload_`: the envelope `{ data: WorkspaceSearchListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
804
+
805
+ Other envelope fields: `pagination` (PaginationMeta).
806
+
807
+ `WorkspaceSearchListPayload` fields:
808
+
809
+ | Field | Type | Required | Description |
810
+ |---|---|---|---|
811
+ | `items` | `Array<unknown>` | no | |
812
+
813
+ **Example**
814
+
815
+ ```ts
816
+ const result = await g8.api.search.suggestSearchSignalTech({ query: { q: "example" } });
817
+ ```
818
+
819
+ ---
820
+
821
+ <a id="op-suggestworkspacesearch"></a>
822
+
823
+ ### `g8.api.search.suggestWorkspaceSearch(input)`
824
+
825
+ **Suggest Workspace Search**
826
+
827
+ - HTTP: `POST /api/v1/search/workspace/suggest`
828
+ - operationId: `suggest_workspace_search_search_workspace_suggest_post` (also callable as `g8.api.call("suggest_workspace_search_search_workspace_suggest_post", input)`)
829
+ - Tier: `read`: reads data; safe to call and to retry
830
+ - API-key scope: `search:read`
831
+
832
+ Completions for a partial workspace query.
833
+
834
+ **Input**
835
+
836
+ | Field | Type | Required | Description |
837
+ |---|---|---|---|
838
+ | `query.query` | `string` | yes | What has been typed so far. |
839
+
840
+ **Returns** `ApiResponse_WorkspaceSearchPayload_`: the envelope `{ data: WorkspaceSearchPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
841
+
842
+ Other envelope fields: `pagination` (PaginationMeta).
843
+
844
+ **Example**
845
+
846
+ ```ts
847
+ const result = await g8.api.search.suggestWorkspaceSearch({ query: { query: "example" } });
848
+ ```
849
+
850
+ ---
851
+
852
+ ## Referenced types
853
+
854
+ Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
855
+
856
+ <a id="type-searchfilter"></a>
857
+
858
+ ### `SearchFilter`
859
+
860
+ A single filter condition.
861
+
862
+ | Field | Type | Required | Description |
863
+ |---|---|---|---|
864
+ | `field` | `string` | yes | Field name to filter on (e.g., 'job_title', 'country', 'industry') |
865
+ | `operator` | `SearchOperator` | yes | Filter operator |
866
+ | `value` | `Array<unknown>` | no | Filter values |