@graph8/sdk 0.251.0 → 0.260.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 +104 -7
  4. package/dist/index.d.ts +104 -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 +102 -7
  10. package/dist/react.d.ts +102 -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 +1696 -0
  140. package/docs/api/deals.md +2432 -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,1765 @@
1
+ /* Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. */
2
+
3
+ /**
4
+ * Types for `g8.api.desk` (Desk): 71 operations.
5
+ *
6
+ * For reading. In code, import from the package instead:
7
+ * import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
8
+ * type In = ApiInput<"apply_account_plan_desk_accounts__account_id__plan_apply_post">;
9
+ *
10
+ * Reference with examples: desk.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.desk.<member>` -> the operationId it calls. */
15
+ export interface DeskMembers {
16
+ applyAccountPlan: "apply_account_plan_desk_accounts__account_id__plan_apply_post";
17
+ askDesk: "ask_desk_desk_ask_post";
18
+ checkCommitteePlay: "check_committee_play_desk_accounts__account_id__committee_plays__action_id__check_get";
19
+ checkDeskPlanStageSweep: "check_desk_plan_stage_sweep_desk_org_settings_plan_stages_check_get";
20
+ createOrReplanAccountPlan: "create_or_replan_account_plan_desk_accounts__account_id__plan_post";
21
+ decideDeskPlayApproval: "decide_desk_play_approval_desk_plays_approvals__execution_id__decide_post";
22
+ draftAccountPlan: "draft_account_plan_desk_accounts__account_id__plan_draft_post";
23
+ editAccountCommittee: "edit_account_committee_desk_accounts__account_id__committee_post";
24
+ findCommitteeMemberLinkedin: "find_committee_member_linkedin_desk_accounts__account_id__committee__contact_id__find_linkedin_post";
25
+ getAccountContext: "get_account_context_desk_accounts__account_id__context_get";
26
+ getAccountPlan: "get_account_plan_desk_accounts__account_id__plan_get";
27
+ getAccountPlanHistory: "get_account_plan_history_desk_accounts__account_id__plan_history_get";
28
+ getDeskAutonomy: "get_desk_autonomy_desk_autonomy_get";
29
+ getDeskBatch: "get_desk_batch_desk_batch_get";
30
+ getDeskBlockQueue: "get_desk_block_queue_desk_blocks__list_id__queue_get";
31
+ getDeskCallTarget: "get_desk_call_target_desk_decisions__decision_id__call_target_post";
32
+ getDeskCommitteeHeat: "get_desk_committee_heat_desk_committee_heat_get";
33
+ getDeskCommitteeTargets: "get_desk_committee_targets_desk_committee_targets_get";
34
+ getDeskComplianceSummary: "get_desk_compliance_summary_desk_compliance_summary_get";
35
+ getDeskContactCallTarget: "get_desk_contact_call_target_desk_contacts__contact_id__call_target_post";
36
+ getDeskCoverage: "get_desk_coverage_desk_coverage_get";
37
+ getDeskDecisionBrief: "get_desk_decision_brief_desk_decisions__decision_id__brief_get";
38
+ getDeskDecisionCardContext: "get_desk_decision_card_context_desk_decisions__decision_id__card_context_get";
39
+ getDeskDecisionConversation: "get_desk_decision_conversation_desk_decisions__decision_id__conversation_get";
40
+ getDeskHomeSummary: "get_desk_home_summary_desk_home_summary_get";
41
+ getDeskKickoff: "get_desk_kickoff_desk_kickoff_get";
42
+ getDeskKickoffAudio: "get_desk_kickoff_audio_desk_kickoff_audio_get";
43
+ getDeskLinkedinSender: "get_desk_linkedin_sender_desk_linkedin_sender_get";
44
+ getDeskListGoals: "get_desk_list_goals_desk_list_goals_get";
45
+ getDeskListGroupOverride: "get_desk_list_group_override_desk_list_group_override_get";
46
+ getDeskListPriority: "get_desk_list_priority_desk_list_priority_get";
47
+ getDeskNextBest: "get_desk_next_best_desk_next_best_get";
48
+ getDeskOrgSettings: "get_desk_org_settings_desk_org_settings_get";
49
+ getDeskPlayExecution: "get_desk_play_execution_desk_plays_executions__execution_id__get";
50
+ getDeskPulse: "get_desk_pulse_desk_pulse_get";
51
+ getDeskReplyTarget: "get_desk_reply_target_desk_decisions__decision_id__reply_target_post";
52
+ getDeskSmsTarget: "get_desk_sms_target_desk_decisions__decision_id__sms_target_post";
53
+ getDeskWrapped: "get_desk_wrapped_desk_wrapped_get";
54
+ improveDeskEmail: "improve_desk_email_desk_email_improve_post";
55
+ listAccountPlans: "list_account_plans_desk_accounts_plans_get";
56
+ listCommitteePlays: "list_committee_plays_desk_accounts__account_id__committee_plays_get";
57
+ listCompletedDeskDecisions: "list_completed_desk_decisions_desk_decisions_completed_get";
58
+ listDeskBlocks: "list_desk_blocks_desk_blocks_get";
59
+ listDeskCardPlays: "list_desk_card_plays_desk_decisions__decision_id__plays_get";
60
+ listDeskDecisions: "list_desk_decisions_desk_decisions_get";
61
+ listDeskPlayApprovals: "list_desk_play_approvals_desk_plays_approvals_get";
62
+ listDeskUpcoming: "list_desk_upcoming_desk_upcoming_get";
63
+ markDeskKickoffPlayed: "mark_desk_kickoff_played_desk_kickoff_played_post";
64
+ postDeskVoiceMemo: "post_desk_voice_memo_desk_voice_memo_post";
65
+ previewAccountPlan: "preview_account_plan_desk_accounts__account_id__plan_preview_post";
66
+ pullDeskBatch: "pull_desk_batch_desk_batch_pull_post";
67
+ replanDeskDecision: "replan_desk_decision_desk_decisions__decision_id__replan_post";
68
+ resolveDeskDecision: "resolve_desk_decision_desk_decisions__decision_id__resolve_post";
69
+ reviveDeskListGoal: "revive_desk_list_goal_desk_list_goals__list_id__revive_post";
70
+ runCommitteePlay: "run_committee_play_desk_accounts__account_id__committee_plays__action_id__run_post";
71
+ runDeskCardPlay: "run_desk_card_play_desk_decisions__decision_id__plays__action_id__run_post";
72
+ runDeskPlanStageSweep: "run_desk_plan_stage_sweep_desk_org_settings_plan_stages_run_post";
73
+ scoreDeskEmail: "score_desk_email_desk_email_score_post";
74
+ sendCommitteeLinkedinInvite: "send_committee_linkedin_invite_desk_accounts__account_id__committee__contact_id__linkedin_invite_post";
75
+ sendDeskReply: "send_desk_reply_desk_decisions__decision_id__send_reply_post";
76
+ sendDeskSms: "send_desk_sms_desk_decisions__decision_id__send_sms_post";
77
+ startDeskBatch: "start_desk_batch_desk_batch_start_post";
78
+ undoDeskDecision: "undo_desk_decision_desk_decisions__decision_id__undo_post";
79
+ unsnoozeDeskDecision: "unsnooze_desk_decision_desk_decisions__decision_id__unsnooze_post";
80
+ updateAccountPlanStep: "update_account_plan_step_desk_accounts__account_id__plan_steps__step_id__put";
81
+ updateDeskAutonomy: "update_desk_autonomy_desk_autonomy_put";
82
+ updateDeskLinkedinSender: "update_desk_linkedin_sender_desk_linkedin_sender_put";
83
+ updateDeskListGoal: "update_desk_list_goal_desk_list_goals_put";
84
+ updateDeskListGroupOverride: "update_desk_list_group_override_desk_list_group_override_put";
85
+ updateDeskListPriority: "update_desk_list_priority_desk_list_priority_put";
86
+ updateDeskOrgSettings: "update_desk_org_settings_desk_org_settings_put";
87
+ }
88
+
89
+ /** Input and output of every `g8.api.desk` operation, keyed by operationId. */
90
+ export interface DeskOperations {
91
+ /**
92
+ * POST /desk/accounts/{account_id}/plan/apply
93
+ * Apply Account Plan
94
+ * tier: write · scope: deals:write
95
+ */
96
+ apply_account_plan_desk_accounts__account_id__plan_apply_post: {
97
+ input: {
98
+ path: {
99
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
100
+ account_id: number;
101
+ };
102
+ headers?: {
103
+ "X-Target-Org-Id"?: string | null;
104
+ };
105
+ body: AccountPlanApplyRequest;
106
+ };
107
+ output: ApiResponse_AccountPlanPayload_;
108
+ };
109
+ /**
110
+ * POST /desk/ask
111
+ * Ask Desk
112
+ * tier: billable · scope: deals:run
113
+ */
114
+ ask_desk_desk_ask_post: {
115
+ input: {
116
+ headers?: {
117
+ "X-Target-Org-Id"?: string | null;
118
+ };
119
+ body: DeskAskRequest;
120
+ };
121
+ output: ApiResponse_DeskPayload_;
122
+ };
123
+ /**
124
+ * GET /desk/accounts/{account_id}/committee/plays/{action_id}/check
125
+ * Check Committee Play
126
+ * tier: read · scope: deals:read
127
+ */
128
+ check_committee_play_desk_accounts__account_id__committee_plays__action_id__check_get: {
129
+ input: {
130
+ path: {
131
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
132
+ account_id: number;
133
+ /** Play id, from `.../committee/plays`. */
134
+ action_id: string;
135
+ };
136
+ headers?: {
137
+ "X-Target-Org-Id"?: string | null;
138
+ };
139
+ };
140
+ output: ApiResponse_AccountPlanPayload_;
141
+ };
142
+ /**
143
+ * GET /desk/org-settings/plan-stages/check
144
+ * Check Desk Plan Stage Sweep
145
+ * tier: read · scope: deals:read
146
+ */
147
+ check_desk_plan_stage_sweep_desk_org_settings_plan_stages_check_get: {
148
+ input: {
149
+ headers?: {
150
+ "X-Target-Org-Id"?: string | null;
151
+ };
152
+ };
153
+ output: ApiResponse_DeskPayload_;
154
+ };
155
+ /**
156
+ * POST /desk/accounts/{account_id}/plan
157
+ * Create Or Replan Account Plan
158
+ * tier: write · scope: deals:write
159
+ */
160
+ create_or_replan_account_plan_desk_accounts__account_id__plan_post: {
161
+ input: {
162
+ path: {
163
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
164
+ account_id: number;
165
+ };
166
+ headers?: {
167
+ "X-Target-Org-Id"?: string | null;
168
+ };
169
+ body: AccountPlanUpsertRequest;
170
+ };
171
+ output: ApiResponse_AccountPlanPayload_;
172
+ };
173
+ /**
174
+ * POST /desk/plays/approvals/{execution_id}/decide
175
+ * Decide Desk Play Approval
176
+ * tier: external · scope: deals:run
177
+ */
178
+ decide_desk_play_approval_desk_plays_approvals__execution_id__decide_post: {
179
+ input: {
180
+ path: {
181
+ /** Paused workflow execution id. */
182
+ execution_id: string;
183
+ };
184
+ headers?: {
185
+ "X-Target-Org-Id"?: string | null;
186
+ };
187
+ body: DeskApprovalDecisionRequest;
188
+ };
189
+ output: ApiResponse_DeskPayload_;
190
+ };
191
+ /**
192
+ * POST /desk/accounts/{account_id}/plan/draft
193
+ * Draft Account Plan
194
+ * tier: billable · scope: deals:run
195
+ */
196
+ draft_account_plan_desk_accounts__account_id__plan_draft_post: {
197
+ input: {
198
+ path: {
199
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
200
+ account_id: number;
201
+ };
202
+ headers?: {
203
+ "X-Target-Org-Id"?: string | null;
204
+ };
205
+ };
206
+ output: ApiResponse_AccountPlanPayload_;
207
+ };
208
+ /**
209
+ * POST /desk/accounts/{account_id}/committee
210
+ * Edit Account Committee
211
+ * tier: write · scope: deals:write
212
+ */
213
+ edit_account_committee_desk_accounts__account_id__committee_post: {
214
+ input: {
215
+ path: {
216
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
217
+ account_id: number;
218
+ };
219
+ headers?: {
220
+ "X-Target-Org-Id"?: string | null;
221
+ };
222
+ body: CommitteeEditRequest;
223
+ };
224
+ output: ApiResponse_AccountPlanPayload_;
225
+ };
226
+ /**
227
+ * POST /desk/accounts/{account_id}/committee/{contact_id}/find-linkedin
228
+ * Find Committee Member Linkedin
229
+ * tier: billable · scope: deals:run
230
+ */
231
+ find_committee_member_linkedin_desk_accounts__account_id__committee__contact_id__find_linkedin_post: {
232
+ input: {
233
+ path: {
234
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
235
+ account_id: number;
236
+ /** The committee member to look up. */
237
+ contact_id: number;
238
+ };
239
+ headers?: {
240
+ "X-Target-Org-Id"?: string | null;
241
+ };
242
+ };
243
+ output: ApiResponse_AccountPlanPayload_;
244
+ };
245
+ /**
246
+ * GET /desk/accounts/{account_id}/context
247
+ * Get Account Context
248
+ * tier: read · scope: deals:read
249
+ */
250
+ get_account_context_desk_accounts__account_id__context_get: {
251
+ input: {
252
+ path: {
253
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
254
+ account_id: number;
255
+ };
256
+ query?: {
257
+ activity_limit?: number;
258
+ };
259
+ headers?: {
260
+ "X-Target-Org-Id"?: string | null;
261
+ };
262
+ };
263
+ output: ApiResponse_AccountPlanPayload_;
264
+ };
265
+ /**
266
+ * GET /desk/accounts/{account_id}/plan
267
+ * Get Account Plan
268
+ * tier: read · scope: deals:read
269
+ */
270
+ get_account_plan_desk_accounts__account_id__plan_get: {
271
+ input: {
272
+ path: {
273
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
274
+ account_id: number;
275
+ };
276
+ headers?: {
277
+ "X-Target-Org-Id"?: string | null;
278
+ };
279
+ };
280
+ output: ApiResponse_AccountPlanPayload_;
281
+ };
282
+ /**
283
+ * GET /desk/accounts/{account_id}/plan/history
284
+ * Get Account Plan History
285
+ * tier: read · scope: deals:read
286
+ */
287
+ get_account_plan_history_desk_accounts__account_id__plan_history_get: {
288
+ input: {
289
+ path: {
290
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
291
+ account_id: number;
292
+ };
293
+ query?: {
294
+ limit?: number;
295
+ };
296
+ headers?: {
297
+ "X-Target-Org-Id"?: string | null;
298
+ };
299
+ };
300
+ output: ApiResponse_AccountPlanListPayload_;
301
+ };
302
+ /**
303
+ * GET /desk/autonomy
304
+ * Get Desk Autonomy
305
+ * tier: read · scope: deals:read
306
+ */
307
+ get_desk_autonomy_desk_autonomy_get: {
308
+ input: {
309
+ headers?: {
310
+ "X-Target-Org-Id"?: string | null;
311
+ };
312
+ };
313
+ output: ApiResponse_DeskPayload_;
314
+ };
315
+ /**
316
+ * GET /desk/batch
317
+ * Get Desk Batch
318
+ * tier: read · scope: deals:read
319
+ */
320
+ get_desk_batch_desk_batch_get: {
321
+ input: {
322
+ query?: {
323
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). A batch is scoped to the rep's local day; a wrong offset silently returns the wrong day rather than erroring. */
324
+ tz_offset?: number;
325
+ };
326
+ headers?: {
327
+ "X-Target-Org-Id"?: string | null;
328
+ };
329
+ };
330
+ output: ApiResponse_Union_DeskBatch__NoneType__;
331
+ };
332
+ /**
333
+ * GET /desk/blocks/{list_id}/queue
334
+ * Get Desk Block Queue
335
+ * tier: read · scope: deals:read
336
+ */
337
+ get_desk_block_queue_desk_blocks__list_id__queue_get: {
338
+ input: {
339
+ path: {
340
+ /** Dial list (audience) id. */
341
+ list_id: number;
342
+ };
343
+ query?: {
344
+ /** Only the contacts whose redial day is up, never the not-yet-called half. */
345
+ redial_only?: boolean;
346
+ };
347
+ headers?: {
348
+ "X-Target-Org-Id"?: string | null;
349
+ };
350
+ };
351
+ output: ApiResponse_DeskListPayload_;
352
+ };
353
+ /**
354
+ * POST /desk/decisions/{decision_id}/call-target
355
+ * Get Desk Call Target
356
+ * tier: read · scope: deals:read
357
+ */
358
+ get_desk_call_target_desk_decisions__decision_id__call_target_post: {
359
+ input: {
360
+ path: {
361
+ /** Decision id (UUID). */
362
+ decision_id: string;
363
+ };
364
+ headers?: {
365
+ "X-Target-Org-Id"?: string | null;
366
+ };
367
+ };
368
+ output: ApiResponse_DeskPayload_;
369
+ };
370
+ /**
371
+ * GET /desk/committee-heat
372
+ * Get Desk Committee Heat
373
+ * tier: read · scope: deals:read
374
+ */
375
+ get_desk_committee_heat_desk_committee_heat_get: {
376
+ input: {
377
+ query: {
378
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
379
+ account_id: number;
380
+ };
381
+ headers?: {
382
+ "X-Target-Org-Id"?: string | null;
383
+ };
384
+ };
385
+ output: ApiResponse_DeskPayload_;
386
+ };
387
+ /**
388
+ * GET /desk/committee-targets
389
+ * Get Desk Committee Targets
390
+ * tier: read · scope: deals:read
391
+ */
392
+ get_desk_committee_targets_desk_committee_targets_get: {
393
+ input: {
394
+ query: {
395
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
396
+ account_id: number;
397
+ };
398
+ headers?: {
399
+ "X-Target-Org-Id"?: string | null;
400
+ };
401
+ };
402
+ output: ApiResponse_DeskPayload_;
403
+ };
404
+ /**
405
+ * GET /desk/compliance-summary
406
+ * Get Desk Compliance Summary
407
+ * tier: read · scope: deals:read
408
+ */
409
+ get_desk_compliance_summary_desk_compliance_summary_get: {
410
+ input: {
411
+ query?: {
412
+ /** Open deals to aggregate over. */
413
+ limit?: number;
414
+ };
415
+ headers?: {
416
+ "X-Target-Org-Id"?: string | null;
417
+ };
418
+ };
419
+ output: ApiResponse_DeskPayload_;
420
+ };
421
+ /**
422
+ * POST /desk/contacts/{contact_id}/call-target
423
+ * Get Desk Contact Call Target
424
+ * tier: read · scope: deals:read
425
+ */
426
+ get_desk_contact_call_target_desk_contacts__contact_id__call_target_post: {
427
+ input: {
428
+ path: {
429
+ /** Contact id. */
430
+ contact_id: number;
431
+ };
432
+ headers?: {
433
+ "X-Target-Org-Id"?: string | null;
434
+ };
435
+ };
436
+ output: ApiResponse_DeskPayload_;
437
+ };
438
+ /**
439
+ * GET /desk/coverage
440
+ * Get Desk Coverage
441
+ * tier: read · scope: deals:read
442
+ */
443
+ get_desk_coverage_desk_coverage_get: {
444
+ input: {
445
+ headers?: {
446
+ "X-Target-Org-Id"?: string | null;
447
+ };
448
+ };
449
+ output: ApiResponse_DeskPayload_;
450
+ };
451
+ /**
452
+ * GET /desk/decisions/{decision_id}/brief
453
+ * Get Desk Decision Brief
454
+ * tier: read · scope: deals:read
455
+ */
456
+ get_desk_decision_brief_desk_decisions__decision_id__brief_get: {
457
+ input: {
458
+ path: {
459
+ /** Decision id (UUID). */
460
+ decision_id: string;
461
+ };
462
+ headers?: {
463
+ "X-Target-Org-Id"?: string | null;
464
+ };
465
+ };
466
+ output: ApiResponse_dict_;
467
+ };
468
+ /**
469
+ * GET /desk/decisions/{decision_id}/card-context
470
+ * Get Desk Decision Card Context
471
+ * tier: read · scope: deals:read
472
+ */
473
+ get_desk_decision_card_context_desk_decisions__decision_id__card_context_get: {
474
+ input: {
475
+ path: {
476
+ /** Decision id (UUID). */
477
+ decision_id: string;
478
+ };
479
+ headers?: {
480
+ "X-Target-Org-Id"?: string | null;
481
+ };
482
+ };
483
+ output: ApiResponse_dict_;
484
+ };
485
+ /**
486
+ * GET /desk/decisions/{decision_id}/conversation
487
+ * Get Desk Decision Conversation
488
+ * tier: read · scope: deals:read
489
+ */
490
+ get_desk_decision_conversation_desk_decisions__decision_id__conversation_get: {
491
+ input: {
492
+ path: {
493
+ /** Decision id (UUID). */
494
+ decision_id: string;
495
+ };
496
+ headers?: {
497
+ "X-Target-Org-Id"?: string | null;
498
+ };
499
+ };
500
+ output: ApiResponse_dict_;
501
+ };
502
+ /**
503
+ * GET /desk/home-summary
504
+ * Get Desk Home Summary
505
+ * tier: read · scope: deals:read
506
+ */
507
+ get_desk_home_summary_desk_home_summary_get: {
508
+ input: {
509
+ query?: {
510
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
511
+ tz_offset?: number;
512
+ };
513
+ headers?: {
514
+ "X-Target-Org-Id"?: string | null;
515
+ };
516
+ };
517
+ output: ApiResponse_DeskPayload_;
518
+ };
519
+ /**
520
+ * GET /desk/kickoff
521
+ * Get Desk Kickoff
522
+ * tier: billable · scope: deals:run
523
+ */
524
+ get_desk_kickoff_desk_kickoff_get: {
525
+ input: {
526
+ query?: {
527
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
528
+ tz_offset?: number;
529
+ };
530
+ headers?: {
531
+ "X-Target-Org-Id"?: string | null;
532
+ };
533
+ };
534
+ output: ApiResponse_DeskPayload_;
535
+ };
536
+ /**
537
+ * GET /desk/kickoff/audio
538
+ * Get Desk Kickoff Audio
539
+ * tier: billable · scope: deals:run
540
+ */
541
+ get_desk_kickoff_audio_desk_kickoff_audio_get: {
542
+ input: {
543
+ query?: {
544
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
545
+ tz_offset?: number;
546
+ };
547
+ headers?: {
548
+ "X-Target-Org-Id"?: string | null;
549
+ };
550
+ };
551
+ output: void;
552
+ };
553
+ /**
554
+ * GET /desk/linkedin-sender
555
+ * Get Desk Linkedin Sender
556
+ * tier: read · scope: deals:read
557
+ */
558
+ get_desk_linkedin_sender_desk_linkedin_sender_get: {
559
+ input: {
560
+ headers?: {
561
+ "X-Target-Org-Id"?: string | null;
562
+ };
563
+ };
564
+ output: ApiResponse_DeskPayload_;
565
+ };
566
+ /**
567
+ * GET /desk/list-goals
568
+ * Get Desk List Goals
569
+ * tier: read · scope: deals:read
570
+ */
571
+ get_desk_list_goals_desk_list_goals_get: {
572
+ input: {
573
+ headers?: {
574
+ "X-Target-Org-Id"?: string | null;
575
+ };
576
+ };
577
+ output: ApiResponse_DeskPayload_;
578
+ };
579
+ /**
580
+ * GET /desk/list-group-override
581
+ * Get Desk List Group Override
582
+ * tier: read · scope: deals:read
583
+ */
584
+ get_desk_list_group_override_desk_list_group_override_get: {
585
+ input: {
586
+ headers?: {
587
+ "X-Target-Org-Id"?: string | null;
588
+ };
589
+ };
590
+ output: ApiResponse_DeskPayload_;
591
+ };
592
+ /**
593
+ * GET /desk/list-priority
594
+ * Get Desk List Priority
595
+ * tier: read · scope: deals:read
596
+ */
597
+ get_desk_list_priority_desk_list_priority_get: {
598
+ input: {
599
+ headers?: {
600
+ "X-Target-Org-Id"?: string | null;
601
+ };
602
+ };
603
+ output: ApiResponse_DeskPayload_;
604
+ };
605
+ /**
606
+ * GET /desk/next-best
607
+ * Get Desk Next Best
608
+ * tier: read · scope: deals:read
609
+ */
610
+ get_desk_next_best_desk_next_best_get: {
611
+ input: {
612
+ headers?: {
613
+ "X-Target-Org-Id"?: string | null;
614
+ };
615
+ };
616
+ output: ApiResponse_DeskPayload_;
617
+ };
618
+ /**
619
+ * GET /desk/org-settings
620
+ * Get Desk Org Settings
621
+ * tier: read · scope: deals:read
622
+ */
623
+ get_desk_org_settings_desk_org_settings_get: {
624
+ input: {
625
+ headers?: {
626
+ "X-Target-Org-Id"?: string | null;
627
+ };
628
+ };
629
+ output: ApiResponse_DeskPayload_;
630
+ };
631
+ /**
632
+ * GET /desk/plays/executions/{execution_id}
633
+ * Get Desk Play Execution
634
+ * tier: read · scope: deals:read
635
+ */
636
+ get_desk_play_execution_desk_plays_executions__execution_id__get: {
637
+ input: {
638
+ path: {
639
+ /** Workflow execution id. */
640
+ execution_id: string;
641
+ };
642
+ query?: {
643
+ /** Card this run belongs to. When given, a TERMINAL status is persisted onto the card - so this read has a write side, and omitting it keeps the read pure. */
644
+ decision_id?: string | null;
645
+ /** Play this run belongs to. */
646
+ action_id?: string | null;
647
+ };
648
+ headers?: {
649
+ "X-Target-Org-Id"?: string | null;
650
+ };
651
+ };
652
+ output: ApiResponse_DeskPayload_;
653
+ };
654
+ /**
655
+ * GET /desk/pulse
656
+ * Get Desk Pulse
657
+ * tier: read · scope: deals:read
658
+ */
659
+ get_desk_pulse_desk_pulse_get: {
660
+ input: {
661
+ query?: {
662
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
663
+ tz_offset?: number;
664
+ };
665
+ headers?: {
666
+ "X-Target-Org-Id"?: string | null;
667
+ };
668
+ };
669
+ output: ApiResponse_DeskPayload_;
670
+ };
671
+ /**
672
+ * POST /desk/decisions/{decision_id}/reply-target
673
+ * Get Desk Reply Target
674
+ * tier: read · scope: deals:read
675
+ */
676
+ get_desk_reply_target_desk_decisions__decision_id__reply_target_post: {
677
+ input: {
678
+ path: {
679
+ /** Decision id (UUID). */
680
+ decision_id: string;
681
+ };
682
+ headers?: {
683
+ "X-Target-Org-Id"?: string | null;
684
+ };
685
+ };
686
+ output: ApiResponse_DeskPayload_;
687
+ };
688
+ /**
689
+ * POST /desk/decisions/{decision_id}/sms-target
690
+ * Get Desk Sms Target
691
+ * tier: read · scope: deals:read
692
+ */
693
+ get_desk_sms_target_desk_decisions__decision_id__sms_target_post: {
694
+ input: {
695
+ path: {
696
+ /** Decision id (UUID). */
697
+ decision_id: string;
698
+ };
699
+ headers?: {
700
+ "X-Target-Org-Id"?: string | null;
701
+ };
702
+ };
703
+ output: ApiResponse_DeskPayload_;
704
+ };
705
+ /**
706
+ * GET /desk/wrapped
707
+ * Get Desk Wrapped
708
+ * tier: read · scope: deals:read
709
+ */
710
+ get_desk_wrapped_desk_wrapped_get: {
711
+ input: {
712
+ query?: {
713
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
714
+ tz_offset?: number;
715
+ };
716
+ headers?: {
717
+ "X-Target-Org-Id"?: string | null;
718
+ };
719
+ };
720
+ output: ApiResponse_DeskPayload_;
721
+ };
722
+ /**
723
+ * POST /desk/email-improve
724
+ * Improve Desk Email
725
+ * tier: billable · scope: deals:run
726
+ */
727
+ improve_desk_email_desk_email_improve_post: {
728
+ input: {
729
+ headers?: {
730
+ "X-Target-Org-Id"?: string | null;
731
+ };
732
+ body: DeskEmailImproveRequest;
733
+ };
734
+ output: ApiResponse_DeskPayload_;
735
+ };
736
+ /**
737
+ * GET /desk/accounts/plans
738
+ * List Account Plans
739
+ * tier: read · scope: deals:read
740
+ */
741
+ list_account_plans_desk_accounts_plans_get: {
742
+ input: {
743
+ query?: {
744
+ /** Only plans in this status. */
745
+ status?: ("draft" | "active" | "paused" | "archived") | null;
746
+ /** Which board: `deals` (accounts with an open deal), `campaign` (requires `campaign_id`), or `all`. Omitted means all. */
747
+ source?: ("all" | "deals" | "campaign") | null;
748
+ /** REQUIRED when `source=campaign`. */
749
+ campaign_id?: string | null;
750
+ /** Only accounts this caller owns. Ownership is resolved BEFORE paging, so this changes the total rather than filtering a page. */
751
+ mine?: boolean;
752
+ limit?: number;
753
+ offset?: number;
754
+ };
755
+ headers?: {
756
+ "X-Target-Org-Id"?: string | null;
757
+ };
758
+ };
759
+ output: ApiResponse_AccountPlanListPayload_;
760
+ };
761
+ /**
762
+ * GET /desk/accounts/{account_id}/committee/plays
763
+ * List Committee Plays
764
+ * tier: read · scope: deals:read
765
+ */
766
+ list_committee_plays_desk_accounts__account_id__committee_plays_get: {
767
+ input: {
768
+ path: {
769
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
770
+ account_id: number;
771
+ };
772
+ headers?: {
773
+ "X-Target-Org-Id"?: string | null;
774
+ };
775
+ };
776
+ output: ApiResponse_AccountPlanListPayload_;
777
+ };
778
+ /**
779
+ * GET /desk/decisions/completed
780
+ * List Completed Desk Decisions
781
+ * tier: read · scope: deals:read
782
+ */
783
+ list_completed_desk_decisions_desk_decisions_completed_get: {
784
+ input: {
785
+ query?: {
786
+ limit?: number;
787
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). A batch is scoped to the rep's local day; a wrong offset silently returns the wrong day rather than erroring. */
788
+ tz_offset?: number;
789
+ };
790
+ headers?: {
791
+ "X-Target-Org-Id"?: string | null;
792
+ };
793
+ };
794
+ output: ApiResponse_DeskDecisionListResponse_;
795
+ };
796
+ /**
797
+ * GET /desk/blocks
798
+ * List Desk Blocks
799
+ * tier: read · scope: deals:read
800
+ */
801
+ list_desk_blocks_desk_blocks_get: {
802
+ input: {
803
+ query?: {
804
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
805
+ tz_offset?: number;
806
+ };
807
+ headers?: {
808
+ "X-Target-Org-Id"?: string | null;
809
+ };
810
+ };
811
+ output: ApiResponse_DeskListPayload_;
812
+ };
813
+ /**
814
+ * GET /desk/decisions/{decision_id}/plays
815
+ * List Desk Card Plays
816
+ * tier: read · scope: deals:read
817
+ */
818
+ list_desk_card_plays_desk_decisions__decision_id__plays_get: {
819
+ input: {
820
+ path: {
821
+ /** Decision id (UUID). */
822
+ decision_id: string;
823
+ };
824
+ headers?: {
825
+ "X-Target-Org-Id"?: string | null;
826
+ };
827
+ };
828
+ output: ApiResponse_DeskListPayload_;
829
+ };
830
+ /**
831
+ * GET /desk/decisions
832
+ * List Desk Decisions
833
+ * tier: read · scope: deals:read
834
+ */
835
+ list_desk_decisions_desk_decisions_get: {
836
+ input: {
837
+ query?: {
838
+ /** Filter by decision type. */
839
+ decision_type?: string | null;
840
+ /** Filter by signal FAMILY, e.g. "forms" or "website". */
841
+ source_group?: string | null;
842
+ /** Filter by EXACT signal id, e.g. "form_submitted". */
843
+ source?: string | null;
844
+ limit?: number;
845
+ offset?: number;
846
+ };
847
+ headers?: {
848
+ "X-Target-Org-Id"?: string | null;
849
+ };
850
+ };
851
+ output: ApiResponse_DeskDecisionListResponse_;
852
+ };
853
+ /**
854
+ * GET /desk/plays/approvals
855
+ * List Desk Play Approvals
856
+ * tier: read · scope: deals:read
857
+ */
858
+ list_desk_play_approvals_desk_plays_approvals_get: {
859
+ input: {
860
+ headers?: {
861
+ "X-Target-Org-Id"?: string | null;
862
+ };
863
+ };
864
+ output: ApiResponse_DeskListPayload_;
865
+ };
866
+ /**
867
+ * GET /desk/upcoming
868
+ * List Desk Upcoming
869
+ * tier: read · scope: deals:read
870
+ */
871
+ list_desk_upcoming_desk_upcoming_get: {
872
+ input: {
873
+ headers?: {
874
+ "X-Target-Org-Id"?: string | null;
875
+ };
876
+ };
877
+ output: ApiResponse_DeskListPayload_;
878
+ };
879
+ /**
880
+ * POST /desk/kickoff/played
881
+ * Mark Desk Kickoff Played
882
+ * tier: write · scope: deals:write
883
+ */
884
+ mark_desk_kickoff_played_desk_kickoff_played_post: {
885
+ input: {
886
+ query?: {
887
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
888
+ tz_offset?: number;
889
+ };
890
+ headers?: {
891
+ "X-Target-Org-Id"?: string | null;
892
+ };
893
+ };
894
+ output: ApiResponse_DeskPayload_;
895
+ };
896
+ /**
897
+ * POST /desk/voice-memo
898
+ * Post Desk Voice Memo
899
+ * tier: billable · scope: deals:run
900
+ */
901
+ post_desk_voice_memo_desk_voice_memo_post: {
902
+ input: {
903
+ headers?: {
904
+ "X-Target-Org-Id"?: string | null;
905
+ };
906
+ };
907
+ output: ApiResponse_DeskPayload_;
908
+ };
909
+ /**
910
+ * POST /desk/accounts/{account_id}/plan/preview
911
+ * Preview Account Plan
912
+ * tier: read · scope: deals:read
913
+ */
914
+ preview_account_plan_desk_accounts__account_id__plan_preview_post: {
915
+ input: {
916
+ path: {
917
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
918
+ account_id: number;
919
+ };
920
+ headers?: {
921
+ "X-Target-Org-Id"?: string | null;
922
+ };
923
+ body: AccountPlanPreviewRequest;
924
+ };
925
+ output: ApiResponse_AccountPlanPayload_;
926
+ };
927
+ /**
928
+ * POST /desk/batch/pull
929
+ * Pull Desk Batch
930
+ * tier: write · scope: deals:write
931
+ */
932
+ pull_desk_batch_desk_batch_pull_post: {
933
+ input: {
934
+ headers?: {
935
+ "X-Target-Org-Id"?: string | null;
936
+ };
937
+ body: DeskBatchPullRequest;
938
+ };
939
+ output: ApiResponse_DeskBatch_;
940
+ };
941
+ /**
942
+ * POST /desk/decisions/{decision_id}/replan
943
+ * Replan Desk Decision
944
+ * tier: billable · scope: deals:run
945
+ */
946
+ replan_desk_decision_desk_decisions__decision_id__replan_post: {
947
+ input: {
948
+ path: {
949
+ /** Plan-review decision id (UUID). */
950
+ decision_id: string;
951
+ };
952
+ headers?: {
953
+ "X-Target-Org-Id"?: string | null;
954
+ };
955
+ };
956
+ output: ApiResponse_DeskPayload_;
957
+ };
958
+ /**
959
+ * POST /desk/decisions/{decision_id}/resolve
960
+ * Resolve Desk Decision
961
+ * tier: write · scope: deals:write
962
+ */
963
+ resolve_desk_decision_desk_decisions__decision_id__resolve_post: {
964
+ input: {
965
+ path: {
966
+ /** Decision id (UUID). */
967
+ decision_id: string;
968
+ };
969
+ headers?: {
970
+ "X-Target-Org-Id"?: string | null;
971
+ };
972
+ body: DeskResolveRequest;
973
+ };
974
+ output: ApiResponse_dict_;
975
+ };
976
+ /**
977
+ * POST /desk/list-goals/{list_id}/revive
978
+ * Revive Desk List Goal
979
+ * tier: write · scope: deals:write
980
+ */
981
+ revive_desk_list_goal_desk_list_goals__list_id__revive_post: {
982
+ input: {
983
+ path: {
984
+ /** Dial list (audience) id. */
985
+ list_id: number;
986
+ };
987
+ query?: {
988
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). The desk day is the rep's LOCAL day; a wrong offset silently returns the wrong day rather than erroring. */
989
+ tz_offset?: number;
990
+ };
991
+ headers?: {
992
+ "X-Target-Org-Id"?: string | null;
993
+ };
994
+ };
995
+ output: ApiResponse_DeskPayload_;
996
+ };
997
+ /**
998
+ * POST /desk/accounts/{account_id}/committee/plays/{action_id}/run
999
+ * Run Committee Play
1000
+ * tier: external · scope: deals:run
1001
+ */
1002
+ run_committee_play_desk_accounts__account_id__committee_plays__action_id__run_post: {
1003
+ input: {
1004
+ path: {
1005
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
1006
+ account_id: number;
1007
+ /** Play id, from `.../committee/plays`. */
1008
+ action_id: string;
1009
+ };
1010
+ headers?: {
1011
+ "X-Target-Org-Id"?: string | null;
1012
+ };
1013
+ };
1014
+ output: ApiResponse_AccountPlanPayload_;
1015
+ };
1016
+ /**
1017
+ * POST /desk/decisions/{decision_id}/plays/{action_id}/run
1018
+ * Run Desk Card Play
1019
+ * tier: external · scope: deals:run
1020
+ */
1021
+ run_desk_card_play_desk_decisions__decision_id__plays__action_id__run_post: {
1022
+ input: {
1023
+ path: {
1024
+ /** Decision id (UUID). */
1025
+ decision_id: string;
1026
+ /** Play id, from `/desk/decisions/{id}/plays`. */
1027
+ action_id: string;
1028
+ };
1029
+ headers?: {
1030
+ "X-Target-Org-Id"?: string | null;
1031
+ };
1032
+ };
1033
+ output: ApiResponse_DeskPayload_;
1034
+ };
1035
+ /**
1036
+ * POST /desk/org-settings/plan-stages/run
1037
+ * Run Desk Plan Stage Sweep
1038
+ * tier: billable · scope: deals:run
1039
+ */
1040
+ run_desk_plan_stage_sweep_desk_org_settings_plan_stages_run_post: {
1041
+ input: {
1042
+ query?: {
1043
+ /** Plan at most this many deals in this press. Omitted means up to the daily cap. */
1044
+ limit?: number | null;
1045
+ };
1046
+ headers?: {
1047
+ "X-Target-Org-Id"?: string | null;
1048
+ };
1049
+ };
1050
+ output: ApiResponse_DeskPayload_;
1051
+ };
1052
+ /**
1053
+ * POST /desk/email-score
1054
+ * Score Desk Email
1055
+ * tier: billable · scope: deals:run
1056
+ */
1057
+ score_desk_email_desk_email_score_post: {
1058
+ input: {
1059
+ headers?: {
1060
+ "X-Target-Org-Id"?: string | null;
1061
+ };
1062
+ body: DeskEmailScoreRequest;
1063
+ };
1064
+ output: ApiResponse_DeskPayload_;
1065
+ };
1066
+ /**
1067
+ * POST /desk/accounts/{account_id}/committee/{contact_id}/linkedin-invite
1068
+ * Send Committee Linkedin Invite
1069
+ * tier: external · scope: deals:run
1070
+ */
1071
+ send_committee_linkedin_invite_desk_accounts__account_id__committee__contact_id__linkedin_invite_post: {
1072
+ input: {
1073
+ path: {
1074
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
1075
+ account_id: number;
1076
+ /** The committee member to invite. */
1077
+ contact_id: number;
1078
+ };
1079
+ headers?: {
1080
+ "X-Target-Org-Id"?: string | null;
1081
+ };
1082
+ body: CommitteeLinkedInInviteRequest;
1083
+ };
1084
+ output: ApiResponse_AccountPlanPayload_;
1085
+ };
1086
+ /**
1087
+ * POST /desk/decisions/{decision_id}/send-reply
1088
+ * Send Desk Reply
1089
+ * tier: external · scope: deals:run
1090
+ */
1091
+ send_desk_reply_desk_decisions__decision_id__send_reply_post: {
1092
+ input: {
1093
+ path: {
1094
+ /** Decision id (UUID). */
1095
+ decision_id: string;
1096
+ };
1097
+ headers?: {
1098
+ "X-Target-Org-Id"?: string | null;
1099
+ };
1100
+ body: DeskSendReplyRequest;
1101
+ };
1102
+ output: ApiResponse_DeskPayload_;
1103
+ };
1104
+ /**
1105
+ * POST /desk/decisions/{decision_id}/send-sms
1106
+ * Send Desk Sms
1107
+ * tier: external · scope: deals:run
1108
+ */
1109
+ send_desk_sms_desk_decisions__decision_id__send_sms_post: {
1110
+ input: {
1111
+ path: {
1112
+ /** Decision id (UUID). */
1113
+ decision_id: string;
1114
+ };
1115
+ headers?: {
1116
+ "X-Target-Org-Id"?: string | null;
1117
+ };
1118
+ body: DeskSendSmsRequest;
1119
+ };
1120
+ output: ApiResponse_DeskPayload_;
1121
+ };
1122
+ /**
1123
+ * POST /desk/batch/start
1124
+ * Start Desk Batch
1125
+ * tier: write · scope: deals:write
1126
+ */
1127
+ start_desk_batch_desk_batch_start_post: {
1128
+ input: {
1129
+ headers?: {
1130
+ "X-Target-Org-Id"?: string | null;
1131
+ };
1132
+ body: DeskBatchStartRequest;
1133
+ };
1134
+ output: ApiResponse_DeskBatch_;
1135
+ };
1136
+ /**
1137
+ * POST /desk/decisions/{decision_id}/undo
1138
+ * Undo Desk Decision
1139
+ * tier: write · scope: deals:write
1140
+ */
1141
+ undo_desk_decision_desk_decisions__decision_id__undo_post: {
1142
+ input: {
1143
+ path: {
1144
+ /** Decision id (UUID). */
1145
+ decision_id: string;
1146
+ };
1147
+ headers?: {
1148
+ "X-Target-Org-Id"?: string | null;
1149
+ };
1150
+ };
1151
+ output: ApiResponse_dict_;
1152
+ };
1153
+ /**
1154
+ * POST /desk/decisions/{decision_id}/unsnooze
1155
+ * Unsnooze Desk Decision
1156
+ * tier: write · scope: deals:write
1157
+ */
1158
+ unsnooze_desk_decision_desk_decisions__decision_id__unsnooze_post: {
1159
+ input: {
1160
+ path: {
1161
+ /** Decision id (UUID). */
1162
+ decision_id: string;
1163
+ };
1164
+ headers?: {
1165
+ "X-Target-Org-Id"?: string | null;
1166
+ };
1167
+ };
1168
+ output: ApiResponse_dict_;
1169
+ };
1170
+ /**
1171
+ * PUT /desk/accounts/{account_id}/plan/steps/{step_id}
1172
+ * Update Account Plan Step
1173
+ * tier: write · scope: deals:write
1174
+ */
1175
+ update_account_plan_step_desk_accounts__account_id__plan_steps__step_id__put: {
1176
+ input: {
1177
+ path: {
1178
+ /** The account's mashup company id (`cb_account_plans.account_id`). */
1179
+ account_id: number;
1180
+ /** Step id, as carried on the plan. */
1181
+ step_id: string;
1182
+ };
1183
+ headers?: {
1184
+ "X-Target-Org-Id"?: string | null;
1185
+ };
1186
+ body: AccountPlanStepUpdateRequest;
1187
+ };
1188
+ output: ApiResponse_AccountPlanPayload_;
1189
+ };
1190
+ /**
1191
+ * PUT /desk/autonomy
1192
+ * Update Desk Autonomy
1193
+ * tier: external · scope: deals:run
1194
+ */
1195
+ update_desk_autonomy_desk_autonomy_put: {
1196
+ input: {
1197
+ headers?: {
1198
+ "X-Target-Org-Id"?: string | null;
1199
+ };
1200
+ body: DeskAutonomyUpdate;
1201
+ };
1202
+ output: ApiResponse_DeskPayload_;
1203
+ };
1204
+ /**
1205
+ * PUT /desk/linkedin-sender
1206
+ * Update Desk Linkedin Sender
1207
+ * tier: write · scope: deals:write
1208
+ */
1209
+ update_desk_linkedin_sender_desk_linkedin_sender_put: {
1210
+ input: {
1211
+ headers?: {
1212
+ "X-Target-Org-Id"?: string | null;
1213
+ };
1214
+ body: DeskLinkedInSenderUpdate;
1215
+ };
1216
+ output: ApiResponse_DeskPayload_;
1217
+ };
1218
+ /**
1219
+ * PUT /desk/list-goals
1220
+ * Update Desk List Goal
1221
+ * tier: write · scope: deals:write
1222
+ */
1223
+ update_desk_list_goal_desk_list_goals_put: {
1224
+ input: {
1225
+ headers?: {
1226
+ "X-Target-Org-Id"?: string | null;
1227
+ };
1228
+ body: DeskListGoalUpdate;
1229
+ };
1230
+ output: ApiResponse_DeskPayload_;
1231
+ };
1232
+ /**
1233
+ * PUT /desk/list-group-override
1234
+ * Update Desk List Group Override
1235
+ * tier: write · scope: deals:write
1236
+ */
1237
+ update_desk_list_group_override_desk_list_group_override_put: {
1238
+ input: {
1239
+ headers?: {
1240
+ "X-Target-Org-Id"?: string | null;
1241
+ };
1242
+ body: DeskListGroupOverrideUpdate;
1243
+ };
1244
+ output: ApiResponse_DeskPayload_;
1245
+ };
1246
+ /**
1247
+ * PUT /desk/list-priority
1248
+ * Update Desk List Priority
1249
+ * tier: write · scope: deals:write
1250
+ */
1251
+ update_desk_list_priority_desk_list_priority_put: {
1252
+ input: {
1253
+ headers?: {
1254
+ "X-Target-Org-Id"?: string | null;
1255
+ };
1256
+ body: DeskListPriorityUpdate;
1257
+ };
1258
+ output: ApiResponse_DeskPayload_;
1259
+ };
1260
+ /**
1261
+ * PUT /desk/org-settings
1262
+ * Update Desk Org Settings
1263
+ * tier: external · scope: deals:run
1264
+ */
1265
+ update_desk_org_settings_desk_org_settings_put: {
1266
+ input: {
1267
+ headers?: {
1268
+ "X-Target-Org-Id"?: string | null;
1269
+ };
1270
+ body: DeskOrgSettingsUpdate;
1271
+ };
1272
+ output: ApiResponse_DeskPayload_;
1273
+ };
1274
+ }
1275
+
1276
+ // 40 schemas referenced above (the same as G8Contract.<Name>).
1277
+
1278
+ /**
1279
+ * Persist the approved steps as a NEW plan version.
1280
+ *
1281
+ * `proposed_plan` must be non-empty: apply REPLACES the account's steps, so
1282
+ * an empty proposal would blank the plan. The app answers 400 rather than
1283
+ * doing it, and this surface forwards that rather than second-guessing it.
1284
+ */
1285
+ export interface AccountPlanApplyRequest {
1286
+ instruction?: string | null;
1287
+ proposed_plan?: Array<AccountPlanStep>;
1288
+ rationale?: string | null;
1289
+ /** draft | active | paused | archived. */
1290
+ status?: string | null;
1291
+ /** What caused this (re)plan. */
1292
+ trigger?: string;
1293
+ }
1294
+
1295
+ /** An open envelope for a LIST result, so a bare list keeps its shape. */
1296
+ export interface AccountPlanListPayload {
1297
+ items?: Array<unknown>;
1298
+ [key: string]: unknown;
1299
+ }
1300
+
1301
+ /** An open envelope for a plan, a context read or a committee result. */
1302
+ export type AccountPlanPayload = Record<string, unknown>;
1303
+
1304
+ /**
1305
+ * Diff a proposed plan against the current version. Persists NOTHING.
1306
+ *
1307
+ * It also does not consume the signal-replanner cooldown, so a caller can
1308
+ * preview as often as it likes before committing with `/plan/apply`.
1309
+ */
1310
+ export interface AccountPlanPreviewRequest {
1311
+ /** Free-text note echoed back with the diff. */
1312
+ instruction?: string | null;
1313
+ proposed_plan?: Array<AccountPlanStep>;
1314
+ }
1315
+
1316
+ /**
1317
+ * One step in a plan: who to reach, on what channel, when, and why now.
1318
+ *
1319
+ * `extra="allow"` mirrors the app's own model, which is also open - the step
1320
+ * shape carries per-channel extras the desk adds as it learns new channels,
1321
+ * and a closed mirror would DROP them on the way in rather than pass them
1322
+ * through.
1323
+ *
1324
+ * `approval_status` is closed because it reaches a real `Literal` inside the
1325
+ * handler: a free value would raise there and escape as a 500 instead of a
1326
+ * 422 naming the four states.
1327
+ */
1328
+ export interface AccountPlanStep {
1329
+ approval_status?: "pending" | "approved" | "rejected" | "edited";
1330
+ channel?: string | null;
1331
+ /** Committee member this step is aimed at. */
1332
+ contact_id?: unknown | null;
1333
+ draft_content?: string | null;
1334
+ scheduled_at?: string | null;
1335
+ status?: string | null;
1336
+ /** Caller-assigned id, stable across versions. */
1337
+ step_id: string;
1338
+ why_now?: string | null;
1339
+ [key: string]: unknown;
1340
+ }
1341
+
1342
+ /**
1343
+ * Approve, reject or edit ONE step on the latest plan version.
1344
+ *
1345
+ * `action` is closed - it reaches a real `Literal` inside the handler.
1346
+ * `draft_content` is what `edit` edits; sending it with `approve` or
1347
+ * `reject` is accepted and ignored, exactly as the app treats it.
1348
+ */
1349
+ export interface AccountPlanStepUpdateRequest {
1350
+ action: "approve" | "reject" | "edit";
1351
+ draft_content?: string | null;
1352
+ scheduled_at?: string | null;
1353
+ }
1354
+
1355
+ /**
1356
+ * Create the account's plan, or REPLAN it.
1357
+ *
1358
+ * There is no update: a replan inserts a new version and bumps
1359
+ * `plan_version`. Prior versions stay readable through
1360
+ * `/desk/accounts/{account_id}/plan/history`.
1361
+ */
1362
+ export interface AccountPlanUpsertRequest {
1363
+ buying_committee_id?: string | null;
1364
+ buying_committee_members?: Array<Record<string, unknown>> | null;
1365
+ current_plan?: Array<AccountPlanStep>;
1366
+ deep_research_summary?: string | null;
1367
+ goal?: string | null;
1368
+ /** Optional why-now, recorded in the trigger history. */
1369
+ rationale?: string | null;
1370
+ /** draft | active | paused | archived. */
1371
+ status?: string | null;
1372
+ /** What caused this (re)plan. */
1373
+ trigger?: string;
1374
+ }
1375
+
1376
+ export interface ApiResponse_AccountPlanListPayload_ {
1377
+ data: AccountPlanListPayload;
1378
+ pagination?: PaginationMeta | null;
1379
+ }
1380
+
1381
+ export interface ApiResponse_AccountPlanPayload_ {
1382
+ data: AccountPlanPayload;
1383
+ pagination?: PaginationMeta | null;
1384
+ }
1385
+
1386
+ export interface ApiResponse_DeskBatch_ {
1387
+ data: DeskBatch;
1388
+ pagination?: PaginationMeta | null;
1389
+ }
1390
+
1391
+ export interface ApiResponse_DeskDecisionListResponse_ {
1392
+ data: DeskDecisionListResponse;
1393
+ pagination?: PaginationMeta | null;
1394
+ }
1395
+
1396
+ export interface ApiResponse_DeskListPayload_ {
1397
+ data: DeskListPayload;
1398
+ pagination?: PaginationMeta | null;
1399
+ }
1400
+
1401
+ export interface ApiResponse_DeskPayload_ {
1402
+ data: DeskPayload;
1403
+ pagination?: PaginationMeta | null;
1404
+ }
1405
+
1406
+ export interface ApiResponse_Union_DeskBatch__NoneType__ {
1407
+ data: DeskBatch | null;
1408
+ pagination?: PaginationMeta | null;
1409
+ }
1410
+
1411
+ export interface ApiResponse_dict_ {
1412
+ data: Record<string, unknown>;
1413
+ pagination?: PaginationMeta | null;
1414
+ }
1415
+
1416
+ /**
1417
+ * Add and remove buying-committee members in one call.
1418
+ *
1419
+ * A committee edit rides plan versioning like everything else: it persists a
1420
+ * NEW plan version, preserving the existing steps. Both lists are applied in
1421
+ * the same version, so adding and removing in one request cannot leave the
1422
+ * committee half-changed.
1423
+ */
1424
+ export interface CommitteeEditRequest {
1425
+ add?: Array<CommitteeMemberInput>;
1426
+ /** Contact ids to take off the committee. */
1427
+ remove?: Array<number>;
1428
+ }
1429
+
1430
+ /**
1431
+ * The optional note on a LinkedIn connection request.
1432
+ *
1433
+ * 300 characters is LinkedIn's own cap, not a display limit.
1434
+ */
1435
+ export interface CommitteeLinkedInInviteRequest {
1436
+ /** Optional invite note. Capped by LinkedIn at 300 characters. */
1437
+ note?: string | null;
1438
+ }
1439
+
1440
+ /** A contact to put on the buying committee. */
1441
+ export interface CommitteeMemberInput {
1442
+ contact_id: number;
1443
+ /** Their part in the decision, e.g. "champion". */
1444
+ role?: string | null;
1445
+ }
1446
+
1447
+ /**
1448
+ * Approve or reject one paused workflow run.
1449
+ *
1450
+ * `decision` is CLOSED to the two values the engine accepts. A free string
1451
+ * would reach the engine and come back as a 502, which reads like an outage
1452
+ * rather than a typo.
1453
+ */
1454
+ export interface DeskApprovalDecisionRequest {
1455
+ decision: "approve" | "reject";
1456
+ /** Optional note. The engine records it as `notes` on an approval and `reason` on a rejection. */
1457
+ note?: string | null;
1458
+ }
1459
+
1460
+ /**
1461
+ * A grounded question about a card or a deal.
1462
+ *
1463
+ * Give it something to ground on: with neither `decision_id` nor `deal_id`
1464
+ * the answer has no record to read and comes back generic.
1465
+ */
1466
+ export interface DeskAskRequest {
1467
+ /** Ground the answer in this deal. */
1468
+ deal_id?: string | null;
1469
+ /** Ground the answer in this decision card. */
1470
+ decision_id?: string | null;
1471
+ question: string;
1472
+ }
1473
+
1474
+ /**
1475
+ * Which decisions the desk may act on WITHOUT asking the rep first.
1476
+ *
1477
+ * A lane of `autopilot` means the desk executes that decision type on the
1478
+ * rep's behalf - including the ones that send. `approve` asks first, `off`
1479
+ * stops the type being raised at all. The app validates both maps against its
1480
+ * own `DecisionType` / `AutonomyLane` / lane-family vocabularies and answers
1481
+ * 400 on anything it could not act on, so this surface forwards them as open
1482
+ * maps rather than freezing a copy of three enums that move with the product.
1483
+ *
1484
+ * An omitted `autonomy_families` means "I did not touch the family
1485
+ * questions", so a partial save cannot wipe them. An explicit `{}` clears
1486
+ * them and hands every type back to its own lane - the only way back once a
1487
+ * family has been answered.
1488
+ */
1489
+ export interface DeskAutonomyUpdate {
1490
+ /** Map of lane family -> lane (plan_work/outreach/hygiene_and_alerts). Omit to leave family answers untouched; send `{}` to clear them. */
1491
+ autonomy_families?: Record<string, string> | null;
1492
+ /** Map of decision_type -> lane (autopilot/approve/off). */
1493
+ lanes: Record<string, string>;
1494
+ }
1495
+
1496
+ /**
1497
+ * Today's frozen batch.
1498
+ *
1499
+ * A batch is FINITE by design: the rep freezes a ranked slice of the queue so
1500
+ * the day has an end. `None` from the app means no batch has been started
1501
+ * today, which is different from a batch with no items left - the response
1502
+ * keeps that distinction rather than flattening both to an empty batch.
1503
+ */
1504
+ export interface DeskBatch {
1505
+ completed?: number | null;
1506
+ completed_at?: string | null;
1507
+ id?: string | null;
1508
+ item_ids?: Array<string>;
1509
+ remaining?: number | null;
1510
+ started_at?: string | null;
1511
+ status?: string | null;
1512
+ total?: number | null;
1513
+ [key: string]: unknown;
1514
+ }
1515
+
1516
+ /** Append newly selected cards to today's existing batch. */
1517
+ export interface DeskBatchPullRequest {
1518
+ /** Decision ids to append. 1-40 - a smaller cap than start, by design. */
1519
+ item_ids: Array<string>;
1520
+ /** The rep's UTC offset in minutes. */
1521
+ tz_offset?: number;
1522
+ }
1523
+
1524
+ /**
1525
+ * Freeze today's ranked queue into a finite batch.
1526
+ *
1527
+ * `item_ids` is typed `list[UUID]`, not `list[str]`, so a malformed id is a
1528
+ * request-validation 422 that NAMES the offending element. Typed as strings,
1529
+ * the app's own `list[UUID]` model raises a pydantic `ValidationError` from
1530
+ * inside the handler body instead - the same class of bare-500 the path
1531
+ * guard exists to prevent, one layer in.
1532
+ */
1533
+ export interface DeskBatchStartRequest {
1534
+ /** Decision ids to freeze into the batch. 1-80 - the cap is the app's. */
1535
+ item_ids: Array<string>;
1536
+ /** The rep's UTC offset in MINUTES (local = UTC + tz_offset). A batch is scoped to the rep's local day, so a wrong offset returns yesterday's batch or starts a second one. */
1537
+ tz_offset?: number;
1538
+ }
1539
+
1540
+ /** One card in the queue: something the desk thinks a rep should do next. */
1541
+ export interface DeskDecision {
1542
+ created_at?: string | null;
1543
+ /** What kind of action this card is asking for. */
1544
+ decision_type?: string | null;
1545
+ entity_id?: string | null;
1546
+ entity_type?: string | null;
1547
+ id?: string | null;
1548
+ priority?: number | null;
1549
+ resolved_at?: string | null;
1550
+ snoozed_until?: string | null;
1551
+ /** Exact signal id, e.g. "form_submitted". */
1552
+ source?: string | null;
1553
+ /** Signal family, e.g. "forms". */
1554
+ source_group?: string | null;
1555
+ /** pending, approved, edited, skipped, deferred, snoozed, done_already. */
1556
+ status?: string | null;
1557
+ summary?: string | null;
1558
+ title?: string | null;
1559
+ [key: string]: unknown;
1560
+ }
1561
+
1562
+ /** A page of decision cards. */
1563
+ export interface DeskDecisionListResponse {
1564
+ decisions?: Array<DeskDecision>;
1565
+ total?: number;
1566
+ [key: string]: unknown;
1567
+ }
1568
+
1569
+ /** A draft to rewrite. The rewrite targets its FAILING subscores. */
1570
+ export interface DeskEmailImproveRequest {
1571
+ body: string;
1572
+ subject?: string;
1573
+ }
1574
+
1575
+ /** A draft to score 0-100. Heuristics plus an AI read. */
1576
+ export interface DeskEmailScoreRequest {
1577
+ body: string;
1578
+ /** Recipient name, used for the personalisation subscore. */
1579
+ contact_name?: string | null;
1580
+ subject?: string;
1581
+ }
1582
+
1583
+ /**
1584
+ * Claim a LinkedIn account for this rep, or give the claim up.
1585
+ *
1586
+ * NULL is the release, not a no-op. The claim is exclusive: two unique
1587
+ * constraints on the underlying table are what stop a rep taking a
1588
+ * colleague's account, so a claim on a held account is refused with a 409
1589
+ * rather than silently reassigned.
1590
+ */
1591
+ export interface DeskLinkedInSenderUpdate {
1592
+ /** The LinkedIn account to claim. NULL releases the current claim. */
1593
+ provider_member_id?: string | null;
1594
+ }
1595
+
1596
+ /** Set or clear one list's daily dial target. */
1597
+ export interface DeskListGoalUpdate {
1598
+ /** The dial list this target belongs to. */
1599
+ audience_id: number;
1600
+ /** Dials per day. NULL CLEARS the target rather than setting zero. */
1601
+ target?: number | null;
1602
+ }
1603
+
1604
+ /**
1605
+ * The rep's own moves of dial lists into a band. THE WHOLE MAP.
1606
+ *
1607
+ * Keyed by dial-list (audience) id. A PUT REPLACES what is stored rather
1608
+ * than merging one entry into it, so a list left out goes back to the band
1609
+ * the desk would have put it in, and `{}` clears every move.
1610
+ */
1611
+ export interface DeskListGroupOverrideUpdate {
1612
+ /** Dial-list id -> band (`form`, `warm` or `cold`). REPLACES every stored move. */
1613
+ overrides?: Record<string, "form" | "warm" | "cold">;
1614
+ }
1615
+
1616
+ /** An open envelope for a LIST result, so a bare list keeps its shape. */
1617
+ export interface DeskListPayload {
1618
+ items?: Array<unknown>;
1619
+ [key: string]: unknown;
1620
+ }
1621
+
1622
+ /**
1623
+ * The rep's dial-list order. THE WHOLE ORDER, most important first.
1624
+ *
1625
+ * Not a partial edit and not an append: the app replaces the stored order
1626
+ * with exactly this list, so a caller that sends one id has pinned one list
1627
+ * and UNPINNED every other. Said here because the field name alone reads like
1628
+ * "add these".
1629
+ */
1630
+ export interface DeskListPriorityUpdate {
1631
+ /** Dial-list (audience) ids, most important first. REPLACES the whole order - an empty list clears every pin. */
1632
+ audience_ids?: Array<number>;
1633
+ }
1634
+
1635
+ /**
1636
+ * Org-level desk settings. PARTIAL - an unset field is left untouched.
1637
+ *
1638
+ * Mirrors `desk.interfaces.fastapi.dtos.DeskOrgSettingsUpdate` field for
1639
+ * field, pinned by test, because it is constructed inside the proxy.
1640
+ *
1641
+ * THREE KINDS OF FIELD LIVE HERE AND THEY ARE NOT EQUALLY QUIET
1642
+ * ---------------------------------------------------------------
1643
+ * Most are thresholds and ids. But `max_auto_account_plans_per_day`,
1644
+ * `max_account_replans_per_day` and `max_skill_plans_per_day` are the org's
1645
+ * DAILY SPEND CAPS on charged model calls, and `desk_acts_on_signals`,
1646
+ * `desk_drafts_with_ai`, `desk_writes_deal_plans`, `reps_may_fire_workflows`
1647
+ * and `stalled_deal_send_email` are the switches that let the desk act - and
1648
+ * email - on its own. That is why this operation is not tiered a plain
1649
+ * `write`; see the router docstring.
1650
+ *
1651
+ * Every value is validated by the app's own `validated_payload()` and
1652
+ * `save_desk_org_settings`, which answer 400 with the reason. This surface
1653
+ * does not second-guess either.
1654
+ */
1655
+ export interface DeskOrgSettingsUpdate {
1656
+ contact_update_planned_deals_only?: boolean | null;
1657
+ daily_action_target?: number | null;
1658
+ desk_acts_on_signals?: boolean | null;
1659
+ desk_drafts_with_ai?: boolean | null;
1660
+ desk_escalates_to_managers?: boolean | null;
1661
+ desk_keeps_crm_tidy?: boolean | null;
1662
+ desk_writes_deal_plans?: boolean | null;
1663
+ enrichment_win_fields?: Array<string> | null;
1664
+ fallback_owner_emails?: Array<string> | null;
1665
+ lead_sla_minutes?: number | null;
1666
+ /** DAILY CAP on charged account re-plans. */
1667
+ max_account_replans_per_day?: number | null;
1668
+ /** DAILY CAP on charged auto account plans. */
1669
+ max_auto_account_plans_per_day?: number | null;
1670
+ max_cards_per_generator_per_day?: number | null;
1671
+ /** DAILY CAP on charged skill plans. */
1672
+ max_skill_plans_per_day?: number | null;
1673
+ no_reply_channels?: Array<string> | null;
1674
+ no_reply_threshold_days?: number | null;
1675
+ overdue_self_task_enabled?: boolean | null;
1676
+ overdue_task_max_age_days?: number | null;
1677
+ pipeline_target_quarterly?: number | null;
1678
+ plan_required_stage_ids?: Array<string> | null;
1679
+ reps_may_fire_workflows?: boolean | null;
1680
+ signal_policies?: Record<string, DeskSignalPolicy> | null;
1681
+ /** Per-signal kill switches. `ai_briefs` is the desk-wide LLM-spend gate and `morning_kickoff` gates the daily briefing. */
1682
+ signals_enabled?: Record<string, boolean> | null;
1683
+ stalled_deal_approve_after_days?: number | null;
1684
+ stalled_deal_enabled?: boolean | null;
1685
+ stalled_deal_fallback_manager_user_id?: string | null;
1686
+ stalled_deal_manager_user_id?: string | null;
1687
+ stalled_deal_min_amount?: number | null;
1688
+ stalled_deal_min_deal_age_days?: number | null;
1689
+ stalled_deal_reassign_to_user_id?: string | null;
1690
+ stalled_deal_reminder_after_hours?: number | null;
1691
+ stalled_deal_require_activity_evidence?: boolean | null;
1692
+ /** Let the stalled-deal escalation EMAIL the manager. */
1693
+ stalled_deal_send_email?: boolean | null;
1694
+ stalled_deal_skip_crm_synced_transfer?: boolean | null;
1695
+ stalled_deal_stage_ids?: Array<string> | null;
1696
+ stalled_deal_undo_window_minutes?: number | null;
1697
+ stalled_deal_warn_after_days?: number | null;
1698
+ }
1699
+
1700
+ /**
1701
+ * An open envelope for one desk object.
1702
+ *
1703
+ * Open on purpose - see the module docstring. A rebuilder gets every field
1704
+ * the desk returns, including ones added after this contract version.
1705
+ */
1706
+ export type DeskPayload = Record<string, unknown>;
1707
+
1708
+ /** Resolve a pending decision. */
1709
+ export interface DeskResolveRequest {
1710
+ /** Action payload, e.g. the edited email body. */
1711
+ action_taken?: Record<string, unknown> | null;
1712
+ /** REQUIRED when status=snoozed. Wake time, UTC. */
1713
+ snoozed_until?: string | null;
1714
+ /** approved, edited, skipped, deferred, snoozed or done_already. A status the app does not accept is a 400 rather than being silently dropped, which is why this is an open string and not an enum this surface would have to keep in lock-step. `done_already` resolves the card AND records the work on its entity. */
1715
+ status: string;
1716
+ /** Early-wake condition, valid only with status=snoozed: reply | site_visit | stage_change. `snoozed_until` stays required as the fallback timeout. `stage_change` is accepted but only wakes via that timeout today - no deal-stage-change event reaches the desk signal consumer yet. */
1717
+ wake_condition?: string | null;
1718
+ }
1719
+
1720
+ /**
1721
+ * The rep's reply, as it will arrive in the prospect's inbox.
1722
+ *
1723
+ * An omitted `subject` keeps the thread's own. The opt-out check runs AGAIN
1724
+ * on send - `reply-target` already asked, but that answer is as old as the
1725
+ * editing session and a STOP arriving while the rep typed must not be sent
1726
+ * through.
1727
+ */
1728
+ export interface DeskSendReplyRequest {
1729
+ /** The reply body. Reaches a real person. */
1730
+ body: string;
1731
+ subject?: string | null;
1732
+ }
1733
+
1734
+ /**
1735
+ * The rep's text, as it will arrive on the prospect's phone.
1736
+ *
1737
+ * 1600 characters is the app's ceiling, not a display limit - it is the
1738
+ * concatenated-SMS cap, and a longer body is refused rather than truncated.
1739
+ */
1740
+ export interface DeskSendSmsRequest {
1741
+ /** The message. Reaches a real phone and costs carrier spend. */
1742
+ body: string;
1743
+ }
1744
+
1745
+ /**
1746
+ * Per-signal policy override. Mirrors the app's `DeskSignalPolicyUpdate`.
1747
+ *
1748
+ * Open (`extra="allow"`) rather than pinned: this nests inside a JSONB
1749
+ * settings blob the desk extends per signal family, and a closed mirror would
1750
+ * reject a key the app has just learned to read.
1751
+ */
1752
+ export type DeskSignalPolicy = Record<string, unknown>;
1753
+
1754
+ export interface PaginationMeta {
1755
+ /** Whether there are more pages */
1756
+ has_next: boolean;
1757
+ /** Items per page */
1758
+ limit: number;
1759
+ /** Opaque cursor for the next page; null when there are no more items. Pass it back as the `cursor` query param to fetch the following page without computing page numbers. */
1760
+ next_cursor?: string | null;
1761
+ /** Current page number (1-indexed) */
1762
+ page: number;
1763
+ /** Total number of items */
1764
+ total: number;
1765
+ }