@graph8/sdk 0.245.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 +19 -5
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +283 -12
  4. package/dist/index.d.ts +283 -12
  5. package/dist/index.js +88 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +88 -2
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +274 -12
  10. package/dist/react.d.ts +274 -12
  11. package/dist/react.js +106 -10
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +97 -11
  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,731 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.settings`: Settings
4
+
5
+ 18 operations (6 read, 7 write, 4 destructive, 1 external).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.settings.*` as shown below, or by operationId with `g8.api.call(operationId, input)`.
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: [settings.d.ts](settings.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`activateSso`](#op-activatesso) | `POST /api/v1/org/sso/activate` | write | `account:write` | Activate Sso |
26
+ | [`configureOidcSso`](#op-configureoidcsso) | `PUT /api/v1/org/sso/oidc` | write | `account:write` | Configure Oidc Sso |
27
+ | [`configureSamlSso`](#op-configuresamlsso) | `PUT /api/v1/org/sso/saml` | write | `account:write` | Configure Saml Sso |
28
+ | [`deactivateSso`](#op-deactivatesso) | `POST /api/v1/org/sso/deactivate` | destructive | `account:delete` | Deactivate Sso |
29
+ | [`deleteSsoConfig`](#op-deletessoconfig) | `DELETE /api/v1/org/sso` | destructive | `account:delete` | Delete Sso Config |
30
+ | [`getCostSettings`](#op-getcostsettings) | `GET /api/v1/org/settings/cost` | read | `account:read` | Get Cost Settings |
31
+ | [`getDeliverabilityProtection`](#op-getdeliverabilityprotection) | `GET /api/v1/org/settings/deliverability-protection` | read | `account:read` | Get Deliverability Protection |
32
+ | [`getDepartments`](#op-getdepartments) | `GET /api/v1/org/settings/departments` | read | `account:read` | Get Departments |
33
+ | [`getOutboundTracking`](#op-getoutboundtracking) | `GET /api/v1/org/settings/outbound-tracking` | read | `account:read` | Get Outbound Tracking |
34
+ | [`getSsoConfig`](#op-getssoconfig) | `GET /api/v1/org/sso` | read | `account:read` | Get Sso Config |
35
+ | [`getSsoMetadata`](#op-getssometadata) | `GET /api/v1/org/sso/metadata` | read | `account:read` | Get Sso Metadata |
36
+ | [`seedDepartmentDefaults`](#op-seeddepartmentdefaults) | `POST /api/v1/org/settings/departments/seed-defaults` | destructive | `account:delete` | Seed Department Defaults |
37
+ | [`syncSsoConfig`](#op-syncssoconfig) | `POST /api/v1/org/sso/sync` | external | `integrations:run` | Sync Sso Config |
38
+ | [`updateCostSettings`](#op-updatecostsettings) | `PUT /api/v1/org/settings/cost` | write | `account:write` | Update Cost Settings |
39
+ | [`updateDeliverabilityProtection`](#op-updatedeliverabilityprotection) | `PUT /api/v1/org/settings/deliverability-protection` | write | `account:write` | Update Deliverability Protection |
40
+ | [`updateDepartments`](#op-updatedepartments) | `PUT /api/v1/org/settings/departments` | write | `account:write` | Update Departments |
41
+ | [`updateOutboundTracking`](#op-updateoutboundtracking) | `PUT /api/v1/org/settings/outbound-tracking` | write | `account:write` | Update Outbound Tracking |
42
+ | [`updateSsoEnforcement`](#op-updatessoenforcement) | `PUT /api/v1/org/sso/enforcement` | destructive | `account:delete` | Update Sso Enforcement |
43
+
44
+ ---
45
+
46
+ <a id="op-activatesso"></a>
47
+
48
+ ### `g8.api.settings.activateSso(input?)`
49
+
50
+ **Activate Sso**
51
+
52
+ - HTTP: `POST /api/v1/org/sso/activate`
53
+ - operationId: `activate_sso_org_sso_activate_post` (also callable as `g8.api.call("activate_sso_org_sso_activate_post", input)`)
54
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
55
+ - API-key scope: `account:write`
56
+
57
+ Switch SSO on for the org.
58
+
59
+ Check `/org/sso` first: activating a configuration the identity provider
60
+ has not accepted is how an org locks itself out. Reversible with
61
+ `/deactivate`, which is why this is the lighter of the two.
62
+
63
+ **Input**: none.
64
+
65
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
66
+
67
+ Other envelope fields: `pagination` (PaginationMeta).
68
+
69
+ **Example**
70
+
71
+ ```ts
72
+ const result = await g8.api.settings.activateSso();
73
+ ```
74
+
75
+ ---
76
+
77
+ <a id="op-configureoidcsso"></a>
78
+
79
+ ### `g8.api.settings.configureOidcSso(input)`
80
+
81
+ **Configure Oidc Sso**
82
+
83
+ - HTTP: `PUT /api/v1/org/sso/oidc`
84
+ - operationId: `configure_oidc_sso_org_sso_oidc_put` (also callable as `g8.api.call("configure_oidc_sso_org_sso_oidc_put", input)`)
85
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
86
+ - API-key scope: `account:write`
87
+
88
+ Configure OIDC sign-in. Does NOT switch it on - see `/activate`.
89
+
90
+ **Input**
91
+
92
+ | Field | Type | Required | Description |
93
+ |---|---|---|---|
94
+ | `body` | `OIDCConfigRequest` | yes | Request body; fields below. |
95
+
96
+ Body fields (`OIDCConfigRequest`):
97
+
98
+ | Field | Type | Required | Description |
99
+ |---|---|---|---|
100
+ | `body.authorize_url` | `string` | yes | |
101
+ | `body.client_id` | `string` | yes | |
102
+ | `body.client_secret` | `string` | yes | Stored, never returned by the read endpoint. |
103
+ | `body.provider_name` | `string` | yes | IdP name: okta, azure, google, custom. |
104
+ | `body.token_url` | `string` | yes | |
105
+ | `body.userinfo_url` | `string` | yes | |
106
+ | `body.allowed_domains` | `Array<string> \| null` | no | |
107
+ | `body.require_sso` | `boolean` | no | See the SAML note — set this later. default `false` |
108
+
109
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
110
+
111
+ Other envelope fields: `pagination` (PaginationMeta).
112
+
113
+ **Example**
114
+
115
+ ```ts
116
+ const result = await g8.api.settings.configureOidcSso({
117
+ body: {
118
+ authorize_url: "https://example.com",
119
+ client_id: "id",
120
+ client_secret: "example",
121
+ provider_name: "Example",
122
+ token_url: "https://example.com",
123
+ userinfo_url: "https://example.com",
124
+ },
125
+ });
126
+ ```
127
+
128
+ ---
129
+
130
+ <a id="op-configuresamlsso"></a>
131
+
132
+ ### `g8.api.settings.configureSamlSso(input)`
133
+
134
+ **Configure Saml Sso**
135
+
136
+ - HTTP: `PUT /api/v1/org/sso/saml`
137
+ - operationId: `configure_saml_sso_org_sso_saml_put` (also callable as `g8.api.call("configure_saml_sso_org_sso_saml_put", input)`)
138
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
139
+ - API-key scope: `account:write`
140
+
141
+ Configure SAML sign-in. Does NOT switch it on - see `/activate`.
142
+
143
+ Configuring and activating are separate calls in the app and stay separate
144
+ here, so a half-finished configuration cannot lock anyone out.
145
+
146
+ **Input**
147
+
148
+ | Field | Type | Required | Description |
149
+ |---|---|---|---|
150
+ | `body` | `SAMLConfigRequest` | yes | Request body; fields below. |
151
+
152
+ Body fields (`SAMLConfigRequest`):
153
+
154
+ | Field | Type | Required | Description |
155
+ |---|---|---|---|
156
+ | `body.idp_certificate` | `string` | yes | X.509 certificate from the IdP, PEM format. |
157
+ | `body.idp_entity_id` | `string` | yes | Identity Provider Entity ID. |
158
+ | `body.idp_sso_url` | `string` | yes | SSO URL from the IdP. |
159
+ | `body.provider_name` | `string` | yes | IdP name: okta, azure, google, onelogin, custom. |
160
+ | `body.allowed_domains` | `Array<string> \| null` | no | Email domains allowed to sign in this way. |
161
+ | `body.require_sso` | `boolean` | no | Make SSO the ONLY way in. False here and set it later with `PUT /org/sso/enforcement` once you have signed in through SSO yourself — that ordering is what stops a lockout. default `false` |
162
+
163
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
164
+
165
+ Other envelope fields: `pagination` (PaginationMeta).
166
+
167
+ **Example**
168
+
169
+ ```ts
170
+ const result = await g8.api.settings.configureSamlSso({
171
+ body: {
172
+ idp_certificate: "example",
173
+ idp_entity_id: "id",
174
+ idp_sso_url: "https://example.com",
175
+ provider_name: "Example",
176
+ },
177
+ });
178
+ ```
179
+
180
+ ---
181
+
182
+ <a id="op-deactivatesso"></a>
183
+
184
+ ### `g8.api.settings.deactivateSso(input?)`
185
+
186
+ **Deactivate Sso**
187
+
188
+ - HTTP: `POST /api/v1/org/sso/deactivate`
189
+ - operationId: `deactivate_sso_org_sso_deactivate_post` (also callable as `g8.api.call("deactivate_sso_org_sso_deactivate_post", input)`)
190
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
191
+ - API-key scope: `account:delete`
192
+
193
+ Switch SSO off. THE CONFIGURATION IS KEPT.
194
+
195
+ Everyone falls back to whatever sign-in they had before SSO. If your org
196
+ has no other sign-in method, this is the call that strands them - check
197
+ before running it from a script.
198
+
199
+ **Input**: none.
200
+
201
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
202
+
203
+ Other envelope fields: `pagination` (PaginationMeta).
204
+
205
+ **Example**
206
+
207
+ ```ts
208
+ // destructive: deletes or archives data; confirm with a human before calling.
209
+ const result = await g8.api.settings.deactivateSso();
210
+ ```
211
+
212
+ ---
213
+
214
+ <a id="op-deletessoconfig"></a>
215
+
216
+ ### `g8.api.settings.deleteSsoConfig(input?)`
217
+
218
+ **Delete Sso Config**
219
+
220
+ - HTTP: `DELETE /api/v1/org/sso`
221
+ - operationId: `delete_sso_config_org_sso_delete` (also callable as `g8.api.call("delete_sso_config_org_sso_delete", input)`)
222
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
223
+ - API-key scope: `account:delete`
224
+
225
+ Remove the SSO configuration entirely. NOT REVERSIBLE.
226
+
227
+ `/deactivate` switches SSO off and keeps the configuration; this throws it
228
+ away, and setting it up again means going back to the identity provider.
229
+
230
+ **Input**: none.
231
+
232
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
233
+
234
+ Other envelope fields: `pagination` (PaginationMeta).
235
+
236
+ **Example**
237
+
238
+ ```ts
239
+ // destructive: deletes or archives data; confirm with a human before calling.
240
+ const result = await g8.api.settings.deleteSsoConfig();
241
+ ```
242
+
243
+ ---
244
+
245
+ <a id="op-getcostsettings"></a>
246
+
247
+ ### `g8.api.settings.getCostSettings(input?)`
248
+
249
+ **Get Cost Settings**
250
+
251
+ - HTTP: `GET /api/v1/org/settings/cost`
252
+ - operationId: `get_cost_settings_org_settings_cost_get` (also callable as `g8.api.call("get_cost_settings_org_settings_cost_get", input)`)
253
+ - Tier: `read`: reads data; safe to call and to retry
254
+ - API-key scope: `account:read`
255
+
256
+ Labour cost per rep and the commission model the cost reports use. Admin only.
257
+
258
+ **Input**: none.
259
+
260
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `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.settings.getCostSettings();
268
+ ```
269
+
270
+ ---
271
+
272
+ <a id="op-getdeliverabilityprotection"></a>
273
+
274
+ ### `g8.api.settings.getDeliverabilityProtection(input?)`
275
+
276
+ **Get Deliverability Protection**
277
+
278
+ - HTTP: `GET /api/v1/org/settings/deliverability-protection`
279
+ - operationId: `get_deliverability_protection_org_settings_deliverability_protection_get` (also callable as `g8.api.call("get_deliverability_protection_org_settings_deliverability_protection_get", input)`)
280
+ - Tier: `read`: reads data; safe to call and to retry
281
+ - API-key scope: `account:read`
282
+
283
+ Which high-risk content categories are blocked, with a preview of each rule set.
284
+
285
+ **Input**: none.
286
+
287
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
288
+
289
+ Other envelope fields: `pagination` (PaginationMeta).
290
+
291
+ **Example**
292
+
293
+ ```ts
294
+ const result = await g8.api.settings.getDeliverabilityProtection();
295
+ ```
296
+
297
+ ---
298
+
299
+ <a id="op-getdepartments"></a>
300
+
301
+ ### `g8.api.settings.getDepartments(input?)`
302
+
303
+ **Get Departments**
304
+
305
+ - HTTP: `GET /api/v1/org/settings/departments`
306
+ - operationId: `get_departments_org_settings_departments_get` (also callable as `g8.api.call("get_departments_org_settings_departments_get", input)`)
307
+ - Tier: `read`: reads data; safe to call and to retry
308
+ - API-key scope: `account:read`
309
+
310
+ The org's department taxonomy, in display order.
311
+
312
+ **Input**: none.
313
+
314
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
315
+
316
+ Other envelope fields: `pagination` (PaginationMeta).
317
+
318
+ **Example**
319
+
320
+ ```ts
321
+ const result = await g8.api.settings.getDepartments();
322
+ ```
323
+
324
+ ---
325
+
326
+ <a id="op-getoutboundtracking"></a>
327
+
328
+ ### `g8.api.settings.getOutboundTracking(input?)`
329
+
330
+ **Get Outbound Tracking**
331
+
332
+ - HTTP: `GET /api/v1/org/settings/outbound-tracking`
333
+ - operationId: `get_outbound_tracking_org_settings_outbound_tracking_get` (also callable as `g8.api.call("get_outbound_tracking_org_settings_outbound_tracking_get", input)`)
334
+ - Tier: `read`: reads data; safe to call and to retry
335
+ - API-key scope: `account:read`
336
+
337
+ Whether outbound links are UTM-tagged, and on which channels.
338
+
339
+ **Input**: none.
340
+
341
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
342
+
343
+ Other envelope fields: `pagination` (PaginationMeta).
344
+
345
+ **Example**
346
+
347
+ ```ts
348
+ const result = await g8.api.settings.getOutboundTracking();
349
+ ```
350
+
351
+ ---
352
+
353
+ <a id="op-getssoconfig"></a>
354
+
355
+ ### `g8.api.settings.getSsoConfig(input?)`
356
+
357
+ **Get Sso Config**
358
+
359
+ - HTTP: `GET /api/v1/org/sso`
360
+ - operationId: `get_sso_config_org_sso_get` (also callable as `g8.api.call("get_sso_config_org_sso_get", input)`)
361
+ - Tier: `read`: reads data; safe to call and to retry
362
+ - API-key scope: `account:read`
363
+
364
+ The org's SSO configuration, or empty if none is set up.
365
+
366
+ **Input**: none.
367
+
368
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
369
+
370
+ Other envelope fields: `pagination` (PaginationMeta).
371
+
372
+ **Example**
373
+
374
+ ```ts
375
+ const result = await g8.api.settings.getSsoConfig();
376
+ ```
377
+
378
+ ---
379
+
380
+ <a id="op-getssometadata"></a>
381
+
382
+ ### `g8.api.settings.getSsoMetadata(input?)`
383
+
384
+ **Get Sso Metadata**
385
+
386
+ - HTTP: `GET /api/v1/org/sso/metadata`
387
+ - operationId: `get_sso_metadata_org_sso_metadata_get` (also callable as `g8.api.call("get_sso_metadata_org_sso_metadata_get", input)`)
388
+ - Tier: `read`: reads data; safe to call and to retry
389
+ - API-key scope: `account:read`
390
+
391
+ Service-provider metadata to hand to the identity provider.
392
+
393
+ This is what you paste into Okta, Entra or similar when configuring the
394
+ other side of the trust. It describes graph8; it contains no secret.
395
+
396
+ **Input**: none.
397
+
398
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
399
+
400
+ Other envelope fields: `pagination` (PaginationMeta).
401
+
402
+ **Example**
403
+
404
+ ```ts
405
+ const result = await g8.api.settings.getSsoMetadata();
406
+ ```
407
+
408
+ ---
409
+
410
+ <a id="op-seeddepartmentdefaults"></a>
411
+
412
+ ### `g8.api.settings.seedDepartmentDefaults(input?)`
413
+
414
+ **Seed Department Defaults**
415
+
416
+ - HTTP: `POST /api/v1/org/settings/departments/seed-defaults`
417
+ - operationId: `seed_department_defaults_org_settings_departments_seed_defaults_post` (also callable as `g8.api.call("seed_department_defaults_org_settings_departments_seed_defaults_post", input)`)
418
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
419
+ - API-key scope: `account:delete`
420
+
421
+ FORCE-REPLACE the taxonomy with the five defaults. Custom departments are lost.
422
+
423
+ Tiered `destructive` for exactly that reason: nothing in the path says so.
424
+
425
+ **Input**: none.
426
+
427
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
428
+
429
+ Other envelope fields: `pagination` (PaginationMeta).
430
+
431
+ **Example**
432
+
433
+ ```ts
434
+ // destructive: deletes or archives data; confirm with a human before calling.
435
+ const result = await g8.api.settings.seedDepartmentDefaults();
436
+ ```
437
+
438
+ ---
439
+
440
+ <a id="op-syncssoconfig"></a>
441
+
442
+ ### `g8.api.settings.syncSsoConfig(input?)`
443
+
444
+ **Sync Sso Config**
445
+
446
+ - HTTP: `POST /api/v1/org/sso/sync`
447
+ - operationId: `sync_sso_config_org_sso_sync_post` (also callable as `g8.api.call("sync_sso_config_org_sso_sync_post", input)`)
448
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
449
+ - API-key scope: `integrations:run`
450
+
451
+ Re-push the stored configuration to the identity provider.
452
+
453
+ Use it when the two sides have drifted - it reconciles rather than changing
454
+ what you configured.
455
+
456
+ **Input**: none.
457
+
458
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
459
+
460
+ Other envelope fields: `pagination` (PaginationMeta).
461
+
462
+ **Example**
463
+
464
+ ```ts
465
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
466
+ const result = await g8.api.settings.syncSsoConfig();
467
+ ```
468
+
469
+ ---
470
+
471
+ <a id="op-updatecostsettings"></a>
472
+
473
+ ### `g8.api.settings.updateCostSettings(input)`
474
+
475
+ **Update Cost Settings**
476
+
477
+ - HTTP: `PUT /api/v1/org/settings/cost`
478
+ - operationId: `update_cost_settings_org_settings_cost_put` (also callable as `g8.api.call("update_cost_settings_org_settings_cost_put", input)`)
479
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
480
+ - API-key scope: `account:write`
481
+
482
+ Replace the cost configuration. Employee keys are email addresses, lowercased.
483
+
484
+ **Input**
485
+
486
+ | Field | Type | Required | Description |
487
+ |---|---|---|---|
488
+ | `body` | `OrgCostSettingsRequest` | yes | Request body; fields below. |
489
+
490
+ Body fields (`OrgCostSettingsRequest`):
491
+
492
+ | Field | Type | Required | Description |
493
+ |---|---|---|---|
494
+ | `body.commission` | `CommissionConfig` | no | |
495
+ | `body.employees` | `Record<string, EmployeeCost>` | no | |
496
+ | `body.enabled` | `boolean` | no | default `false` |
497
+ | `body.version` | `integer` | no | default `1` |
498
+
499
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
500
+
501
+ Other envelope fields: `pagination` (PaginationMeta).
502
+
503
+ **Example**
504
+
505
+ ```ts
506
+ const result = await g8.api.settings.updateCostSettings({ body: {} });
507
+ ```
508
+
509
+ ---
510
+
511
+ <a id="op-updatedeliverabilityprotection"></a>
512
+
513
+ ### `g8.api.settings.updateDeliverabilityProtection(input)`
514
+
515
+ **Update Deliverability Protection**
516
+
517
+ - HTTP: `PUT /api/v1/org/settings/deliverability-protection`
518
+ - operationId: `update_deliverability_protection_org_settings_deliverability_protection_put` (also callable as `g8.api.call("update_deliverability_protection_org_settings_deliverability_protection_put", input)`)
519
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
520
+ - API-key scope: `account:write`
521
+
522
+ Switch the protection on or off, and choose the blocked categories.
523
+
524
+ Org-wide: it changes what every sequence may send. Turning it off removes a
525
+ guard, not a feature, so it is audited under the key-holder's identity.
526
+
527
+ **Input**
528
+
529
+ | Field | Type | Required | Description |
530
+ |---|---|---|---|
531
+ | `body` | `OrgDeliverabilityProtectionRequest` | yes | Request body; fields below. |
532
+
533
+ Body fields (`OrgDeliverabilityProtectionRequest`):
534
+
535
+ | Field | Type | Required | Description |
536
+ |---|---|---|---|
537
+ | `body.categories` | `Array<string>` | no | |
538
+ | `body.enabled` | `boolean` | no | default `true` |
539
+ | `body.version` | `1` | no | default `1` |
540
+
541
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
542
+
543
+ Other envelope fields: `pagination` (PaginationMeta).
544
+
545
+ **Example**
546
+
547
+ ```ts
548
+ const result = await g8.api.settings.updateDeliverabilityProtection({ body: {} });
549
+ ```
550
+
551
+ ---
552
+
553
+ <a id="op-updatedepartments"></a>
554
+
555
+ ### `g8.api.settings.updateDepartments(input)`
556
+
557
+ **Update Departments**
558
+
559
+ - HTTP: `PUT /api/v1/org/settings/departments`
560
+ - operationId: `update_departments_org_settings_departments_put` (also callable as `g8.api.call("update_departments_org_settings_departments_put", input)`)
561
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
562
+ - API-key scope: `account:write`
563
+
564
+ Replace the department list. Slugs must be unique; an omitted entry is removed.
565
+
566
+ **Input**
567
+
568
+ | Field | Type | Required | Description |
569
+ |---|---|---|---|
570
+ | `body` | `OrgDepartmentsUpdateRequest` | yes | Request body; fields below. |
571
+
572
+ Body fields (`OrgDepartmentsUpdateRequest`):
573
+
574
+ | Field | Type | Required | Description |
575
+ |---|---|---|---|
576
+ | `body.entries` | `Array<DepartmentEntry>` | yes | max items 100 |
577
+
578
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
579
+
580
+ Other envelope fields: `pagination` (PaginationMeta).
581
+
582
+ **Example**
583
+
584
+ ```ts
585
+ const result = await g8.api.settings.updateDepartments({ body: { entries: [{ name: "Example", slug: "example" }] } });
586
+ ```
587
+
588
+ ---
589
+
590
+ <a id="op-updateoutboundtracking"></a>
591
+
592
+ ### `g8.api.settings.updateOutboundTracking(input)`
593
+
594
+ **Update Outbound Tracking**
595
+
596
+ - HTTP: `PUT /api/v1/org/settings/outbound-tracking`
597
+ - operationId: `update_outbound_tracking_org_settings_outbound_tracking_put` (also callable as `g8.api.call("update_outbound_tracking_org_settings_outbound_tracking_put", input)`)
598
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
599
+ - API-key scope: `account:write`
600
+
601
+ Replace the outbound tracking configuration.
602
+
603
+ **Input**
604
+
605
+ | Field | Type | Required | Description |
606
+ |---|---|---|---|
607
+ | `body` | `OrgOutboundTrackingRequest` | yes | Request body; fields below. |
608
+
609
+ Body fields (`OrgOutboundTrackingRequest`):
610
+
611
+ | Field | Type | Required | Description |
612
+ |---|---|---|---|
613
+ | `body.channels` | `OutboundTrackingChannels` | no | |
614
+ | `body.enabled` | `boolean` | no | default `false` |
615
+ | `body.utm_source_prefix` | `string \| null` | no | |
616
+ | `body.version` | `integer` | no | default `1` |
617
+
618
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
619
+
620
+ Other envelope fields: `pagination` (PaginationMeta).
621
+
622
+ **Example**
623
+
624
+ ```ts
625
+ const result = await g8.api.settings.updateOutboundTracking({ body: {} });
626
+ ```
627
+
628
+ ---
629
+
630
+ <a id="op-updatessoenforcement"></a>
631
+
632
+ ### `g8.api.settings.updateSsoEnforcement(input)`
633
+
634
+ **Update Sso Enforcement**
635
+
636
+ - HTTP: `PUT /api/v1/org/sso/enforcement`
637
+ - operationId: `update_sso_enforcement_org_sso_enforcement_put` (also callable as `g8.api.call("update_sso_enforcement_org_sso_enforcement_put", input)`)
638
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
639
+ - API-key scope: `account:delete`
640
+
641
+ Decide whether SSO is the ONLY way in.
642
+
643
+ Enforcing it blocks every other sign-in method. That is the point of it,
644
+ and it is also the single most effective way to lock an org out of its own
645
+ account - enforce only once you have signed in through SSO yourself.
646
+
647
+ **Input**
648
+
649
+ | Field | Type | Required | Description |
650
+ |---|---|---|---|
651
+ | `body` | `SsoEnforcementRequest` | yes | Request body; fields below. |
652
+
653
+ Body fields (`SsoEnforcementRequest`):
654
+
655
+ | Field | Type | Required | Description |
656
+ |---|---|---|---|
657
+ | `body.allow_unverified_domain_members` | `boolean \| null` | no | Whether members on an unverified email domain may still sign in. |
658
+ | `body.allowed_domains` | `Array<string> \| null` | no | |
659
+ | `body.grant_ttl_minutes` | `integer \| null` | no | How long an SSO grant stays valid. |
660
+ | `body.require_sso` | `boolean` | no | True makes SSO the only way in. Defaults to false, as the app's does. default `false` |
661
+
662
+ **Returns** `ApiResponse_SettingsPayload_`: the envelope `{ data: SettingsPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
663
+
664
+ Other envelope fields: `pagination` (PaginationMeta).
665
+
666
+ **Example**
667
+
668
+ ```ts
669
+ // destructive: deletes or archives data; confirm with a human before calling.
670
+ const result = await g8.api.settings.updateSsoEnforcement({ body: {} });
671
+ ```
672
+
673
+ ---
674
+
675
+ ## Referenced types
676
+
677
+ Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
678
+
679
+ <a id="type-commissionconfig"></a>
680
+
681
+ ### `CommissionConfig`
682
+
683
+ Commission model. v1 supports ``none`` and ``per_meeting`` only — ``revenue_pct`` needs per-rep deal attribution we don't have cleanly yet (Phase 2), so it is rejected by the validator.
684
+
685
+ | Field | Type | Required | Description |
686
+ |---|---|---|---|
687
+ | `mode` | `"none" \| "per_meeting"` | no | default `"none"` |
688
+ | `per_employee_overrides` | `Record<string, EmployeeCommissionOverride>` | no | |
689
+ | `per_meeting_rate` | `number` | no | default `0`, min 0 |
690
+
691
+ <a id="type-departmententry"></a>
692
+
693
+ ### `DepartmentEntry`
694
+
695
+ | Field | Type | Required | Description |
696
+ |---|---|---|---|
697
+ | `name` | `string` | yes | min length 1, max length 64 |
698
+ | `slug` | `string` | yes | min length 1, max length 64 |
699
+ | `color` | `string \| null` | no | max length 9 |
700
+ | `description` | `string \| null` | no | max length 500 |
701
+ | `hidden` | `boolean` | no | default `false` |
702
+ | `id` | `string` | no | default `""` |
703
+ | `is_system_seed` | `boolean` | no | default `false` |
704
+ | `sort_order` | `integer` | no | default `0` |
705
+
706
+ <a id="type-employeecost"></a>
707
+
708
+ ### `EmployeeCost`
709
+
710
+ A single rep's labor cost. ``role`` is informational (sdr/ae/other). ``name`` is intentionally optional (default "") at the API layer — direct API callers may store cost keyed by email alone. The settings UI requires a name for usability; a27/a28 fall back to the email for display when blank.
711
+
712
+ | Field | Type | Required | Description |
713
+ |---|---|---|---|
714
+ | `monthly_cost` | `number` | no | default `0`, min 0 |
715
+ | `name` | `string` | no | default `""` |
716
+ | `role` | `"sdr" \| "ae" \| "other"` | no | default `"other"` |
717
+
718
+ <a id="type-outboundtrackingchannels"></a>
719
+
720
+ ### `OutboundTrackingChannels`
721
+
722
+ Per-channel UTM injection toggles. email, linkedin, and whatsapp are wired into their send paths; sms/voice/dialer use booking-link tokens.
723
+
724
+ | Field | Type | Required | Description |
725
+ |---|---|---|---|
726
+ | `dialer` | `boolean` | no | default `false` |
727
+ | `email` | `boolean` | no | default `false` |
728
+ | `linkedin` | `boolean` | no | default `false` |
729
+ | `sms` | `boolean` | no | default `false` |
730
+ | `voice` | `boolean` | no | default `false` |
731
+ | `whatsapp` | `boolean` | no | default `false` |