@graph8/sdk 0.251.0 → 0.260.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.md +9 -2
  2. package/dist/cli.js +216 -0
  3. package/dist/index.d.mts +104 -7
  4. package/dist/index.d.ts +104 -7
  5. package/dist/index.js +44 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/index.mjs +44 -3
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/react.d.mts +102 -7
  10. package/dist/react.d.ts +102 -7
  11. package/dist/react.js +62 -11
  12. package/dist/react.js.map +1 -1
  13. package/dist/react.mjs +53 -12
  14. package/dist/react.mjs.map +1 -1
  15. package/dist/types/README.md +7 -0
  16. package/dist/types/agency.d.ts +20 -0
  17. package/dist/types/agentSetup.d.ts +57 -0
  18. package/dist/types/api.d.ts +127 -0
  19. package/dist/types/appClient.d.ts +99 -0
  20. package/dist/types/appPlatform.d.ts +269 -0
  21. package/dist/types/appTokens.d.ts +125 -0
  22. package/dist/types/apps.d.ts +130 -0
  23. package/dist/types/audiences.d.ts +88 -0
  24. package/dist/types/calendar.d.ts +55 -0
  25. package/dist/types/campaigns.d.ts +61 -0
  26. package/dist/types/chat.d.ts +35 -0
  27. package/dist/types/cli.d.ts +14 -0
  28. package/dist/types/companies.d.ts +123 -0
  29. package/dist/types/contacts.d.ts +200 -0
  30. package/dist/types/copilot.d.ts +31 -0
  31. package/dist/types/core.d.ts +1052 -0
  32. package/dist/types/deals.d.ts +215 -0
  33. package/dist/types/enrich.d.ts +51 -0
  34. package/dist/types/fields.d.ts +84 -0
  35. package/dist/types/forms.d.ts +16 -0
  36. package/dist/types/http.d.ts +141 -0
  37. package/dist/types/inbox.d.ts +123 -0
  38. package/dist/types/index.d.ts +63 -0
  39. package/dist/types/intent.d.ts +196 -0
  40. package/dist/types/lists.d.ts +44 -0
  41. package/dist/types/mailboxes.d.ts +240 -0
  42. package/dist/types/marketplace.d.ts +62 -0
  43. package/dist/types/meetings.d.ts +70 -0
  44. package/dist/types/newsletter.d.ts +212 -0
  45. package/dist/types/notes.d.ts +57 -0
  46. package/dist/types/objects.d.ts +281 -0
  47. package/dist/types/pipelines.d.ts +135 -0
  48. package/dist/types/quotes.d.ts +143 -0
  49. package/dist/types/react.d.ts +978 -0
  50. package/dist/types/search.d.ts +99 -0
  51. package/dist/types/sequences.d.ts +255 -0
  52. package/dist/types/signals.d.ts +28 -0
  53. package/dist/types/skills.d.ts +176 -0
  54. package/dist/types/snippet.d.ts +24 -0
  55. package/dist/types/studio.d.ts +161 -0
  56. package/dist/types/tasks.d.ts +101 -0
  57. package/dist/types/types.d.ts +45 -0
  58. package/dist/types/utils.d.ts +21 -0
  59. package/dist/types/version.d.ts +10 -0
  60. package/dist/types/visitors.d.ts +29 -0
  61. package/dist/types/voice.d.ts +304 -0
  62. package/dist/types/webhooks.d.ts +71 -0
  63. package/dist/types/workflows.d.ts +229 -0
  64. package/docs/agents.md +748 -0
  65. package/docs/api/README.md +165 -0
  66. package/docs/api/accounts.d.ts +396 -0
  67. package/docs/api/accounts.md +644 -0
  68. package/docs/api/adCampaigns.d.ts +707 -0
  69. package/docs/api/adCampaigns.md +1091 -0
  70. package/docs/api/adCreatives.d.ts +996 -0
  71. package/docs/api/adCreatives.md +1708 -0
  72. package/docs/api/agency.d.ts +556 -0
  73. package/docs/api/agency.md +845 -0
  74. package/docs/api/agent.d.ts +330 -0
  75. package/docs/api/agent.md +514 -0
  76. package/docs/api/agents.d.ts +1622 -0
  77. package/docs/api/agents.md +2860 -0
  78. package/docs/api/aiInbox.d.ts +1984 -0
  79. package/docs/api/aiInbox.md +3490 -0
  80. package/docs/api/analytics.d.ts +1273 -0
  81. package/docs/api/analytics.md +2095 -0
  82. package/docs/api/apiKeys.d.ts +252 -0
  83. package/docs/api/apiKeys.md +318 -0
  84. package/docs/api/appDeployments.d.ts +236 -0
  85. package/docs/api/appDeployments.md +471 -0
  86. package/docs/api/appDomains.d.ts +171 -0
  87. package/docs/api/appDomains.md +281 -0
  88. package/docs/api/appLogs.d.ts +120 -0
  89. package/docs/api/appLogs.md +159 -0
  90. package/docs/api/appObjects.d.ts +415 -0
  91. package/docs/api/appObjects.md +568 -0
  92. package/docs/api/appPages.d.ts +557 -0
  93. package/docs/api/appPages.md +796 -0
  94. package/docs/api/appPlatformTokens.d.ts +123 -0
  95. package/docs/api/appPlatformTokens.md +172 -0
  96. package/docs/api/appointments.d.ts +2361 -0
  97. package/docs/api/appointments.md +3917 -0
  98. package/docs/api/apps.d.ts +822 -0
  99. package/docs/api/apps.md +1342 -0
  100. package/docs/api/assertUpsert.d.ts +286 -0
  101. package/docs/api/assertUpsert.md +370 -0
  102. package/docs/api/audienceSyncs.d.ts +259 -0
  103. package/docs/api/audienceSyncs.md +395 -0
  104. package/docs/api/brandKit.d.ts +686 -0
  105. package/docs/api/brandKit.md +1133 -0
  106. package/docs/api/bugReports.d.ts +181 -0
  107. package/docs/api/bugReports.md +268 -0
  108. package/docs/api/by-path.md +3260 -0
  109. package/docs/api/calendarInvites.d.ts +117 -0
  110. package/docs/api/calendarInvites.md +148 -0
  111. package/docs/api/campaignWorkflows.d.ts +152 -0
  112. package/docs/api/campaignWorkflows.md +200 -0
  113. package/docs/api/campaigns.d.ts +721 -0
  114. package/docs/api/campaigns.md +1236 -0
  115. package/docs/api/channels.d.ts +171 -0
  116. package/docs/api/channels.md +235 -0
  117. package/docs/api/cliCampaigns.d.ts +205 -0
  118. package/docs/api/cliCampaigns.md +256 -0
  119. package/docs/api/cliPipelines.d.ts +324 -0
  120. package/docs/api/cliPipelines.md +562 -0
  121. package/docs/api/clickHouse.d.ts +115 -0
  122. package/docs/api/clickHouse.md +138 -0
  123. package/docs/api/companies.d.ts +1636 -0
  124. package/docs/api/companies.md +2211 -0
  125. package/docs/api/companyIntelligence.d.ts +299 -0
  126. package/docs/api/companyIntelligence.md +488 -0
  127. package/docs/api/contacts.d.ts +2173 -0
  128. package/docs/api/contacts.md +3143 -0
  129. package/docs/api/content.d.ts +968 -0
  130. package/docs/api/content.md +1667 -0
  131. package/docs/api/contentGridSkills.d.ts +177 -0
  132. package/docs/api/contentGridSkills.md +271 -0
  133. package/docs/api/copilot.d.ts +1017 -0
  134. package/docs/api/copilot.md +1765 -0
  135. package/docs/api/crmSyncs.d.ts +215 -0
  136. package/docs/api/crmSyncs.md +301 -0
  137. package/docs/api/customerSuccess.d.ts +491 -0
  138. package/docs/api/customerSuccess.md +776 -0
  139. package/docs/api/deals.d.ts +1696 -0
  140. package/docs/api/deals.md +2432 -0
  141. package/docs/api/deliverability.d.ts +418 -0
  142. package/docs/api/deliverability.md +677 -0
  143. package/docs/api/desk.d.ts +1765 -0
  144. package/docs/api/desk.md +3007 -0
  145. package/docs/api/dialer.d.ts +1185 -0
  146. package/docs/api/dialer.md +2166 -0
  147. package/docs/api/dialerAnalytics.d.ts +187 -0
  148. package/docs/api/dialerAnalytics.md +257 -0
  149. package/docs/api/documents.d.ts +895 -0
  150. package/docs/api/documents.md +1440 -0
  151. package/docs/api/duplicates.d.ts +195 -0
  152. package/docs/api/duplicates.md +315 -0
  153. package/docs/api/eSign.d.ts +38 -0
  154. package/docs/api/eSign.md +54 -0
  155. package/docs/api/eSignature.d.ts +242 -0
  156. package/docs/api/eSignature.md +341 -0
  157. package/docs/api/enrichment.d.ts +3207 -0
  158. package/docs/api/enrichment.md +5225 -0
  159. package/docs/api/events.d.ts +115 -0
  160. package/docs/api/events.md +105 -0
  161. package/docs/api/fields.d.ts +482 -0
  162. package/docs/api/fields.md +566 -0
  163. package/docs/api/forms.d.ts +1012 -0
  164. package/docs/api/forms.md +1542 -0
  165. package/docs/api/gtmCampaigns.d.ts +662 -0
  166. package/docs/api/gtmCampaigns.md +1044 -0
  167. package/docs/api/gtmContext.d.ts +1187 -0
  168. package/docs/api/gtmContext.md +2112 -0
  169. package/docs/api/gtmDeliverability.d.ts +60 -0
  170. package/docs/api/gtmDeliverability.md +63 -0
  171. package/docs/api/gtmKnowledgeBase.d.ts +76 -0
  172. package/docs/api/gtmKnowledgeBase.md +91 -0
  173. package/docs/api/gtmLaunchHelpers.d.ts +123 -0
  174. package/docs/api/gtmLaunchHelpers.md +148 -0
  175. package/docs/api/gtmLibrary.d.ts +448 -0
  176. package/docs/api/gtmLibrary.md +780 -0
  177. package/docs/api/health.d.ts +39 -0
  178. package/docs/api/health.md +58 -0
  179. package/docs/api/imageLibrary.d.ts +341 -0
  180. package/docs/api/imageLibrary.md +569 -0
  181. package/docs/api/imports.d.ts +157 -0
  182. package/docs/api/imports.md +174 -0
  183. package/docs/api/inbox.d.ts +709 -0
  184. package/docs/api/inbox.md +1067 -0
  185. package/docs/api/install.d.ts +213 -0
  186. package/docs/api/install.md +317 -0
  187. package/docs/api/installedApps.d.ts +131 -0
  188. package/docs/api/installedApps.md +241 -0
  189. package/docs/api/integrationStatus.d.ts +142 -0
  190. package/docs/api/integrationStatus.md +205 -0
  191. package/docs/api/integrations.d.ts +2327 -0
  192. package/docs/api/integrations.md +3791 -0
  193. package/docs/api/intent.d.ts +482 -0
  194. package/docs/api/intent.md +858 -0
  195. package/docs/api/knowledge.d.ts +501 -0
  196. package/docs/api/knowledge.md +843 -0
  197. package/docs/api/knowledgeBase.d.ts +84 -0
  198. package/docs/api/knowledgeBase.md +96 -0
  199. package/docs/api/landingPages.d.ts +1411 -0
  200. package/docs/api/landingPages.md +2488 -0
  201. package/docs/api/leads.d.ts +133 -0
  202. package/docs/api/leads.md +180 -0
  203. package/docs/api/library.d.ts +217 -0
  204. package/docs/api/library.md +338 -0
  205. package/docs/api/linkedIn.d.ts +227 -0
  206. package/docs/api/linkedIn.md +289 -0
  207. package/docs/api/linkedInOutreach.d.ts +727 -0
  208. package/docs/api/linkedInOutreach.md +990 -0
  209. package/docs/api/lists.d.ts +1106 -0
  210. package/docs/api/lists.md +1609 -0
  211. package/docs/api/logs.d.ts +71 -0
  212. package/docs/api/logs.md +70 -0
  213. package/docs/api/mailboxes.d.ts +1050 -0
  214. package/docs/api/mailboxes.md +1690 -0
  215. package/docs/api/marketingIntelligence.d.ts +256 -0
  216. package/docs/api/marketingIntelligence.md +454 -0
  217. package/docs/api/marketplace.d.ts +3173 -0
  218. package/docs/api/marketplace.md +5953 -0
  219. package/docs/api/mcp.d.ts +69 -0
  220. package/docs/api/mcp.md +69 -0
  221. package/docs/api/me.d.ts +54 -0
  222. package/docs/api/me.md +56 -0
  223. package/docs/api/meetings.d.ts +539 -0
  224. package/docs/api/meetings.md +747 -0
  225. package/docs/api/newsletter.d.ts +1613 -0
  226. package/docs/api/newsletter.md +2746 -0
  227. package/docs/api/notes.d.ts +517 -0
  228. package/docs/api/notes.md +888 -0
  229. package/docs/api/notifications.d.ts +94 -0
  230. package/docs/api/notifications.md +105 -0
  231. package/docs/api/objects.d.ts +621 -0
  232. package/docs/api/objects.md +1098 -0
  233. package/docs/api/openSearch.d.ts +234 -0
  234. package/docs/api/openSearch.md +297 -0
  235. package/docs/api/ops.d.ts +299 -0
  236. package/docs/api/ops.md +339 -0
  237. package/docs/api/orgGovernance.d.ts +393 -0
  238. package/docs/api/orgGovernance.md +623 -0
  239. package/docs/api/orgVideos.d.ts +184 -0
  240. package/docs/api/orgVideos.md +252 -0
  241. package/docs/api/organizationSettings.d.ts +626 -0
  242. package/docs/api/organizationSettings.md +911 -0
  243. package/docs/api/phoneNumbers.d.ts +484 -0
  244. package/docs/api/phoneNumbers.md +777 -0
  245. package/docs/api/profile.d.ts +329 -0
  246. package/docs/api/profile.md +540 -0
  247. package/docs/api/programmaticPages.d.ts +400 -0
  248. package/docs/api/programmaticPages.md +626 -0
  249. package/docs/api/providerDomains.d.ts +866 -0
  250. package/docs/api/providerDomains.md +1446 -0
  251. package/docs/api/providerUsage.d.ts +129 -0
  252. package/docs/api/providerUsage.md +186 -0
  253. package/docs/api/public.d.ts +69 -0
  254. package/docs/api/public.md +78 -0
  255. package/docs/api/publicCopilot.d.ts +67 -0
  256. package/docs/api/publicCopilot.md +80 -0
  257. package/docs/api/publicSignals.d.ts +66 -0
  258. package/docs/api/publicSignals.md +71 -0
  259. package/docs/api/publicVisitors.d.ts +97 -0
  260. package/docs/api/publicVisitors.md +118 -0
  261. package/docs/api/quotes.d.ts +1564 -0
  262. package/docs/api/quotes.md +2553 -0
  263. package/docs/api/radar.d.ts +808 -0
  264. package/docs/api/radar.md +1431 -0
  265. package/docs/api/radarReports.d.ts +208 -0
  266. package/docs/api/radarReports.md +306 -0
  267. package/docs/api/recordRoles.d.ts +143 -0
  268. package/docs/api/recordRoles.md +175 -0
  269. package/docs/api/repos.d.ts +146 -0
  270. package/docs/api/repos.md +211 -0
  271. package/docs/api/research.d.ts +295 -0
  272. package/docs/api/research.md +534 -0
  273. package/docs/api/revenue.d.ts +402 -0
  274. package/docs/api/revenue.md +608 -0
  275. package/docs/api/revenueAnalytics.d.ts +147 -0
  276. package/docs/api/revenueAnalytics.md +212 -0
  277. package/docs/api/revenueLifecycle.d.ts +207 -0
  278. package/docs/api/revenueLifecycle.md +274 -0
  279. package/docs/api/revenueRecords.d.ts +372 -0
  280. package/docs/api/revenueRecords.md +563 -0
  281. package/docs/api/roles.d.ts +431 -0
  282. package/docs/api/roles.md +812 -0
  283. package/docs/api/salesCoach.d.ts +877 -0
  284. package/docs/api/salesCoach.md +1540 -0
  285. package/docs/api/sandbox.d.ts +210 -0
  286. package/docs/api/sandbox.md +380 -0
  287. package/docs/api/scans.d.ts +104 -0
  288. package/docs/api/scans.md +136 -0
  289. package/docs/api/scheduleBuy.d.ts +293 -0
  290. package/docs/api/scheduleBuy.md +431 -0
  291. package/docs/api/scraping.d.ts +266 -0
  292. package/docs/api/scraping.md +383 -0
  293. package/docs/api/sdrAnalytics.d.ts +138 -0
  294. package/docs/api/sdrAnalytics.md +246 -0
  295. package/docs/api/search.d.ts +598 -0
  296. package/docs/api/search.md +866 -0
  297. package/docs/api/seo.d.ts +447 -0
  298. package/docs/api/seo.md +660 -0
  299. package/docs/api/sequenceLifecycle.d.ts +439 -0
  300. package/docs/api/sequenceLifecycle.md +513 -0
  301. package/docs/api/sequences.d.ts +1936 -0
  302. package/docs/api/sequences.md +3232 -0
  303. package/docs/api/settings.d.ts +448 -0
  304. package/docs/api/settings.md +731 -0
  305. package/docs/api/signals.d.ts +1441 -0
  306. package/docs/api/signals.md +2526 -0
  307. package/docs/api/signatures.d.ts +719 -0
  308. package/docs/api/signatures.md +1247 -0
  309. package/docs/api/skills.d.ts +230 -0
  310. package/docs/api/skills.md +466 -0
  311. package/docs/api/snippet.d.ts +85 -0
  312. package/docs/api/snippet.md +106 -0
  313. package/docs/api/socialPublishing.d.ts +824 -0
  314. package/docs/api/socialPublishing.md +1245 -0
  315. package/docs/api/studioDocuments.d.ts +244 -0
  316. package/docs/api/studioDocuments.md +348 -0
  317. package/docs/api/support.d.ts +90 -0
  318. package/docs/api/support.md +76 -0
  319. package/docs/api/suppressions.d.ts +241 -0
  320. package/docs/api/suppressions.md +343 -0
  321. package/docs/api/surveys.d.ts +847 -0
  322. package/docs/api/surveys.md +1223 -0
  323. package/docs/api/tasks.d.ts +813 -0
  324. package/docs/api/tasks.md +1344 -0
  325. package/docs/api/teamMembers.d.ts +668 -0
  326. package/docs/api/teamMembers.md +1040 -0
  327. package/docs/api/teams.d.ts +784 -0
  328. package/docs/api/teams.md +1395 -0
  329. package/docs/api/usage.d.ts +277 -0
  330. package/docs/api/usage.md +389 -0
  331. package/docs/api/visitors.d.ts +690 -0
  332. package/docs/api/visitors.md +1075 -0
  333. package/docs/api/voice.d.ts +4661 -0
  334. package/docs/api/voice.md +7905 -0
  335. package/docs/api/webAnalytics.d.ts +964 -0
  336. package/docs/api/webAnalytics.md +1452 -0
  337. package/docs/api/webChat.d.ts +1704 -0
  338. package/docs/api/webChat.md +2048 -0
  339. package/docs/api/webhooks.d.ts +251 -0
  340. package/docs/api/webhooks.md +386 -0
  341. package/docs/api/websiteEditor.d.ts +324 -0
  342. package/docs/api/websiteEditor.md +517 -0
  343. package/docs/api/work.d.ts +2298 -0
  344. package/docs/api/work.md +3096 -0
  345. package/docs/api/workbench.d.ts +2962 -0
  346. package/docs/api/workbench.md +4884 -0
  347. package/docs/api/workflows.d.ts +1218 -0
  348. package/docs/api/workflows.md +2302 -0
  349. package/docs/sdk-clients.md +4339 -0
  350. package/package.json +10 -3
