@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.
- package/README.md +9 -2
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +104 -7
- package/dist/index.d.ts +104 -7
- package/dist/index.js +44 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -3
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +102 -7
- package/dist/react.d.ts +102 -7
- package/dist/react.js +62 -11
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +53 -12
- package/dist/react.mjs.map +1 -1
- package/dist/types/README.md +7 -0
- package/dist/types/agency.d.ts +20 -0
- package/dist/types/agentSetup.d.ts +57 -0
- package/dist/types/api.d.ts +127 -0
- package/dist/types/appClient.d.ts +99 -0
- package/dist/types/appPlatform.d.ts +269 -0
- package/dist/types/appTokens.d.ts +125 -0
- package/dist/types/apps.d.ts +130 -0
- package/dist/types/audiences.d.ts +88 -0
- package/dist/types/calendar.d.ts +55 -0
- package/dist/types/campaigns.d.ts +61 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/cli.d.ts +14 -0
- package/dist/types/companies.d.ts +123 -0
- package/dist/types/contacts.d.ts +200 -0
- package/dist/types/copilot.d.ts +31 -0
- package/dist/types/core.d.ts +1052 -0
- package/dist/types/deals.d.ts +215 -0
- package/dist/types/enrich.d.ts +51 -0
- package/dist/types/fields.d.ts +84 -0
- package/dist/types/forms.d.ts +16 -0
- package/dist/types/http.d.ts +141 -0
- package/dist/types/inbox.d.ts +123 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/intent.d.ts +196 -0
- package/dist/types/lists.d.ts +44 -0
- package/dist/types/mailboxes.d.ts +240 -0
- package/dist/types/marketplace.d.ts +62 -0
- package/dist/types/meetings.d.ts +70 -0
- package/dist/types/newsletter.d.ts +212 -0
- package/dist/types/notes.d.ts +57 -0
- package/dist/types/objects.d.ts +281 -0
- package/dist/types/pipelines.d.ts +135 -0
- package/dist/types/quotes.d.ts +143 -0
- package/dist/types/react.d.ts +978 -0
- package/dist/types/search.d.ts +99 -0
- package/dist/types/sequences.d.ts +255 -0
- package/dist/types/signals.d.ts +28 -0
- package/dist/types/skills.d.ts +176 -0
- package/dist/types/snippet.d.ts +24 -0
- package/dist/types/studio.d.ts +161 -0
- package/dist/types/tasks.d.ts +101 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/utils.d.ts +21 -0
- package/dist/types/version.d.ts +10 -0
- package/dist/types/visitors.d.ts +29 -0
- package/dist/types/voice.d.ts +304 -0
- package/dist/types/webhooks.d.ts +71 -0
- package/dist/types/workflows.d.ts +229 -0
- package/docs/agents.md +748 -0
- package/docs/api/README.md +165 -0
- package/docs/api/accounts.d.ts +396 -0
- package/docs/api/accounts.md +644 -0
- package/docs/api/adCampaigns.d.ts +707 -0
- package/docs/api/adCampaigns.md +1091 -0
- package/docs/api/adCreatives.d.ts +996 -0
- package/docs/api/adCreatives.md +1708 -0
- package/docs/api/agency.d.ts +556 -0
- package/docs/api/agency.md +845 -0
- package/docs/api/agent.d.ts +330 -0
- package/docs/api/agent.md +514 -0
- package/docs/api/agents.d.ts +1622 -0
- package/docs/api/agents.md +2860 -0
- package/docs/api/aiInbox.d.ts +1984 -0
- package/docs/api/aiInbox.md +3490 -0
- package/docs/api/analytics.d.ts +1273 -0
- package/docs/api/analytics.md +2095 -0
- package/docs/api/apiKeys.d.ts +252 -0
- package/docs/api/apiKeys.md +318 -0
- package/docs/api/appDeployments.d.ts +236 -0
- package/docs/api/appDeployments.md +471 -0
- package/docs/api/appDomains.d.ts +171 -0
- package/docs/api/appDomains.md +281 -0
- package/docs/api/appLogs.d.ts +120 -0
- package/docs/api/appLogs.md +159 -0
- package/docs/api/appObjects.d.ts +415 -0
- package/docs/api/appObjects.md +568 -0
- package/docs/api/appPages.d.ts +557 -0
- package/docs/api/appPages.md +796 -0
- package/docs/api/appPlatformTokens.d.ts +123 -0
- package/docs/api/appPlatformTokens.md +172 -0
- package/docs/api/appointments.d.ts +2361 -0
- package/docs/api/appointments.md +3917 -0
- package/docs/api/apps.d.ts +822 -0
- package/docs/api/apps.md +1342 -0
- package/docs/api/assertUpsert.d.ts +286 -0
- package/docs/api/assertUpsert.md +370 -0
- package/docs/api/audienceSyncs.d.ts +259 -0
- package/docs/api/audienceSyncs.md +395 -0
- package/docs/api/brandKit.d.ts +686 -0
- package/docs/api/brandKit.md +1133 -0
- package/docs/api/bugReports.d.ts +181 -0
- package/docs/api/bugReports.md +268 -0
- package/docs/api/by-path.md +3260 -0
- package/docs/api/calendarInvites.d.ts +117 -0
- package/docs/api/calendarInvites.md +148 -0
- package/docs/api/campaignWorkflows.d.ts +152 -0
- package/docs/api/campaignWorkflows.md +200 -0
- package/docs/api/campaigns.d.ts +721 -0
- package/docs/api/campaigns.md +1236 -0
- package/docs/api/channels.d.ts +171 -0
- package/docs/api/channels.md +235 -0
- package/docs/api/cliCampaigns.d.ts +205 -0
- package/docs/api/cliCampaigns.md +256 -0
- package/docs/api/cliPipelines.d.ts +324 -0
- package/docs/api/cliPipelines.md +562 -0
- package/docs/api/clickHouse.d.ts +115 -0
- package/docs/api/clickHouse.md +138 -0
- package/docs/api/companies.d.ts +1636 -0
- package/docs/api/companies.md +2211 -0
- package/docs/api/companyIntelligence.d.ts +299 -0
- package/docs/api/companyIntelligence.md +488 -0
- package/docs/api/contacts.d.ts +2173 -0
- package/docs/api/contacts.md +3143 -0
- package/docs/api/content.d.ts +968 -0
- package/docs/api/content.md +1667 -0
- package/docs/api/contentGridSkills.d.ts +177 -0
- package/docs/api/contentGridSkills.md +271 -0
- package/docs/api/copilot.d.ts +1017 -0
- package/docs/api/copilot.md +1765 -0
- package/docs/api/crmSyncs.d.ts +215 -0
- package/docs/api/crmSyncs.md +301 -0
- package/docs/api/customerSuccess.d.ts +491 -0
- package/docs/api/customerSuccess.md +776 -0
- package/docs/api/deals.d.ts +1696 -0
- package/docs/api/deals.md +2432 -0
- package/docs/api/deliverability.d.ts +418 -0
- package/docs/api/deliverability.md +677 -0
- package/docs/api/desk.d.ts +1765 -0
- package/docs/api/desk.md +3007 -0
- package/docs/api/dialer.d.ts +1185 -0
- package/docs/api/dialer.md +2166 -0
- package/docs/api/dialerAnalytics.d.ts +187 -0
- package/docs/api/dialerAnalytics.md +257 -0
- package/docs/api/documents.d.ts +895 -0
- package/docs/api/documents.md +1440 -0
- package/docs/api/duplicates.d.ts +195 -0
- package/docs/api/duplicates.md +315 -0
- package/docs/api/eSign.d.ts +38 -0
- package/docs/api/eSign.md +54 -0
- package/docs/api/eSignature.d.ts +242 -0
- package/docs/api/eSignature.md +341 -0
- package/docs/api/enrichment.d.ts +3207 -0
- package/docs/api/enrichment.md +5225 -0
- package/docs/api/events.d.ts +115 -0
- package/docs/api/events.md +105 -0
- package/docs/api/fields.d.ts +482 -0
- package/docs/api/fields.md +566 -0
- package/docs/api/forms.d.ts +1012 -0
- package/docs/api/forms.md +1542 -0
- package/docs/api/gtmCampaigns.d.ts +662 -0
- package/docs/api/gtmCampaigns.md +1044 -0
- package/docs/api/gtmContext.d.ts +1187 -0
- package/docs/api/gtmContext.md +2112 -0
- package/docs/api/gtmDeliverability.d.ts +60 -0
- package/docs/api/gtmDeliverability.md +63 -0
- package/docs/api/gtmKnowledgeBase.d.ts +76 -0
- package/docs/api/gtmKnowledgeBase.md +91 -0
- package/docs/api/gtmLaunchHelpers.d.ts +123 -0
- package/docs/api/gtmLaunchHelpers.md +148 -0
- package/docs/api/gtmLibrary.d.ts +448 -0
- package/docs/api/gtmLibrary.md +780 -0
- package/docs/api/health.d.ts +39 -0
- package/docs/api/health.md +58 -0
- package/docs/api/imageLibrary.d.ts +341 -0
- package/docs/api/imageLibrary.md +569 -0
- package/docs/api/imports.d.ts +157 -0
- package/docs/api/imports.md +174 -0
- package/docs/api/inbox.d.ts +709 -0
- package/docs/api/inbox.md +1067 -0
- package/docs/api/install.d.ts +213 -0
- package/docs/api/install.md +317 -0
- package/docs/api/installedApps.d.ts +131 -0
- package/docs/api/installedApps.md +241 -0
- package/docs/api/integrationStatus.d.ts +142 -0
- package/docs/api/integrationStatus.md +205 -0
- package/docs/api/integrations.d.ts +2327 -0
- package/docs/api/integrations.md +3791 -0
- package/docs/api/intent.d.ts +482 -0
- package/docs/api/intent.md +858 -0
- package/docs/api/knowledge.d.ts +501 -0
- package/docs/api/knowledge.md +843 -0
- package/docs/api/knowledgeBase.d.ts +84 -0
- package/docs/api/knowledgeBase.md +96 -0
- package/docs/api/landingPages.d.ts +1411 -0
- package/docs/api/landingPages.md +2488 -0
- package/docs/api/leads.d.ts +133 -0
- package/docs/api/leads.md +180 -0
- package/docs/api/library.d.ts +217 -0
- package/docs/api/library.md +338 -0
- package/docs/api/linkedIn.d.ts +227 -0
- package/docs/api/linkedIn.md +289 -0
- package/docs/api/linkedInOutreach.d.ts +727 -0
- package/docs/api/linkedInOutreach.md +990 -0
- package/docs/api/lists.d.ts +1106 -0
- package/docs/api/lists.md +1609 -0
- package/docs/api/logs.d.ts +71 -0
- package/docs/api/logs.md +70 -0
- package/docs/api/mailboxes.d.ts +1050 -0
- package/docs/api/mailboxes.md +1690 -0
- package/docs/api/marketingIntelligence.d.ts +256 -0
- package/docs/api/marketingIntelligence.md +454 -0
- package/docs/api/marketplace.d.ts +3173 -0
- package/docs/api/marketplace.md +5953 -0
- package/docs/api/mcp.d.ts +69 -0
- package/docs/api/mcp.md +69 -0
- package/docs/api/me.d.ts +54 -0
- package/docs/api/me.md +56 -0
- package/docs/api/meetings.d.ts +539 -0
- package/docs/api/meetings.md +747 -0
- package/docs/api/newsletter.d.ts +1613 -0
- package/docs/api/newsletter.md +2746 -0
- package/docs/api/notes.d.ts +517 -0
- package/docs/api/notes.md +888 -0
- package/docs/api/notifications.d.ts +94 -0
- package/docs/api/notifications.md +105 -0
- package/docs/api/objects.d.ts +621 -0
- package/docs/api/objects.md +1098 -0
- package/docs/api/openSearch.d.ts +234 -0
- package/docs/api/openSearch.md +297 -0
- package/docs/api/ops.d.ts +299 -0
- package/docs/api/ops.md +339 -0
- package/docs/api/orgGovernance.d.ts +393 -0
- package/docs/api/orgGovernance.md +623 -0
- package/docs/api/orgVideos.d.ts +184 -0
- package/docs/api/orgVideos.md +252 -0
- package/docs/api/organizationSettings.d.ts +626 -0
- package/docs/api/organizationSettings.md +911 -0
- package/docs/api/phoneNumbers.d.ts +484 -0
- package/docs/api/phoneNumbers.md +777 -0
- package/docs/api/profile.d.ts +329 -0
- package/docs/api/profile.md +540 -0
- package/docs/api/programmaticPages.d.ts +400 -0
- package/docs/api/programmaticPages.md +626 -0
- package/docs/api/providerDomains.d.ts +866 -0
- package/docs/api/providerDomains.md +1446 -0
- package/docs/api/providerUsage.d.ts +129 -0
- package/docs/api/providerUsage.md +186 -0
- package/docs/api/public.d.ts +69 -0
- package/docs/api/public.md +78 -0
- package/docs/api/publicCopilot.d.ts +67 -0
- package/docs/api/publicCopilot.md +80 -0
- package/docs/api/publicSignals.d.ts +66 -0
- package/docs/api/publicSignals.md +71 -0
- package/docs/api/publicVisitors.d.ts +97 -0
- package/docs/api/publicVisitors.md +118 -0
- package/docs/api/quotes.d.ts +1564 -0
- package/docs/api/quotes.md +2553 -0
- package/docs/api/radar.d.ts +808 -0
- package/docs/api/radar.md +1431 -0
- package/docs/api/radarReports.d.ts +208 -0
- package/docs/api/radarReports.md +306 -0
- package/docs/api/recordRoles.d.ts +143 -0
- package/docs/api/recordRoles.md +175 -0
- package/docs/api/repos.d.ts +146 -0
- package/docs/api/repos.md +211 -0
- package/docs/api/research.d.ts +295 -0
- package/docs/api/research.md +534 -0
- package/docs/api/revenue.d.ts +402 -0
- package/docs/api/revenue.md +608 -0
- package/docs/api/revenueAnalytics.d.ts +147 -0
- package/docs/api/revenueAnalytics.md +212 -0
- package/docs/api/revenueLifecycle.d.ts +207 -0
- package/docs/api/revenueLifecycle.md +274 -0
- package/docs/api/revenueRecords.d.ts +372 -0
- package/docs/api/revenueRecords.md +563 -0
- package/docs/api/roles.d.ts +431 -0
- package/docs/api/roles.md +812 -0
- package/docs/api/salesCoach.d.ts +877 -0
- package/docs/api/salesCoach.md +1540 -0
- package/docs/api/sandbox.d.ts +210 -0
- package/docs/api/sandbox.md +380 -0
- package/docs/api/scans.d.ts +104 -0
- package/docs/api/scans.md +136 -0
- package/docs/api/scheduleBuy.d.ts +293 -0
- package/docs/api/scheduleBuy.md +431 -0
- package/docs/api/scraping.d.ts +266 -0
- package/docs/api/scraping.md +383 -0
- package/docs/api/sdrAnalytics.d.ts +138 -0
- package/docs/api/sdrAnalytics.md +246 -0
- package/docs/api/search.d.ts +598 -0
- package/docs/api/search.md +866 -0
- package/docs/api/seo.d.ts +447 -0
- package/docs/api/seo.md +660 -0
- package/docs/api/sequenceLifecycle.d.ts +439 -0
- package/docs/api/sequenceLifecycle.md +513 -0
- package/docs/api/sequences.d.ts +1936 -0
- package/docs/api/sequences.md +3232 -0
- package/docs/api/settings.d.ts +448 -0
- package/docs/api/settings.md +731 -0
- package/docs/api/signals.d.ts +1441 -0
- package/docs/api/signals.md +2526 -0
- package/docs/api/signatures.d.ts +719 -0
- package/docs/api/signatures.md +1247 -0
- package/docs/api/skills.d.ts +230 -0
- package/docs/api/skills.md +466 -0
- package/docs/api/snippet.d.ts +85 -0
- package/docs/api/snippet.md +106 -0
- package/docs/api/socialPublishing.d.ts +824 -0
- package/docs/api/socialPublishing.md +1245 -0
- package/docs/api/studioDocuments.d.ts +244 -0
- package/docs/api/studioDocuments.md +348 -0
- package/docs/api/support.d.ts +90 -0
- package/docs/api/support.md +76 -0
- package/docs/api/suppressions.d.ts +241 -0
- package/docs/api/suppressions.md +343 -0
- package/docs/api/surveys.d.ts +847 -0
- package/docs/api/surveys.md +1223 -0
- package/docs/api/tasks.d.ts +813 -0
- package/docs/api/tasks.md +1344 -0
- package/docs/api/teamMembers.d.ts +668 -0
- package/docs/api/teamMembers.md +1040 -0
- package/docs/api/teams.d.ts +784 -0
- package/docs/api/teams.md +1395 -0
- package/docs/api/usage.d.ts +277 -0
- package/docs/api/usage.md +389 -0
- package/docs/api/visitors.d.ts +690 -0
- package/docs/api/visitors.md +1075 -0
- package/docs/api/voice.d.ts +4661 -0
- package/docs/api/voice.md +7905 -0
- package/docs/api/webAnalytics.d.ts +964 -0
- package/docs/api/webAnalytics.md +1452 -0
- package/docs/api/webChat.d.ts +1704 -0
- package/docs/api/webChat.md +2048 -0
- package/docs/api/webhooks.d.ts +251 -0
- package/docs/api/webhooks.md +386 -0
- package/docs/api/websiteEditor.d.ts +324 -0
- package/docs/api/websiteEditor.md +517 -0
- package/docs/api/work.d.ts +2298 -0
- package/docs/api/work.md +3096 -0
- package/docs/api/workbench.d.ts +2962 -0
- package/docs/api/workbench.md +4884 -0
- package/docs/api/workflows.d.ts +1218 -0
- package/docs/api/workflows.md +2302 -0
- package/docs/sdk-clients.md +4339 -0
- 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
|
+
# `g8.api.copilot`: Copilot
|
|
4
|
+
|
|
5
|
+
39 operations (17 read, 18 write, 1 destructive, 3 billable).
|
|
6
|
+
|
|
7
|
+
No hand-written client covers this area. Call it through `g8.api.copilot.*` 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: [copilot.d.ts](copilot.d.ts).
|
|
20
|
+
|
|
21
|
+
## Operations
|
|
22
|
+
|
|
23
|
+
| Call | HTTP | Tier | Scope | Summary |
|
|
24
|
+
|---|---|---|---|---|
|
|
25
|
+
| [`appendCopilotMemoryDocument`](#op-appendcopilotmemorydocument) | `POST /api/v1/copilot/memory/documents/append` | write | `knowledge:write` | Append Copilot Memory Document |
|
|
26
|
+
| [`browseCopilotPersonalWikiDrive`](#op-browsecopilotpersonalwikidrive) | `GET /api/v1/copilot/personal-wiki/drive` | read | `knowledge:read` | Browse Copilot Personal Wiki Drive |
|
|
27
|
+
| [`captureCopilotSoul`](#op-capturecopilotsoul) | `POST /api/v1/copilot/memory/soul-capture` | write | `knowledge:write` | Capture Copilot Soul |
|
|
28
|
+
| [`chatWithCopilot`](#op-chatwithcopilot) | `POST /api/v1/copilot/chat` | billable | `knowledge:run` | Chat With Copilot |
|
|
29
|
+
| [`chooseCopilotContactMatch`](#op-choosecopilotcontactmatch) | `POST /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}/matches` | write | `knowledge:write` | Choose Copilot Contact Match |
|
|
30
|
+
| [`confirmCopilotPersonalWikiFact`](#op-confirmcopilotpersonalwikifact) | `POST /api/v1/copilot/personal-wiki/confirm` | write | `knowledge:write` | Confirm Copilot Personal Wiki Fact |
|
|
31
|
+
| [`correctCopilotContactIdentity`](#op-correctcopilotcontactidentity) | `POST /api/v1/copilot/personal-wiki/relationships/identity` | write | `knowledge:write` | Correct Copilot Contact Identity |
|
|
32
|
+
| [`correctCopilotPersonalWikiFact`](#op-correctcopilotpersonalwikifact) | `POST /api/v1/copilot/personal-wiki/correct` | write | `knowledge:write` | Correct Copilot Personal Wiki Fact |
|
|
33
|
+
| [`createCopilotMemory`](#op-createcopilotmemory) | `POST /api/v1/copilot/memory` | write | `knowledge:write` | Create Copilot Memory |
|
|
34
|
+
| [`deleteCopilotMemory`](#op-deletecopilotmemory) | `DELETE /api/v1/copilot/memory/{memory_id}` | destructive | `knowledge:delete` | Delete Copilot Memory |
|
|
35
|
+
| [`editCopilotPersonalWikiItem`](#op-editcopilotpersonalwikiitem) | `PUT /api/v1/copilot/personal-wiki/items/{item_id}` | write | `knowledge:write` | Edit Copilot Personal Wiki Item |
|
|
36
|
+
| [`forgetCopilotPersonalWikiFact`](#op-forgetcopilotpersonalwikifact) | `POST /api/v1/copilot/personal-wiki/forget` | write | `knowledge:write` | Forget Copilot Personal Wiki Fact |
|
|
37
|
+
| [`getCopilotContactSharing`](#op-getcopilotcontactsharing) | `GET /api/v1/copilot/personal-wiki/contact-sharing` | read | `knowledge:read` | Get Copilot Contact Sharing |
|
|
38
|
+
| [`getCopilotLinkedinConnections`](#op-getcopilotlinkedinconnections) | `GET /api/v1/copilot/personal-wiki/linkedin-connections` | read | `knowledge:read` | Get Copilot Linkedin Connections |
|
|
39
|
+
| [`getCopilotMemoryContext`](#op-getcopilotmemorycontext) | `GET /api/v1/copilot/memory/context` | read | `knowledge:read` | Get Copilot Memory Context |
|
|
40
|
+
| [`getCopilotMemoryDocuments`](#op-getcopilotmemorydocuments) | `GET /api/v1/copilot/memory/documents` | read | `knowledge:read` | Get Copilot Memory Documents |
|
|
41
|
+
| [`getCopilotPersonalWiki`](#op-getcopilotpersonalwiki) | `GET /api/v1/copilot/personal-wiki` | read | `knowledge:read` | Get Copilot Personal Wiki |
|
|
42
|
+
| [`getCopilotPersonalWikiDocument`](#op-getcopilotpersonalwikidocument) | `GET /api/v1/copilot/personal-wiki/documents/{section}` | read | `knowledge:read` | Get Copilot Personal Wiki Document |
|
|
43
|
+
| [`getCopilotPersonalWikiRelationship`](#op-getcopilotpersonalwikirelationship) | `GET /api/v1/copilot/personal-wiki/relationships/{contact_id}` | read | `knowledge:read` | Get Copilot Personal Wiki Relationship |
|
|
44
|
+
| [`getCopilotPersonalWikiSources`](#op-getcopilotpersonalwikisources) | `GET /api/v1/copilot/personal-wiki/sources` | read | `knowledge:read` | Get Copilot Personal Wiki Sources |
|
|
45
|
+
| [`listCopilotContactContributions`](#op-listcopilotcontactcontributions) | `GET /api/v1/copilot/personal-wiki/contact-sharing/contributions` | read | `knowledge:read` | List Copilot Contact Contributions |
|
|
46
|
+
| [`listCopilotContactMatches`](#op-listcopilotcontactmatches) | `GET /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}/matches` | read | `knowledge:read` | List Copilot Contact Matches |
|
|
47
|
+
| [`listCopilotMemories`](#op-listcopilotmemories) | `GET /api/v1/copilot/memory` | read | `knowledge:read` | List Copilot Memories |
|
|
48
|
+
| [`listCopilotPersonalWikiRelationships`](#op-listcopilotpersonalwikirelationships) | `GET /api/v1/copilot/personal-wiki/relationships` | read | `knowledge:read` | List Copilot Personal Wiki Relationships |
|
|
49
|
+
| [`listCopilotTools`](#op-listcopilottools) | `GET /api/v1/copilot/tools` | read | `knowledge:read` | List Copilot Tools |
|
|
50
|
+
| [`previewCopilotPersonalWikiDriveSelection`](#op-previewcopilotpersonalwikidriveselection) | `POST /api/v1/copilot/personal-wiki/drive-selection/preview` | read | `knowledge:read` | Preview Copilot Personal Wiki Drive Selection |
|
|
51
|
+
| [`promoteCopilotMemory`](#op-promotecopilotmemory) | `POST /api/v1/copilot/memory/promote` | billable | `knowledge:run` | Promote Copilot Memory |
|
|
52
|
+
| [`resolveCopilotContactContribution`](#op-resolvecopilotcontactcontribution) | `POST /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}/resolve` | write | `knowledge:write` | Resolve Copilot Contact Contribution |
|
|
53
|
+
| [`runCopilotLandingPageAction`](#op-runcopilotlandingpageaction) | `POST /api/v1/copilot/landing-page-action` | billable | `knowledge:run` | Run Copilot Landing Page Action |
|
|
54
|
+
| [`saveCopilotPersonalWikiDriveSelection`](#op-savecopilotpersonalwikidriveselection) | `PUT /api/v1/copilot/personal-wiki/drive-selection` | write | `knowledge:write` | Save Copilot Personal Wiki Drive Selection |
|
|
55
|
+
| [`searchCopilotContactIdentities`](#op-searchcopilotcontactidentities) | `GET /api/v1/copilot/personal-wiki/contact-identities` | read | `knowledge:read` | Search Copilot Contact Identities |
|
|
56
|
+
| [`searchCopilotMentions`](#op-searchcopilotmentions) | `POST /api/v1/copilot/mention-search` | read | `knowledge:read` | Search Copilot Mentions |
|
|
57
|
+
| [`updateCopilotContactContribution`](#op-updatecopilotcontactcontribution) | `PUT /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}` | write | `knowledge:write` | Update Copilot Contact Contribution |
|
|
58
|
+
| [`updateCopilotContactPeopleChoice`](#op-updatecopilotcontactpeoplechoice) | `PUT /api/v1/copilot/personal-wiki/contact-sharing/people/choice` | write | `knowledge:write` | Update Copilot Contact People Choice |
|
|
59
|
+
| [`updateCopilotContactSharing`](#op-updatecopilotcontactsharing) | `PUT /api/v1/copilot/personal-wiki/contact-sharing/{mailbox_id}` | write | `knowledge:write` | Update Copilot Contact Sharing |
|
|
60
|
+
| [`updateCopilotLinkedinConnections`](#op-updatecopilotlinkedinconnections) | `PUT /api/v1/copilot/personal-wiki/linkedin-connections` | write | `knowledge:write` | Update Copilot Linkedin Connections |
|
|
61
|
+
| [`updateCopilotPersonalWiki`](#op-updatecopilotpersonalwiki) | `PUT /api/v1/copilot/personal-wiki` | write | `knowledge:write` | Update Copilot Personal Wiki |
|
|
62
|
+
| [`updateCopilotPersonalWikiSources`](#op-updatecopilotpersonalwikisources) | `PUT /api/v1/copilot/personal-wiki/sources` | write | `knowledge:write` | Update Copilot Personal Wiki Sources |
|
|
63
|
+
| [`upsertCopilotMemoryDocument`](#op-upsertcopilotmemorydocument) | `PUT /api/v1/copilot/memory/documents` | write | `knowledge:write` | Upsert Copilot Memory Document |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
<a id="op-appendcopilotmemorydocument"></a>
|
|
68
|
+
|
|
69
|
+
### `g8.api.copilot.appendCopilotMemoryDocument(input)`
|
|
70
|
+
|
|
71
|
+
**Append Copilot Memory Document**
|
|
72
|
+
|
|
73
|
+
- HTTP: `POST /api/v1/copilot/memory/documents/append`
|
|
74
|
+
- operationId: `append_copilot_memory_document_copilot_memory_documents_append_post` (also callable as `g8.api.call("append_copilot_memory_document_copilot_memory_documents_append_post", input)`)
|
|
75
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
76
|
+
- API-key scope: `knowledge:write`
|
|
77
|
+
|
|
78
|
+
Add to a memory document without replacing it.
|
|
79
|
+
|
|
80
|
+
Defaults to the `daily` journal, which is where observations belong: the
|
|
81
|
+
durable documents are meant to be curated from it by
|
|
82
|
+
`POST /copilot/memory/promote`, not written to directly on every event.
|
|
83
|
+
|
|
84
|
+
Takes a JSON BODY. The app takes these as query parameters, which would put
|
|
85
|
+
the text of a personal note into the URL.
|
|
86
|
+
|
|
87
|
+
**Input**
|
|
88
|
+
|
|
89
|
+
| Field | Type | Required | Description |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| `body` | `MemoryDocumentAppendRequest` | yes | Request body; fields below. |
|
|
92
|
+
|
|
93
|
+
Body fields (`MemoryDocumentAppendRequest`):
|
|
94
|
+
|
|
95
|
+
| Field | Type | Required | Description |
|
|
96
|
+
|---|---|---|---|
|
|
97
|
+
| `body.content` | `string` | yes | The text to append. min length 1 |
|
|
98
|
+
| `body.subject_id` | `string` | yes | Which one. |
|
|
99
|
+
| `body.subject_type` | `string` | yes | What the document is about: organization, user, campaign, company or contact. |
|
|
100
|
+
| `body.file_kind` | `string` | no | Which document to append to. `daily` is the rolling journal and is the default; `memory` and `soul` are the durable ones and are normally written through `PUT /copilot/memory/documents` instead. default `"daily"` |
|
|
101
|
+
|
|
102
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
103
|
+
|
|
104
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
105
|
+
|
|
106
|
+
**Example**
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
const result = await g8.api.copilot.appendCopilotMemoryDocument({
|
|
110
|
+
body: { content: "example", subject_id: "id", subject_type: "Example" },
|
|
111
|
+
});
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
<a id="op-browsecopilotpersonalwikidrive"></a>
|
|
117
|
+
|
|
118
|
+
### `g8.api.copilot.browseCopilotPersonalWikiDrive(input)`
|
|
119
|
+
|
|
120
|
+
**Browse Copilot Personal Wiki Drive**
|
|
121
|
+
|
|
122
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/drive`
|
|
123
|
+
- operationId: `browse_copilot_personal_wiki_drive_copilot_personal_wiki_drive_get` (also callable as `g8.api.call("browse_copilot_personal_wiki_drive_copilot_personal_wiki_drive_get", input)`)
|
|
124
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
125
|
+
- API-key scope: `knowledge:read`
|
|
126
|
+
|
|
127
|
+
Browse the Google Drive of one of your connected mailboxes, to pick what
|
|
128
|
+
the Copilot may read.
|
|
129
|
+
|
|
130
|
+
Reads Drive through the mailbox's own grant. A 403 means the grant does
|
|
131
|
+
not include Drive; a 409 means the Google account behind the mailbox has
|
|
132
|
+
changed since it was connected.
|
|
133
|
+
|
|
134
|
+
**Input**
|
|
135
|
+
|
|
136
|
+
| Field | Type | Required | Description |
|
|
137
|
+
|---|---|---|---|
|
|
138
|
+
| `query.mailbox_id` | `integer` | yes | Integer `mailboxes.id` of the connected Google account. |
|
|
139
|
+
| `query.parent_id` | `string` | no | Folder to list. `root` is the top of My Drive. default `"root"` |
|
|
140
|
+
| `query.page_token` | `string \| null` | no | From the previous page. |
|
|
141
|
+
| `query.search` | `string` | no | Search by name instead of listing a folder. default `""` |
|
|
142
|
+
|
|
143
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
144
|
+
|
|
145
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
146
|
+
|
|
147
|
+
**Example**
|
|
148
|
+
|
|
149
|
+
```ts
|
|
150
|
+
const result = await g8.api.copilot.browseCopilotPersonalWikiDrive({ query: { mailbox_id: 1 } });
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
<a id="op-capturecopilotsoul"></a>
|
|
156
|
+
|
|
157
|
+
### `g8.api.copilot.captureCopilotSoul(input)`
|
|
158
|
+
|
|
159
|
+
**Capture Copilot Soul**
|
|
160
|
+
|
|
161
|
+
- HTTP: `POST /api/v1/copilot/memory/soul-capture`
|
|
162
|
+
- operationId: `capture_copilot_soul_copilot_memory_soul_capture_post` (also callable as `g8.api.call("capture_copilot_soul_copilot_memory_soul_capture_post", input)`)
|
|
163
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
164
|
+
- API-key scope: `knowledge:write`
|
|
165
|
+
|
|
166
|
+
Set the organisation's and the user's foundational documents in one call.
|
|
167
|
+
|
|
168
|
+
The onboarding shortcut: it is how a new workspace tells the assistant who
|
|
169
|
+
it works for before there is any history to learn from. Every field is
|
|
170
|
+
optional and sending one does not clear the others.
|
|
171
|
+
|
|
172
|
+
**Input**
|
|
173
|
+
|
|
174
|
+
| Field | Type | Required | Description |
|
|
175
|
+
|---|---|---|---|
|
|
176
|
+
| `body` | `SoulCaptureRequest` | yes | Request body; fields below. |
|
|
177
|
+
|
|
178
|
+
Body fields (`SoulCaptureRequest`):
|
|
179
|
+
|
|
180
|
+
| Field | Type | Required | Description |
|
|
181
|
+
|---|---|---|---|
|
|
182
|
+
| `body.org_memory` | `string \| null` | no | Durable org-level facts. |
|
|
183
|
+
| `body.org_soul` | `string \| null` | no | Who the organisation is. |
|
|
184
|
+
| `body.user_memory` | `string \| null` | no | Durable facts about this person. |
|
|
185
|
+
|
|
186
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
187
|
+
|
|
188
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
189
|
+
|
|
190
|
+
**Example**
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
const result = await g8.api.copilot.captureCopilotSoul({ body: {} });
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
<a id="op-chatwithcopilot"></a>
|
|
199
|
+
|
|
200
|
+
### `g8.api.copilot.chatWithCopilot(input)`
|
|
201
|
+
|
|
202
|
+
**Chat With Copilot**
|
|
203
|
+
|
|
204
|
+
- HTTP: `POST /api/v1/copilot/chat`
|
|
205
|
+
- operationId: `chat_with_copilot_copilot_chat_post` (also callable as `g8.api.call("chat_with_copilot_copilot_chat_post", input)`)
|
|
206
|
+
- Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
|
|
207
|
+
- API-key scope: `knowledge:run`
|
|
208
|
+
|
|
209
|
+
Ask the Studio copilot. SPENDS CREDIT - a model runs, and may call tools.
|
|
210
|
+
|
|
211
|
+
Returns `response` (the full answer) and `events` (every text, tool and
|
|
212
|
+
source event, in order). `web_search`, `thinking` and `research` each add
|
|
213
|
+
work and cost; `research` the most. Tools that need a person's approval
|
|
214
|
+
are proposed in `events`, not executed. 402 when the org is out of credit.
|
|
215
|
+
|
|
216
|
+
**Input**
|
|
217
|
+
|
|
218
|
+
| Field | Type | Required | Description |
|
|
219
|
+
|---|---|---|---|
|
|
220
|
+
| `body` | `CopilotChatRequest` | yes | Request body; fields below. |
|
|
221
|
+
|
|
222
|
+
Body fields (`CopilotChatRequest`):
|
|
223
|
+
|
|
224
|
+
| Field | Type | Required | Description |
|
|
225
|
+
|---|---|---|---|
|
|
226
|
+
| `body.message` | `string` | yes | min length 1 |
|
|
227
|
+
| `body.canvas_context` | `CopilotCanvasContext \| null` | no | |
|
|
228
|
+
| `body.conversation_history` | `Array<CopilotChatMessage> \| null` | no | |
|
|
229
|
+
| `body.mentions` | `Array<Record<string, unknown>> \| null` | no | Results from `POST /copilot/mention-search`. |
|
|
230
|
+
| `body.research` | `boolean` | no | Multi-step deep research. The most expensive option. default `false` |
|
|
231
|
+
| `body.session_id` | `string \| null` | no | |
|
|
232
|
+
| `body.thinking` | `boolean` | no | Extended thinking. default `false` |
|
|
233
|
+
| `body.web_search` | `boolean` | no | Search the web before answering. default `false` |
|
|
234
|
+
|
|
235
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
236
|
+
|
|
237
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
238
|
+
|
|
239
|
+
**Example**
|
|
240
|
+
|
|
241
|
+
```ts
|
|
242
|
+
// billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
|
|
243
|
+
const result = await g8.api.copilot.chatWithCopilot({ body: { message: "example" } });
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
<a id="op-choosecopilotcontactmatch"></a>
|
|
249
|
+
|
|
250
|
+
### `g8.api.copilot.chooseCopilotContactMatch(input)`
|
|
251
|
+
|
|
252
|
+
**Choose Copilot Contact Match**
|
|
253
|
+
|
|
254
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}/matches`
|
|
255
|
+
- operationId: `choose_copilot_contact_match_copilot_personal_wiki_contact_sharing_contributions__contribution_id__matches_post` (also callable as `g8.api.call("choose_copilot_contact_match_copilot_personal_wiki_contact_sharing_contributions__contribution_id__matches_post", input)`)
|
|
256
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
257
|
+
- API-key scope: `knowledge:write`
|
|
258
|
+
|
|
259
|
+
Say WHICH person a contribution is about.
|
|
260
|
+
|
|
261
|
+
Binds it to one CRM contact, so the subsequent per-field decisions land on
|
|
262
|
+
the right record. Guarded by both revision tokens for the same reason the
|
|
263
|
+
resolve is.
|
|
264
|
+
|
|
265
|
+
**Input**
|
|
266
|
+
|
|
267
|
+
| Field | Type | Required | Description |
|
|
268
|
+
|---|---|---|---|
|
|
269
|
+
| `path.contribution_id` | `string` | yes | Contribution id (UUID). |
|
|
270
|
+
| `body` | `PersonalContactMatchRequest` | yes | Request body; fields below. |
|
|
271
|
+
|
|
272
|
+
Body fields (`PersonalContactMatchRequest`):
|
|
273
|
+
|
|
274
|
+
| Field | Type | Required | Description |
|
|
275
|
+
|---|---|---|---|
|
|
276
|
+
| `body.contact_id` | `integer` | yes | The CRM contact this contribution is actually about. max 9223372036854776000, > 0 |
|
|
277
|
+
| `body.expected_canonical_revision` | `string` | yes | min length 64, max length 64 |
|
|
278
|
+
| `body.expected_revision` | `integer` | yes | min 1 |
|
|
279
|
+
|
|
280
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
281
|
+
|
|
282
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
283
|
+
|
|
284
|
+
**Example**
|
|
285
|
+
|
|
286
|
+
```ts
|
|
287
|
+
const result = await g8.api.copilot.chooseCopilotContactMatch({
|
|
288
|
+
path: { contribution_id: "id" },
|
|
289
|
+
body: {
|
|
290
|
+
contact_id: 1,
|
|
291
|
+
expected_canonical_revision: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
|
292
|
+
expected_revision: 1,
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
<a id="op-confirmcopilotpersonalwikifact"></a>
|
|
300
|
+
|
|
301
|
+
### `g8.api.copilot.confirmCopilotPersonalWikiFact(input)`
|
|
302
|
+
|
|
303
|
+
**Confirm Copilot Personal Wiki Fact**
|
|
304
|
+
|
|
305
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/confirm`
|
|
306
|
+
- operationId: `confirm_copilot_personal_wiki_fact_copilot_personal_wiki_confirm_post` (also callable as `g8.api.call("confirm_copilot_personal_wiki_fact_copilot_personal_wiki_confirm_post", input)`)
|
|
307
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
308
|
+
- API-key scope: `knowledge:write`
|
|
309
|
+
|
|
310
|
+
Tell the assistant an inferred fact is RIGHT.
|
|
311
|
+
|
|
312
|
+
Worth doing rather than ignoring: a confirmed fact stops being re-derived
|
|
313
|
+
and re-questioned, and it outranks a later contradicting inference.
|
|
314
|
+
|
|
315
|
+
**Input**
|
|
316
|
+
|
|
317
|
+
| Field | Type | Required | Description |
|
|
318
|
+
|---|---|---|---|
|
|
319
|
+
| `body` | `PersonalWikiFactActionRequest` | yes | Request body; fields below. |
|
|
320
|
+
|
|
321
|
+
Body fields (`PersonalWikiFactActionRequest`):
|
|
322
|
+
|
|
323
|
+
| Field | Type | Required | Description |
|
|
324
|
+
|---|---|---|---|
|
|
325
|
+
| `body.fact_id` | `string` | yes | The fact. min length 1, max length 255 |
|
|
326
|
+
| `body.reason` | `string \| null` | no | Why. Optional, and worth sending on a forget: it is the only record of why something was removed from what the Copilot knows. max length 2000 |
|
|
327
|
+
|
|
328
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
329
|
+
|
|
330
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
331
|
+
|
|
332
|
+
**Example**
|
|
333
|
+
|
|
334
|
+
```ts
|
|
335
|
+
const result = await g8.api.copilot.confirmCopilotPersonalWikiFact({ body: { fact_id: "id" } });
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
<a id="op-correctcopilotcontactidentity"></a>
|
|
341
|
+
|
|
342
|
+
### `g8.api.copilot.correctCopilotContactIdentity(input)`
|
|
343
|
+
|
|
344
|
+
**Correct Copilot Contact Identity**
|
|
345
|
+
|
|
346
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/relationships/identity`
|
|
347
|
+
- operationId: `correct_copilot_contact_identity_copilot_personal_wiki_relationships_identity_post` (also callable as `g8.api.call("correct_copilot_contact_identity_copilot_personal_wiki_relationships_identity_post", input)`)
|
|
348
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
349
|
+
- API-key scope: `knowledge:write`
|
|
350
|
+
|
|
351
|
+
Re-attribute facts to the right person - or to nobody.
|
|
352
|
+
|
|
353
|
+
Sending a null `contact_id` DETACHES the facts rather than being ignored:
|
|
354
|
+
it is how you say "this is not about anyone in the CRM". Up to a thousand
|
|
355
|
+
facts move at once, because a misattribution is usually systematic rather
|
|
356
|
+
than a single fact.
|
|
357
|
+
|
|
358
|
+
Declared BEFORE `/personal-wiki/relationships/{contact_id}` so the literal
|
|
359
|
+
`identity` segment cannot be captured as a contact id.
|
|
360
|
+
|
|
361
|
+
**Input**
|
|
362
|
+
|
|
363
|
+
| Field | Type | Required | Description |
|
|
364
|
+
|---|---|---|---|
|
|
365
|
+
| `body` | `PersonalContactIdentityRequest` | yes | Request body; fields below. |
|
|
366
|
+
|
|
367
|
+
Body fields (`PersonalContactIdentityRequest`):
|
|
368
|
+
|
|
369
|
+
| Field | Type | Required | Description |
|
|
370
|
+
|---|---|---|---|
|
|
371
|
+
| `body.expected_version` | `integer` | yes | Optimistic-concurrency token for the relationship record. min 0 |
|
|
372
|
+
| `body.fact_ids` | `Array<string>` | yes | The facts being re-attributed, all to the same person. min items 1, max items 1000 |
|
|
373
|
+
| `body.contact_id` | `integer \| null` | no | Who they are really about. NULL DETACHES them from whoever they are attributed to now, rather than being ignored - it is how you say 'this is not about anyone in the CRM'. max 9223372036854776000, > 0 |
|
|
374
|
+
|
|
375
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
376
|
+
|
|
377
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
378
|
+
|
|
379
|
+
**Example**
|
|
380
|
+
|
|
381
|
+
```ts
|
|
382
|
+
const result = await g8.api.copilot.correctCopilotContactIdentity({ body: { expected_version: 0, fact_ids: ["id"] } });
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
<a id="op-correctcopilotpersonalwikifact"></a>
|
|
388
|
+
|
|
389
|
+
### `g8.api.copilot.correctCopilotPersonalWikiFact(input)`
|
|
390
|
+
|
|
391
|
+
**Correct Copilot Personal Wiki Fact**
|
|
392
|
+
|
|
393
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/correct`
|
|
394
|
+
- operationId: `correct_copilot_personal_wiki_fact_copilot_personal_wiki_correct_post` (also callable as `g8.api.call("correct_copilot_personal_wiki_fact_copilot_personal_wiki_correct_post", input)`)
|
|
395
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
396
|
+
- API-key scope: `knowledge:write`
|
|
397
|
+
|
|
398
|
+
Replace what the assistant believes with what is actually true.
|
|
399
|
+
|
|
400
|
+
Different from `forget`: correcting keeps the fact and its provenance and
|
|
401
|
+
changes its text, so the assistant knows it was wrong about THIS rather
|
|
402
|
+
than knowing nothing.
|
|
403
|
+
|
|
404
|
+
**Input**
|
|
405
|
+
|
|
406
|
+
| Field | Type | Required | Description |
|
|
407
|
+
|---|---|---|---|
|
|
408
|
+
| `body` | `PersonalWikiFactCorrectionRequest` | yes | Request body; fields below. |
|
|
409
|
+
|
|
410
|
+
Body fields (`PersonalWikiFactCorrectionRequest`):
|
|
411
|
+
|
|
412
|
+
| Field | Type | Required | Description |
|
|
413
|
+
|---|---|---|---|
|
|
414
|
+
| `body.fact_id` | `string` | yes | min length 1, max length 255 |
|
|
415
|
+
| `body.text` | `string` | yes | What is actually true. Replaces the fact's text. min length 1, max length 10000 |
|
|
416
|
+
| `body.action_state` | `"open" \| "in_progress" \| "blocked" \| "completed" \| "cancelled" \| "informational" \| null` | no | For a fact the Copilot is tracking as a TO-DO rather than as a statement, move it to this state at the same time. Omit it for an ordinary correction. |
|
|
417
|
+
| `body.reason` | `string \| null` | no | max length 2000 |
|
|
418
|
+
|
|
419
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
420
|
+
|
|
421
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
422
|
+
|
|
423
|
+
**Example**
|
|
424
|
+
|
|
425
|
+
```ts
|
|
426
|
+
const result = await g8.api.copilot.correctCopilotPersonalWikiFact({ body: { fact_id: "id", text: "example" } });
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
<a id="op-createcopilotmemory"></a>
|
|
432
|
+
|
|
433
|
+
### `g8.api.copilot.createCopilotMemory(input)`
|
|
434
|
+
|
|
435
|
+
**Create Copilot Memory**
|
|
436
|
+
|
|
437
|
+
- HTTP: `POST /api/v1/copilot/memory`
|
|
438
|
+
- operationId: `create_copilot_memory_copilot_memory_post` (also callable as `g8.api.call("create_copilot_memory_copilot_memory_post", input)`)
|
|
439
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
440
|
+
- API-key scope: `knowledge:write`
|
|
441
|
+
|
|
442
|
+
Tell the Copilot something to remember.
|
|
443
|
+
|
|
444
|
+
Takes a JSON BODY. The app takes `content` as a query parameter, which puts
|
|
445
|
+
the text of a personal memory into the URL and therefore into access logs.
|
|
446
|
+
|
|
447
|
+
**Input**
|
|
448
|
+
|
|
449
|
+
| Field | Type | Required | Description |
|
|
450
|
+
|---|---|---|---|
|
|
451
|
+
| `body` | `MemoryCreateRequest` | yes | Request body; fields below. |
|
|
452
|
+
|
|
453
|
+
Body fields (`MemoryCreateRequest`):
|
|
454
|
+
|
|
455
|
+
| Field | Type | Required | Description |
|
|
456
|
+
|---|---|---|---|
|
|
457
|
+
| `body.content` | `string` | yes | What to remember, in the caller's own words. min length 1 |
|
|
458
|
+
| `body.scope` | `string` | no | Who the memory belongs to. `user` - only this person's Copilot recalls it. Left an open string rather than a Literal because the handler treats an unknown scope as a label rather than an error, so closing it here would refuse a call the app accepts. default `"user"` |
|
|
459
|
+
|
|
460
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
461
|
+
|
|
462
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
463
|
+
|
|
464
|
+
**Example**
|
|
465
|
+
|
|
466
|
+
```ts
|
|
467
|
+
const result = await g8.api.copilot.createCopilotMemory({ body: { content: "example" } });
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
---
|
|
471
|
+
|
|
472
|
+
<a id="op-deletecopilotmemory"></a>
|
|
473
|
+
|
|
474
|
+
### `g8.api.copilot.deleteCopilotMemory(input)`
|
|
475
|
+
|
|
476
|
+
**Delete Copilot Memory**
|
|
477
|
+
|
|
478
|
+
- HTTP: `DELETE /api/v1/copilot/memory/{memory_id}`
|
|
479
|
+
- operationId: `delete_copilot_memory_copilot_memory__memory_id__delete` (also callable as `g8.api.call("delete_copilot_memory_copilot_memory__memory_id__delete", input)`)
|
|
480
|
+
- Tier: `destructive`: deletes or archives data; confirm with a human before calling
|
|
481
|
+
- API-key scope: `knowledge:delete`
|
|
482
|
+
|
|
483
|
+
Forget one remembered fact. Not reversible.
|
|
484
|
+
|
|
485
|
+
**Input**
|
|
486
|
+
|
|
487
|
+
| Field | Type | Required | Description |
|
|
488
|
+
|---|---|---|---|
|
|
489
|
+
| `path.memory_id` | `string` | yes | Memory id. |
|
|
490
|
+
|
|
491
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
492
|
+
|
|
493
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
494
|
+
|
|
495
|
+
**Example**
|
|
496
|
+
|
|
497
|
+
```ts
|
|
498
|
+
// destructive: deletes or archives data; confirm with a human before calling.
|
|
499
|
+
const result = await g8.api.copilot.deleteCopilotMemory({ path: { memory_id: "id" } });
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
<a id="op-editcopilotpersonalwikiitem"></a>
|
|
505
|
+
|
|
506
|
+
### `g8.api.copilot.editCopilotPersonalWikiItem(input)`
|
|
507
|
+
|
|
508
|
+
**Edit Copilot Personal Wiki Item**
|
|
509
|
+
|
|
510
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/items/{item_id}`
|
|
511
|
+
- operationId: `edit_copilot_personal_wiki_item_copilot_personal_wiki_items__item_id__put` (also callable as `g8.api.call("edit_copilot_personal_wiki_item_copilot_personal_wiki_items__item_id__put", input)`)
|
|
512
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
513
|
+
- API-key scope: `knowledge:write`
|
|
514
|
+
|
|
515
|
+
Edit one structured item in the wiki.
|
|
516
|
+
|
|
517
|
+
`expected_revision` is REQUIRED and there is no unconditional form. The
|
|
518
|
+
Copilot writes this document continuously, so an unguarded write is not a
|
|
519
|
+
race between two people - it is a person silently discarding whatever the
|
|
520
|
+
assistant learned between their read and their write.
|
|
521
|
+
|
|
522
|
+
**Input**
|
|
523
|
+
|
|
524
|
+
| Field | Type | Required | Description |
|
|
525
|
+
|---|---|---|---|
|
|
526
|
+
| `path.item_id` | `string` | yes | Wiki item id. |
|
|
527
|
+
| `body` | `PersonalWikiItemEditRequest` | yes | Request body; fields below. |
|
|
528
|
+
|
|
529
|
+
Body fields (`PersonalWikiItemEditRequest`):
|
|
530
|
+
|
|
531
|
+
| Field | Type | Required | Description |
|
|
532
|
+
|---|---|---|---|
|
|
533
|
+
| `body.document_id` | `string` | yes | min length 1, max length 100 |
|
|
534
|
+
| `body.expected_revision` | `string` | yes | REQUIRED optimistic-concurrency token - a 64-character digest of the document you read. There is no unconditional write here, on purpose: the wiki is edited by the Copilot as well as by people, so a blind write would silently discard something it had just learned. min length 64, max length 64 |
|
|
535
|
+
| `body.values` | `Record<string, unknown>` | yes | Field-by-field replacement for this item. Open-shaped because the item schema is per-section and defined by the wiki template. |
|
|
536
|
+
|
|
537
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
538
|
+
|
|
539
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
540
|
+
|
|
541
|
+
**Example**
|
|
542
|
+
|
|
543
|
+
```ts
|
|
544
|
+
const result = await g8.api.copilot.editCopilotPersonalWikiItem({
|
|
545
|
+
path: { item_id: "id" },
|
|
546
|
+
body: {
|
|
547
|
+
document_id: "id",
|
|
548
|
+
expected_revision: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
|
549
|
+
values: {},
|
|
550
|
+
},
|
|
551
|
+
});
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
<a id="op-forgetcopilotpersonalwikifact"></a>
|
|
557
|
+
|
|
558
|
+
### `g8.api.copilot.forgetCopilotPersonalWikiFact(input)`
|
|
559
|
+
|
|
560
|
+
**Forget Copilot Personal Wiki Fact**
|
|
561
|
+
|
|
562
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/forget`
|
|
563
|
+
- operationId: `forget_copilot_personal_wiki_fact_copilot_personal_wiki_forget_post` (also callable as `g8.api.call("forget_copilot_personal_wiki_fact_copilot_personal_wiki_forget_post", input)`)
|
|
564
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
565
|
+
- API-key scope: `knowledge:write`
|
|
566
|
+
|
|
567
|
+
Remove a fact from what the assistant knows.
|
|
568
|
+
|
|
569
|
+
The per-fact privacy control, and the only one that actually unlearns -
|
|
570
|
+
turning a SOURCE off stops new facts arriving but leaves the old ones.
|
|
571
|
+
|
|
572
|
+
Send `reason`. It is the only record of why something was removed.
|
|
573
|
+
|
|
574
|
+
**Input**
|
|
575
|
+
|
|
576
|
+
| Field | Type | Required | Description |
|
|
577
|
+
|---|---|---|---|
|
|
578
|
+
| `body` | `PersonalWikiFactActionRequest` | yes | Request body; fields below. |
|
|
579
|
+
|
|
580
|
+
Body fields (`PersonalWikiFactActionRequest`):
|
|
581
|
+
|
|
582
|
+
| Field | Type | Required | Description |
|
|
583
|
+
|---|---|---|---|
|
|
584
|
+
| `body.fact_id` | `string` | yes | The fact. min length 1, max length 255 |
|
|
585
|
+
| `body.reason` | `string \| null` | no | Why. Optional, and worth sending on a forget: it is the only record of why something was removed from what the Copilot knows. max length 2000 |
|
|
586
|
+
|
|
587
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
588
|
+
|
|
589
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
590
|
+
|
|
591
|
+
**Example**
|
|
592
|
+
|
|
593
|
+
```ts
|
|
594
|
+
const result = await g8.api.copilot.forgetCopilotPersonalWikiFact({ body: { fact_id: "id" } });
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
---
|
|
598
|
+
|
|
599
|
+
<a id="op-getcopilotcontactsharing"></a>
|
|
600
|
+
|
|
601
|
+
### `g8.api.copilot.getCopilotContactSharing(input?)`
|
|
602
|
+
|
|
603
|
+
**Get Copilot Contact Sharing**
|
|
604
|
+
|
|
605
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/contact-sharing`
|
|
606
|
+
- operationId: `get_copilot_contact_sharing_copilot_personal_wiki_contact_sharing_get` (also callable as `g8.api.call("get_copilot_contact_sharing_copilot_personal_wiki_contact_sharing_get", input)`)
|
|
607
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
608
|
+
- API-key scope: `knowledge:read`
|
|
609
|
+
|
|
610
|
+
Which of your mailboxes contribute to the shared CRM, per mailbox.
|
|
611
|
+
|
|
612
|
+
The setting; `/contributions` is the queue it produces.
|
|
613
|
+
|
|
614
|
+
**Input**: none.
|
|
615
|
+
|
|
616
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
617
|
+
|
|
618
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
619
|
+
|
|
620
|
+
**Example**
|
|
621
|
+
|
|
622
|
+
```ts
|
|
623
|
+
const result = await g8.api.copilot.getCopilotContactSharing();
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
---
|
|
627
|
+
|
|
628
|
+
<a id="op-getcopilotlinkedinconnections"></a>
|
|
629
|
+
|
|
630
|
+
### `g8.api.copilot.getCopilotLinkedinConnections(input?)`
|
|
631
|
+
|
|
632
|
+
**Get Copilot Linkedin Connections**
|
|
633
|
+
|
|
634
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/linkedin-connections`
|
|
635
|
+
- operationId: `get_copilot_linkedin_connections_copilot_personal_wiki_linkedin_connections_get` (also callable as `g8.api.call("get_copilot_linkedin_connections_copilot_personal_wiki_linkedin_connections_get", input)`)
|
|
636
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
637
|
+
- API-key scope: `knowledge:read`
|
|
638
|
+
|
|
639
|
+
The state of your LinkedIn connections import: settings, last run and
|
|
640
|
+
its `revision` token.
|
|
641
|
+
|
|
642
|
+
**Input**: none.
|
|
643
|
+
|
|
644
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
645
|
+
|
|
646
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
647
|
+
|
|
648
|
+
**Example**
|
|
649
|
+
|
|
650
|
+
```ts
|
|
651
|
+
const result = await g8.api.copilot.getCopilotLinkedinConnections();
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
<a id="op-getcopilotmemorycontext"></a>
|
|
657
|
+
|
|
658
|
+
### `g8.api.copilot.getCopilotMemoryContext(input?)`
|
|
659
|
+
|
|
660
|
+
**Get Copilot Memory Context**
|
|
661
|
+
|
|
662
|
+
- HTTP: `GET /api/v1/copilot/memory/context`
|
|
663
|
+
- operationId: `get_copilot_memory_context_copilot_memory_context_get` (also callable as `g8.api.call("get_copilot_memory_context_copilot_memory_context_get", input)`)
|
|
664
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
665
|
+
- API-key scope: `knowledge:read`
|
|
666
|
+
|
|
667
|
+
The memory the Copilot would actually bring to a given conversation.
|
|
668
|
+
|
|
669
|
+
Not the whole store - the ASSEMBLED context for a subject, which is what
|
|
670
|
+
the assistant reasons from. The most useful read here when debugging "why
|
|
671
|
+
did it say that": if a fact is not in this answer, it was not in front of
|
|
672
|
+
the model.
|
|
673
|
+
|
|
674
|
+
With no filters it returns the org and user level context alone.
|
|
675
|
+
|
|
676
|
+
**Input**
|
|
677
|
+
|
|
678
|
+
| Field | Type | Required | Description |
|
|
679
|
+
|---|---|---|---|
|
|
680
|
+
| `query.campaign_id` | `string \| null` | no | Narrow to one campaign. |
|
|
681
|
+
| `query.company_id` | `string \| null` | no | Narrow to one company. |
|
|
682
|
+
| `query.contact_id` | `string \| null` | no | Narrow to one contact. |
|
|
683
|
+
|
|
684
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
685
|
+
|
|
686
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
687
|
+
|
|
688
|
+
**Example**
|
|
689
|
+
|
|
690
|
+
```ts
|
|
691
|
+
const result = await g8.api.copilot.getCopilotMemoryContext();
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
<a id="op-getcopilotmemorydocuments"></a>
|
|
697
|
+
|
|
698
|
+
### `g8.api.copilot.getCopilotMemoryDocuments(input)`
|
|
699
|
+
|
|
700
|
+
**Get Copilot Memory Documents**
|
|
701
|
+
|
|
702
|
+
- HTTP: `GET /api/v1/copilot/memory/documents`
|
|
703
|
+
- operationId: `get_copilot_memory_documents_copilot_memory_documents_get` (also callable as `g8.api.call("get_copilot_memory_documents_copilot_memory_documents_get", input)`)
|
|
704
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
705
|
+
- API-key scope: `knowledge:read`
|
|
706
|
+
|
|
707
|
+
The raw memory documents for one subject.
|
|
708
|
+
|
|
709
|
+
`soul` is who they are, `memory` is durable fact, `daily` is the rolling
|
|
710
|
+
journal. `GET /copilot/memory/context` is the assembled view; this is the
|
|
711
|
+
source behind it, and the thing to edit.
|
|
712
|
+
|
|
713
|
+
**Input**
|
|
714
|
+
|
|
715
|
+
| Field | Type | Required | Description |
|
|
716
|
+
|---|---|---|---|
|
|
717
|
+
| `query.subject_type` | `string` | yes | organization \| user \| campaign \| company \| contact. |
|
|
718
|
+
| `query.subject_id` | `string` | yes | Which one. |
|
|
719
|
+
| `query.file_kind` | `string \| null` | no | `soul`, `memory` or `daily`. Omit for all three - they are different documents, not versions of one. |
|
|
720
|
+
|
|
721
|
+
**Returns** `ApiResponse_CopilotMemoryListPayload_`: the envelope `{ data: CopilotMemoryListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
722
|
+
|
|
723
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
724
|
+
|
|
725
|
+
`CopilotMemoryListPayload` fields:
|
|
726
|
+
|
|
727
|
+
| Field | Type | Required | Description |
|
|
728
|
+
|---|---|---|---|
|
|
729
|
+
| `items` | `Array<unknown>` | no | |
|
|
730
|
+
|
|
731
|
+
**Example**
|
|
732
|
+
|
|
733
|
+
```ts
|
|
734
|
+
const result = await g8.api.copilot.getCopilotMemoryDocuments({ query: { subject_type: "Example", subject_id: "id" } });
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
---
|
|
738
|
+
|
|
739
|
+
<a id="op-getcopilotpersonalwiki"></a>
|
|
740
|
+
|
|
741
|
+
### `g8.api.copilot.getCopilotPersonalWiki(input?)`
|
|
742
|
+
|
|
743
|
+
**Get Copilot Personal Wiki**
|
|
744
|
+
|
|
745
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki`
|
|
746
|
+
- operationId: `get_copilot_personal_wiki_copilot_personal_wiki_get` (also callable as `g8.api.call("get_copilot_personal_wiki_copilot_personal_wiki_get", input)`)
|
|
747
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
748
|
+
- API-key scope: `knowledge:read`
|
|
749
|
+
|
|
750
|
+
Everything the assistant believes about the person behind this key.
|
|
751
|
+
|
|
752
|
+
Assembled from their email, calendar, documents and Work activity according
|
|
753
|
+
to `GET /copilot/personal-wiki/sources`. Each fact carries where it came
|
|
754
|
+
from, which is what makes a wrong one correctable rather than merely
|
|
755
|
+
annoying.
|
|
756
|
+
|
|
757
|
+
**Input**: none.
|
|
758
|
+
|
|
759
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
760
|
+
|
|
761
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
762
|
+
|
|
763
|
+
**Example**
|
|
764
|
+
|
|
765
|
+
```ts
|
|
766
|
+
const result = await g8.api.copilot.getCopilotPersonalWiki();
|
|
767
|
+
```
|
|
768
|
+
|
|
769
|
+
---
|
|
770
|
+
|
|
771
|
+
<a id="op-getcopilotpersonalwikidocument"></a>
|
|
772
|
+
|
|
773
|
+
### `g8.api.copilot.getCopilotPersonalWikiDocument(input)`
|
|
774
|
+
|
|
775
|
+
**Get Copilot Personal Wiki Document**
|
|
776
|
+
|
|
777
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/documents/{section}`
|
|
778
|
+
- operationId: `get_copilot_personal_wiki_document_copilot_personal_wiki_documents__section__get` (also callable as `g8.api.call("get_copilot_personal_wiki_document_copilot_personal_wiki_documents__section__get", input)`)
|
|
779
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
780
|
+
- API-key scope: `knowledge:read`
|
|
781
|
+
|
|
782
|
+
One source document behind a section of the wiki.
|
|
783
|
+
|
|
784
|
+
The evidence view: the actual text a section was derived from, rather than
|
|
785
|
+
the assistant's summary of it.
|
|
786
|
+
|
|
787
|
+
**Input**
|
|
788
|
+
|
|
789
|
+
| Field | Type | Required | Description |
|
|
790
|
+
|---|---|---|---|
|
|
791
|
+
| `path.section` | `string` | yes | Wiki section. |
|
|
792
|
+
| `query.document_id` | `string` | yes | Which source document. |
|
|
793
|
+
|
|
794
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
795
|
+
|
|
796
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
797
|
+
|
|
798
|
+
**Example**
|
|
799
|
+
|
|
800
|
+
```ts
|
|
801
|
+
const result = await g8.api.copilot.getCopilotPersonalWikiDocument({ path: { section: "example" }, query: { document_id: "id" } });
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
---
|
|
805
|
+
|
|
806
|
+
<a id="op-getcopilotpersonalwikirelationship"></a>
|
|
807
|
+
|
|
808
|
+
### `g8.api.copilot.getCopilotPersonalWikiRelationship(input)`
|
|
809
|
+
|
|
810
|
+
**Get Copilot Personal Wiki Relationship**
|
|
811
|
+
|
|
812
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/relationships/{contact_id}`
|
|
813
|
+
- operationId: `get_copilot_personal_wiki_relationship_copilot_personal_wiki_relationships__contact_id__get` (also callable as `g8.api.call("get_copilot_personal_wiki_relationship_copilot_personal_wiki_relationships__contact_id__get", input)`)
|
|
814
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
815
|
+
- API-key scope: `knowledge:read`
|
|
816
|
+
|
|
817
|
+
What the assistant knows about your relationship with ONE person.
|
|
818
|
+
|
|
819
|
+
**Input**
|
|
820
|
+
|
|
821
|
+
| Field | Type | Required | Description |
|
|
822
|
+
|---|---|---|---|
|
|
823
|
+
| `path.contact_id` | `integer` | yes | CRM contact id (integer). |
|
|
824
|
+
|
|
825
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
826
|
+
|
|
827
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
828
|
+
|
|
829
|
+
**Example**
|
|
830
|
+
|
|
831
|
+
```ts
|
|
832
|
+
const result = await g8.api.copilot.getCopilotPersonalWikiRelationship({ path: { contact_id: 123 } });
|
|
833
|
+
```
|
|
834
|
+
|
|
835
|
+
---
|
|
836
|
+
|
|
837
|
+
<a id="op-getcopilotpersonalwikisources"></a>
|
|
838
|
+
|
|
839
|
+
### `g8.api.copilot.getCopilotPersonalWikiSources(input?)`
|
|
840
|
+
|
|
841
|
+
**Get Copilot Personal Wiki Sources**
|
|
842
|
+
|
|
843
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/sources`
|
|
844
|
+
- operationId: `get_copilot_personal_wiki_sources_copilot_personal_wiki_sources_get` (also callable as `g8.api.call("get_copilot_personal_wiki_sources_copilot_personal_wiki_sources_get", input)`)
|
|
845
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
846
|
+
- API-key scope: `knowledge:read`
|
|
847
|
+
|
|
848
|
+
Which of your things the assistant is reading.
|
|
849
|
+
|
|
850
|
+
Mailboxes, calendar, documents, Work. The privacy answer for this whole
|
|
851
|
+
surface - what the wiki knows follows directly from what is switched on
|
|
852
|
+
here.
|
|
853
|
+
|
|
854
|
+
**Input**: none.
|
|
855
|
+
|
|
856
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
857
|
+
|
|
858
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
859
|
+
|
|
860
|
+
**Example**
|
|
861
|
+
|
|
862
|
+
```ts
|
|
863
|
+
const result = await g8.api.copilot.getCopilotPersonalWikiSources();
|
|
864
|
+
```
|
|
865
|
+
|
|
866
|
+
---
|
|
867
|
+
|
|
868
|
+
<a id="op-listcopilotcontactcontributions"></a>
|
|
869
|
+
|
|
870
|
+
### `g8.api.copilot.listCopilotContactContributions(input?)`
|
|
871
|
+
|
|
872
|
+
**List Copilot Contact Contributions**
|
|
873
|
+
|
|
874
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/contact-sharing/contributions`
|
|
875
|
+
- operationId: `list_copilot_contact_contributions_copilot_personal_wiki_contact_sharing_contributions_get` (also callable as `g8.api.call("list_copilot_contact_contributions_copilot_personal_wiki_contact_sharing_contributions_get", input)`)
|
|
876
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
877
|
+
- API-key scope: `knowledge:read`
|
|
878
|
+
|
|
879
|
+
What your mailbox is offering to the shared CRM record, pending review.
|
|
880
|
+
|
|
881
|
+
A contribution is a fact the assistant learned privately that WOULD change
|
|
882
|
+
a shared contact - a new job title, a corrected name. It is held here until
|
|
883
|
+
someone decides, rather than being written straight through.
|
|
884
|
+
|
|
885
|
+
**Input**
|
|
886
|
+
|
|
887
|
+
| Field | Type | Required | Description |
|
|
888
|
+
|---|---|---|---|
|
|
889
|
+
| `query.offset` | `integer` | no | default `0` |
|
|
890
|
+
| `query.limit` | `integer` | no | default `25` |
|
|
891
|
+
|
|
892
|
+
**Returns** `ApiResponse_CopilotMemoryListPayload_`: the envelope `{ data: CopilotMemoryListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
893
|
+
|
|
894
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
895
|
+
|
|
896
|
+
`CopilotMemoryListPayload` fields:
|
|
897
|
+
|
|
898
|
+
| Field | Type | Required | Description |
|
|
899
|
+
|---|---|---|---|
|
|
900
|
+
| `items` | `Array<unknown>` | no | |
|
|
901
|
+
|
|
902
|
+
**Example**
|
|
903
|
+
|
|
904
|
+
```ts
|
|
905
|
+
const result = await g8.api.copilot.listCopilotContactContributions();
|
|
906
|
+
```
|
|
907
|
+
|
|
908
|
+
---
|
|
909
|
+
|
|
910
|
+
<a id="op-listcopilotcontactmatches"></a>
|
|
911
|
+
|
|
912
|
+
### `g8.api.copilot.listCopilotContactMatches(input)`
|
|
913
|
+
|
|
914
|
+
**List Copilot Contact Matches**
|
|
915
|
+
|
|
916
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}/matches`
|
|
917
|
+
- operationId: `list_copilot_contact_matches_copilot_personal_wiki_contact_sharing_contributions__contribution_id__matches_get` (also callable as `g8.api.call("list_copilot_contact_matches_copilot_personal_wiki_contact_sharing_contributions__contribution_id__matches_get", input)`)
|
|
918
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
919
|
+
- API-key scope: `knowledge:read`
|
|
920
|
+
|
|
921
|
+
Which CRM contacts this contribution might be about.
|
|
922
|
+
|
|
923
|
+
Read this before resolving one. A contribution that matches several people
|
|
924
|
+
is a contribution whose decision would otherwise land on whichever the
|
|
925
|
+
matcher guessed.
|
|
926
|
+
|
|
927
|
+
**Input**
|
|
928
|
+
|
|
929
|
+
| Field | Type | Required | Description |
|
|
930
|
+
|---|---|---|---|
|
|
931
|
+
| `path.contribution_id` | `string` | yes | Contribution id (UUID). |
|
|
932
|
+
|
|
933
|
+
**Returns** `ApiResponse_CopilotMemoryListPayload_`: the envelope `{ data: CopilotMemoryListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
934
|
+
|
|
935
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
936
|
+
|
|
937
|
+
`CopilotMemoryListPayload` fields:
|
|
938
|
+
|
|
939
|
+
| Field | Type | Required | Description |
|
|
940
|
+
|---|---|---|---|
|
|
941
|
+
| `items` | `Array<unknown>` | no | |
|
|
942
|
+
|
|
943
|
+
**Example**
|
|
944
|
+
|
|
945
|
+
```ts
|
|
946
|
+
const result = await g8.api.copilot.listCopilotContactMatches({ path: { contribution_id: "id" } });
|
|
947
|
+
```
|
|
948
|
+
|
|
949
|
+
---
|
|
950
|
+
|
|
951
|
+
<a id="op-listcopilotmemories"></a>
|
|
952
|
+
|
|
953
|
+
### `g8.api.copilot.listCopilotMemories(input?)`
|
|
954
|
+
|
|
955
|
+
**List Copilot Memories**
|
|
956
|
+
|
|
957
|
+
- HTTP: `GET /api/v1/copilot/memory`
|
|
958
|
+
- operationId: `list_copilot_memories_copilot_memory_get` (also callable as `g8.api.call("list_copilot_memories_copilot_memory_get", input)`)
|
|
959
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
960
|
+
- API-key scope: `knowledge:read`
|
|
961
|
+
|
|
962
|
+
Discrete things the Copilot has been told to remember.
|
|
963
|
+
|
|
964
|
+
NOT the same store as `GET /agent/memory`, which is the agent runtime's
|
|
965
|
+
planner state. These are the assistant's own remembered facts.
|
|
966
|
+
|
|
967
|
+
**Input**
|
|
968
|
+
|
|
969
|
+
| Field | Type | Required | Description |
|
|
970
|
+
|---|---|---|---|
|
|
971
|
+
| `query.scope` | `string \| null` | no | Filter to one memory scope. |
|
|
972
|
+
| `query.limit` | `integer` | no | Page size. default `20` |
|
|
973
|
+
|
|
974
|
+
**Returns** `ApiResponse_CopilotMemoryListPayload_`: the envelope `{ data: CopilotMemoryListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
975
|
+
|
|
976
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
977
|
+
|
|
978
|
+
`CopilotMemoryListPayload` fields:
|
|
979
|
+
|
|
980
|
+
| Field | Type | Required | Description |
|
|
981
|
+
|---|---|---|---|
|
|
982
|
+
| `items` | `Array<unknown>` | no | |
|
|
983
|
+
|
|
984
|
+
**Example**
|
|
985
|
+
|
|
986
|
+
```ts
|
|
987
|
+
const result = await g8.api.copilot.listCopilotMemories();
|
|
988
|
+
```
|
|
989
|
+
|
|
990
|
+
---
|
|
991
|
+
|
|
992
|
+
<a id="op-listcopilotpersonalwikirelationships"></a>
|
|
993
|
+
|
|
994
|
+
### `g8.api.copilot.listCopilotPersonalWikiRelationships(input?)`
|
|
995
|
+
|
|
996
|
+
**List Copilot Personal Wiki Relationships**
|
|
997
|
+
|
|
998
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/relationships`
|
|
999
|
+
- operationId: `list_copilot_personal_wiki_relationships_copilot_personal_wiki_relationships_get` (also callable as `g8.api.call("list_copilot_personal_wiki_relationships_copilot_personal_wiki_relationships_get", input)`)
|
|
1000
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
1001
|
+
- API-key scope: `knowledge:read`
|
|
1002
|
+
|
|
1003
|
+
Who the assistant thinks you know, and how well.
|
|
1004
|
+
|
|
1005
|
+
Filtered by the key's CONTACT SCOPE, not just by org: a key whose user may
|
|
1006
|
+
only see their own contacts sees relationships to those contacts. The
|
|
1007
|
+
relationship graph is derived from a person's mailbox, so it is exactly the
|
|
1008
|
+
data that must not cross a rep boundary.
|
|
1009
|
+
|
|
1010
|
+
**Input**
|
|
1011
|
+
|
|
1012
|
+
| Field | Type | Required | Description |
|
|
1013
|
+
|---|---|---|---|
|
|
1014
|
+
| `query.item_id` | `string \| null` | no | |
|
|
1015
|
+
| `query.query` | `string` | no | Substring match on the person. default `""` |
|
|
1016
|
+
| `query.sort` | `"recent" \| "name" \| "email"` | no | `recent`, `name` or `email`. default `"recent"` |
|
|
1017
|
+
| `query.offset` | `integer` | no | default `0` |
|
|
1018
|
+
| `query.limit` | `integer` | no | default `50` |
|
|
1019
|
+
|
|
1020
|
+
**Returns** `ApiResponse_CopilotMemoryListPayload_`: the envelope `{ data: CopilotMemoryListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1021
|
+
|
|
1022
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1023
|
+
|
|
1024
|
+
`CopilotMemoryListPayload` fields:
|
|
1025
|
+
|
|
1026
|
+
| Field | Type | Required | Description |
|
|
1027
|
+
|---|---|---|---|
|
|
1028
|
+
| `items` | `Array<unknown>` | no | |
|
|
1029
|
+
|
|
1030
|
+
**Example**
|
|
1031
|
+
|
|
1032
|
+
```ts
|
|
1033
|
+
const result = await g8.api.copilot.listCopilotPersonalWikiRelationships();
|
|
1034
|
+
```
|
|
1035
|
+
|
|
1036
|
+
---
|
|
1037
|
+
|
|
1038
|
+
<a id="op-listcopilottools"></a>
|
|
1039
|
+
|
|
1040
|
+
### `g8.api.copilot.listCopilotTools(input?)`
|
|
1041
|
+
|
|
1042
|
+
**List Copilot Tools**
|
|
1043
|
+
|
|
1044
|
+
- HTTP: `GET /api/v1/copilot/tools`
|
|
1045
|
+
- operationId: `list_copilot_tools_copilot_tools_get` (also callable as `g8.api.call("list_copilot_tools_copilot_tools_get", input)`)
|
|
1046
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
1047
|
+
- API-key scope: `knowledge:read`
|
|
1048
|
+
|
|
1049
|
+
The tools the copilot can call, and which of them need a person's approval. FREE.
|
|
1050
|
+
|
|
1051
|
+
**Input**: none.
|
|
1052
|
+
|
|
1053
|
+
**Returns** `ApiResponse_StudioContentListPayload_`: the envelope `{ data: StudioContentListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1054
|
+
|
|
1055
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1056
|
+
|
|
1057
|
+
`StudioContentListPayload` fields:
|
|
1058
|
+
|
|
1059
|
+
| Field | Type | Required | Description |
|
|
1060
|
+
|---|---|---|---|
|
|
1061
|
+
| `items` | `Array<unknown>` | no | |
|
|
1062
|
+
|
|
1063
|
+
**Example**
|
|
1064
|
+
|
|
1065
|
+
```ts
|
|
1066
|
+
const result = await g8.api.copilot.listCopilotTools();
|
|
1067
|
+
```
|
|
1068
|
+
|
|
1069
|
+
---
|
|
1070
|
+
|
|
1071
|
+
<a id="op-previewcopilotpersonalwikidriveselection"></a>
|
|
1072
|
+
|
|
1073
|
+
### `g8.api.copilot.previewCopilotPersonalWikiDriveSelection(input)`
|
|
1074
|
+
|
|
1075
|
+
**Preview Copilot Personal Wiki Drive Selection**
|
|
1076
|
+
|
|
1077
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/drive-selection/preview`
|
|
1078
|
+
- operationId: `preview_copilot_personal_wiki_drive_selection_copilot_personal_wiki_drive_selection_preview_post` (also callable as `g8.api.call("preview_copilot_personal_wiki_drive_selection_copilot_personal_wiki_drive_selection_preview_post", input)`)
|
|
1079
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
1080
|
+
- API-key scope: `knowledge:read`
|
|
1081
|
+
|
|
1082
|
+
What a Drive selection WOULD read, without saving it.
|
|
1083
|
+
|
|
1084
|
+
POST only because the selection is a body; it changes nothing. Returns a
|
|
1085
|
+
`fingerprint` to hand to the save, so the save is refused if the folders
|
|
1086
|
+
have changed underneath you in between.
|
|
1087
|
+
|
|
1088
|
+
**Input**
|
|
1089
|
+
|
|
1090
|
+
| Field | Type | Required | Description |
|
|
1091
|
+
|---|---|---|---|
|
|
1092
|
+
| `body` | `PersonalDriveSelectionRequest` | yes | Request body; fields below. |
|
|
1093
|
+
|
|
1094
|
+
Body fields (`PersonalDriveSelectionRequest`):
|
|
1095
|
+
|
|
1096
|
+
| Field | Type | Required | Description |
|
|
1097
|
+
|---|---|---|---|
|
|
1098
|
+
| `body.mailbox_id` | `integer` | yes | Integer `mailboxes.id` of the connected Google account. > 0 |
|
|
1099
|
+
| `body.document_ids` | `Array<string>` | no | Individual Drive documents to read. max items 20 |
|
|
1100
|
+
| `body.folders` | `Array<PersonalDriveFolderChoice>` | no | Whole folders to read. max items 10 |
|
|
1101
|
+
| `body.preview_fingerprint` | `string \| null` | no | The `fingerprint` from the preview call. When sent, the save is refused (409) if the selection no longer resolves to what you previewed. pattern `^[a-f0-9]{64}$` |
|
|
1102
|
+
| `body.revision` | `string \| null` | no | The sources' `updated_at` from `GET /copilot/personal-wiki/sources`. A mismatch is a 409: someone else changed the selection since you read it. |
|
|
1103
|
+
|
|
1104
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1105
|
+
|
|
1106
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1107
|
+
|
|
1108
|
+
**Example**
|
|
1109
|
+
|
|
1110
|
+
```ts
|
|
1111
|
+
const result = await g8.api.copilot.previewCopilotPersonalWikiDriveSelection({ body: { mailbox_id: 1 } });
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
---
|
|
1115
|
+
|
|
1116
|
+
<a id="op-promotecopilotmemory"></a>
|
|
1117
|
+
|
|
1118
|
+
### `g8.api.copilot.promoteCopilotMemory(input)`
|
|
1119
|
+
|
|
1120
|
+
**Promote Copilot Memory**
|
|
1121
|
+
|
|
1122
|
+
- HTTP: `POST /api/v1/copilot/memory/promote`
|
|
1123
|
+
- operationId: `promote_copilot_memory_copilot_memory_promote_post` (also callable as `g8.api.call("promote_copilot_memory_copilot_memory_promote_post", input)`)
|
|
1124
|
+
- Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
|
|
1125
|
+
- API-key scope: `knowledge:run`
|
|
1126
|
+
|
|
1127
|
+
Promote what is worth keeping out of the daily journal into durable
|
|
1128
|
+
memory.
|
|
1129
|
+
|
|
1130
|
+
The garbage-collection step of the whole memory design. Without it the
|
|
1131
|
+
journal grows without bound and the durable documents stay empty, so the
|
|
1132
|
+
assistant ends up with a great deal of noise and very little knowledge.
|
|
1133
|
+
|
|
1134
|
+
**Input**
|
|
1135
|
+
|
|
1136
|
+
| Field | Type | Required | Description |
|
|
1137
|
+
|---|---|---|---|
|
|
1138
|
+
| `body` | `PromoteMemoryRequest` | yes | Request body; fields below. |
|
|
1139
|
+
|
|
1140
|
+
Body fields (`PromoteMemoryRequest`):
|
|
1141
|
+
|
|
1142
|
+
| Field | Type | Required | Description |
|
|
1143
|
+
|---|---|---|---|
|
|
1144
|
+
| `body.subject_id` | `string` | yes | Which one. |
|
|
1145
|
+
| `body.subject_type` | `string` | yes | organization \| user \| campaign \| company \| contact. |
|
|
1146
|
+
| `body.days_back` | `integer` | no | How far back through the daily journal to look for things worth keeping. Promotion is what stops the journal growing forever and the durable memory staying empty. default `7` |
|
|
1147
|
+
|
|
1148
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1149
|
+
|
|
1150
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1151
|
+
|
|
1152
|
+
**Example**
|
|
1153
|
+
|
|
1154
|
+
```ts
|
|
1155
|
+
// billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
|
|
1156
|
+
const result = await g8.api.copilot.promoteCopilotMemory({ body: { subject_id: "id", subject_type: "Example" } });
|
|
1157
|
+
```
|
|
1158
|
+
|
|
1159
|
+
---
|
|
1160
|
+
|
|
1161
|
+
<a id="op-resolvecopilotcontactcontribution"></a>
|
|
1162
|
+
|
|
1163
|
+
### `g8.api.copilot.resolveCopilotContactContribution(input)`
|
|
1164
|
+
|
|
1165
|
+
**Resolve Copilot Contact Contribution**
|
|
1166
|
+
|
|
1167
|
+
- HTTP: `POST /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}/resolve`
|
|
1168
|
+
- operationId: `resolve_copilot_contact_contribution_copilot_personal_wiki_contact_sharing_contributions__contribution_id__resolve_post` (also callable as `g8.api.call("resolve_copilot_contact_contribution_copilot_personal_wiki_contact_sharing_contributions__contribution_id__resolve_post", input)`)
|
|
1169
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1170
|
+
- API-key scope: `knowledge:write`
|
|
1171
|
+
|
|
1172
|
+
Decide ONE FIELD of a contribution: keep the CRM value, or take the
|
|
1173
|
+
proposed one.
|
|
1174
|
+
|
|
1175
|
+
Per field rather than per contribution, because a contribution can be right
|
|
1176
|
+
about a job title and wrong about a surname.
|
|
1177
|
+
|
|
1178
|
+
TWO concurrency tokens are required and both are load-bearing: one for the
|
|
1179
|
+
contribution and one for the CANONICAL contact record the decision would
|
|
1180
|
+
change. Either having moved means the decision was made against something
|
|
1181
|
+
that no longer holds, and `use_proposed` OVERWRITES a shared record.
|
|
1182
|
+
|
|
1183
|
+
**Input**
|
|
1184
|
+
|
|
1185
|
+
| Field | Type | Required | Description |
|
|
1186
|
+
|---|---|---|---|
|
|
1187
|
+
| `path.contribution_id` | `string` | yes | Contribution id (UUID). |
|
|
1188
|
+
| `body` | `PersonalContactReviewRequest` | yes | Request body; fields below. |
|
|
1189
|
+
|
|
1190
|
+
Body fields (`PersonalContactReviewRequest`):
|
|
1191
|
+
|
|
1192
|
+
| Field | Type | Required | Description |
|
|
1193
|
+
|---|---|---|---|
|
|
1194
|
+
| `body.choice` | `"keep_current" \| "use_proposed"` | yes | `keep_current` - the CRM record wins. `use_proposed` - the contributed value wins and overwrites it. |
|
|
1195
|
+
| `body.expected_canonical_revision` | `string` | yes | Digest of the CANONICAL contact record as you read it. Two tokens are required because two records are in play: the contribution and the contact it would change. Either moving means the decision was made against something that no longer holds. min length 64, max length 64 |
|
|
1196
|
+
| `body.expected_revision` | `integer` | yes | The contribution's revision. min 1 |
|
|
1197
|
+
| `body.field` | `"CONTACT_FIRST_NAME" \| "CONTACT_LAST_NAME" \| "CONTACT_JOB_TITLE"` | yes | Which field is being decided. |
|
|
1198
|
+
|
|
1199
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1200
|
+
|
|
1201
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1202
|
+
|
|
1203
|
+
**Example**
|
|
1204
|
+
|
|
1205
|
+
```ts
|
|
1206
|
+
const result = await g8.api.copilot.resolveCopilotContactContribution({
|
|
1207
|
+
path: { contribution_id: "id" },
|
|
1208
|
+
body: {
|
|
1209
|
+
choice: "keep_current",
|
|
1210
|
+
expected_canonical_revision: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
|
1211
|
+
expected_revision: 1,
|
|
1212
|
+
field: "CONTACT_FIRST_NAME",
|
|
1213
|
+
},
|
|
1214
|
+
});
|
|
1215
|
+
```
|
|
1216
|
+
|
|
1217
|
+
---
|
|
1218
|
+
|
|
1219
|
+
<a id="op-runcopilotlandingpageaction"></a>
|
|
1220
|
+
|
|
1221
|
+
### `g8.api.copilot.runCopilotLandingPageAction(input)`
|
|
1222
|
+
|
|
1223
|
+
**Run Copilot Landing Page Action**
|
|
1224
|
+
|
|
1225
|
+
- HTTP: `POST /api/v1/copilot/landing-page-action`
|
|
1226
|
+
- operationId: `run_copilot_landing_page_action_copilot_landing_page_action_post` (also callable as `g8.api.call("run_copilot_landing_page_action_copilot_landing_page_action_post", input)`)
|
|
1227
|
+
- Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
|
|
1228
|
+
- API-key scope: `knowledge:run`
|
|
1229
|
+
|
|
1230
|
+
Add, remove, reorder or AI-edit a landing page's sections. `edit_section` SPENDS CREDIT.
|
|
1231
|
+
|
|
1232
|
+
`add_section`, `remove_section` and `reorder_sections` are deterministic.
|
|
1233
|
+
Returns the updated page.
|
|
1234
|
+
|
|
1235
|
+
**Input**
|
|
1236
|
+
|
|
1237
|
+
| Field | Type | Required | Description |
|
|
1238
|
+
|---|---|---|---|
|
|
1239
|
+
| `body` | `CopilotLandingPageActionRequest` | yes | Request body; fields below. |
|
|
1240
|
+
|
|
1241
|
+
Body fields (`CopilotLandingPageActionRequest`):
|
|
1242
|
+
|
|
1243
|
+
| Field | Type | Required | Description |
|
|
1244
|
+
|---|---|---|---|
|
|
1245
|
+
| `body.action_type` | `"edit_section" \| "add_section" \| "remove_section" \| "reorder_sections"` | yes | |
|
|
1246
|
+
| `body.landing_page_id` | `string` | yes | |
|
|
1247
|
+
| `body.instruction` | `string \| null` | no | For edit_section. |
|
|
1248
|
+
| `body.new_order` | `Array<integer> \| null` | no | For reorder_sections: the new index order. |
|
|
1249
|
+
| `body.new_section_type` | `string \| null` | no | For add_section. |
|
|
1250
|
+
| `body.section_idx` | `integer \| null` | no | For edit_section and remove_section. |
|
|
1251
|
+
| `body.selected_text` | `string \| null` | no | |
|
|
1252
|
+
|
|
1253
|
+
**Returns** `ApiResponse_StudioContentPayload_`: the envelope `{ data: StudioContentPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1254
|
+
|
|
1255
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1256
|
+
|
|
1257
|
+
**Example**
|
|
1258
|
+
|
|
1259
|
+
```ts
|
|
1260
|
+
// billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
|
|
1261
|
+
const result = await g8.api.copilot.runCopilotLandingPageAction({ body: { action_type: "edit_section", landing_page_id: "id" } });
|
|
1262
|
+
```
|
|
1263
|
+
|
|
1264
|
+
---
|
|
1265
|
+
|
|
1266
|
+
<a id="op-savecopilotpersonalwikidriveselection"></a>
|
|
1267
|
+
|
|
1268
|
+
### `g8.api.copilot.saveCopilotPersonalWikiDriveSelection(input)`
|
|
1269
|
+
|
|
1270
|
+
**Save Copilot Personal Wiki Drive Selection**
|
|
1271
|
+
|
|
1272
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/drive-selection`
|
|
1273
|
+
- operationId: `save_copilot_personal_wiki_drive_selection_copilot_personal_wiki_drive_selection_put` (also callable as `g8.api.call("save_copilot_personal_wiki_drive_selection_copilot_personal_wiki_drive_selection_put", input)`)
|
|
1274
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1275
|
+
- API-key scope: `knowledge:write`
|
|
1276
|
+
|
|
1277
|
+
Save which Drive documents and folders the Copilot may read.
|
|
1278
|
+
|
|
1279
|
+
Replaces the Drive part of the selection. `revision` is required in
|
|
1280
|
+
practice: it must equal the sources' current `updated_at`, or the save is
|
|
1281
|
+
a 409.
|
|
1282
|
+
|
|
1283
|
+
**Input**
|
|
1284
|
+
|
|
1285
|
+
| Field | Type | Required | Description |
|
|
1286
|
+
|---|---|---|---|
|
|
1287
|
+
| `body` | `PersonalDriveSelectionRequest` | yes | Request body; fields below. |
|
|
1288
|
+
|
|
1289
|
+
Body fields (`PersonalDriveSelectionRequest`):
|
|
1290
|
+
|
|
1291
|
+
| Field | Type | Required | Description |
|
|
1292
|
+
|---|---|---|---|
|
|
1293
|
+
| `body.mailbox_id` | `integer` | yes | Integer `mailboxes.id` of the connected Google account. > 0 |
|
|
1294
|
+
| `body.document_ids` | `Array<string>` | no | Individual Drive documents to read. max items 20 |
|
|
1295
|
+
| `body.folders` | `Array<PersonalDriveFolderChoice>` | no | Whole folders to read. max items 10 |
|
|
1296
|
+
| `body.preview_fingerprint` | `string \| null` | no | The `fingerprint` from the preview call. When sent, the save is refused (409) if the selection no longer resolves to what you previewed. pattern `^[a-f0-9]{64}$` |
|
|
1297
|
+
| `body.revision` | `string \| null` | no | The sources' `updated_at` from `GET /copilot/personal-wiki/sources`. A mismatch is a 409: someone else changed the selection since you read it. |
|
|
1298
|
+
|
|
1299
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1300
|
+
|
|
1301
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1302
|
+
|
|
1303
|
+
**Example**
|
|
1304
|
+
|
|
1305
|
+
```ts
|
|
1306
|
+
const result = await g8.api.copilot.saveCopilotPersonalWikiDriveSelection({ body: { mailbox_id: 1 } });
|
|
1307
|
+
```
|
|
1308
|
+
|
|
1309
|
+
---
|
|
1310
|
+
|
|
1311
|
+
<a id="op-searchcopilotcontactidentities"></a>
|
|
1312
|
+
|
|
1313
|
+
### `g8.api.copilot.searchCopilotContactIdentities(input)`
|
|
1314
|
+
|
|
1315
|
+
**Search Copilot Contact Identities**
|
|
1316
|
+
|
|
1317
|
+
- HTTP: `GET /api/v1/copilot/personal-wiki/contact-identities`
|
|
1318
|
+
- operationId: `search_copilot_contact_identities_copilot_personal_wiki_contact_identities_get` (also callable as `g8.api.call("search_copilot_contact_identities_copilot_personal_wiki_contact_identities_get", input)`)
|
|
1319
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
1320
|
+
- API-key scope: `knowledge:read`
|
|
1321
|
+
|
|
1322
|
+
Find the CRM contact a wiki fact is really about.
|
|
1323
|
+
|
|
1324
|
+
The lookup behind `POST /copilot/personal-wiki/relationships/identity`. The
|
|
1325
|
+
two-character minimum is the app's and is real: it is a scoped search over
|
|
1326
|
+
people, not a prefix index.
|
|
1327
|
+
|
|
1328
|
+
**Input**
|
|
1329
|
+
|
|
1330
|
+
| Field | Type | Required | Description |
|
|
1331
|
+
|---|---|---|---|
|
|
1332
|
+
| `query.query` | `string` | yes | At least two characters. |
|
|
1333
|
+
|
|
1334
|
+
**Returns** `ApiResponse_CopilotMemoryListPayload_`: the envelope `{ data: CopilotMemoryListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1335
|
+
|
|
1336
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1337
|
+
|
|
1338
|
+
`CopilotMemoryListPayload` fields:
|
|
1339
|
+
|
|
1340
|
+
| Field | Type | Required | Description |
|
|
1341
|
+
|---|---|---|---|
|
|
1342
|
+
| `items` | `Array<unknown>` | no | |
|
|
1343
|
+
|
|
1344
|
+
**Example**
|
|
1345
|
+
|
|
1346
|
+
```ts
|
|
1347
|
+
const result = await g8.api.copilot.searchCopilotContactIdentities({ query: { query: "example" } });
|
|
1348
|
+
```
|
|
1349
|
+
|
|
1350
|
+
---
|
|
1351
|
+
|
|
1352
|
+
<a id="op-searchcopilotmentions"></a>
|
|
1353
|
+
|
|
1354
|
+
### `g8.api.copilot.searchCopilotMentions(input)`
|
|
1355
|
+
|
|
1356
|
+
**Search Copilot Mentions**
|
|
1357
|
+
|
|
1358
|
+
- HTTP: `POST /api/v1/copilot/mention-search`
|
|
1359
|
+
- operationId: `search_copilot_mentions_copilot_mention_search_post` (also callable as `g8.api.call("search_copilot_mentions_copilot_mention_search_post", input)`)
|
|
1360
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
1361
|
+
- API-key scope: `knowledge:read`
|
|
1362
|
+
|
|
1363
|
+
Find what can be @mentioned: documents, personas, ICPs, campaigns, teammates. FREE.
|
|
1364
|
+
|
|
1365
|
+
Read-only. Pass results as `mentions` on `POST /copilot/chat`.
|
|
1366
|
+
|
|
1367
|
+
**Input**
|
|
1368
|
+
|
|
1369
|
+
| Field | Type | Required | Description |
|
|
1370
|
+
|---|---|---|---|
|
|
1371
|
+
| `body` | `CopilotMentionSearchRequest` | yes | Request body; fields below. |
|
|
1372
|
+
|
|
1373
|
+
Body fields (`CopilotMentionSearchRequest`):
|
|
1374
|
+
|
|
1375
|
+
| Field | Type | Required | Description |
|
|
1376
|
+
|---|---|---|---|
|
|
1377
|
+
| `body.campaign_id` | `string \| null` | no | |
|
|
1378
|
+
| `body.mode` | `"global" \| "campaign" \| "account" \| null` | no | |
|
|
1379
|
+
| `body.query` | `string` | no | default `""` |
|
|
1380
|
+
|
|
1381
|
+
**Returns** `ApiResponse_StudioContentListPayload_`: the envelope `{ data: StudioContentListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1382
|
+
|
|
1383
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1384
|
+
|
|
1385
|
+
`StudioContentListPayload` fields:
|
|
1386
|
+
|
|
1387
|
+
| Field | Type | Required | Description |
|
|
1388
|
+
|---|---|---|---|
|
|
1389
|
+
| `items` | `Array<unknown>` | no | |
|
|
1390
|
+
|
|
1391
|
+
**Example**
|
|
1392
|
+
|
|
1393
|
+
```ts
|
|
1394
|
+
const result = await g8.api.copilot.searchCopilotMentions({ body: {} });
|
|
1395
|
+
```
|
|
1396
|
+
|
|
1397
|
+
---
|
|
1398
|
+
|
|
1399
|
+
<a id="op-updatecopilotcontactcontribution"></a>
|
|
1400
|
+
|
|
1401
|
+
### `g8.api.copilot.updateCopilotContactContribution(input)`
|
|
1402
|
+
|
|
1403
|
+
**Update Copilot Contact Contribution**
|
|
1404
|
+
|
|
1405
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/contact-sharing/contributions/{contribution_id}`
|
|
1406
|
+
- operationId: `update_copilot_contact_contribution_copilot_personal_wiki_contact_sharing_contributions__contribution_id__put` (also callable as `g8.api.call("update_copilot_contact_contribution_copilot_personal_wiki_contact_sharing_contributions__contribution_id__put", input)`)
|
|
1407
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1408
|
+
- API-key scope: `knowledge:write`
|
|
1409
|
+
|
|
1410
|
+
Turn ONE contribution on or off.
|
|
1411
|
+
|
|
1412
|
+
`expected_revision` is required. This decides whether private knowledge
|
|
1413
|
+
becomes org-wide, so a blind write could re-enable sharing somebody had
|
|
1414
|
+
just switched off.
|
|
1415
|
+
|
|
1416
|
+
**Input**
|
|
1417
|
+
|
|
1418
|
+
| Field | Type | Required | Description |
|
|
1419
|
+
|---|---|---|---|
|
|
1420
|
+
| `path.contribution_id` | `string` | yes | Contribution id (UUID). |
|
|
1421
|
+
| `body` | `PersonalContactSharingRequest` | yes | Request body; fields below. |
|
|
1422
|
+
|
|
1423
|
+
Body fields (`PersonalContactSharingRequest`):
|
|
1424
|
+
|
|
1425
|
+
| Field | Type | Required | Description |
|
|
1426
|
+
|---|---|---|---|
|
|
1427
|
+
| `body.enabled` | `boolean` | yes | Whether what this mailbox knows about a contact is contributed to the organisation's shared CRM record. Explicit rather than a toggle, so a retry is idempotent instead of switching it back. |
|
|
1428
|
+
| `body.expected_revision` | `integer` | yes | REQUIRED optimistic-concurrency token. Sharing settings decide whether one person's private contact knowledge becomes org-wide, so there is no unconditional write: a blind one could re-enable sharing somebody had just turned off. min 0 |
|
|
1429
|
+
|
|
1430
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1431
|
+
|
|
1432
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1433
|
+
|
|
1434
|
+
**Example**
|
|
1435
|
+
|
|
1436
|
+
```ts
|
|
1437
|
+
const result = await g8.api.copilot.updateCopilotContactContribution({
|
|
1438
|
+
path: { contribution_id: "id" },
|
|
1439
|
+
body: { enabled: true, expected_revision: 0 },
|
|
1440
|
+
});
|
|
1441
|
+
```
|
|
1442
|
+
|
|
1443
|
+
---
|
|
1444
|
+
|
|
1445
|
+
<a id="op-updatecopilotcontactpeoplechoice"></a>
|
|
1446
|
+
|
|
1447
|
+
### `g8.api.copilot.updateCopilotContactPeopleChoice(input)`
|
|
1448
|
+
|
|
1449
|
+
**Update Copilot Contact People Choice**
|
|
1450
|
+
|
|
1451
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/contact-sharing/people/choice`
|
|
1452
|
+
- operationId: `update_copilot_contact_people_choice_copilot_personal_wiki_contact_sharing_people_choice_put` (also callable as `g8.api.call("update_copilot_contact_people_choice_copilot_personal_wiki_contact_sharing_people_choice_put", input)`)
|
|
1453
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1454
|
+
- API-key scope: `knowledge:write`
|
|
1455
|
+
|
|
1456
|
+
Keep specific people private, share them, or let them follow the
|
|
1457
|
+
mailbox default.
|
|
1458
|
+
|
|
1459
|
+
The per-person override on top of `PUT /copilot/personal-wiki/contact-sharing/{mailbox_id}`.
|
|
1460
|
+
`expected_revision` is required.
|
|
1461
|
+
|
|
1462
|
+
**Input**
|
|
1463
|
+
|
|
1464
|
+
| Field | Type | Required | Description |
|
|
1465
|
+
|---|---|---|---|
|
|
1466
|
+
| `body` | `PersonalContactChoiceRequest` | yes | Request body; fields below. |
|
|
1467
|
+
|
|
1468
|
+
Body fields (`PersonalContactChoiceRequest`):
|
|
1469
|
+
|
|
1470
|
+
| Field | Type | Required | Description |
|
|
1471
|
+
|---|---|---|---|
|
|
1472
|
+
| `body.expected_revision` | `integer` | yes | Concurrency token from the sharing GET. min 0 |
|
|
1473
|
+
| `body.mode` | `"default" \| "private" \| "shared"` | yes | `private` keeps these people to yourself, `shared` offers them to the org's CRM, `default` follows the mailbox-level setting. |
|
|
1474
|
+
| `body.connection_revisions` | `Record<string, integer>` | no | Per-connection revision tokens, keyed by connection id (UUID). |
|
|
1475
|
+
| `body.fact_ids` | `Array<string>` | no | The people (wiki facts) this choice applies to. max items 500 |
|
|
1476
|
+
|
|
1477
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1478
|
+
|
|
1479
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1480
|
+
|
|
1481
|
+
**Example**
|
|
1482
|
+
|
|
1483
|
+
```ts
|
|
1484
|
+
const result = await g8.api.copilot.updateCopilotContactPeopleChoice({ body: { expected_revision: 0, mode: "default" } });
|
|
1485
|
+
```
|
|
1486
|
+
|
|
1487
|
+
---
|
|
1488
|
+
|
|
1489
|
+
<a id="op-updatecopilotcontactsharing"></a>
|
|
1490
|
+
|
|
1491
|
+
### `g8.api.copilot.updateCopilotContactSharing(input)`
|
|
1492
|
+
|
|
1493
|
+
**Update Copilot Contact Sharing**
|
|
1494
|
+
|
|
1495
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/contact-sharing/{mailbox_id}`
|
|
1496
|
+
- operationId: `update_copilot_contact_sharing_copilot_personal_wiki_contact_sharing__mailbox_id__put` (also callable as `g8.api.call("update_copilot_contact_sharing_copilot_personal_wiki_contact_sharing__mailbox_id__put", input)`)
|
|
1497
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1498
|
+
- API-key scope: `knowledge:write`
|
|
1499
|
+
|
|
1500
|
+
Turn contact sharing on or off for ONE mailbox.
|
|
1501
|
+
|
|
1502
|
+
The switch that decides whether a person's private contact knowledge starts
|
|
1503
|
+
producing contributions at all. `expected_revision` is required.
|
|
1504
|
+
|
|
1505
|
+
**Input**
|
|
1506
|
+
|
|
1507
|
+
| Field | Type | Required | Description |
|
|
1508
|
+
|---|---|---|---|
|
|
1509
|
+
| `path.mailbox_id` | `integer` | yes | Integer `mailboxes.id` - the database primary key, not the cron-job string id. |
|
|
1510
|
+
| `body` | `PersonalContactSharingRequest` | yes | Request body; fields below. |
|
|
1511
|
+
|
|
1512
|
+
Body fields (`PersonalContactSharingRequest`):
|
|
1513
|
+
|
|
1514
|
+
| Field | Type | Required | Description |
|
|
1515
|
+
|---|---|---|---|
|
|
1516
|
+
| `body.enabled` | `boolean` | yes | Whether what this mailbox knows about a contact is contributed to the organisation's shared CRM record. Explicit rather than a toggle, so a retry is idempotent instead of switching it back. |
|
|
1517
|
+
| `body.expected_revision` | `integer` | yes | REQUIRED optimistic-concurrency token. Sharing settings decide whether one person's private contact knowledge becomes org-wide, so there is no unconditional write: a blind one could re-enable sharing somebody had just turned off. min 0 |
|
|
1518
|
+
|
|
1519
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1520
|
+
|
|
1521
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1522
|
+
|
|
1523
|
+
**Example**
|
|
1524
|
+
|
|
1525
|
+
```ts
|
|
1526
|
+
const result = await g8.api.copilot.updateCopilotContactSharing({
|
|
1527
|
+
path: { mailbox_id: 123 },
|
|
1528
|
+
body: { enabled: true, expected_revision: 0 },
|
|
1529
|
+
});
|
|
1530
|
+
```
|
|
1531
|
+
|
|
1532
|
+
---
|
|
1533
|
+
|
|
1534
|
+
<a id="op-updatecopilotlinkedinconnections"></a>
|
|
1535
|
+
|
|
1536
|
+
### `g8.api.copilot.updateCopilotLinkedinConnections(input)`
|
|
1537
|
+
|
|
1538
|
+
**Update Copilot Linkedin Connections**
|
|
1539
|
+
|
|
1540
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/linkedin-connections`
|
|
1541
|
+
- operationId: `update_copilot_linkedin_connections_copilot_personal_wiki_linkedin_connections_put` (also callable as `g8.api.call("update_copilot_linkedin_connections_copilot_personal_wiki_linkedin_connections_put", input)`)
|
|
1542
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1543
|
+
- API-key scope: `knowledge:write`
|
|
1544
|
+
|
|
1545
|
+
Change the LinkedIn connections import settings, and optionally start
|
|
1546
|
+
an import (`start: true`).
|
|
1547
|
+
|
|
1548
|
+
The import itself runs in the background; read its progress back with the
|
|
1549
|
+
GET. `expected_revision` is required.
|
|
1550
|
+
|
|
1551
|
+
**Input**
|
|
1552
|
+
|
|
1553
|
+
| Field | Type | Required | Description |
|
|
1554
|
+
|---|---|---|---|
|
|
1555
|
+
| `body` | `PersonalLinkedInImportRequest` | yes | Request body; fields below. |
|
|
1556
|
+
|
|
1557
|
+
Body fields (`PersonalLinkedInImportRequest`):
|
|
1558
|
+
|
|
1559
|
+
| Field | Type | Required | Description |
|
|
1560
|
+
|---|---|---|---|
|
|
1561
|
+
| `body.expected_revision` | `integer` | yes | The `revision` from the GET. A stale value is a 409. min 0 |
|
|
1562
|
+
| `body.keep_updated` | `boolean` | no | Re-import the connection list on a schedule. default `false` |
|
|
1563
|
+
| `body.share` | `boolean` | no | Offer what is learned from these connections to the shared CRM (reviewed first). default `false` |
|
|
1564
|
+
| `body.start` | `boolean` | no | Start an import now, rather than only saving the settings. default `false` |
|
|
1565
|
+
|
|
1566
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1567
|
+
|
|
1568
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1569
|
+
|
|
1570
|
+
**Example**
|
|
1571
|
+
|
|
1572
|
+
```ts
|
|
1573
|
+
const result = await g8.api.copilot.updateCopilotLinkedinConnections({ body: { expected_revision: 0 } });
|
|
1574
|
+
```
|
|
1575
|
+
|
|
1576
|
+
---
|
|
1577
|
+
|
|
1578
|
+
<a id="op-updatecopilotpersonalwiki"></a>
|
|
1579
|
+
|
|
1580
|
+
### `g8.api.copilot.updateCopilotPersonalWiki(input)`
|
|
1581
|
+
|
|
1582
|
+
**Update Copilot Personal Wiki**
|
|
1583
|
+
|
|
1584
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki`
|
|
1585
|
+
- operationId: `update_copilot_personal_wiki_copilot_personal_wiki_put` (also callable as `g8.api.call("update_copilot_personal_wiki_copilot_personal_wiki_put", input)`)
|
|
1586
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1587
|
+
- API-key scope: `knowledge:write`
|
|
1588
|
+
|
|
1589
|
+
Replace the wiki document WHOLE.
|
|
1590
|
+
|
|
1591
|
+
The blunt instrument. Prefer `confirm`, `correct` and `forget`, which act on
|
|
1592
|
+
ONE fact and leave its provenance intact - this replaces the document and
|
|
1593
|
+
the Copilot then has to re-derive what it knew.
|
|
1594
|
+
|
|
1595
|
+
**Input**
|
|
1596
|
+
|
|
1597
|
+
| Field | Type | Required | Description |
|
|
1598
|
+
|---|---|---|---|
|
|
1599
|
+
| `body` | `PersonalWikiUpdateRequest` | yes | Request body; fields below. |
|
|
1600
|
+
|
|
1601
|
+
Body fields (`PersonalWikiUpdateRequest`):
|
|
1602
|
+
|
|
1603
|
+
| Field | Type | Required | Description |
|
|
1604
|
+
|---|---|---|---|
|
|
1605
|
+
| `body.content` | `string` | yes | The WHOLE wiki document. Replaces what is there. max length 100000 |
|
|
1606
|
+
| `body.title` | `string \| null` | no | max length 255 |
|
|
1607
|
+
|
|
1608
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1609
|
+
|
|
1610
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1611
|
+
|
|
1612
|
+
**Example**
|
|
1613
|
+
|
|
1614
|
+
```ts
|
|
1615
|
+
const result = await g8.api.copilot.updateCopilotPersonalWiki({ body: { content: "example" } });
|
|
1616
|
+
```
|
|
1617
|
+
|
|
1618
|
+
---
|
|
1619
|
+
|
|
1620
|
+
<a id="op-updatecopilotpersonalwikisources"></a>
|
|
1621
|
+
|
|
1622
|
+
### `g8.api.copilot.updateCopilotPersonalWikiSources(input)`
|
|
1623
|
+
|
|
1624
|
+
**Update Copilot Personal Wiki Sources**
|
|
1625
|
+
|
|
1626
|
+
- HTTP: `PUT /api/v1/copilot/personal-wiki/sources`
|
|
1627
|
+
- operationId: `update_copilot_personal_wiki_sources_copilot_personal_wiki_sources_put` (also callable as `g8.api.call("update_copilot_personal_wiki_sources_copilot_personal_wiki_sources_put", input)`)
|
|
1628
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1629
|
+
- API-key scope: `knowledge:write`
|
|
1630
|
+
|
|
1631
|
+
Change what the assistant may read.
|
|
1632
|
+
|
|
1633
|
+
PARTIAL: an omitted field is left alone, an explicit one changes it. So
|
|
1634
|
+
omitting `email_enabled` and sending `false` are different instructions.
|
|
1635
|
+
|
|
1636
|
+
SWITCHING A SOURCE OFF DOES NOT UNLEARN. It stops new facts arriving from
|
|
1637
|
+
there; what was already derived stays until it is forgotten one fact at a
|
|
1638
|
+
time through `POST /copilot/personal-wiki/forget`.
|
|
1639
|
+
|
|
1640
|
+
**Input**
|
|
1641
|
+
|
|
1642
|
+
| Field | Type | Required | Description |
|
|
1643
|
+
|---|---|---|---|
|
|
1644
|
+
| `body` | `PersonalWikiSourcesUpdateRequest` | yes | Request body; fields below. |
|
|
1645
|
+
|
|
1646
|
+
Body fields (`PersonalWikiSourcesUpdateRequest`):
|
|
1647
|
+
|
|
1648
|
+
| Field | Type | Required | Description |
|
|
1649
|
+
|---|---|---|---|
|
|
1650
|
+
| `body.additional_mailbox_ids` | `Array<integer> \| null` | no | Further mailboxes to read. max items 20 |
|
|
1651
|
+
| `body.calendar_enabled` | `boolean \| null` | no | Read your calendar. |
|
|
1652
|
+
| `body.docs_enabled` | `boolean \| null` | no | Read the named documents. |
|
|
1653
|
+
| `body.document_ids` | `Array<string> \| null` | no | Which documents, when `docs_enabled`. max items 20 |
|
|
1654
|
+
| `body.email_enabled` | `boolean \| null` | no | Whether the Copilot reads your email to build the wiki. Turning this off stops new facts arriving from email; it does not remove what it already learned - use `POST /copilot/personal-wiki/forget` for that. |
|
|
1655
|
+
| `body.primary_mailbox_id` | `integer \| null` | no | The mailbox the wiki draws its email signal from. |
|
|
1656
|
+
| `body.work_enabled` | `boolean \| null` | no | Read your Work activity. |
|
|
1657
|
+
|
|
1658
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1659
|
+
|
|
1660
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1661
|
+
|
|
1662
|
+
**Example**
|
|
1663
|
+
|
|
1664
|
+
```ts
|
|
1665
|
+
const result = await g8.api.copilot.updateCopilotPersonalWikiSources({ body: {} });
|
|
1666
|
+
```
|
|
1667
|
+
|
|
1668
|
+
---
|
|
1669
|
+
|
|
1670
|
+
<a id="op-upsertcopilotmemorydocument"></a>
|
|
1671
|
+
|
|
1672
|
+
### `g8.api.copilot.upsertCopilotMemoryDocument(input)`
|
|
1673
|
+
|
|
1674
|
+
**Upsert Copilot Memory Document**
|
|
1675
|
+
|
|
1676
|
+
- HTTP: `PUT /api/v1/copilot/memory/documents`
|
|
1677
|
+
- operationId: `upsert_copilot_memory_document_copilot_memory_documents_put` (also callable as `g8.api.call("upsert_copilot_memory_document_copilot_memory_documents_put", input)`)
|
|
1678
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
1679
|
+
- API-key scope: `knowledge:write`
|
|
1680
|
+
|
|
1681
|
+
Write a memory document WHOLE. This replaces, it does not merge.
|
|
1682
|
+
|
|
1683
|
+
`visibility` defaults to `shared`, which means the whole organisation's
|
|
1684
|
+
Copilot may draw on it. That is the app's default and it is the wider of
|
|
1685
|
+
the two, so it is what you get by not thinking about it - worth thinking
|
|
1686
|
+
about it.
|
|
1687
|
+
|
|
1688
|
+
**Input**
|
|
1689
|
+
|
|
1690
|
+
| Field | Type | Required | Description |
|
|
1691
|
+
|---|---|---|---|
|
|
1692
|
+
| `body` | `MemoryDocumentRequest` | yes | Request body; fields below. |
|
|
1693
|
+
|
|
1694
|
+
Body fields (`MemoryDocumentRequest`):
|
|
1695
|
+
|
|
1696
|
+
| Field | Type | Required | Description |
|
|
1697
|
+
|---|---|---|---|
|
|
1698
|
+
| `body.content` | `string` | yes | The WHOLE document. This is an upsert, not an append: it replaces what is there. Use `POST /copilot/memory/documents/append` to add without replacing. |
|
|
1699
|
+
| `body.file_kind` | `string` | yes | `soul` - who the subject is. `memory` - durable facts. `daily` - the rolling journal. |
|
|
1700
|
+
| `body.subject_id` | `string` | yes | Which one. |
|
|
1701
|
+
| `body.subject_type` | `string` | yes | organization \| user \| campaign \| company \| contact. |
|
|
1702
|
+
| `body.title` | `string \| null` | no | Display title. |
|
|
1703
|
+
| `body.visibility` | `string` | no | `shared` - the whole org's Copilot may draw on it. Defaults to shared, matching the app, so a document written without thinking about this is visible org-wide. default `"shared"` |
|
|
1704
|
+
|
|
1705
|
+
**Returns** `ApiResponse_CopilotMemoryPayload_`: the envelope `{ data: CopilotMemoryPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
1706
|
+
|
|
1707
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
1708
|
+
|
|
1709
|
+
**Example**
|
|
1710
|
+
|
|
1711
|
+
```ts
|
|
1712
|
+
const result = await g8.api.copilot.upsertCopilotMemoryDocument({
|
|
1713
|
+
body: {
|
|
1714
|
+
content: "example",
|
|
1715
|
+
file_kind: "example",
|
|
1716
|
+
subject_id: "id",
|
|
1717
|
+
subject_type: "Example",
|
|
1718
|
+
},
|
|
1719
|
+
});
|
|
1720
|
+
```
|
|
1721
|
+
|
|
1722
|
+
---
|
|
1723
|
+
|
|
1724
|
+
## Referenced types
|
|
1725
|
+
|
|
1726
|
+
Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
|
|
1727
|
+
|
|
1728
|
+
<a id="type-copilotcanvascontext"></a>
|
|
1729
|
+
|
|
1730
|
+
### `CopilotCanvasContext`
|
|
1731
|
+
|
|
1732
|
+
What the copilot is looking at: a document, a selection, a campaign or account.
|
|
1733
|
+
|
|
1734
|
+
| Field | Type | Required | Description |
|
|
1735
|
+
|---|---|---|---|
|
|
1736
|
+
| `accountId` | `string \| null` | no | |
|
|
1737
|
+
| `activeDocument` | `Record<string, unknown> \| null` | no | {path, content, type, status}. |
|
|
1738
|
+
| `campaignId` | `string \| null` | no | |
|
|
1739
|
+
| `cursor` | `Record<string, integer> \| null` | no | {line, column}. |
|
|
1740
|
+
| `mode` | `"global" \| "campaign" \| "account"` | no | default `"global"` |
|
|
1741
|
+
| `selection` | `Record<string, unknown> \| null` | no | {text, start_line, end_line}. |
|
|
1742
|
+
|
|
1743
|
+
<a id="type-copilotchatmessage"></a>
|
|
1744
|
+
|
|
1745
|
+
### `CopilotChatMessage`
|
|
1746
|
+
|
|
1747
|
+
One earlier turn of the conversation.
|
|
1748
|
+
|
|
1749
|
+
| Field | Type | Required | Description |
|
|
1750
|
+
|---|---|---|---|
|
|
1751
|
+
| `content` | `string` | yes | |
|
|
1752
|
+
| `role` | `"user" \| "assistant" \| "system" \| "tool"` | yes | |
|
|
1753
|
+
| `tool_name` | `string \| null` | no | |
|
|
1754
|
+
| `tool_result` | `Record<string, unknown> \| null` | no | |
|
|
1755
|
+
|
|
1756
|
+
<a id="type-personaldrivefolderchoice"></a>
|
|
1757
|
+
|
|
1758
|
+
### `PersonalDriveFolderChoice`
|
|
1759
|
+
|
|
1760
|
+
Mirror of `PersonalDriveFolderChoice`.
|
|
1761
|
+
|
|
1762
|
+
| Field | Type | Required | Description |
|
|
1763
|
+
|---|---|---|---|
|
|
1764
|
+
| `id` | `string` | yes | Drive folder id, as returned by `GET /copilot/personal-wiki/drive`. pattern `^[A-Za-z0-9_-]{10,200}$` |
|
|
1765
|
+
| `auto_sync` | `boolean` | no | Keep reading new documents added to this folder later, not just today's. default `false` |
|