@graph8/sdk 0.251.0 → 0.262.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +105 -7
  4. package/dist/index.d.ts +105 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +103 -7
  10. package/dist/react.d.ts +103 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1697 -0
  140. package/docs/api/deals.md +2436 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,568 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.appObjects`: App Objects
4
+
5
+ 10 operations (7 read, 3 write).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.appObjects.*` 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: [appObjects.d.ts](appObjects.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`createAppObjectRecord`](#op-createappobjectrecord) | `POST /api/v1/app/objects/{object_slug}/records` | write | | Create App Object Record |
26
+ | [`getAppObject`](#op-getappobject) | `GET /api/v1/app/objects/{object_slug}` | read | | Get App Object |
27
+ | [`getAppObjectRecord`](#op-getappobjectrecord) | `GET /api/v1/app/objects/{object_slug}/records/{record_id}` | read | | Get App Object Record |
28
+ | [`getAppObjectRecordChanges`](#op-getappobjectrecordchanges) | `GET /api/v1/app/objects/{object_slug}/records/{record_id}/changes` | read | | Get App Object Record Changes |
29
+ | [`getAppObjectRecordHistory`](#op-getappobjectrecordhistory) | `GET /api/v1/app/objects/{object_slug}/records/{record_id}/history` | read | | Get App Object Record History |
30
+ | [`listAppObjectAttributes`](#op-listappobjectattributes) | `GET /api/v1/app/objects/{object_slug}/attributes` | read | | List App Object Attributes |
31
+ | [`listAppObjectRecords`](#op-listappobjectrecords) | `GET /api/v1/app/objects/{object_slug}/records` | read | | List App Object Records |
32
+ | [`listAppObjects`](#op-listappobjects) | `GET /api/v1/app/objects` | read | | List App Objects |
33
+ | [`restoreAppObjectRecord`](#op-restoreappobjectrecord) | `POST /api/v1/app/objects/{object_slug}/records/{record_id}/restore` | write | | Restore App Object Record |
34
+ | [`updateAppObjectRecord`](#op-updateappobjectrecord) | `PATCH /api/v1/app/objects/{object_slug}/records/{record_id}` | write | | Update App Object Record |
35
+
36
+ ---
37
+
38
+ <a id="op-createappobjectrecord"></a>
39
+
40
+ ### `g8.api.appObjects.createAppObjectRecord(input)`
41
+
42
+ **Create App Object Record**
43
+
44
+ - HTTP: `POST /api/v1/app/objects/{object_slug}/records`
45
+ - operationId: `create_app_object_record_app_objects__object_slug__records_post` (also callable as `g8.api.call("create_app_object_record_app_objects__object_slug__records_post", input)`)
46
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
47
+ - API-key scope: none published
48
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
49
+
50
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
51
+
52
+ Create a record in the tenant this app is acting for.
53
+
54
+ Unknown fields are rejected with 422, not dropped, and every problem comes
55
+ back at once. A collision on a unique attribute is 409.
56
+
57
+ **Input**
58
+
59
+ | Field | Type | Required | Description |
60
+ |---|---|---|---|
61
+ | `path.object_slug` | `string` | yes | |
62
+ | `body` | `RecordWriteRequest` | yes | Request body; fields below. |
63
+ | `headers.Origin` | `string \| null` | no | |
64
+
65
+ Body fields (`RecordWriteRequest`):
66
+
67
+ | Field | Type | Required | Description |
68
+ |---|---|---|---|
69
+ | `body.values` | `Record<string, unknown>` | no | Attribute values keyed by slug. Call `GET /objects/{object_slug}/attributes` for active fields. Canonical contacts and companies retain CONTACT_*, COMPANY_* and udo_* field names. Unknown keys are rejected with 422. PATCH preserves omitted fields; required fields cannot be cleared with null or an empty multivalue list. Record references must resolve to active records of their configured target ob… |
70
+
71
+ **Returns** `ApiResponse_ObjectRecordResponse_`: the envelope `{ data: ObjectRecordResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
72
+
73
+ Other envelope fields: `pagination` (PaginationMeta).
74
+
75
+ `ObjectRecordResponse` fields:
76
+
77
+ | Field | Type | Required | Description |
78
+ |---|---|---|---|
79
+ | `id` | `string` | yes | Opaque record identifier. |
80
+ | `object_slug` | `string` | yes | The object type this record belongs to. |
81
+ | `created_at` | `string (date-time) \| null` | no | |
82
+ | `is_archived` | `boolean` | no | Archived records are excluded from listings. default `false` |
83
+ | `revision` | `integer` | no | Record revision for conditional updates. default `1`, min 1 |
84
+ | `updated_at` | `string (date-time) \| null` | no | |
85
+ | `values` | `Record<string, unknown>` | no | Currently active values, keyed by attribute slug. Shapes follow each attribute's own type; call `GET /objects/{object_slug}/attributes` for the schema. |
86
+
87
+ **Example**
88
+
89
+ ```ts
90
+ const result = await g8.api.appObjects.createAppObjectRecord({ path: { object_slug: "example" }, body: {} });
91
+ ```
92
+
93
+ ---
94
+
95
+ <a id="op-getappobject"></a>
96
+
97
+ ### `g8.api.appObjects.getAppObject(input)`
98
+
99
+ **Get App Object**
100
+
101
+ - HTTP: `GET /api/v1/app/objects/{object_slug}`
102
+ - operationId: `get_app_object_app_objects__object_slug__get` (also callable as `g8.api.call("get_app_object_app_objects__object_slug__get", input)`)
103
+ - Tier: `read`: reads data; safe to call and to retry
104
+ - API-key scope: none published
105
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
106
+
107
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
108
+
109
+ Fetch one of this app's object types.
110
+
111
+ **Input**
112
+
113
+ | Field | Type | Required | Description |
114
+ |---|---|---|---|
115
+ | `path.object_slug` | `string` | yes | |
116
+ | `headers.Origin` | `string \| null` | no | |
117
+
118
+ **Returns** `ApiResponse_ObjectDefinitionResponse_`: the envelope `{ data: ObjectDefinitionResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
119
+
120
+ Other envelope fields: `pagination` (PaginationMeta).
121
+
122
+ `ObjectDefinitionResponse` fields:
123
+
124
+ | Field | Type | Required | Description |
125
+ |---|---|---|---|
126
+ | `plural_noun` | `string` | yes | Display name for many records, e.g. "Invoices". |
127
+ | `singular_noun` | `string` | yes | Display name for one record, e.g. "Invoice". |
128
+ | `slug` | `string` | yes | Stable API slug for the object type, e.g. `invoices`. |
129
+ | `description` | `string \| null` | no | Customer-configured object description. |
130
+ | `display_attribute_slug` | `string \| null` | no | Active single-value field used to label records; null uses the default. |
131
+ | `icon` | `string \| null` | no | Configured graph8 icon name; null uses the default. |
132
+ | `is_archived` | `boolean` | no | Archived objects are hidden from listings. default `false` |
133
+ | `is_system` | `boolean` | no | True for objects graph8 ships; system objects cannot be deleted. default `false` |
134
+
135
+ **Example**
136
+
137
+ ```ts
138
+ const result = await g8.api.appObjects.getAppObject({ path: { object_slug: "example" } });
139
+ ```
140
+
141
+ ---
142
+
143
+ <a id="op-getappobjectrecord"></a>
144
+
145
+ ### `g8.api.appObjects.getAppObjectRecord(input)`
146
+
147
+ **Get App Object Record**
148
+
149
+ - HTTP: `GET /api/v1/app/objects/{object_slug}/records/{record_id}`
150
+ - operationId: `get_app_object_record_app_objects__object_slug__records__record_id__get` (also callable as `g8.api.call("get_app_object_record_app_objects__object_slug__records__record_id__get", input)`)
151
+ - Tier: `read`: reads data; safe to call and to retry
152
+ - API-key scope: none published
153
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
154
+
155
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
156
+
157
+ Fetch one record with its currently active values.
158
+
159
+ **Input**
160
+
161
+ | Field | Type | Required | Description |
162
+ |---|---|---|---|
163
+ | `path.object_slug` | `string` | yes | |
164
+ | `path.record_id` | `string` | yes | |
165
+ | `headers.Origin` | `string \| null` | no | |
166
+
167
+ **Returns** `ApiResponse_ObjectRecordResponse_`: the envelope `{ data: ObjectRecordResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
168
+
169
+ Other envelope fields: `pagination` (PaginationMeta).
170
+
171
+ `ObjectRecordResponse` fields:
172
+
173
+ | Field | Type | Required | Description |
174
+ |---|---|---|---|
175
+ | `id` | `string` | yes | Opaque record identifier. |
176
+ | `object_slug` | `string` | yes | The object type this record belongs to. |
177
+ | `created_at` | `string (date-time) \| null` | no | |
178
+ | `is_archived` | `boolean` | no | Archived records are excluded from listings. default `false` |
179
+ | `revision` | `integer` | no | Record revision for conditional updates. default `1`, min 1 |
180
+ | `updated_at` | `string (date-time) \| null` | no | |
181
+ | `values` | `Record<string, unknown>` | no | Currently active values, keyed by attribute slug. Shapes follow each attribute's own type; call `GET /objects/{object_slug}/attributes` for the schema. |
182
+
183
+ **Example**
184
+
185
+ ```ts
186
+ const result = await g8.api.appObjects.getAppObjectRecord({ path: { object_slug: "example", record_id: "id" } });
187
+ ```
188
+
189
+ ---
190
+
191
+ <a id="op-getappobjectrecordchanges"></a>
192
+
193
+ ### `g8.api.appObjects.getAppObjectRecordChanges(input)`
194
+
195
+ **Get App Object Record Changes**
196
+
197
+ - HTTP: `GET /api/v1/app/objects/{object_slug}/records/{record_id}/changes`
198
+ - operationId: `get_app_object_record_changes_app_objects__object_slug__records__record_id__changes_get` (also callable as `g8.api.call("get_app_object_record_changes_app_objects__object_slug__records__record_id__changes_get", input)`)
199
+ - Tier: `read`: reads data; safe to call and to retry
200
+ - API-key scope: none published
201
+
202
+ Read mutation facts within the authenticated app and client namespace.
203
+
204
+ **Input**
205
+
206
+ | Field | Type | Required | Description |
207
+ |---|---|---|---|
208
+ | `path.object_slug` | `string` | yes | |
209
+ | `path.record_id` | `string` | yes | |
210
+ | `query.limit` | `integer` | no | default `100` |
211
+ | `query.cursor` | `string \| null` | no | |
212
+ | `headers.Origin` | `string \| null` | no | |
213
+
214
+ **Returns** `ApiResponse_RecordMutationsResponse_`: the envelope `{ data: RecordMutationsResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
215
+
216
+ Other envelope fields: `pagination` (PaginationMeta).
217
+
218
+ `RecordMutationsResponse` fields:
219
+
220
+ | Field | Type | Required | Description |
221
+ |---|---|---|---|
222
+ | `entries` | `Array<RecordMutationEntry>` | yes | |
223
+ | `record_id` | `string` | yes | |
224
+ | `next_cursor` | `string \| null` | no | |
225
+
226
+ **Example**
227
+
228
+ ```ts
229
+ const result = await g8.api.appObjects.getAppObjectRecordChanges({ path: { object_slug: "example", record_id: "id" } });
230
+ ```
231
+
232
+ ---
233
+
234
+ <a id="op-getappobjectrecordhistory"></a>
235
+
236
+ ### `g8.api.appObjects.getAppObjectRecordHistory(input)`
237
+
238
+ **Get App Object Record History**
239
+
240
+ - HTTP: `GET /api/v1/app/objects/{object_slug}/records/{record_id}/history`
241
+ - operationId: `get_app_object_record_history_app_objects__object_slug__records__record_id__history_get` (also callable as `g8.api.call("get_app_object_record_history_app_objects__object_slug__records__record_id__history_get", input)`)
242
+ - Tier: `read`: reads data; safe to call and to retry
243
+ - API-key scope: none published
244
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
245
+
246
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
247
+
248
+ A record's value timeline, newest first.
249
+
250
+ **Input**
251
+
252
+ | Field | Type | Required | Description |
253
+ |---|---|---|---|
254
+ | `path.object_slug` | `string` | yes | |
255
+ | `path.record_id` | `string` | yes | |
256
+ | `query.limit` | `integer` | no | Maximum generations to return default `100` |
257
+ | `headers.Origin` | `string \| null` | no | |
258
+
259
+ **Returns** `ApiResponse_RecordHistoryResponse_`: the envelope `{ data: RecordHistoryResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
260
+
261
+ Other envelope fields: `pagination` (PaginationMeta).
262
+
263
+ `RecordHistoryResponse` fields:
264
+
265
+ | Field | Type | Required | Description |
266
+ |---|---|---|---|
267
+ | `record_id` | `string` | yes | |
268
+ | `entries` | `Array<RecordHistoryEntry>` | no | |
269
+
270
+ **Example**
271
+
272
+ ```ts
273
+ const result = await g8.api.appObjects.getAppObjectRecordHistory({ path: { object_slug: "example", record_id: "id" } });
274
+ ```
275
+
276
+ ---
277
+
278
+ <a id="op-listappobjectattributes"></a>
279
+
280
+ ### `g8.api.appObjects.listAppObjectAttributes(input)`
281
+
282
+ **List App Object Attributes**
283
+
284
+ - HTTP: `GET /api/v1/app/objects/{object_slug}/attributes`
285
+ - operationId: `list_app_object_attributes_app_objects__object_slug__attributes_get` (also callable as `g8.api.call("list_app_object_attributes_app_objects__object_slug__attributes_get", input)`)
286
+ - Tier: `read`: reads data; safe to call and to retry
287
+ - API-key scope: none published
288
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
289
+
290
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
291
+
292
+ The object's attributes — the schema its records must satisfy.
293
+
294
+ **Input**
295
+
296
+ | Field | Type | Required | Description |
297
+ |---|---|---|---|
298
+ | `path.object_slug` | `string` | yes | |
299
+ | `headers.Origin` | `string \| null` | no | |
300
+
301
+ **Returns** `ApiResponse_list_AttributeDefinitionResponse__`: the envelope `{ data: Array<AttributeDefinitionResponse>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
302
+
303
+ Other envelope fields: `pagination` (PaginationMeta).
304
+
305
+ `AttributeDefinitionResponse` fields:
306
+
307
+ | Field | Type | Required | Description |
308
+ |---|---|---|---|
309
+ | `attribute_type` | `string` | yes | One of the 16 supported attribute types (`text`, `number`, `email_address`, `timestamp`, `select`, `record_reference`, …). Determines how values are validated and canonicalized. |
310
+ | `slug` | `string` | yes | Stable API slug for the attribute, used as a payload key. |
311
+ | `title` | `string` | yes | Customer-facing field label, distinct from its stable API slug. |
312
+ | `config` | `Record<string, unknown>` | no | Type-specific configuration, e.g. select options. Record references require target_object and must resolve to active records in that object within the caller's organization and app. |
313
+ | `default_value` | `unknown` | no | Configured create default. Enabled non-null defaults pass the same validation as explicit values. |
314
+ | `description` | `string \| null` | no | Customer-configured description of the field. |
315
+ | `is_archived` | `boolean` | no | Archived fields retain their values and can be restored. default `false` |
316
+ | `is_default_value_enabled` | `boolean` | no | Apply the configured default when this field is omitted on create. Never applies on PATCH. default `false` |
317
+ | `is_multiselect` | `boolean` | no | Values are a list rather than a scalar. default `false` |
318
+ | `is_required` | `boolean` | no | Required on create. PATCH may omit it, but cannot clear it with null or an empty multivalue list. default `false` |
319
+ | `is_system` | `boolean` | no | Whether this field is protected as a system attribute. default `false` |
320
+ | `is_unique` | `boolean` | no | No two active records may hold the same value for this attribute. A collision is rejected with `409 duplicate_active_value`. default `false` |
321
+ | `sort_order` | `integer` | no | Configured display order; equal values are ordered by API slug. default `0` |
322
+
323
+ **Example**
324
+
325
+ ```ts
326
+ const result = await g8.api.appObjects.listAppObjectAttributes({ path: { object_slug: "example" } });
327
+ ```
328
+
329
+ ---
330
+
331
+ <a id="op-listappobjectrecords"></a>
332
+
333
+ ### `g8.api.appObjects.listAppObjectRecords(input)`
334
+
335
+ **List App Object Records**
336
+
337
+ - HTTP: `GET /api/v1/app/objects/{object_slug}/records`
338
+ - operationId: `list_app_object_records_app_objects__object_slug__records_get` (also callable as `g8.api.call("list_app_object_records_app_objects__object_slug__records_get", input)`)
339
+ - Tier: `read`: reads data; safe to call and to retry
340
+ - API-key scope: none published
341
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
342
+
343
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
344
+
345
+ List this app's records in the tenant it is acting for. Archived excluded.
346
+
347
+ **Input**
348
+
349
+ | Field | Type | Required | Description |
350
+ |---|---|---|---|
351
+ | `path.object_slug` | `string` | yes | |
352
+ | `query.page` | `integer` | no | Page number (ignored when `cursor` is supplied) default `1` |
353
+ | `query.limit` | `integer` | no | Items per page default `50` |
354
+ | `query.cursor` | `string \| null` | no | Opaque cursor from a prior response. Takes precedence over `page`. |
355
+ | `headers.Origin` | `string \| null` | no | |
356
+
357
+ **Returns** `ApiResponse_list_ObjectRecordResponse__`: the envelope `{ data: Array<ObjectRecordResponse>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
358
+
359
+ Other envelope fields: `pagination` (PaginationMeta).
360
+
361
+ `ObjectRecordResponse` fields:
362
+
363
+ | Field | Type | Required | Description |
364
+ |---|---|---|---|
365
+ | `id` | `string` | yes | Opaque record identifier. |
366
+ | `object_slug` | `string` | yes | The object type this record belongs to. |
367
+ | `created_at` | `string (date-time) \| null` | no | |
368
+ | `is_archived` | `boolean` | no | Archived records are excluded from listings. default `false` |
369
+ | `revision` | `integer` | no | Record revision for conditional updates. default `1`, min 1 |
370
+ | `updated_at` | `string (date-time) \| null` | no | |
371
+ | `values` | `Record<string, unknown>` | no | Currently active values, keyed by attribute slug. Shapes follow each attribute's own type; call `GET /objects/{object_slug}/attributes` for the schema. |
372
+
373
+ **Example**
374
+
375
+ ```ts
376
+ const result = await g8.api.appObjects.listAppObjectRecords({ path: { object_slug: "example" } });
377
+ ```
378
+
379
+ ---
380
+
381
+ <a id="op-listappobjects"></a>
382
+
383
+ ### `g8.api.appObjects.listAppObjects(input?)`
384
+
385
+ **List App Objects**
386
+
387
+ - HTTP: `GET /api/v1/app/objects`
388
+ - operationId: `list_app_objects_app_objects_get` (also callable as `g8.api.call("list_app_objects_app_objects_get", input)`)
389
+ - Tier: `read`: reads data; safe to call and to retry
390
+ - API-key scope: none published
391
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
392
+
393
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
394
+
395
+ List the object types this app declared, in the tenant it is acting for.
396
+
397
+ **Input**
398
+
399
+ | Field | Type | Required | Description |
400
+ |---|---|---|---|
401
+ | `headers.Origin` | `string \| null` | no | |
402
+
403
+ **Returns** `ApiResponse_list_ObjectDefinitionResponse__`: the envelope `{ data: Array<ObjectDefinitionResponse>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
404
+
405
+ Other envelope fields: `pagination` (PaginationMeta).
406
+
407
+ `ObjectDefinitionResponse` fields:
408
+
409
+ | Field | Type | Required | Description |
410
+ |---|---|---|---|
411
+ | `plural_noun` | `string` | yes | Display name for many records, e.g. "Invoices". |
412
+ | `singular_noun` | `string` | yes | Display name for one record, e.g. "Invoice". |
413
+ | `slug` | `string` | yes | Stable API slug for the object type, e.g. `invoices`. |
414
+ | `description` | `string \| null` | no | Customer-configured object description. |
415
+ | `display_attribute_slug` | `string \| null` | no | Active single-value field used to label records; null uses the default. |
416
+ | `icon` | `string \| null` | no | Configured graph8 icon name; null uses the default. |
417
+ | `is_archived` | `boolean` | no | Archived objects are hidden from listings. default `false` |
418
+ | `is_system` | `boolean` | no | True for objects graph8 ships; system objects cannot be deleted. default `false` |
419
+
420
+ **Example**
421
+
422
+ ```ts
423
+ const result = await g8.api.appObjects.listAppObjects();
424
+ ```
425
+
426
+ ---
427
+
428
+ <a id="op-restoreappobjectrecord"></a>
429
+
430
+ ### `g8.api.appObjects.restoreAppObjectRecord(input)`
431
+
432
+ **Restore App Object Record**
433
+
434
+ - HTTP: `POST /api/v1/app/objects/{object_slug}/records/{record_id}/restore`
435
+ - operationId: `restore_app_object_record_app_objects__object_slug__records__record_id__restore_post` (also callable as `g8.api.call("restore_app_object_record_app_objects__object_slug__records__record_id__restore_post", input)`)
436
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
437
+ - API-key scope: none published
438
+
439
+ Restore this app's archived record using current constraints and its original ID.
440
+
441
+ **Input**
442
+
443
+ | Field | Type | Required | Description |
444
+ |---|---|---|---|
445
+ | `path.object_slug` | `string` | yes | |
446
+ | `path.record_id` | `string` | yes | |
447
+ | `headers.Origin` | `string \| null` | no | |
448
+
449
+ **Returns** `ApiResponse_ObjectRecordResponse_`: the envelope `{ data: ObjectRecordResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
450
+
451
+ Other envelope fields: `pagination` (PaginationMeta).
452
+
453
+ `ObjectRecordResponse` fields:
454
+
455
+ | Field | Type | Required | Description |
456
+ |---|---|---|---|
457
+ | `id` | `string` | yes | Opaque record identifier. |
458
+ | `object_slug` | `string` | yes | The object type this record belongs to. |
459
+ | `created_at` | `string (date-time) \| null` | no | |
460
+ | `is_archived` | `boolean` | no | Archived records are excluded from listings. default `false` |
461
+ | `revision` | `integer` | no | Record revision for conditional updates. default `1`, min 1 |
462
+ | `updated_at` | `string (date-time) \| null` | no | |
463
+ | `values` | `Record<string, unknown>` | no | Currently active values, keyed by attribute slug. Shapes follow each attribute's own type; call `GET /objects/{object_slug}/attributes` for the schema. |
464
+
465
+ **Example**
466
+
467
+ ```ts
468
+ const result = await g8.api.appObjects.restoreAppObjectRecord({ path: { object_slug: "example", record_id: "id" } });
469
+ ```
470
+
471
+ ---
472
+
473
+ <a id="op-updateappobjectrecord"></a>
474
+
475
+ ### `g8.api.appObjects.updateAppObjectRecord(input)`
476
+
477
+ **Update App Object Record**
478
+
479
+ - HTTP: `PATCH /api/v1/app/objects/{object_slug}/records/{record_id}`
480
+ - operationId: `update_app_object_record_app_objects__object_slug__records__record_id__patch` (also callable as `g8.api.call("update_app_object_record_app_objects__object_slug__records__record_id__patch", input)`)
481
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
482
+ - API-key scope: none published
483
+ - Lifecycle: `preview`, enabled by `M6_APP_TOKENS_ENABLED` (may not be enabled for every org yet)
484
+
485
+ PREVIEW. This endpoint is deployed but gated: it returns 404 unless the hosted app platform is enabled for your organization. It is published here so the contract describes the whole surface, not so it can be called today.
486
+
487
+ Update a record. Only the supplied attributes are touched.
488
+
489
+ An explicit `null` clears an attribute; omitting the key leaves it alone.
490
+ Values are versioned rather than overwritten.
491
+
492
+ **Input**
493
+
494
+ | Field | Type | Required | Description |
495
+ |---|---|---|---|
496
+ | `path.object_slug` | `string` | yes | |
497
+ | `path.record_id` | `string` | yes | |
498
+ | `body` | `RecordUpdateRequest` | yes | Request body; fields below. |
499
+ | `headers.Origin` | `string \| null` | no | |
500
+
501
+ Body fields (`RecordUpdateRequest`):
502
+
503
+ | Field | Type | Required | Description |
504
+ |---|---|---|---|
505
+ | `body.append_values` | `Record<string, Array<unknown>>` | no | Append canonical non-duplicate values to multivalue fields. Fields must not overlap values or remove_values. |
506
+ | `body.expected_revision` | `integer \| null` | no | Required for canonical contact or company PATCH. Apply only if the record still has this revision; otherwise return 409. min 1 |
507
+ | `body.remove_values` | `Record<string, Array<unknown>>` | no | Remove all canonical matches from multivalue fields. Fields must not overlap values or append_values. |
508
+ | `body.values` | `Record<string, unknown>` | no | Attribute values keyed by slug. Call `GET /objects/{object_slug}/attributes` for active fields. Canonical contacts and companies retain CONTACT_*, COMPANY_* and udo_* field names. Unknown keys are rejected with 422. PATCH preserves omitted fields; required fields cannot be cleared with null or an empty multivalue list. Record references must resolve to active records of their configured target ob… |
509
+
510
+ **Returns** `ApiResponse_ObjectRecordResponse_`: the envelope `{ data: ObjectRecordResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
511
+
512
+ Other envelope fields: `pagination` (PaginationMeta).
513
+
514
+ `ObjectRecordResponse` fields:
515
+
516
+ | Field | Type | Required | Description |
517
+ |---|---|---|---|
518
+ | `id` | `string` | yes | Opaque record identifier. |
519
+ | `object_slug` | `string` | yes | The object type this record belongs to. |
520
+ | `created_at` | `string (date-time) \| null` | no | |
521
+ | `is_archived` | `boolean` | no | Archived records are excluded from listings. default `false` |
522
+ | `revision` | `integer` | no | Record revision for conditional updates. default `1`, min 1 |
523
+ | `updated_at` | `string (date-time) \| null` | no | |
524
+ | `values` | `Record<string, unknown>` | no | Currently active values, keyed by attribute slug. Shapes follow each attribute's own type; call `GET /objects/{object_slug}/attributes` for the schema. |
525
+
526
+ **Example**
527
+
528
+ ```ts
529
+ const result = await g8.api.appObjects.updateAppObjectRecord({ path: { object_slug: "example", record_id: "id" }, body: {} });
530
+ ```
531
+
532
+ ---
533
+
534
+ ## Referenced types
535
+
536
+ Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
537
+
538
+ <a id="type-recordhistoryentry"></a>
539
+
540
+ ### `RecordHistoryEntry`
541
+
542
+ One generation of one attribute's value. Values are TEMPORAL rather than mutable: setting a new value closes the previous generation and opens a new one, so history is the natural reading of the store rather than a separate log that could drift from it. An entry with a null `active_until` is the value currently in force.
543
+
544
+ | Field | Type | Required | Description |
545
+ |---|---|---|---|
546
+ | `attribute` | `string` | yes | Attribute slug this generation belongs to. |
547
+ | `active_from` | `string (date-time) \| null` | no | When this value took effect. |
548
+ | `active_until` | `string (date-time) \| null` | no | When it was superseded. Null means it is still in force. |
549
+ | `actor_id` | `string \| null` | no | Opaque id of whoever set it. |
550
+ | `value` | `unknown` | no | The value held during this generation. |
551
+
552
+ <a id="type-recordmutationentry"></a>
553
+
554
+ ### `RecordMutationEntry`
555
+
556
+ | Field | Type | Required | Description |
557
+ |---|---|---|---|
558
+ | `action` | `"created" \| "updated" \| "archived" \| "restored"` | yes | |
559
+ | `actor_id` | `string \| null` | yes | |
560
+ | `actor_type` | `"user" \| "api" \| "app" \| "integration" \| "system"` | yes | |
561
+ | `changes` | `Record<string, RecordMutationValueChange>` | yes | |
562
+ | `id` | `string` | yes | |
563
+ | `is_archived` | `boolean` | yes | |
564
+ | `occurred_at` | `string (date-time)` | yes | |
565
+ | `revision` | `integer` | yes | min 1 |
566
+ | `source` | `string` | yes | |
567
+ | `was_archived` | `boolean` | yes | |
568
+ | `app_id` | `string \| null` | no | |