@@ -0,0 +1,277 @@
1
+ /* Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. */
2
+
3
+ /**
4
+ * Types for `g8.api.usage` (Usage): 9 operations.
5
+ *
6
+ * For reading. In code, import from the package instead:
7
+ * import type { ApiInput, ApiOutput, G8Contract } from "@graph8/sdk";
8
+ * type In = ApiInput<"get_billing_product_billing_products__product_id__get">;
9
+ *
10
+ * Reference with examples: usage.md
11
+ */
12
+ /* eslint-disable */
13
+
14
+ /** `g8.api.usage.<member>` -> the operationId it calls. */
15
+ export interface UsageMembers {
16
+ getBillingProduct: "get_billing_product_billing_products__product_id__get";
17
+ getCompanyBilling: "get_company_billing_companies__company_id__billing_get";
18
+ getCreditHolds: "get_credit_holds_usage_holds_get";
19
+ getDomainPricing: "get_domain_pricing_usage_pricing_domains__tld__get";
20
+ getLlmPricing: "get_llm_pricing_usage_pricing_llm_get";
21
+ getSubscriptionStatus: "get_subscription_status_usage_subscription_get";
22
+ getUsage: "get_usage_usage_get";
23
+ listBillingProducts: "list_billing_products_billing_products_get";
24
+ listUsageTransactions: "list_usage_transactions_usage_transactions_get";
25
+ }
26
+
27
+ /** Input and output of every `g8.api.usage` operation, keyed by operationId. */
28
+ export interface UsageOperations {
29
+ /**
30
+ * GET /billing/products/{product_id}
31
+ * Get Billing Product
32
+ * tier: read · scope: analytics:read
33
+ */
34
+ get_billing_product_billing_products__product_id__get: {
35
+ input: {
36
+ path: {
37
+ /** Product id from `GET /billing/products`. */
38
+ product_id: string;
39
+ };
40
+ headers?: {
41
+ "X-Target-Org-Id"?: string | null;
42
+ };
43
+ };
44
+ output: ApiResponse_ReportPayload_;
45
+ };
46
+ /**
47
+ * GET /companies/{company_id}/billing
48
+ * Get Company Billing
49
+ * tier: read · scope: analytics:read
50
+ */
51
+ get_company_billing_companies__company_id__billing_get: {
52
+ input: {
53
+ path: {
54
+ company_id: number;
55
+ };
56
+ query?: {
57
+ /** Invoices to return, newest first. 50 is a hard ceiling in the app, applied whatever is sent - declared honestly here so an over-large value is a 422 rather than a silently smaller answer. */
58
+ invoice_limit?: number;
59
+ };
60
+ headers?: {
61
+ "X-Target-Org-Id"?: string | null;
62
+ };
63
+ };
64
+ output: ApiResponse_ReportPayload_;
65
+ };
66
+ /**
67
+ * GET /usage/holds
68
+ * Get Credit Holds
69
+ * tier: read · scope: analytics:read
70
+ */
71
+ get_credit_holds_usage_holds_get: {
72
+ input: {
73
+ headers?: {
74
+ "X-Target-Org-Id"?: string | null;
75
+ };
76
+ };
77
+ output: ApiResponse_ReportPayload_;
78
+ };
79
+ /**
80
+ * GET /usage/pricing/domains/{tld}
81
+ * Get Domain Pricing
82
+ * tier: read · scope: analytics:read
83
+ */
84
+ get_domain_pricing_usage_pricing_domains__tld__get: {
85
+ input: {
86
+ path: {
87
+ /** Top-level domain, with or without the leading dot - `com` and `.com` both resolve. */
88
+ tld: string;
89
+ };
90
+ headers?: {
91
+ "X-Target-Org-Id"?: string | null;
92
+ };
93
+ };
94
+ output: ApiResponse_ReportPayload_;
95
+ };
96
+ /**
97
+ * GET /usage/pricing/llm
98
+ * Get Llm Pricing
99
+ * tier: read · scope: analytics:read
100
+ */
101
+ get_llm_pricing_usage_pricing_llm_get: {
102
+ input: {
103
+ query: {
104
+ /** Pricing tier, e.g. `g8_t1`. The same value that appears in the `llm_tier` column of `GET /usage/transactions`, which is where to find the tier a given operation actually bills at. */
105
+ llm_tier: string;
106
+ /** Prompt tokens. */
107
+ input_tokens?: number;
108
+ /** Completion tokens. */
109
+ output_tokens?: number;
110
+ };
111
+ headers?: {
112
+ "X-Target-Org-Id"?: string | null;
113
+ };
114
+ };
115
+ output: ApiResponse_ReportPayload_;
116
+ };
117
+ /**
118
+ * GET /usage/subscription
119
+ * Get Subscription Status
120
+ * tier: read · scope: analytics:read
121
+ */
122
+ get_subscription_status_usage_subscription_get: {
123
+ input: {
124
+ headers?: {
125
+ "X-Target-Org-Id"?: string | null;
126
+ };
127
+ };
128
+ output: ApiResponse_ReportPayload_;
129
+ };
130
+ /**
131
+ * GET /usage
132
+ * Get Usage
133
+ * tier: read · scope: usage:read
134
+ */
135
+ get_usage_usage_get: {
136
+ input: {
137
+ headers?: {
138
+ "X-Target-Org-Id"?: string | null;
139
+ };
140
+ };
141
+ output: ApiResponse_UsageBalanceResponse_;
142
+ };
143
+ /**
144
+ * GET /billing/products
145
+ * List Billing Products
146
+ * tier: read · scope: analytics:read
147
+ */
148
+ list_billing_products_billing_products_get: {
149
+ input: {
150
+ query?: {
151
+ /** Only products currently on sale. */
152
+ active_only?: boolean;
153
+ };
154
+ headers?: {
155
+ "X-Target-Org-Id"?: string | null;
156
+ };
157
+ };
158
+ output: ApiResponse_ReportListPayload_;
159
+ };
160
+ /**
161
+ * GET /usage/transactions
162
+ * List Usage Transactions
163
+ * tier: read · scope: usage:read
164
+ */
165
+ list_usage_transactions_usage_transactions_get: {
166
+ input: {
167
+ query?: {
168
+ /** Page number (ignored when `cursor` is supplied) */
169
+ page?: number;
170
+ /** Items per page */
171
+ limit?: number;
172
+ /** Opaque pagination cursor from a prior response's `next_cursor`. When supplied it takes precedence over `page`. */
173
+ cursor?: string | null;
174
+ };
175
+ headers?: {
176
+ "X-Target-Org-Id"?: string | null;
177
+ };
178
+ };
179
+ output: ApiResponse_list_UsageTransactionResponse__;
180
+ };
181
+ }
182
+
183
+ // 9 schemas referenced above (the same as G8Contract.<Name>).
184
+
185
+ export interface ApiResponse_ReportListPayload_ {
186
+ data: ReportListPayload;
187
+ pagination?: PaginationMeta | null;
188
+ }
189
+
190
+ export interface ApiResponse_ReportPayload_ {
191
+ data: ReportPayload;
192
+ pagination?: PaginationMeta | null;
193
+ }
194
+
195
+ export interface ApiResponse_UsageBalanceResponse_ {
196
+ data: UsageBalanceResponse;
197
+ pagination?: PaginationMeta | null;
198
+ }
199
+
200
+ export interface ApiResponse_list_UsageTransactionResponse__ {
201
+ data: Array<UsageTransactionResponse>;
202
+ pagination?: PaginationMeta | null;
203
+ }
204
+
205
+ export interface PaginationMeta {
206
+ /** Whether there are more pages */
207
+ has_next: boolean;
208
+ /** Items per page */
209
+ limit: number;
210
+ /** Opaque cursor for the next page; null when there are no more items. Pass it back as the `cursor` query param to fetch the following page without computing page numbers. */
211
+ next_cursor?: string | null;
212
+ /** Current page number (1-indexed) */
213
+ page: number;
214
+ /** Total number of items */
215
+ total: number;
216
+ }
217
+
218
+ /**
219
+ * An OPEN envelope for a report that answers with a bare LIST.
220
+ *
221
+ * A bare list is reachable as `items`; a named list (`{"counts": {...}}`)
222
+ * keeps its own key AND gains `items`, so a caller can read either shape
223
+ * without branching.
224
+ */
225
+ export interface ReportListPayload {
226
+ items?: Array<unknown>;
227
+ [key: string]: unknown;
228
+ }
229
+
230
+ /**
231
+ * An OPEN envelope around one report's answer.
232
+ *
233
+ * The app wraps every one of these reports in `{success, data, meta}`, where
234
+ * `meta` carries the cache state, the window and - on the agency reports -
235
+ * `failed_org_ids`, the orgs that contributed NOTHING to the totals above.
236
+ * That field is the difference between "this client sent no email" and "we
237
+ * could not query this client", so it is forwarded rather than flattened
238
+ * away.
239
+ *
240
+ * Open on purpose: `data` is `dict | list` in the app and its contents grow
241
+ * with the product. A closed model would turn every new metric into a
242
+ * silently dropped one.
243
+ */
244
+ export type ReportPayload = Record<string, unknown>;
245
+
246
+ /** An org's current credit balance + lifetime totals. */
247
+ export interface UsageBalanceResponse {
248
+ /** Spendable credits (credits - held) */
249
+ available_credits: number;
250
+ /** Total credit balance */
251
+ credits: number;
252
+ /** Org / customer id the credits belong to */
253
+ customer_id: string;
254
+ /** Credits currently on hold */
255
+ held_credits: number;
256
+ /** Lifetime credits earned */
257
+ total_earned: number;
258
+ /** Lifetime credits used */
259
+ total_used: number;
260
+ }
261
+
262
+ /** A single credit-ledger transaction. */
263
+ export interface UsageTransactionResponse {
264
+ /** Credit delta (negative = spend) */
265
+ amount?: number;
266
+ created_at?: string | null;
267
+ description?: string | null;
268
+ /** Transaction id */
269
+ id?: string | null;
270
+ /** g8_t1 / g8_t2 / g8_t3 when an LLM charge */
271
+ llm_tier?: string | null;
272
+ quantity?: number | null;
273
+ /** Service the charge was for (e.g. 'ai_enrichment') */
274
+ service?: string | null;
275
+ /** Transaction type (e.g. 'usage', 'purchase') */
276
+ type?: string | null;
277
+ }
@@ -0,0 +1,389 @@
1
+ <!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
2
+
3
+ # `g8.api.usage`: Usage
4
+
5
+ 9 operations (9 read).
6
+
7
+ No hand-written client covers this area. Call it through `g8.api.usage.*` 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: [usage.d.ts](usage.d.ts).
20
+
21
+ ## Operations
22
+
23
+ | Call | HTTP | Tier | Scope | Summary |
24
+ |---|---|---|---|---|
25
+ | [`getBillingProduct`](#op-getbillingproduct) | `GET /api/v1/billing/products/{product_id}` | read | `analytics:read` | Get Billing Product |
26
+ | [`getCompanyBilling`](#op-getcompanybilling) | `GET /api/v1/companies/{company_id}/billing` | read | `analytics:read` | Get Company Billing |
27
+ | [`getCreditHolds`](#op-getcreditholds) | `GET /api/v1/usage/holds` | read | `analytics:read` | Get Credit Holds |
28
+ | [`getDomainPricing`](#op-getdomainpricing) | `GET /api/v1/usage/pricing/domains/{tld}` | read | `analytics:read` | Get Domain Pricing |
29
+ | [`getLlmPricing`](#op-getllmpricing) | `GET /api/v1/usage/pricing/llm` | read | `analytics:read` | Get Llm Pricing |
30
+ | [`getSubscriptionStatus`](#op-getsubscriptionstatus) | `GET /api/v1/usage/subscription` | read | `analytics:read` | Get Subscription Status |
31
+ | [`getUsage`](#op-getusage) | `GET /api/v1/usage` | read | `usage:read` | Get Usage |
32
+ | [`listBillingProducts`](#op-listbillingproducts) | `GET /api/v1/billing/products` | read | `analytics:read` | List Billing Products |
33
+ | [`listUsageTransactions`](#op-listusagetransactions) | `GET /api/v1/usage/transactions` | read | `usage:read` | List Usage Transactions |
34
+
35
+ ---
36
+
37
+ <a id="op-getbillingproduct"></a>
38
+
39
+ ### `g8.api.usage.getBillingProduct(input)`
40
+
41
+ **Get Billing Product**
42
+
43
+ - HTTP: `GET /api/v1/billing/products/{product_id}`
44
+ - operationId: `get_billing_product_billing_products__product_id__get` (also callable as `g8.api.call("get_billing_product_billing_products__product_id__get", input)`)
45
+ - Tier: `read`: reads data; safe to call and to retry
46
+ - API-key scope: `analytics:read`
47
+
48
+ One plan or credit pack from the catalogue.
49
+
50
+ **Input**
51
+
52
+ | Field | Type | Required | Description |
53
+ |---|---|---|---|
54
+ | `path.product_id` | `string` | yes | Product id from `GET /billing/products`. |
55
+
56
+ **Returns** `ApiResponse_ReportPayload_`: the envelope `{ data: ReportPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
57
+
58
+ Other envelope fields: `pagination` (PaginationMeta).
59
+
60
+ **Example**
61
+
62
+ ```ts
63
+ const result = await g8.api.usage.getBillingProduct({ path: { product_id: "id" } });
64
+ ```
65
+
66
+ ---
67
+
68
+ <a id="op-getcompanybilling"></a>
69
+
70
+ ### `g8.api.usage.getCompanyBilling(input)`
71
+
72
+ **Get Company Billing**
73
+
74
+ - HTTP: `GET /api/v1/companies/{company_id}/billing`
75
+ - operationId: `get_company_billing_companies__company_id__billing_get` (also callable as `g8.api.call("get_company_billing_companies__company_id__billing_get", input)`)
76
+ - Tier: `read`: reads data; safe to call and to retry
77
+ - API-key scope: `analytics:read`
78
+
79
+ What ONE of your customers is paying you: subscription, invoices,
80
+ upcoming charge.
81
+
82
+ Read from the `stripe_*` tables that the per-org Stripe sync populates
83
+ from the customer's OWN connected account, so this is revenue the caller
84
+ receives - not what the caller owes graph8, which is `GET /usage`.
85
+
86
+ `payment_method` is null by design rather than by omission: card data is
87
+ not synced, and the hosted portal is the only place it exists.
88
+
89
+ A company in another org is a 404, not a 403 - the app's own choice, so
90
+ that the API cannot be used to test whether a company id exists somewhere
91
+ else.
92
+
93
+ **Input**
94
+
95
+ | Field | Type | Required | Description |
96
+ |---|---|---|---|
97
+ | `path.company_id` | `integer` | yes | |
98
+ | `query.invoice_limit` | `integer` | no | Invoices to return, newest first. 50 is a hard ceiling in the app, applied whatever is sent - declared honestly here so an over-large value is a 422 rather than a silently smaller answer. default `20` |
99
+
100
+ **Returns** `ApiResponse_ReportPayload_`: the envelope `{ data: ReportPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
101
+
102
+ Other envelope fields: `pagination` (PaginationMeta).
103
+
104
+ **Example**
105
+
106
+ ```ts
107
+ const result = await g8.api.usage.getCompanyBilling({ path: { company_id: 123 } });
108
+ ```
109
+
110
+ ---
111
+
112
+ <a id="op-getcreditholds"></a>
113
+
114
+ ### `g8.api.usage.getCreditHolds(input?)`
115
+
116
+ **Get Credit Holds**
117
+
118
+ - HTTP: `GET /api/v1/usage/holds`
119
+ - operationId: `get_credit_holds_usage_holds_get` (also callable as `g8.api.call("get_credit_holds_usage_holds_get", input)`)
120
+ - Tier: `read`: reads data; safe to call and to retry
121
+ - API-key scope: `analytics:read`
122
+
123
+ Credits currently RESERVED against work in flight.
124
+
125
+ This is the difference `GET /usage` reports but cannot explain: a hold
126
+ subtracts from `available_credits` without appearing in the transaction
127
+ ledger, because nothing has been spent yet. An operation that reserves
128
+ credits up front and settles later shows up here in between.
129
+
130
+ A balance that looks lower than the ledger says is almost always this.
131
+
132
+ The org is the authenticated key's own. There is no customer parameter on
133
+ this route.
134
+
135
+ **Input**: none.
136
+
137
+ **Returns** `ApiResponse_ReportPayload_`: the envelope `{ data: ReportPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
138
+
139
+ Other envelope fields: `pagination` (PaginationMeta).
140
+
141
+ **Example**
142
+
143
+ ```ts
144
+ const result = await g8.api.usage.getCreditHolds();
145
+ ```
146
+
147
+ ---
148
+
149
+ <a id="op-getdomainpricing"></a>
150
+
151
+ ### `g8.api.usage.getDomainPricing(input)`
152
+
153
+ **Get Domain Pricing**
154
+
155
+ - HTTP: `GET /api/v1/usage/pricing/domains/{tld}`
156
+ - operationId: `get_domain_pricing_usage_pricing_domains__tld__get` (also callable as `g8.api.call("get_domain_pricing_usage_pricing_domains__tld__get", input)`)
157
+ - Tier: `read`: reads data; safe to call and to retry
158
+ - API-key scope: `analytics:read`
159
+
160
+ What registering a domain on this TLD costs in credits.
161
+
162
+ The price `POST /channels/domains/purchase` will charge. A TLD with no
163
+ pricing row is a 404 rather than a zero - a missing price is not a free
164
+ domain.
165
+
166
+ **Input**
167
+
168
+ | Field | Type | Required | Description |
169
+ |---|---|---|---|
170
+ | `path.tld` | `string` | yes | Top-level domain, with or without the leading dot - `com` and `.com` both resolve. |
171
+
172
+ **Returns** `ApiResponse_ReportPayload_`: the envelope `{ data: ReportPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
173
+
174
+ Other envelope fields: `pagination` (PaginationMeta).
175
+
176
+ **Example**
177
+
178
+ ```ts
179
+ const result = await g8.api.usage.getDomainPricing({ path: { tld: "example" } });
180
+ ```
181
+
182
+ ---
183
+
184
+ <a id="op-getllmpricing"></a>
185
+
186
+ ### `g8.api.usage.getLlmPricing(input)`
187
+
188
+ **Get Llm Pricing**
189
+
190
+ - HTTP: `GET /api/v1/usage/pricing/llm`
191
+ - operationId: `get_llm_pricing_usage_pricing_llm_get` (also callable as `g8.api.call("get_llm_pricing_usage_pricing_llm_get", input)`)
192
+ - Tier: `read`: reads data; safe to call and to retry
193
+ - API-key scope: `analytics:read`
194
+
195
+ What an LLM operation of this size would cost. Charges nothing.
196
+
197
+ READ `capped` before reading `credits`. Several tiers have a per-operation
198
+ ceiling, and for typical prompt sizes the ceiling is what is actually paid
199
+ - so `credits` stops moving when the prompt grows, and
200
+ `uncapped_credits` is what the token arithmetic alone would have produced.
201
+ A caller that shows `credits` without `capped` gets asked why shortening
202
+ the prompt changed nothing.
203
+
204
+ `found` is false for a tier that does not exist or is not currently
205
+ active; `credits` is then 0, which is not a price.
206
+
207
+ **Input**
208
+
209
+ | Field | Type | Required | Description |
210
+ |---|---|---|---|
211
+ | `query.llm_tier` | `string` | yes | Pricing tier, e.g. `g8_t1`. The same value that appears in the `llm_tier` column of `GET /usage/transactions`, which is where to find the tier a given operation actually bills at. |
212
+ | `query.input_tokens` | `integer` | no | Prompt tokens. default `0` |
213
+ | `query.output_tokens` | `integer` | no | Completion tokens. default `0` |
214
+
215
+ **Returns** `ApiResponse_ReportPayload_`: the envelope `{ data: ReportPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
216
+
217
+ Other envelope fields: `pagination` (PaginationMeta).
218
+
219
+ **Example**
220
+
221
+ ```ts
222
+ const result = await g8.api.usage.getLlmPricing({ query: { llm_tier: "example" } });
223
+ ```
224
+
225
+ ---
226
+
227
+ <a id="op-getsubscriptionstatus"></a>
228
+
229
+ ### `g8.api.usage.getSubscriptionStatus(input?)`
230
+
231
+ **Get Subscription Status**
232
+
233
+ - HTTP: `GET /api/v1/usage/subscription`
234
+ - operationId: `get_subscription_status_usage_subscription_get` (also callable as `g8.api.call("get_subscription_status_usage_subscription_get", input)`)
235
+ - Tier: `read`: reads data; safe to call and to retry
236
+ - API-key scope: `analytics:read`
237
+
238
+ Whether this organisation's subscription is active.
239
+
240
+ Worth checking before anything that spends: a charge against an inactive
241
+ subscription is refused even when the balance is healthy, so "insufficient
242
+ credits" is not the only way spending fails.
243
+
244
+ `raise_on_unavailable` is set, which is the whole point of answering this
245
+ as its own route rather than as a boolean somewhere else: without it an
246
+ unreachable billing service and an authoritatively-inactive subscription
247
+ both answer `false`, and those two mean opposite things. Unreachable
248
+ becomes a 503 here; `false` means false.
249
+
250
+ **Input**: none.
251
+
252
+ **Returns** `ApiResponse_ReportPayload_`: the envelope `{ data: ReportPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
253
+
254
+ Other envelope fields: `pagination` (PaginationMeta).
255
+
256
+ **Example**
257
+
258
+ ```ts
259
+ const result = await g8.api.usage.getSubscriptionStatus();
260
+ ```
261
+
262
+ ---
263
+
264
+ <a id="op-getusage"></a>
265
+
266
+ ### `g8.api.usage.getUsage(input?)`
267
+
268
+ **Get Usage**
269
+
270
+ - HTTP: `GET /api/v1/usage`
271
+ - operationId: `get_usage_usage_get` (also callable as `g8.api.call("get_usage_usage_get", input)`)
272
+ - Tier: `read`: reads data; safe to call and to retry
273
+ - API-key scope: `usage:read`
274
+
275
+ Current credit balance for the authenticated org — total, held, available, and lifetime totals.
276
+
277
+ **Input**: none.
278
+
279
+ **Returns** `ApiResponse_UsageBalanceResponse_`: the envelope `{ data: UsageBalanceResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
280
+
281
+ Other envelope fields: `pagination` (PaginationMeta).
282
+
283
+ `UsageBalanceResponse` fields:
284
+
285
+ | Field | Type | Required | Description |
286
+ |---|---|---|---|
287
+ | `available_credits` | `number` | yes | Spendable credits (credits - held) |
288
+ | `credits` | `number` | yes | Total credit balance |
289
+ | `customer_id` | `string` | yes | Org / customer id the credits belong to |
290
+ | `held_credits` | `number` | yes | Credits currently on hold |
291
+ | `total_earned` | `number` | yes | Lifetime credits earned |
292
+ | `total_used` | `number` | yes | Lifetime credits used |
293
+
294
+ **Example**
295
+
296
+ ```ts
297
+ const result = await g8.api.usage.getUsage();
298
+ ```
299
+
300
+ ---
301
+
302
+ <a id="op-listbillingproducts"></a>
303
+
304
+ ### `g8.api.usage.listBillingProducts(input?)`
305
+
306
+ **List Billing Products**
307
+
308
+ - HTTP: `GET /api/v1/billing/products`
309
+ - operationId: `list_billing_products_billing_products_get` (also callable as `g8.api.call("list_billing_products_billing_products_get", input)`)
310
+ - Tier: `read`: reads data; safe to call and to retry
311
+ - API-key scope: `analytics:read`
312
+
313
+ The plans and credit packs graph8 sells, with their prices.
314
+
315
+ The same catalogue the Billing page renders. It is not per-organisation -
316
+ every caller sees the same list - which is why this is one of the very few
317
+ credit-server reads that can be published without a customer parameter.
318
+
319
+ **Input**
320
+
321
+ | Field | Type | Required | Description |
322
+ |---|---|---|---|
323
+ | `query.active_only` | `boolean` | no | Only products currently on sale. default `true` |
324
+
325
+ **Returns** `ApiResponse_ReportListPayload_`: the envelope `{ data: ReportListPayload, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
326
+
327
+ Other envelope fields: `pagination` (PaginationMeta).
328
+
329
+ `ReportListPayload` fields:
330
+
331
+ | Field | Type | Required | Description |
332
+ |---|---|---|---|
333
+ | `items` | `Array<unknown>` | no | |
334
+
335
+ **Example**
336
+
337
+ ```ts
338
+ const result = await g8.api.usage.listBillingProducts();
339
+ ```
340
+
341
+ ---
342
+
343
+ <a id="op-listusagetransactions"></a>
344
+
345
+ ### `g8.api.usage.listUsageTransactions(input?)`
346
+
347
+ **List Usage Transactions**
348
+
349
+ - HTTP: `GET /api/v1/usage/transactions`
350
+ - operationId: `list_usage_transactions_usage_transactions_get` (also callable as `g8.api.call("list_usage_transactions_usage_transactions_get", input)`)
351
+ - Tier: `read`: reads data; safe to call and to retry
352
+ - API-key scope: `usage:read`
353
+
354
+ Paginated credit-transaction ledger for the authenticated org (most recent first).
355
+
356
+ Supports both page-number pagination (`page`/`limit`) and opaque cursor
357
+ pagination (`cursor`). When `cursor` is supplied it wins; the response always
358
+ returns `next_cursor` for forward iteration.
359
+
360
+ **Input**
361
+
362
+ | Field | Type | Required | Description |
363
+ |---|---|---|---|
364
+ | `query.page` | `integer` | no | Page number (ignored when `cursor` is supplied) default `1` |
365
+ | `query.limit` | `integer` | no | Items per page default `50` |
366
+ | `query.cursor` | `string \| null` | no | Opaque pagination cursor from a prior response's `next_cursor`. When supplied it takes precedence over `page`. |
367
+
368
+ **Returns** `ApiResponse_list_UsageTransactionResponse__`: the envelope `{ data: Array<UsageTransactionResponse>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
369
+
370
+ Other envelope fields: `pagination` (PaginationMeta).
371
+
372
+ `UsageTransactionResponse` fields:
373
+
374
+ | Field | Type | Required | Description |
375
+ |---|---|---|---|
376
+ | `amount` | `number` | no | Credit delta (negative = spend) default `0` |
377
+ | `created_at` | `string \| null` | no | |
378
+ | `description` | `string \| null` | no | |
379
+ | `id` | `string \| null` | no | Transaction id |
380
+ | `llm_tier` | `string \| null` | no | g8_t1 / g8_t2 / g8_t3 when an LLM charge |
381
+ | `quantity` | `integer \| null` | no | |
382
+ | `service` | `string \| null` | no | Service the charge was for (e.g. 'ai_enrichment') |
383
+ | `type` | `string \| null` | no | Transaction type (e.g. 'usage', 'purchase') |
384
+
385
+ **Example**
386
+
387
+ ```ts
388
+ const result = await g8.api.usage.listUsageTransactions();
389
+ ```