@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,1245 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.socialPublishing`: Social Publishing
4
+
5
+ 22 operations (10 read, 3 write, 3 destructive, 1 billable, 5 external).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.socialPublishing.*` 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: [socialPublishing.d.ts](socialPublishing.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`addSocialEngagersToAudience`](#op-addsocialengagerstoaudience) | `POST /api/v1/social/posts/{post_id}/engagers/add-to-audience` | external | `campaigns:run` | Add Social Engagers To Audience |
26
+ | [`cancelSocialPost`](#op-cancelsocialpost) | `POST /api/v1/social/posts/{post_id}/cancel` | destructive | `campaigns:delete` | Cancel Social Post |
27
+ | [`createSocialPost`](#op-createsocialpost) | `POST /api/v1/social/posts` | write | `campaigns:write` | Create Social Post |
28
+ | [`deleteSocialPost`](#op-deletesocialpost) | `DELETE /api/v1/social/posts/{post_id}` | destructive | `campaigns:delete` | Delete Social Post |
29
+ | [`disconnectSocialAccount`](#op-disconnectsocialaccount) | `DELETE /api/v1/social/accounts/{account_id}` | destructive | `campaigns:delete` | Disconnect Social Account |
30
+ | [`enrollSocialEngagers`](#op-enrollsocialengagers) | `POST /api/v1/social/posts/{post_id}/engagers/enroll` | external | `campaigns:run` | Enroll Social Engagers |
31
+ | [`generateSocialPost`](#op-generatesocialpost) | `POST /api/v1/social/posts/generate` | billable | `campaigns:run` | Generate Social Post |
32
+ | [`getSocialAnalytics`](#op-getsocialanalytics) | `GET /api/v1/social/analytics` | read | `campaigns:read` | Get Social Analytics |
33
+ | [`getSocialAutopilot`](#op-getsocialautopilot) | `GET /api/v1/social/autopilot/{account_id}` | read | `campaigns:read` | Get Social Autopilot |
34
+ | [`getSocialGenerationContext`](#op-getsocialgenerationcontext) | `GET /api/v1/social/generate/context` | read | `campaigns:read` | Get Social Generation Context |
35
+ | [`getSocialPost`](#op-getsocialpost) | `GET /api/v1/social/posts/{post_id}` | read | `campaigns:read` | Get Social Post |
36
+ | [`getSocialPostMetrics`](#op-getsocialpostmetrics) | `GET /api/v1/social/posts/{post_id}/metrics` | read | `campaigns:read` | Get Social Post Metrics |
37
+ | [`listSocialAccounts`](#op-listsocialaccounts) | `GET /api/v1/social/accounts` | read | `campaigns:read` | List Social Accounts |
38
+ | [`listSocialIdeas`](#op-listsocialideas) | `GET /api/v1/social/ideas` | read | `campaigns:read` | List Social Ideas |
39
+ | [`listSocialPostEngagers`](#op-listsocialpostengagers) | `GET /api/v1/social/posts/{post_id}/engagers` | read | `campaigns:read` | List Social Post Engagers |
40
+ | [`listSocialPosts`](#op-listsocialposts) | `GET /api/v1/social/posts` | read | `campaigns:read` | List Social Posts |
41
+ | [`listSocialProviders`](#op-listsocialproviders) | `GET /api/v1/social/providers` | read | `campaigns:read` | List Social Providers |
42
+ | [`pauseSocialAutopilot`](#op-pausesocialautopilot) | `POST /api/v1/social/autopilot/{account_id}/pause` | write | `campaigns:write` | Pause Social Autopilot |
43
+ | [`publishSocialPost`](#op-publishsocialpost) | `POST /api/v1/social/posts/{post_id}/publish` | external | `campaigns:run` | Publish Social Post |
44
+ | [`saveSocialAutopilot`](#op-savesocialautopilot) | `PUT /api/v1/social/autopilot/{account_id}` | external | `campaigns:run` | Save Social Autopilot |
45
+ | [`scheduleSocialPost`](#op-schedulesocialpost) | `POST /api/v1/social/posts/{post_id}/schedule` | external | `campaigns:run` | Schedule Social Post |
46
+ | [`updateSocialPost`](#op-updatesocialpost) | `PATCH /api/v1/social/posts/{post_id}` | write | `campaigns:write` | Update Social Post |
47
+
48
+ ---
49
+
50
+ <a id="op-addsocialengagerstoaudience"></a>
51
+
52
+ ### `g8.api.socialPublishing.addSocialEngagersToAudience(input)`
53
+
54
+ **Add Social Engagers To Audience**
55
+
56
+ - HTTP: `POST /api/v1/social/posts/{post_id}/engagers/add-to-audience`
57
+ - operationId: `add_social_engagers_to_audience_social_posts__post_id__engagers_add_to_audience_post` (also callable as `g8.api.call("add_social_engagers_to_audience_social_posts__post_id__engagers_add_to_audience_post", input)`)
58
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
59
+ - API-key scope: `campaigns:run`
60
+
61
+ Build an audience from a post's engagers, creating contacts for the ones not yet in the CRM.
62
+
63
+ **Input**
64
+
65
+ | Field | Type | Required | Description |
66
+ |---|---|---|---|
67
+ | `path.post_id` | `string` | yes | The post's id. |
68
+ | `body` | `SocialAudienceFromEngagersRequest` | yes | Request body; fields below. |
69
+
70
+ Body fields (`SocialAudienceFromEngagersRequest`):
71
+
72
+ | Field | Type | Required | Description |
73
+ |---|---|---|---|
74
+ | `body.audience_name` | `string \| null` | no | max length 200 |
75
+
76
+ **Returns** `ApiResponse_SocialAudienceFromEngagers_`: the envelope `{ data: SocialAudienceFromEngagers, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
77
+
78
+ Other envelope fields: `pagination` (PaginationMeta).
79
+
80
+ `SocialAudienceFromEngagers` fields:
81
+
82
+ | Field | Type | Required | Description |
83
+ |---|---|---|---|
84
+ | `added` | `integer` | yes | |
85
+ | `audience_id` | `integer` | yes | |
86
+ | `audience_name` | `string` | yes | |
87
+ | `created` | `integer` | yes | |
88
+ | `matched` | `integer` | yes | |
89
+ | `skipped_no_identity` | `integer` | yes | |
90
+ | `truncated` | `boolean` | no | default `false` |
91
+
92
+ **Example**
93
+
94
+ ```ts
95
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
96
+ const result = await g8.api.socialPublishing.addSocialEngagersToAudience({ path: { post_id: "id" }, body: {} });
97
+ ```
98
+
99
+ ---
100
+
101
+ <a id="op-cancelsocialpost"></a>
102
+
103
+ ### `g8.api.socialPublishing.cancelSocialPost(input)`
104
+
105
+ **Cancel Social Post**
106
+
107
+ - HTTP: `POST /api/v1/social/posts/{post_id}/cancel`
108
+ - operationId: `cancel_social_post_social_posts__post_id__cancel_post` (also callable as `g8.api.call("cancel_social_post_social_posts__post_id__cancel_post", input)`)
109
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
110
+ - API-key scope: `campaigns:delete`
111
+
112
+ Take a scheduled post off the schedule. It stays as a post; nothing is published.
113
+
114
+ **Input**
115
+
116
+ | Field | Type | Required | Description |
117
+ |---|---|---|---|
118
+ | `path.post_id` | `string` | yes | The post's id. |
119
+
120
+ **Returns** `ApiResponse_SocialPost_`: the envelope `{ data: SocialPost, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
121
+
122
+ Other envelope fields: `pagination` (PaginationMeta).
123
+
124
+ `SocialPost` fields:
125
+
126
+ | Field | Type | Required | Description |
127
+ |---|---|---|---|
128
+ | `body` | `string` | yes | |
129
+ | `created_by` | `string` | yes | |
130
+ | `id` | `string` | yes | |
131
+ | `post_type` | `string` | yes | |
132
+ | `status` | `string` | yes | |
133
+ | `account_ref` | `string \| null` | no | |
134
+ | `autopilot_config_id` | `string \| null` | no | |
135
+ | `autopilot_version` | `integer \| null` | no | |
136
+ | `campaign_id` | `string \| null` | no | |
137
+ | `created_at` | `string \| null` | no | |
138
+ | `external_post_id` | `string \| null` | no | |
139
+ | `external_post_url` | `string \| null` | no | |
140
+ | `failure_reason` | `string \| null` | no | |
141
+ | `generation_metadata` | `Record<string, unknown> \| null` | no | |
142
+ | `generation_sources` | `Array<string> \| null` | no | |
143
+ | `idea_id` | `string \| null` | no | |
144
+ | `media` | `Array<Record<string, unknown>> \| null` | no | |
145
+ | `provider` | `string \| null` | no | |
146
+ | `published_at` | `string \| null` | no | |
147
+ | `scheduled_at` | `string \| null` | no | |
148
+ | `updated_at` | `string \| null` | no | |
149
+
150
+ **Example**
151
+
152
+ ```ts
153
+ // destructive: deletes or archives data; confirm with a human before calling.
154
+ const result = await g8.api.socialPublishing.cancelSocialPost({ path: { post_id: "id" } });
155
+ ```
156
+
157
+ ---
158
+
159
+ <a id="op-createsocialpost"></a>
160
+
161
+ ### `g8.api.socialPublishing.createSocialPost(input)`
162
+
163
+ **Create Social Post**
164
+
165
+ - HTTP: `POST /api/v1/social/posts`
166
+ - operationId: `create_social_post_social_posts_post` (also callable as `g8.api.call("create_social_post_social_posts_post", input)`)
167
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
168
+ - API-key scope: `campaigns:write`
169
+
170
+ Create a DRAFT post. Nothing is published until you schedule or publish it.
171
+
172
+ **Input**
173
+
174
+ | Field | Type | Required | Description |
175
+ |---|---|---|---|
176
+ | `body` | `SocialPostCreateRequest` | yes | Request body; fields below. |
177
+
178
+ Body fields (`SocialPostCreateRequest`):
179
+
180
+ | Field | Type | Required | Description |
181
+ |---|---|---|---|
182
+ | `body.body` | `string` | yes | The post text. min length 1, max length 3000 |
183
+ | `body.account_ref` | `string \| null` | no | The account it will publish from - an `id` from `GET /social/accounts`. Optional: a draft can be written before any account is connected, but one is required to schedule or publish. |
184
+ | `body.campaign_id` | `string \| null` | no | Campaign to attribute the post to. |
185
+ | `body.generation_sources` | `Array<string> \| null` | no | max items 10 |
186
+ | `body.idea_id` | `string \| null` | no | The idea from `GET /social/ideas` this came from. |
187
+ | `body.idempotency_key` | `string \| null` | no | Repeat a create with the same key to get the original post back instead of a duplicate. max length 255 |
188
+ | `body.media` | `Array<SocialMediaItem> \| null` | no | max items 9 |
189
+ | `body.post_type` | `"text" \| "image" \| "video" \| "document"` | no | default `"text"` |
190
+
191
+ **Returns** `ApiResponse_SocialPost_`: the envelope `{ data: SocialPost, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
192
+
193
+ Other envelope fields: `pagination` (PaginationMeta).
194
+
195
+ `SocialPost` fields:
196
+
197
+ | Field | Type | Required | Description |
198
+ |---|---|---|---|
199
+ | `body` | `string` | yes | |
200
+ | `created_by` | `string` | yes | |
201
+ | `id` | `string` | yes | |
202
+ | `post_type` | `string` | yes | |
203
+ | `status` | `string` | yes | |
204
+ | `account_ref` | `string \| null` | no | |
205
+ | `autopilot_config_id` | `string \| null` | no | |
206
+ | `autopilot_version` | `integer \| null` | no | |
207
+ | `campaign_id` | `string \| null` | no | |
208
+ | `created_at` | `string \| null` | no | |
209
+ | `external_post_id` | `string \| null` | no | |
210
+ | `external_post_url` | `string \| null` | no | |
211
+ | `failure_reason` | `string \| null` | no | |
212
+ | `generation_metadata` | `Record<string, unknown> \| null` | no | |
213
+ | `generation_sources` | `Array<string> \| null` | no | |
214
+ | `idea_id` | `string \| null` | no | |
215
+ | `media` | `Array<Record<string, unknown>> \| null` | no | |
216
+ | `provider` | `string \| null` | no | |
217
+ | `published_at` | `string \| null` | no | |
218
+ | `scheduled_at` | `string \| null` | no | |
219
+ | `updated_at` | `string \| null` | no | |
220
+
221
+ **Example**
222
+
223
+ ```ts
224
+ const result = await g8.api.socialPublishing.createSocialPost({ body: { body: "example" } });
225
+ ```
226
+
227
+ ---
228
+
229
+ <a id="op-deletesocialpost"></a>
230
+
231
+ ### `g8.api.socialPublishing.deleteSocialPost(input)`
232
+
233
+ **Delete Social Post**
234
+
235
+ - HTTP: `DELETE /api/v1/social/posts/{post_id}`
236
+ - operationId: `delete_social_post_social_posts__post_id__delete` (also callable as `g8.api.call("delete_social_post_social_posts__post_id__delete", input)`)
237
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
238
+ - API-key scope: `campaigns:delete`
239
+
240
+ Delete a post that has not been published. A published post is not removed from the network.
241
+
242
+ **Input**
243
+
244
+ | Field | Type | Required | Description |
245
+ |---|---|---|---|
246
+ | `path.post_id` | `string` | yes | The post's id. |
247
+
248
+ **Returns** `ApiResponse_SocialDeleted_`: the envelope `{ data: SocialDeleted, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
249
+
250
+ Other envelope fields: `pagination` (PaginationMeta).
251
+
252
+ `SocialDeleted` fields:
253
+
254
+ | Field | Type | Required | Description |
255
+ |---|---|---|---|
256
+ | `deleted` | `boolean` | no | default `true` |
257
+
258
+ **Example**
259
+
260
+ ```ts
261
+ // destructive: deletes or archives data; confirm with a human before calling.
262
+ const result = await g8.api.socialPublishing.deleteSocialPost({ path: { post_id: "id" } });
263
+ ```
264
+
265
+ ---
266
+
267
+ <a id="op-disconnectsocialaccount"></a>
268
+
269
+ ### `g8.api.socialPublishing.disconnectSocialAccount(input)`
270
+
271
+ **Disconnect Social Account**
272
+
273
+ - HTTP: `DELETE /api/v1/social/accounts/{account_id}`
274
+ - operationId: `disconnect_social_account_social_accounts__account_id__delete` (also callable as `g8.api.call("disconnect_social_account_social_accounts__account_id__delete", input)`)
275
+ - Tier: `destructive`: deletes or archives data; confirm with a human before calling
276
+ - API-key scope: `campaigns:delete`
277
+
278
+ Disconnect an account connected through the official sign-in. 404 for any other kind.
279
+
280
+ Posts scheduled on it can no longer publish. Reconnecting is a browser sign-in.
281
+
282
+ **Input**
283
+
284
+ | Field | Type | Required | Description |
285
+ |---|---|---|---|
286
+ | `path.account_id` | `string` | yes | An `id` from `GET /social/accounts`. |
287
+
288
+ **Returns** `ApiResponse_SocialDeleted_`: the envelope `{ data: SocialDeleted, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
289
+
290
+ Other envelope fields: `pagination` (PaginationMeta).
291
+
292
+ `SocialDeleted` fields:
293
+
294
+ | Field | Type | Required | Description |
295
+ |---|---|---|---|
296
+ | `deleted` | `boolean` | no | default `true` |
297
+
298
+ **Example**
299
+
300
+ ```ts
301
+ // destructive: deletes or archives data; confirm with a human before calling.
302
+ const result = await g8.api.socialPublishing.disconnectSocialAccount({ path: { account_id: "id" } });
303
+ ```
304
+
305
+ ---
306
+
307
+ <a id="op-enrollsocialengagers"></a>
308
+
309
+ ### `g8.api.socialPublishing.enrollSocialEngagers(input)`
310
+
311
+ **Enroll Social Engagers**
312
+
313
+ - HTTP: `POST /api/v1/social/posts/{post_id}/engagers/enroll`
314
+ - operationId: `enroll_social_engagers_social_posts__post_id__engagers_enroll_post` (also callable as `g8.api.call("enroll_social_engagers_social_posts__post_id__engagers_enroll_post", input)`)
315
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
316
+ - API-key scope: `campaigns:run`
317
+
318
+ Enroll engagers into a sequence. REAL OUTREACH: the sequence starts contacting them.
319
+
320
+ **Input**
321
+
322
+ | Field | Type | Required | Description |
323
+ |---|---|---|---|
324
+ | `path.post_id` | `string` | yes | The post's id. |
325
+ | `body` | `SocialEnrollEngagersRequest` | yes | Request body; fields below. |
326
+
327
+ Body fields (`SocialEnrollEngagersRequest`):
328
+
329
+ | Field | Type | Required | Description |
330
+ |---|---|---|---|
331
+ | `body.contact_ids` | `Array<integer>` | yes | `contact_id`s from the post's engagers. min items 1 |
332
+ | `body.sequence_id` | `string` | yes | min length 1 |
333
+
334
+ **Returns** `ApiResponse_SocialEnrollResult_`: the envelope `{ data: SocialEnrollResult, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
335
+
336
+ Other envelope fields: `pagination` (PaginationMeta).
337
+
338
+ `SocialEnrollResult` fields:
339
+
340
+ | Field | Type | Required | Description |
341
+ |---|---|---|---|
342
+ | `audience_id` | `integer` | yes | |
343
+ | `enrolled` | `integer` | yes | |
344
+ | `sequence_status` | `string \| null` | no | |
345
+
346
+ **Example**
347
+
348
+ ```ts
349
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
350
+ const result = await g8.api.socialPublishing.enrollSocialEngagers({
351
+ path: { post_id: "id" },
352
+ body: { contact_ids: [123], sequence_id: "id" },
353
+ });
354
+ ```
355
+
356
+ ---
357
+
358
+ <a id="op-generatesocialpost"></a>
359
+
360
+ ### `g8.api.socialPublishing.generateSocialPost(input)`
361
+
362
+ **Generate Social Post**
363
+
364
+ - HTTP: `POST /api/v1/social/posts/generate`
365
+ - operationId: `generate_social_post_social_posts_generate_post` (also callable as `g8.api.call("generate_social_post_social_posts_generate_post", input)`)
366
+ - Tier: `billable`: spends credits; the SDK never blindly retries it; confirm cost before bulk use
367
+ - API-key scope: `campaigns:run`
368
+
369
+ Draft up to three variants with AI. SPENDS CREDITS (`credits_used`); saves nothing.
370
+
371
+ **Input**
372
+
373
+ | Field | Type | Required | Description |
374
+ |---|---|---|---|
375
+ | `body` | `SocialPostGenerateRequest` | yes | Request body; fields below. |
376
+
377
+ Body fields (`SocialPostGenerateRequest`):
378
+
379
+ | Field | Type | Required | Description |
380
+ |---|---|---|---|
381
+ | `body.campaign_id` | `string \| null` | no | |
382
+ | `body.context` | `string \| null` | no | Older synonym of `instructions`. max length 2000 |
383
+ | `body.frame` | `string \| null` | no | max length 40 |
384
+ | `body.hashtags_max` | `integer` | no | default `3`, min 0, max 3 |
385
+ | `body.idea_id` | `string \| null` | no | |
386
+ | `body.instructions` | `string \| null` | no | max length 2000 |
387
+ | `body.reference_post` | `string \| null` | no | Someone else's post, used as a structural template only. max length 4000 |
388
+ | `body.refine` | `SocialRefineSpec \| null` | no | |
389
+ | `body.sources` | `Array<string> \| null` | no | Grounding sources. Omit for the default set (brand_voice, campaign_brief, proof_catalog, inbox_insights). `GET /social/generate/context` says which have data. max items 6 |
390
+ | `body.tone` | `string \| null` | no | max length 200 |
391
+ | `body.variants` | `integer` | no | default `3`, min 1, max 3 |
392
+
393
+ **Returns** `ApiResponse_SocialGenerated_`: the envelope `{ data: SocialGenerated, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
394
+
395
+ Other envelope fields: `pagination` (PaginationMeta).
396
+
397
+ `SocialGenerated` fields:
398
+
399
+ | Field | Type | Required | Description |
400
+ |---|---|---|---|
401
+ | `credits_used` | `integer` | yes | |
402
+ | `provenance` | `Array<string>` | yes | |
403
+ | `variants` | `Array<SocialVariant>` | yes | |
404
+
405
+ **Example**
406
+
407
+ ```ts
408
+ // billable: spends credits; the SDK never blindly retries it; confirm cost before bulk use.
409
+ const result = await g8.api.socialPublishing.generateSocialPost({ body: {} });
410
+ ```
411
+
412
+ ---
413
+
414
+ <a id="op-getsocialanalytics"></a>
415
+
416
+ ### `g8.api.socialPublishing.getSocialAnalytics(input?)`
417
+
418
+ **Get Social Analytics**
419
+
420
+ - HTTP: `GET /api/v1/social/analytics`
421
+ - operationId: `get_social_analytics_social_analytics_get` (also callable as `g8.api.call("get_social_analytics_social_analytics_get", input)`)
422
+ - Tier: `read`: reads data; safe to call and to retry
423
+ - API-key scope: `campaigns:read`
424
+
425
+ Totals and a per-day series across all posts.
426
+
427
+ **Input**
428
+
429
+ | Field | Type | Required | Description |
430
+ |---|---|---|---|
431
+ | `query.days` | `integer` | no | Window, in days back from today. default `30` |
432
+
433
+ **Returns** `ApiResponse_SocialAnalytics_`: the envelope `{ data: SocialAnalytics, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
434
+
435
+ Other envelope fields: `pagination` (PaginationMeta).
436
+
437
+ `SocialAnalytics` fields:
438
+
439
+ | Field | Type | Required | Description |
440
+ |---|---|---|---|
441
+ | `per_day` | `Array<Record<string, unknown>>` | yes | |
442
+ | `totals` | `Record<string, integer>` | yes | |
443
+
444
+ **Example**
445
+
446
+ ```ts
447
+ const result = await g8.api.socialPublishing.getSocialAnalytics();
448
+ ```
449
+
450
+ ---
451
+
452
+ <a id="op-getsocialautopilot"></a>
453
+
454
+ ### `g8.api.socialPublishing.getSocialAutopilot(input)`
455
+
456
+ **Get Social Autopilot**
457
+
458
+ - HTTP: `GET /api/v1/social/autopilot/{account_id}`
459
+ - operationId: `get_social_autopilot_social_autopilot__account_id__get` (also callable as `g8.api.call("get_social_autopilot_social_autopilot__account_id__get", input)`)
460
+ - Tier: `read`: reads data; safe to call and to retry
461
+ - API-key scope: `campaigns:read`
462
+
463
+ Autopilot configuration for one account, including a disconnected one (so the reconnect state is visible).
464
+
465
+ **Input**
466
+
467
+ | Field | Type | Required | Description |
468
+ |---|---|---|---|
469
+ | `path.account_id` | `string` | yes | An `id` from `GET /social/accounts`. |
470
+
471
+ **Returns** `ApiResponse_SocialAutopilot_`: the envelope `{ data: SocialAutopilot, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
472
+
473
+ Other envelope fields: `pagination` (PaginationMeta).
474
+
475
+ `SocialAutopilot` fields:
476
+
477
+ | Field | Type | Required | Description |
478
+ |---|---|---|---|
479
+ | `account_ref` | `string` | yes | |
480
+ | `available` | `boolean` | yes | |
481
+ | `auto_publish_confirmed` | `boolean` | no | default `false` |
482
+ | `configured` | `boolean` | no | default `true` |
483
+ | `direction` | `string` | no | default `""` |
484
+ | `enabled` | `boolean` | no | default `false` |
485
+ | `estimated_generation_credits` | `integer` | no | default `0` |
486
+ | `id` | `string \| null` | no | |
487
+ | `last_blocking_error` | `string \| null` | no | |
488
+ | `last_planned_at` | `string \| null` | no | |
489
+ | `next_slots` | `Array<string>` | no | |
490
+ | `prompt_version` | `integer` | no | default `1` |
491
+ | `scheduled_count` | `integer` | no | default `0` |
492
+ | `timezone` | `string` | no | default `"UTC"` |
493
+ | `unscheduled_posts` | `integer` | no | default `0` |
494
+ | `weekly_queue_slots` | `Array<SocialQueueSlot>` | no | |
495
+
496
+ **Example**
497
+
498
+ ```ts
499
+ const result = await g8.api.socialPublishing.getSocialAutopilot({ path: { account_id: "id" } });
500
+ ```
501
+
502
+ ---
503
+
504
+ <a id="op-getsocialgenerationcontext"></a>
505
+
506
+ ### `g8.api.socialPublishing.getSocialGenerationContext(input?)`
507
+
508
+ **Get Social Generation Context**
509
+
510
+ - HTTP: `GET /api/v1/social/generate/context`
511
+ - operationId: `get_social_generation_context_social_generate_context_get` (also callable as `g8.api.call("get_social_generation_context_social_generate_context_get", input)`)
512
+ - Tier: `read`: reads data; safe to call and to retry
513
+ - API-key scope: `campaigns:read`
514
+
515
+ Which grounding sources have data for AI drafting.
516
+
517
+ **Input**: none.
518
+
519
+ **Returns** `ApiResponse_SocialGenerationContext_`: the envelope `{ data: SocialGenerationContext, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
520
+
521
+ Other envelope fields: `pagination` (PaginationMeta).
522
+
523
+ `SocialGenerationContext` fields:
524
+
525
+ | Field | Type | Required | Description |
526
+ |---|---|---|---|
527
+ | `brand_voice` | `boolean` | yes | |
528
+ | `campaign_brief` | `boolean` | yes | |
529
+ | `inbox_insights` | `integer` | yes | |
530
+ | `proof_points` | `integer` | yes | |
531
+ | `recent_content` | `integer` | yes | |
532
+ | `top_posts` | `integer` | yes | |
533
+
534
+ **Example**
535
+
536
+ ```ts
537
+ const result = await g8.api.socialPublishing.getSocialGenerationContext();
538
+ ```
539
+
540
+ ---
541
+
542
+ <a id="op-getsocialpost"></a>
543
+
544
+ ### `g8.api.socialPublishing.getSocialPost(input)`
545
+
546
+ **Get Social Post**
547
+
548
+ - HTTP: `GET /api/v1/social/posts/{post_id}`
549
+ - operationId: `get_social_post_social_posts__post_id__get` (also callable as `g8.api.call("get_social_post_social_posts__post_id__get", input)`)
550
+ - Tier: `read`: reads data; safe to call and to retry
551
+ - API-key scope: `campaigns:read`
552
+
553
+ One post.
554
+
555
+ **Input**
556
+
557
+ | Field | Type | Required | Description |
558
+ |---|---|---|---|
559
+ | `path.post_id` | `string` | yes | The post's id. |
560
+
561
+ **Returns** `ApiResponse_SocialPost_`: the envelope `{ data: SocialPost, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
562
+
563
+ Other envelope fields: `pagination` (PaginationMeta).
564
+
565
+ `SocialPost` fields:
566
+
567
+ | Field | Type | Required | Description |
568
+ |---|---|---|---|
569
+ | `body` | `string` | yes | |
570
+ | `created_by` | `string` | yes | |
571
+ | `id` | `string` | yes | |
572
+ | `post_type` | `string` | yes | |
573
+ | `status` | `string` | yes | |
574
+ | `account_ref` | `string \| null` | no | |
575
+ | `autopilot_config_id` | `string \| null` | no | |
576
+ | `autopilot_version` | `integer \| null` | no | |
577
+ | `campaign_id` | `string \| null` | no | |
578
+ | `created_at` | `string \| null` | no | |
579
+ | `external_post_id` | `string \| null` | no | |
580
+ | `external_post_url` | `string \| null` | no | |
581
+ | `failure_reason` | `string \| null` | no | |
582
+ | `generation_metadata` | `Record<string, unknown> \| null` | no | |
583
+ | `generation_sources` | `Array<string> \| null` | no | |
584
+ | `idea_id` | `string \| null` | no | |
585
+ | `media` | `Array<Record<string, unknown>> \| null` | no | |
586
+ | `provider` | `string \| null` | no | |
587
+ | `published_at` | `string \| null` | no | |
588
+ | `scheduled_at` | `string \| null` | no | |
589
+ | `updated_at` | `string \| null` | no | |
590
+
591
+ **Example**
592
+
593
+ ```ts
594
+ const result = await g8.api.socialPublishing.getSocialPost({ path: { post_id: "id" } });
595
+ ```
596
+
597
+ ---
598
+
599
+ <a id="op-getsocialpostmetrics"></a>
600
+
601
+ ### `g8.api.socialPublishing.getSocialPostMetrics(input)`
602
+
603
+ **Get Social Post Metrics**
604
+
605
+ - HTTP: `GET /api/v1/social/posts/{post_id}/metrics`
606
+ - operationId: `get_social_post_metrics_social_posts__post_id__metrics_get` (also callable as `g8.api.call("get_social_post_metrics_social_posts__post_id__metrics_get", input)`)
607
+ - Tier: `read`: reads data; safe to call and to retry
608
+ - API-key scope: `campaigns:read`
609
+
610
+ Impressions, reactions, comments and shares from the latest snapshot.
611
+
612
+ **Input**
613
+
614
+ | Field | Type | Required | Description |
615
+ |---|---|---|---|
616
+ | `path.post_id` | `string` | yes | The post's id. |
617
+
618
+ **Returns** `ApiResponse_SocialPostMetrics_`: the envelope `{ data: SocialPostMetrics, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
619
+
620
+ Other envelope fields: `pagination` (PaginationMeta).
621
+
622
+ `SocialPostMetrics` fields:
623
+
624
+ | Field | Type | Required | Description |
625
+ |---|---|---|---|
626
+ | `comments` | `integer` | no | default `0` |
627
+ | `fetched_at` | `string \| null` | no | |
628
+ | `impressions` | `integer` | no | default `0` |
629
+ | `reactions` | `integer` | no | default `0` |
630
+ | `shares` | `integer` | no | default `0` |
631
+ | `supported` | `boolean` | no | default `true` |
632
+
633
+ **Example**
634
+
635
+ ```ts
636
+ const result = await g8.api.socialPublishing.getSocialPostMetrics({ path: { post_id: "id" } });
637
+ ```
638
+
639
+ ---
640
+
641
+ <a id="op-listsocialaccounts"></a>
642
+
643
+ ### `g8.api.socialPublishing.listSocialAccounts(input?)`
644
+
645
+ **List Social Accounts**
646
+
647
+ - HTTP: `GET /api/v1/social/accounts`
648
+ - operationId: `list_social_accounts_social_accounts_get` (also callable as `g8.api.call("list_social_accounts_social_accounts_get", input)`)
649
+ - Tier: `read`: reads data; safe to call and to retry
650
+ - API-key scope: `campaigns:read`
651
+
652
+ Connected accounts, their capabilities and this period's publishing capacity.
653
+
654
+ **Input**: none.
655
+
656
+ **Returns** `ApiResponse_SocialAccountList_`: the envelope `{ data: SocialAccountList, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
657
+
658
+ Other envelope fields: `pagination` (PaginationMeta).
659
+
660
+ `SocialAccountList` fields:
661
+
662
+ | Field | Type | Required | Description |
663
+ |---|---|---|---|
664
+ | `items` | `Array<SocialAccount>` | yes | |
665
+
666
+ **Example**
667
+
668
+ ```ts
669
+ const result = await g8.api.socialPublishing.listSocialAccounts();
670
+ ```
671
+
672
+ ---
673
+
674
+ <a id="op-listsocialideas"></a>
675
+
676
+ ### `g8.api.socialPublishing.listSocialIdeas(input?)`
677
+
678
+ **List Social Ideas**
679
+
680
+ - HTTP: `GET /api/v1/social/ideas`
681
+ - operationId: `list_social_ideas_social_ideas_get` (also callable as `g8.api.call("list_social_ideas_social_ideas_get", input)`)
682
+ - Tier: `read`: reads data; safe to call and to retry
683
+ - API-key scope: `campaigns:read`
684
+
685
+ Post ideas mined from the org's own signals and content.
686
+
687
+ **Input**
688
+
689
+ | Field | Type | Required | Description |
690
+ |---|---|---|---|
691
+ | `query.source` | `"signal_mining" \| "linkedin_trending" \| "proof_freshness" \| "repurpose" \| "ai" \| null` | no | Only ideas from this source. |
692
+ | `query.refresh` | `boolean` | no | Mine fresh ideas before answering. default `false` |
693
+
694
+ **Returns** `ApiResponse_SocialIdeas_`: the envelope `{ data: SocialIdeas, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
695
+
696
+ Other envelope fields: `pagination` (PaginationMeta).
697
+
698
+ `SocialIdeas` fields:
699
+
700
+ | Field | Type | Required | Description |
701
+ |---|---|---|---|
702
+ | `items` | `Array<SocialIdea>` | yes | |
703
+ | `sources` | `Record<string, integer>` | yes | |
704
+
705
+ **Example**
706
+
707
+ ```ts
708
+ const result = await g8.api.socialPublishing.listSocialIdeas();
709
+ ```
710
+
711
+ ---
712
+
713
+ <a id="op-listsocialpostengagers"></a>
714
+
715
+ ### `g8.api.socialPublishing.listSocialPostEngagers(input)`
716
+
717
+ **List Social Post Engagers**
718
+
719
+ - HTTP: `GET /api/v1/social/posts/{post_id}/engagers`
720
+ - operationId: `list_social_post_engagers_social_posts__post_id__engagers_get` (also callable as `g8.api.call("list_social_post_engagers_social_posts__post_id__engagers_get", input)`)
721
+ - Tier: `read`: reads data; safe to call and to retry
722
+ - API-key scope: `campaigns:read`
723
+
724
+ People who reacted to or commented on a post, matched to contacts where possible.
725
+
726
+ **Input**
727
+
728
+ | Field | Type | Required | Description |
729
+ |---|---|---|---|
730
+ | `path.post_id` | `string` | yes | The post's id. |
731
+ | `query.refresh` | `boolean` | no | Fetch fresh from the network instead of the stored copy. default `false` |
732
+
733
+ **Returns** `ApiResponse_SocialEngagers_`: the envelope `{ data: SocialEngagers, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
734
+
735
+ Other envelope fields: `pagination` (PaginationMeta).
736
+
737
+ `SocialEngagers` fields:
738
+
739
+ | Field | Type | Required | Description |
740
+ |---|---|---|---|
741
+ | `items` | `Array<SocialEngager>` | yes | |
742
+ | `total` | `integer` | yes | |
743
+ | `supported` | `boolean` | no | default `true` |
744
+ | `truncated` | `boolean` | no | default `false` |
745
+
746
+ **Example**
747
+
748
+ ```ts
749
+ const result = await g8.api.socialPublishing.listSocialPostEngagers({ path: { post_id: "id" } });
750
+ ```
751
+
752
+ ---
753
+
754
+ <a id="op-listsocialposts"></a>
755
+
756
+ ### `g8.api.socialPublishing.listSocialPosts(input?)`
757
+
758
+ **List Social Posts**
759
+
760
+ - HTTP: `GET /api/v1/social/posts`
761
+ - operationId: `list_social_posts_social_posts_get` (also callable as `g8.api.call("list_social_posts_social_posts_get", input)`)
762
+ - Tier: `read`: reads data; safe to call and to retry
763
+ - API-key scope: `campaigns:read`
764
+
765
+ Posts, newest first, with the org-wide count per status.
766
+
767
+ **Input**
768
+
769
+ | Field | Type | Required | Description |
770
+ |---|---|---|---|
771
+ | `query.status` | `"draft" \| "ready" \| "scheduled" \| "publishing" \| "live" \| "failed" \| "cancelled" \| null` | no | Only posts in this state. |
772
+ | `query.page` | `integer` | no | default `1` |
773
+ | `query.page_size` | `integer` | no | default `25` |
774
+
775
+ **Returns** `ApiResponse_SocialPostPage_`: the envelope `{ data: SocialPostPage, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
776
+
777
+ Other envelope fields: `pagination` (PaginationMeta).
778
+
779
+ `SocialPostPage` fields:
780
+
781
+ | Field | Type | Required | Description |
782
+ |---|---|---|---|
783
+ | `counts` | `Record<string, integer>` | yes | |
784
+ | `items` | `Array<SocialPost>` | yes | |
785
+ | `total` | `integer` | yes | |
786
+
787
+ **Example**
788
+
789
+ ```ts
790
+ const result = await g8.api.socialPublishing.listSocialPosts();
791
+ ```
792
+
793
+ ---
794
+
795
+ <a id="op-listsocialproviders"></a>
796
+
797
+ ### `g8.api.socialPublishing.listSocialProviders(input?)`
798
+
799
+ **List Social Providers**
800
+
801
+ - HTTP: `GET /api/v1/social/providers`
802
+ - operationId: `list_social_providers_social_providers_get` (also callable as `g8.api.call("list_social_providers_social_providers_get", input)`)
803
+ - Tier: `read`: reads data; safe to call and to retry
804
+ - API-key scope: `campaigns:read`
805
+
806
+ The ways an account can be connected, and what each can do.
807
+
808
+ **Input**: none.
809
+
810
+ **Returns** `ApiResponse_SocialProviderList_`: the envelope `{ data: SocialProviderList, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
811
+
812
+ Other envelope fields: `pagination` (PaginationMeta).
813
+
814
+ `SocialProviderList` fields:
815
+
816
+ | Field | Type | Required | Description |
817
+ |---|---|---|---|
818
+ | `items` | `Array<SocialProvider>` | yes | |
819
+
820
+ **Example**
821
+
822
+ ```ts
823
+ const result = await g8.api.socialPublishing.listSocialProviders();
824
+ ```
825
+
826
+ ---
827
+
828
+ <a id="op-pausesocialautopilot"></a>
829
+
830
+ ### `g8.api.socialPublishing.pauseSocialAutopilot(input)`
831
+
832
+ **Pause Social Autopilot**
833
+
834
+ - HTTP: `POST /api/v1/social/autopilot/{account_id}/pause`
835
+ - operationId: `pause_social_autopilot_social_autopilot__account_id__pause_post` (also callable as `g8.api.call("pause_social_autopilot_social_autopilot__account_id__pause_post", input)`)
836
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
837
+ - API-key scope: `campaigns:write`
838
+
839
+ Stop autopilot for one account. Posts it already scheduled stay scheduled.
840
+
841
+ **Input**
842
+
843
+ | Field | Type | Required | Description |
844
+ |---|---|---|---|
845
+ | `path.account_id` | `string` | yes | An `id` from `GET /social/accounts`. |
846
+
847
+ **Returns** `ApiResponse_SocialAutopilot_`: the envelope `{ data: SocialAutopilot, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
848
+
849
+ Other envelope fields: `pagination` (PaginationMeta).
850
+
851
+ `SocialAutopilot` fields:
852
+
853
+ | Field | Type | Required | Description |
854
+ |---|---|---|---|
855
+ | `account_ref` | `string` | yes | |
856
+ | `available` | `boolean` | yes | |
857
+ | `auto_publish_confirmed` | `boolean` | no | default `false` |
858
+ | `configured` | `boolean` | no | default `true` |
859
+ | `direction` | `string` | no | default `""` |
860
+ | `enabled` | `boolean` | no | default `false` |
861
+ | `estimated_generation_credits` | `integer` | no | default `0` |
862
+ | `id` | `string \| null` | no | |
863
+ | `last_blocking_error` | `string \| null` | no | |
864
+ | `last_planned_at` | `string \| null` | no | |
865
+ | `next_slots` | `Array<string>` | no | |
866
+ | `prompt_version` | `integer` | no | default `1` |
867
+ | `scheduled_count` | `integer` | no | default `0` |
868
+ | `timezone` | `string` | no | default `"UTC"` |
869
+ | `unscheduled_posts` | `integer` | no | default `0` |
870
+ | `weekly_queue_slots` | `Array<SocialQueueSlot>` | no | |
871
+
872
+ **Example**
873
+
874
+ ```ts
875
+ const result = await g8.api.socialPublishing.pauseSocialAutopilot({ path: { account_id: "id" } });
876
+ ```
877
+
878
+ ---
879
+
880
+ <a id="op-publishsocialpost"></a>
881
+
882
+ ### `g8.api.socialPublishing.publishSocialPost(input)`
883
+
884
+ **Publish Social Post**
885
+
886
+ - HTTP: `POST /api/v1/social/posts/{post_id}/publish`
887
+ - operationId: `publish_social_post_social_posts__post_id__publish_post` (also callable as `g8.api.call("publish_social_post_social_posts__post_id__publish_post", input)`)
888
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
889
+ - API-key scope: `campaigns:run`
890
+
891
+ Publish now. PUBLIC AND IRREVERSIBLE from here: the post goes out on the connected account.
892
+
893
+ **Input**
894
+
895
+ | Field | Type | Required | Description |
896
+ |---|---|---|---|
897
+ | `path.post_id` | `string` | yes | The post's id. |
898
+
899
+ **Returns** `ApiResponse_SocialPublishAccepted_`: the envelope `{ data: SocialPublishAccepted, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
900
+
901
+ Other envelope fields: `pagination` (PaginationMeta).
902
+
903
+ `SocialPublishAccepted` fields:
904
+
905
+ | Field | Type | Required | Description |
906
+ |---|---|---|---|
907
+ | `post` | `SocialPost` | yes | |
908
+ | `status` | `string` | yes | |
909
+
910
+ **Example**
911
+
912
+ ```ts
913
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
914
+ const result = await g8.api.socialPublishing.publishSocialPost({ path: { post_id: "id" } });
915
+ ```
916
+
917
+ ---
918
+
919
+ <a id="op-savesocialautopilot"></a>
920
+
921
+ ### `g8.api.socialPublishing.saveSocialAutopilot(input)`
922
+
923
+ **Save Social Autopilot**
924
+
925
+ - HTTP: `PUT /api/v1/social/autopilot/{account_id}`
926
+ - operationId: `save_social_autopilot_social_autopilot__account_id__put` (also callable as `g8.api.call("save_social_autopilot_social_autopilot__account_id__put", input)`)
927
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
928
+ - API-key scope: `campaigns:run`
929
+
930
+ Configure autopilot for one account.
931
+
932
+ With `enabled` and `auto_publish_confirmed` both true, autopilot writes AND
933
+ PUBLISHES posts on its own. Requires the campaign-launch permission, as in
934
+ the app.
935
+
936
+ **Input**
937
+
938
+ | Field | Type | Required | Description |
939
+ |---|---|---|---|
940
+ | `path.account_id` | `string` | yes | An `id` from `GET /social/accounts`. |
941
+ | `body` | `SocialAutopilotSaveRequest` | yes | Request body; fields below. |
942
+
943
+ Body fields (`SocialAutopilotSaveRequest`):
944
+
945
+ | Field | Type | Required | Description |
946
+ |---|---|---|---|
947
+ | `body.direction` | `string` | yes | What autopilot should post about. min length 1, max length 2000 |
948
+ | `body.timezone` | `string` | yes | IANA timezone. min length 1, max length 64 |
949
+ | `body.weekly_queue_slots` | `Array<SocialQueueSlot>` | yes | min items 1, max items 14 |
950
+ | `body.auto_publish_confirmed` | `boolean` | no | True lets autopilot PUBLISH what it writes without a human approving each post. default `false` |
951
+ | `body.enabled` | `boolean` | no | default `false` |
952
+
953
+ **Returns** `ApiResponse_SocialAutopilot_`: the envelope `{ data: SocialAutopilot, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
954
+
955
+ Other envelope fields: `pagination` (PaginationMeta).
956
+
957
+ `SocialAutopilot` fields:
958
+
959
+ | Field | Type | Required | Description |
960
+ |---|---|---|---|
961
+ | `account_ref` | `string` | yes | |
962
+ | `available` | `boolean` | yes | |
963
+ | `auto_publish_confirmed` | `boolean` | no | default `false` |
964
+ | `configured` | `boolean` | no | default `true` |
965
+ | `direction` | `string` | no | default `""` |
966
+ | `enabled` | `boolean` | no | default `false` |
967
+ | `estimated_generation_credits` | `integer` | no | default `0` |
968
+ | `id` | `string \| null` | no | |
969
+ | `last_blocking_error` | `string \| null` | no | |
970
+ | `last_planned_at` | `string \| null` | no | |
971
+ | `next_slots` | `Array<string>` | no | |
972
+ | `prompt_version` | `integer` | no | default `1` |
973
+ | `scheduled_count` | `integer` | no | default `0` |
974
+ | `timezone` | `string` | no | default `"UTC"` |
975
+ | `unscheduled_posts` | `integer` | no | default `0` |
976
+ | `weekly_queue_slots` | `Array<SocialQueueSlot>` | no | |
977
+
978
+ **Example**
979
+
980
+ ```ts
981
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
982
+ const result = await g8.api.socialPublishing.saveSocialAutopilot({
983
+ path: { account_id: "id" },
984
+ body: {
985
+ direction: "example",
986
+ timezone: "example",
987
+ weekly_queue_slots: [{ day: 0, time: "example" }],
988
+ },
989
+ });
990
+ ```
991
+
992
+ ---
993
+
994
+ <a id="op-schedulesocialpost"></a>
995
+
996
+ ### `g8.api.socialPublishing.scheduleSocialPost(input)`
997
+
998
+ **Schedule Social Post**
999
+
1000
+ - HTTP: `POST /api/v1/social/posts/{post_id}/schedule`
1001
+ - operationId: `schedule_social_post_social_posts__post_id__schedule_post` (also callable as `g8.api.call("schedule_social_post_social_posts__post_id__schedule_post", input)`)
1002
+ - Tier: `external`: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first
1003
+ - API-key scope: `campaigns:run`
1004
+
1005
+ Schedule a post. It PUBLISHES PUBLICLY at `scheduled_at` with no further step.
1006
+
1007
+ **Input**
1008
+
1009
+ | Field | Type | Required | Description |
1010
+ |---|---|---|---|
1011
+ | `path.post_id` | `string` | yes | The post's id. |
1012
+ | `body` | `SocialPostScheduleRequest` | yes | Request body; fields below. |
1013
+
1014
+ Body fields (`SocialPostScheduleRequest`):
1015
+
1016
+ | Field | Type | Required | Description |
1017
+ |---|---|---|---|
1018
+ | `body.scheduled_at` | `string (date-time)` | yes | ISO 8601. Include a timezone offset. |
1019
+
1020
+ **Returns** `ApiResponse_SocialPost_`: the envelope `{ data: SocialPost, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
1021
+
1022
+ Other envelope fields: `pagination` (PaginationMeta).
1023
+
1024
+ `SocialPost` fields:
1025
+
1026
+ | Field | Type | Required | Description |
1027
+ |---|---|---|---|
1028
+ | `body` | `string` | yes | |
1029
+ | `created_by` | `string` | yes | |
1030
+ | `id` | `string` | yes | |
1031
+ | `post_type` | `string` | yes | |
1032
+ | `status` | `string` | yes | |
1033
+ | `account_ref` | `string \| null` | no | |
1034
+ | `autopilot_config_id` | `string \| null` | no | |
1035
+ | `autopilot_version` | `integer \| null` | no | |
1036
+ | `campaign_id` | `string \| null` | no | |
1037
+ | `created_at` | `string \| null` | no | |
1038
+ | `external_post_id` | `string \| null` | no | |
1039
+ | `external_post_url` | `string \| null` | no | |
1040
+ | `failure_reason` | `string \| null` | no | |
1041
+ | `generation_metadata` | `Record<string, unknown> \| null` | no | |
1042
+ | `generation_sources` | `Array<string> \| null` | no | |
1043
+ | `idea_id` | `string \| null` | no | |
1044
+ | `media` | `Array<Record<string, unknown>> \| null` | no | |
1045
+ | `provider` | `string \| null` | no | |
1046
+ | `published_at` | `string \| null` | no | |
1047
+ | `scheduled_at` | `string \| null` | no | |
1048
+ | `updated_at` | `string \| null` | no | |
1049
+
1050
+ **Example**
1051
+
1052
+ ```ts
1053
+ // external: reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first.
1054
+ const result = await g8.api.socialPublishing.scheduleSocialPost({
1055
+ path: { post_id: "id" },
1056
+ body: { scheduled_at: "2026-01-01T09:00:00Z" },
1057
+ });
1058
+ ```
1059
+
1060
+ ---
1061
+
1062
+ <a id="op-updatesocialpost"></a>
1063
+
1064
+ ### `g8.api.socialPublishing.updateSocialPost(input)`
1065
+
1066
+ **Update Social Post**
1067
+
1068
+ - HTTP: `PATCH /api/v1/social/posts/{post_id}`
1069
+ - operationId: `update_social_post_social_posts__post_id__patch` (also callable as `g8.api.call("update_social_post_social_posts__post_id__patch", input)`)
1070
+ - Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
1071
+ - API-key scope: `campaigns:write`
1072
+
1073
+ Edit a post that has not gone out yet. Only the fields you send change.
1074
+
1075
+ **Input**
1076
+
1077
+ | Field | Type | Required | Description |
1078
+ |---|---|---|---|
1079
+ | `path.post_id` | `string` | yes | The post's id. |
1080
+ | `body` | `SocialPostUpdateRequest` | yes | Request body; fields below. |
1081
+
1082
+ Body fields (`SocialPostUpdateRequest`):
1083
+
1084
+ | Field | Type | Required | Description |
1085
+ |---|---|---|---|
1086
+ | `body.account_ref` | `string \| null` | no | |
1087
+ | `body.body` | `string \| null` | no | max length 3000 |
1088
+ | `body.media` | `Array<SocialMediaItem> \| null` | no | max items 9 |
1089
+ | `body.post_type` | `"text" \| "image" \| "video" \| "document" \| null` | no | |
1090
+
1091
+ **Returns** `ApiResponse_SocialPost_`: the envelope `{ data: SocialPost, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
1092
+
1093
+ Other envelope fields: `pagination` (PaginationMeta).
1094
+
1095
+ `SocialPost` fields:
1096
+
1097
+ | Field | Type | Required | Description |
1098
+ |---|---|---|---|
1099
+ | `body` | `string` | yes | |
1100
+ | `created_by` | `string` | yes | |
1101
+ | `id` | `string` | yes | |
1102
+ | `post_type` | `string` | yes | |
1103
+ | `status` | `string` | yes | |
1104
+ | `account_ref` | `string \| null` | no | |
1105
+ | `autopilot_config_id` | `string \| null` | no | |
1106
+ | `autopilot_version` | `integer \| null` | no | |
1107
+ | `campaign_id` | `string \| null` | no | |
1108
+ | `created_at` | `string \| null` | no | |
1109
+ | `external_post_id` | `string \| null` | no | |
1110
+ | `external_post_url` | `string \| null` | no | |
1111
+ | `failure_reason` | `string \| null` | no | |
1112
+ | `generation_metadata` | `Record<string, unknown> \| null` | no | |
1113
+ | `generation_sources` | `Array<string> \| null` | no | |
1114
+ | `idea_id` | `string \| null` | no | |
1115
+ | `media` | `Array<Record<string, unknown>> \| null` | no | |
1116
+ | `provider` | `string \| null` | no | |
1117
+ | `published_at` | `string \| null` | no | |
1118
+ | `scheduled_at` | `string \| null` | no | |
1119
+ | `updated_at` | `string \| null` | no | |
1120
+
1121
+ **Example**
1122
+
1123
+ ```ts
1124
+ const result = await g8.api.socialPublishing.updateSocialPost({ path: { post_id: "id" }, body: {} });
1125
+ ```
1126
+
1127
+ ---
1128
+
1129
+ ## Referenced types
1130
+
1131
+ Named types that appear in the tables above. Full TypeScript definitions: `G8Contract.<Name>` (`import type { G8Contract } from "@graph8/sdk"`).
1132
+
1133
+ <a id="type-socialaccount"></a>
1134
+
1135
+ ### `SocialAccount`
1136
+
1137
+ A connected social account. `id` is what `account_ref` takes everywhere else.
1138
+
1139
+ | Field | Type | Required | Description |
1140
+ |---|---|---|---|
1141
+ | `capabilities` | `SocialCapabilities` | yes | |
1142
+ | `capacity` | `SocialAccountCapacity` | yes | |
1143
+ | `id` | `string` | yes | |
1144
+ | `provider` | `string` | yes | |
1145
+ | `display_name` | `string \| null` | no | |
1146
+ | `profile_url` | `string \| null` | no | |
1147
+ | `status` | `string \| null` | no | |
1148
+
1149
+ <a id="type-socialengager"></a>
1150
+
1151
+ ### `SocialEngager`
1152
+
1153
+ One person who engaged with a post.
1154
+
1155
+ | Field | Type | Required | Description |
1156
+ |---|---|---|---|
1157
+ | `action` | `string` | yes | |
1158
+ | `name` | `string` | yes | |
1159
+ | `resolution` | `string` | yes | |
1160
+ | `contact_id` | `integer \| null` | no | |
1161
+ | `headline` | `string` | no | default `""` |
1162
+ | `linkedin_url` | `string \| null` | no | |
1163
+
1164
+ <a id="type-socialidea"></a>
1165
+
1166
+ ### `SocialIdea`
1167
+
1168
+ One post idea.
1169
+
1170
+ | Field | Type | Required | Description |
1171
+ |---|---|---|---|
1172
+ | `fit` | `SocialIdeaFit` | yes | |
1173
+ | `id` | `string` | yes | |
1174
+ | `source` | `string` | yes | |
1175
+ | `title` | `string` | yes | |
1176
+ | `concept` | `string` | no | default `""` |
1177
+ | `created_at` | `string \| null` | no | |
1178
+ | `drafted_count` | `integer` | no | default `0` |
1179
+ | `favorited` | `boolean` | no | default `false` |
1180
+ | `primary_hook` | `string \| null` | no | |
1181
+ | `proof_points` | `string \| null` | no | |
1182
+ | `receipts` | `Array<SocialIdeaReceipt>` | no | |
1183
+ | `secondary_hooks` | `Array<string>` | no | |
1184
+ | `why` | `string` | no | default `""` |
1185
+
1186
+ <a id="type-socialmediaitem"></a>
1187
+
1188
+ ### `SocialMediaItem`
1189
+
1190
+ One image (or other asset) attached to a post.
1191
+
1192
+ | Field | Type | Required | Description |
1193
+ |---|---|---|---|
1194
+ | `url` | `string` | yes | Publicly fetchable URL of the asset. |
1195
+ | `alt` | `string` | no | Alt text. `alt_text` is accepted as a synonym. default `""` |
1196
+ | `id` | `string \| null` | no | Asset-library id, when the asset came from there. |
1197
+ | `kind` | `string` | no | Asset kind. `image` for a picture. default `"image"` |
1198
+
1199
+ <a id="type-socialprovider"></a>
1200
+
1201
+ ### `SocialProvider`
1202
+
1203
+ A way of connecting an account.
1204
+
1205
+ | Field | Type | Required | Description |
1206
+ |---|---|---|---|
1207
+ | `available` | `boolean` | yes | |
1208
+ | `capabilities` | `SocialCapabilities` | yes | |
1209
+ | `connect_method` | `string` | yes | |
1210
+ | `description` | `string` | yes | |
1211
+ | `key` | `string` | yes | |
1212
+ | `label` | `string` | yes | |
1213
+
1214
+ <a id="type-socialqueueslot"></a>
1215
+
1216
+ ### `SocialQueueSlot`
1217
+
1218
+ A weekly publishing slot.
1219
+
1220
+ | Field | Type | Required | Description |
1221
+ |---|---|---|---|
1222
+ | `day` | `integer` | yes | 0 = Monday ... 6 = Sunday. min 0, max 6 |
1223
+ | `time` | `string` | yes | HH:MM in the autopilot's timezone. pattern `^\\d{2}:\\d{2}$` |
1224
+
1225
+ <a id="type-socialrefinespec"></a>
1226
+
1227
+ ### `SocialRefineSpec`
1228
+
1229
+ Rewrite an existing draft instead of generating from scratch.
1230
+
1231
+ | Field | Type | Required | Description |
1232
+ |---|---|---|---|
1233
+ | `body` | `string` | yes | min length 1, max length 3000 |
1234
+ | `instruction` | `string` | yes | min length 1, max length 300 |
1235
+
1236
+ <a id="type-socialvariant"></a>
1237
+
1238
+ ### `SocialVariant`
1239
+
1240
+ One generated draft.
1241
+
1242
+ | Field | Type | Required | Description |
1243
+ |---|---|---|---|
1244
+ | `body` | `string` | yes | |
1245
+ | `frame` | `string` | yes | |