@graph8/sdk 0.264.0 → 0.277.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 (165) hide show
  1. package/README.md +3 -3
  2. package/dist/index.d.mts +140 -24
  3. package/dist/index.d.ts +140 -24
  4. package/dist/index.js +14 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +14 -5
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/react.d.mts +139 -22
  9. package/dist/react.d.ts +139 -22
  10. package/dist/react.js +13 -4
  11. package/dist/react.js.map +1 -1
  12. package/dist/react.mjs +13 -4
  13. package/dist/react.mjs.map +1 -1
  14. package/dist/types/core.d.ts +3 -1
  15. package/dist/types/enrich.d.ts +11 -4
  16. package/dist/types/index.d.ts +1 -1
  17. package/dist/types/react.d.ts +7 -3
  18. package/dist/types/search.d.ts +25 -1
  19. package/dist/types/version.d.ts +2 -2
  20. package/dist/types/webhooks.d.ts +2 -2
  21. package/docs/agents.md +7 -6
  22. package/docs/api/README.md +2 -2
  23. package/docs/api/accounts.d.ts +6 -0
  24. package/docs/api/adCampaigns.d.ts +6 -0
  25. package/docs/api/adCreatives.d.ts +6 -0
  26. package/docs/api/agency.d.ts +6 -0
  27. package/docs/api/agent.d.ts +6 -0
  28. package/docs/api/agents.d.ts +6 -0
  29. package/docs/api/aiInbox.d.ts +6 -0
  30. package/docs/api/analytics.d.ts +6 -0
  31. package/docs/api/apiKeys.d.ts +6 -0
  32. package/docs/api/appDeployments.d.ts +6 -0
  33. package/docs/api/appDomains.d.ts +6 -0
  34. package/docs/api/appLogs.d.ts +6 -0
  35. package/docs/api/appObjects.d.ts +6 -0
  36. package/docs/api/appPages.d.ts +6 -0
  37. package/docs/api/appPlatformTokens.d.ts +6 -0
  38. package/docs/api/appointments.d.ts +20 -2
  39. package/docs/api/appointments.md +27 -11
  40. package/docs/api/apps.d.ts +6 -0
  41. package/docs/api/apps.md +7 -5
  42. package/docs/api/assertUpsert.d.ts +12 -0
  43. package/docs/api/assertUpsert.md +4 -0
  44. package/docs/api/audienceSyncs.d.ts +6 -0
  45. package/docs/api/brandKit.d.ts +6 -0
  46. package/docs/api/bugReports.d.ts +6 -0
  47. package/docs/api/by-path.md +1 -0
  48. package/docs/api/calendarInvites.d.ts +6 -0
  49. package/docs/api/campaignWorkflows.d.ts +6 -0
  50. package/docs/api/campaigns.d.ts +6 -0
  51. package/docs/api/channels.d.ts +6 -0
  52. package/docs/api/cliCampaigns.d.ts +6 -0
  53. package/docs/api/cliPipelines.d.ts +6 -0
  54. package/docs/api/clickHouse.d.ts +6 -0
  55. package/docs/api/companies.d.ts +10 -2
  56. package/docs/api/companies.md +9 -2
  57. package/docs/api/companyIntelligence.d.ts +6 -0
  58. package/docs/api/contacts.d.ts +19 -4
  59. package/docs/api/contacts.md +13 -5
  60. package/docs/api/content.d.ts +6 -0
  61. package/docs/api/contentGridSkills.d.ts +6 -0
  62. package/docs/api/copilot.d.ts +6 -0
  63. package/docs/api/crmSyncs.d.ts +6 -0
  64. package/docs/api/customerSuccess.d.ts +6 -0
  65. package/docs/api/deals.d.ts +6 -0
  66. package/docs/api/deliverability.d.ts +6 -0
  67. package/docs/api/desk.d.ts +6 -0
  68. package/docs/api/dialer.d.ts +6 -0
  69. package/docs/api/documents.d.ts +6 -0
  70. package/docs/api/duplicates.d.ts +6 -0
  71. package/docs/api/eSignature.d.ts +6 -0
  72. package/docs/api/enrichment.d.ts +6 -0
  73. package/docs/api/events.d.ts +6 -0
  74. package/docs/api/fields.d.ts +6 -0
  75. package/docs/api/forms.d.ts +6 -0
  76. package/docs/api/gtmCampaigns.d.ts +6 -0
  77. package/docs/api/gtmContext.d.ts +6 -0
  78. package/docs/api/gtmDeliverability.d.ts +6 -0
  79. package/docs/api/gtmKnowledgeBase.d.ts +6 -0
  80. package/docs/api/gtmLibrary.d.ts +6 -0
  81. package/docs/api/imageLibrary.d.ts +6 -0
  82. package/docs/api/imports.d.ts +6 -0
  83. package/docs/api/inbox.d.ts +6 -0
  84. package/docs/api/install.d.ts +6 -0
  85. package/docs/api/installedApps.d.ts +6 -0
  86. package/docs/api/integrationStatus.d.ts +6 -0
  87. package/docs/api/integrations.d.ts +6 -0
  88. package/docs/api/intent.d.ts +6 -0
  89. package/docs/api/knowledge.d.ts +6 -0
  90. package/docs/api/knowledgeBase.d.ts +6 -0
  91. package/docs/api/landingPages.d.ts +6 -0
  92. package/docs/api/leads.d.ts +6 -0
  93. package/docs/api/library.d.ts +6 -0
  94. package/docs/api/linkedIn.d.ts +6 -0
  95. package/docs/api/linkedInOutreach.d.ts +6 -0
  96. package/docs/api/lists.d.ts +13 -0
  97. package/docs/api/lists.md +7 -0
  98. package/docs/api/logs.d.ts +6 -0
  99. package/docs/api/mailboxes.d.ts +6 -0
  100. package/docs/api/marketplace.d.ts +6 -0
  101. package/docs/api/mcp.d.ts +6 -0
  102. package/docs/api/me.d.ts +6 -0
  103. package/docs/api/meetings.d.ts +6 -0
  104. package/docs/api/newsletter.d.ts +6 -0
  105. package/docs/api/notes.d.ts +6 -0
  106. package/docs/api/notifications.d.ts +6 -0
  107. package/docs/api/objects.d.ts +6 -0
  108. package/docs/api/openSearch.d.ts +6 -0
  109. package/docs/api/ops.d.ts +6 -0
  110. package/docs/api/orgGovernance.d.ts +6 -0
  111. package/docs/api/orgVideos.d.ts +6 -0
  112. package/docs/api/organizationSettings.d.ts +6 -0
  113. package/docs/api/phoneNumbers.d.ts +6 -0
  114. package/docs/api/profile.d.ts +6 -0
  115. package/docs/api/programmaticPages.d.ts +6 -0
  116. package/docs/api/providerDomains.d.ts +6 -0
  117. package/docs/api/providerUsage.d.ts +6 -0
  118. package/docs/api/public.d.ts +6 -0
  119. package/docs/api/publicCopilot.d.ts +6 -0
  120. package/docs/api/publicSignals.d.ts +6 -0
  121. package/docs/api/publicVisitors.d.ts +6 -0
  122. package/docs/api/quotes.d.ts +6 -0
  123. package/docs/api/radarReports.d.ts +6 -0
  124. package/docs/api/recordRoles.d.ts +6 -0
  125. package/docs/api/repos.d.ts +6 -0
  126. package/docs/api/research.d.ts +6 -0
  127. package/docs/api/revenue.d.ts +6 -0
  128. package/docs/api/revenueAnalytics.d.ts +6 -0
  129. package/docs/api/revenueLifecycle.d.ts +11 -1
  130. package/docs/api/revenueLifecycle.md +11 -2
  131. package/docs/api/revenueRecords.d.ts +6 -0
  132. package/docs/api/roles.d.ts +49 -2
  133. package/docs/api/roles.md +65 -1
  134. package/docs/api/salesCoach.d.ts +6 -0
  135. package/docs/api/scans.d.ts +6 -0
  136. package/docs/api/scheduleBuy.d.ts +6 -0
  137. package/docs/api/scraping.d.ts +6 -0
  138. package/docs/api/search.d.ts +9 -1
  139. package/docs/api/search.md +3 -2
  140. package/docs/api/seo.d.ts +6 -0
  141. package/docs/api/sequenceLifecycle.d.ts +6 -0
  142. package/docs/api/sequences.d.ts +6 -0
  143. package/docs/api/settings.d.ts +6 -0
  144. package/docs/api/signals.d.ts +6 -0
  145. package/docs/api/signatures.d.ts +6 -0
  146. package/docs/api/snippet.d.ts +6 -0
  147. package/docs/api/socialPublishing.d.ts +6 -0
  148. package/docs/api/studioDocuments.d.ts +6 -0
  149. package/docs/api/support.d.ts +6 -0
  150. package/docs/api/suppressions.d.ts +6 -0
  151. package/docs/api/surveys.d.ts +6 -0
  152. package/docs/api/tasks.d.ts +6 -0
  153. package/docs/api/teamMembers.d.ts +6 -0
  154. package/docs/api/teams.d.ts +6 -0
  155. package/docs/api/usage.d.ts +6 -0
  156. package/docs/api/visitors.d.ts +6 -0
  157. package/docs/api/voice.d.ts +6 -0
  158. package/docs/api/webChat.d.ts +6 -0
  159. package/docs/api/webhooks.d.ts +6 -0
  160. package/docs/api/websiteEditor.d.ts +6 -0
  161. package/docs/api/work.d.ts +6 -0
  162. package/docs/api/workbench.d.ts +6 -0
  163. package/docs/api/workflows.d.ts +6 -0
  164. package/docs/sdk-clients.md +5 -5
  165. package/package.json +1 -1
@@ -241,7 +241,7 @@ declare class G8 {
241
241
  /** Webhook event listeners (requires API key). */
242
242
  get webhooks(): {
243
243
  baseUrl: string;
244
- knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
244
+ knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.restored", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
245
245
  constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: import("./webhooks").ConstructEventOptions): import("./webhooks").WebhookEventPayload;
246
246
  };
247
247
  /** Contacts CRUD (requires API key). */
@@ -1009,9 +1009,11 @@ declare class G8 {
1009
1009
  get search(): {
1010
1010
  contacts(params?: import("./search").SearchParams): Promise<{
1011
1011
  data: import("./search").SearchContactItem[];
1012
+ pagination?: import("./search").SearchPagination;
1012
1013
  }>;
1013
1014
  companies(params?: import("./search").SearchParams): Promise<{
1014
1015
  data: import("./search").SearchCompanyItem[];
1016
+ pagination?: import("./search").SearchPagination;
1015
1017
  }>;
1016
1018
  saveContacts(params: import("./search").SearchSaveParams): Promise<import("./search").SearchSaveResult>;
1017
1019
  saveCompanies(params: import("./search").SearchSaveParams): Promise<import("./search").SearchSaveResult>;
@@ -27,11 +27,15 @@ export interface SearchResults {
27
27
  /**
28
28
  * Enrichment API - person/company lookup, email verification, prospecting search.
29
29
  *
30
- * Requires API key (server-side only). Credits charged per call. On the hardened
30
+ * Requires API key (server-side only). Lookups and email verification charge
31
+ * credits per call; search is free. On the hardened
31
32
  * HTTP core: throws a typed `G8Error` on failure and retries transient errors.
32
33
  */
33
34
  export declare const createEnrichClient: (apiKey: string, apiUrl?: string) => {
34
- /** Look up a person by email, LinkedIn, or name + company. Costs 1 credit. */
35
+ /**
36
+ * Look up a person by email, LinkedIn, or name + company. Costs 2 credits per
37
+ * lookup, charged even when no match is found (`found: false`).
38
+ */
35
39
  person(params: {
36
40
  email?: string;
37
41
  linkedin_url?: string;
@@ -39,13 +43,16 @@ export declare const createEnrichClient: (apiKey: string, apiUrl?: string) => {
39
43
  last_name?: string;
40
44
  company_domain?: string;
41
45
  }): Promise<PersonEnrichment>;
42
- /** Look up a company by domain or name. Costs 1 credit. */
46
+ /**
47
+ * Look up a company by domain or name. Costs 2 credits per lookup, charged
48
+ * even when no match is found (`found: false`).
49
+ */
43
50
  company(params: {
44
51
  domain?: string;
45
52
  name?: string;
46
53
  }): Promise<CompanyEnrichment>;
47
54
  /** Verify an email address. Costs 1 credit. */
48
55
  verifyEmail(email: string): Promise<EmailVerification>;
49
- /** Search 700M+ contacts with filters. Credits charged per result. */
56
+ /** Search 700M+ contacts with filters. Does not consume credits. */
50
57
  search(filters: SearchFilter[], page?: number, limit?: number): Promise<SearchResults>;
51
58
  };
@@ -35,7 +35,7 @@ export type { IntentKeyword, IntentPage, IntentVisitor, IntentCompany, IntentCon
35
35
  export type { GlobalContextDocument, Persona, ICP, IntelligenceData, ResearchReport, } from "./studio";
36
36
  export type { MeetingSummary, MeetingDetail, MeetingAttendee, MeetingTranscriptLine, MeetingAnalysis, MeetingListParams, } from "./meetings";
37
37
  export type { AudienceSync, AudienceSyncPlatform, AudienceSyncMode, AudienceSyncCreateParams, AudienceSyncUpdateParams, AudienceSyncRun, AudienceSyncError, } from "./audiences";
38
- export type { SearchOperator, SearchCondition, SearchParams, SearchSaveParams, SearchContactItem, SearchCompanyItem, SearchSaveResult, } from "./search";
38
+ export type { SearchOperator, SearchCondition, SearchParams, SearchSaveParams, SearchContactItem, SearchCompanyItem, SearchSaveResult, SearchPagination, } from "./search";
39
39
  export type { AgencyInfo, AgencyClient } from "./agency";
40
40
  export type { MarketplaceProfile, MarketplaceOffer, MarketplaceHiring } from "./marketplace";
41
41
  export type { Snippet } from "./snippet";
@@ -128,8 +128,10 @@ export declare const useG8: () => {
128
128
  company_domain?: string;
129
129
  }): Promise<import("./enrich").PersonEnrichment>;
130
130
  company(params: {
131
- domain?: string;
132
- name? /** Identify a user */: string;
131
+ domain
132
+ /** Progressive form helpers (read lazily, so useG8() never throws on its own) */
133
+ ? /** Progressive form helpers (read lazily, so useG8() never throws on its own) */: string;
134
+ name?: string;
133
135
  }): Promise<import("./enrich").CompanyEnrichment>;
134
136
  verifyEmail(email: string): Promise<import("./enrich").EmailVerification>;
135
137
  search(filters: import("./enrich").SearchFilter[], page?: number, limit?: number): Promise<import("./enrich").SearchResults>;
@@ -216,7 +218,7 @@ export declare const useG8: () => {
216
218
  };
217
219
  get webhooks(): {
218
220
  baseUrl: string;
219
- knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
221
+ knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.restored", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
220
222
  constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: import("./webhooks").ConstructEventOptions): import("./webhooks").WebhookEventPayload;
221
223
  };
222
224
  get contacts(): {
@@ -941,9 +943,11 @@ export declare const useG8: () => {
941
943
  get search(): {
942
944
  contacts(params?: import("./search").SearchParams): Promise<{
943
945
  data: import("./search").SearchContactItem[];
946
+ pagination?: import("./search").SearchPagination;
944
947
  }>;
945
948
  companies(params?: import("./search").SearchParams): Promise<{
946
949
  data: import("./search").SearchCompanyItem[];
950
+ pagination?: import("./search").SearchPagination;
947
951
  }>;
948
952
  saveContacts(params: import("./search").SearchSaveParams): Promise<import("./search").SearchSaveResult>;
949
953
  saveCompanies(params: import("./search").SearchSaveParams): Promise<import("./search").SearchSaveResult>;
@@ -11,7 +11,10 @@ export interface SearchCondition {
11
11
  export interface SearchParams {
12
12
  /** Filter conditions, combined with AND. */
13
13
  filters?: SearchCondition[];
14
- /** Page number, 1-indexed (1-100). */
14
+ /**
15
+ * Page number, 1-indexed. page * limit may not exceed 10,000 (the paging
16
+ * window); narrow the filters to reach records beyond it.
17
+ */
15
18
  page?: number;
16
19
  /** Results per page (1-100, default 25). */
17
20
  limit?: number;
@@ -45,6 +48,25 @@ export interface SearchContactItem {
45
48
  company_employee_count?: string | null;
46
49
  company_country?: string | null;
47
50
  confidence_score?: number | null;
51
+ /**
52
+ * Fields whose value exists but is locked (shown as "***") until the contact
53
+ * is added to a list. A null field has no value.
54
+ */
55
+ locked_fields?: string[];
56
+ }
57
+ /** Pagination block of a search response. */
58
+ export interface SearchPagination {
59
+ page: number;
60
+ limit: number;
61
+ /** Results that can be paged (at most 10,000). */
62
+ total: number;
63
+ has_next: boolean;
64
+ /** How many records really match, when known (can exceed `total`). */
65
+ total_available?: number | null;
66
+ /** True when more records match than `total` shows. */
67
+ total_is_lower_bound?: boolean | null;
68
+ /** Plain-language notes, e.g. a reversed `between` range was put in order. */
69
+ notes?: string[] | null;
48
70
  }
49
71
  export interface SearchCompanyItem {
50
72
  name?: string | null;
@@ -87,10 +109,12 @@ export declare const createSearchClient: (apiKey: string, apiUrl?: string) => {
87
109
  /** Search open-data contacts by filter. */
88
110
  contacts(params?: SearchParams): Promise<{
89
111
  data: SearchContactItem[];
112
+ pagination?: SearchPagination;
90
113
  }>;
91
114
  /** Search open-data companies by filter. */
92
115
  companies(params?: SearchParams): Promise<{
93
116
  data: SearchCompanyItem[];
117
+ pagination?: SearchPagination;
94
118
  }>;
95
119
  /** Search contacts and save the matches into a new list. */
96
120
  saveContacts(params: SearchSaveParams): Promise<SearchSaveResult>;
@@ -5,6 +5,6 @@
5
5
  * both together (the version-parity gate already pins package.json, the
6
6
  * lockfile and the CHANGELOG to each other).
7
7
  */
8
- export declare const SDK_VERSION = "0.264.0";
8
+ export declare const SDK_VERSION = "0.277.0";
9
9
  /** Value of the `X-G8-Client` header every SDK request carries (I-13). */
10
- export declare const SDK_CLIENT_ID = "js-sdk/0.264.0";
10
+ export declare const SDK_CLIENT_ID = "js-sdk/0.277.0";
@@ -6,7 +6,7 @@
6
6
  * adds events. ``WebhookEvent`` also accepts any string so a newly-added
7
7
  * backend event never breaks a client that hasn't upgraded.
8
8
  */
9
- export declare const KNOWN_WEBHOOK_EVENTS: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
9
+ export declare const KNOWN_WEBHOOK_EVENTS: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.restored", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
10
10
  export type WebhookEvent = (typeof KNOWN_WEBHOOK_EVENTS)[number] | (string & {});
11
11
  /** The decoded body graph8 delivers to a webhook endpoint. */
12
12
  export interface WebhookEventPayload {
@@ -65,7 +65,7 @@ export declare const createWebhooksClient: (_apiKey: string, apiUrl?: string) =>
65
65
  /** Base URL the webhook subscription API lives under. */
66
66
  baseUrl: string;
67
67
  /** Known event types (for autocomplete / validation). */
68
- knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
68
+ knownEvents: readonly ["campaign.created", "campaign.updated", "campaign.deleted", "campaign.restored", "campaign.launched", "campaign.paused", "campaign.completed", "campaign.status_changed", "campaign.content_ready", "document.generated", "document.failed", "intelligence.completed", "intelligence.failed", "company.enriched", "company_intelligence.completed", "audience.ready", "audience.failed", "sequence.draft_created", "sequence.started", "sequence.paused", "sequence.completed", "engagement.email_sent", "engagement.email_replied", "engagement.email_bounced", "engagement.email_skipped", "engagement.call_dispatched", "engagement.call_connected", "engagement.call_graded", "engagement.sms_sent", "engagement.sms_replied", "engagement.whatsapp_sent", "engagement.linkedin_connection_sent", "engagement.linkedin_message_sent", "engagement.linkedin_inmail_sent", "engagement.linkedin_reply_received", "engagement.linkedin_connection_accepted", "meeting.booked", "meeting.cancelled", "meeting.rescheduled", "deal.won", "crm.record.created", "crm.record.updated", "crm.record.archived", "crm.record.restored", "sequence.contact_enrolled", "sequence.contact_removed", "sequence.step_completed", "sequence.step_failed", "engagement.contact_unsubscribed", "engagement.sms_delivered", "engagement.sms_failed", "engagement.whatsapp_delivered", "engagement.whatsapp_failed", "engagement.call_started", "engagement.call_completed", "engagement.call_disposition_set", "engagement.voicemail_detected", "engagement.voicemail_left", "engagement.email_clicked", "engagement.link_clicked", "engagement.call_recording_ready", "meeting.no_show", "voice_ai.call_started", "voice_ai.call_completed", "voice_ai.voicemail_left", "deal.created", "deal.updated", "deal.stage_changed", "deal.deleted", "quote.created", "quote.updated", "quote.sent", "quote.resent", "quote.resend_failed", "quote.link_generated", "quote.viewed", "quote.accepted", "quote.declined", "quote.expired", "quote.voided", "quote.superseded", "quote.archived", "quote.unarchived", "quote.payment_received", "quote.payment_failed", "quote.subscription_canceled", "quote.provisioned", "form.submitted", "visitor.identified", "intent.signal", "task.created", "task.updated", "task.completed", "task.deleted", "enrichment.job_completed", "enrichment.job_failed", "workflow.execution_completed", "workflow.execution_failed"];
69
69
  /** Verify an incoming webhook's HMAC signature and return the parsed event. */
70
70
  constructEvent(payload: string, signature: string, timestamp: string | number, secret: string, opts?: ConstructEventOptions): WebhookEventPayload;
71
71
  };
package/docs/agents.md CHANGED
@@ -9,7 +9,7 @@ grows every week and your training data is older than this file.
9
9
 
10
10
  graph8 is a B2B go-to-market platform: CRM (contacts, companies, deals, custom objects), a 700M-person
11
11
  data index with enrichment, intent signals, sequences and campaigns across email/SMS/LinkedIn/voice, a unified
12
- inbox, meetings, workflows and more. This SDK reaches all of it: **3252 Developer API
12
+ inbox, meetings, workflows and more. This SDK reaches all of it: **3253 Developer API
13
13
  operations** in 141 areas.
14
14
 
15
15
  ## 1. The short version
@@ -92,7 +92,7 @@ g8.init({ apiKey: process.env.G8_API_KEY! });
92
92
  | | Hand-written clients | `g8.api` (generated) |
93
93
  |---|---|---|
94
94
  | Example | `g8.contacts.upsert({ list_id, work_email })` | `g8.api.assertUpsert.assertContact({ body: { list_id, work_email } })` |
95
- | Coverage | 289 methods, reaching 258 operations | all 3252 operations |
95
+ | Coverage | 289 methods, reaching 258 operations | all 3253 operations |
96
96
  | Returns | the unwrapped value (usually `data`) | the full envelope; read `result.data` |
97
97
  | Arguments | positional / friendly names | `{ path?, query?, headers?, body? }`, exactly as the contract names them |
98
98
  | Reference | [sdk-clients.md](sdk-clients.md) | [api/README.md](api/README.md) |
@@ -141,7 +141,7 @@ Hand-written modules:
141
141
  | [`g8.webhooks`](sdk-clients.md#g8-webhooks) | 1 | API key |
142
142
  | [`g8.workflows`](sdk-clients.md#g8-workflows) | 21 | API key |
143
143
 
144
- `g8.api` namespaces (operation counts): `accounts` (16), `adCampaigns` (19), `adCreatives` (40), `agency` (24), `agent` (8), `agents` (65), `aiInbox` (79), `analytics` (51), `apiKeys` (6), `appDeployments` (7), `appDomains` (5), `appLogs` (2), `appObjects` (10), `appPages` (16), `appPlatformTokens` (3), `appointments` (92), `apps` (22), `assertUpsert` (6), `audienceSyncs` (8), `brandKit` (30), `bugReports` (7), `calendarInvites` (3), `campaignWorkflows` (5), `campaigns` (29), `channels` (5), `cliCampaigns` (6), `cliPipelines` (12), `clickHouse` (2), `companies` (50), `companyIntelligence` (14), `contacts` (70), `content` (41), `contentGridSkills` (6), `copilot` (39), `crmSyncs` (6), `customerSuccess` (19), `deals` (48), `deliverability` (17), `desk` (71), `dialer` (46), `dialerAnalytics` (6), `documents` (35), `duplicates` (7), `eSign` (1), `eSignature` (7), `enrichment` (114), `events` (1), `fields` (8), `forms` (35), `gtmCampaigns` (22), `gtmContext` (51), `gtmDeliverability` (1), `gtmKnowledgeBase` (2), `gtmLaunchHelpers` (2), `gtmLibrary` (20), `health` (1), `imageLibrary` (14), `imports` (3), `inbox` (22), `install` (6), `installedApps` (4), `integrationStatus` (6), `integrations` (83), `intent` (16), `knowledge` (21), `knowledgeBase` (2), `landingPages` (59), `leads` (4), `library` (9), `linkedIn` (5), `linkedInOutreach` (20), `lists` (36), `logs` (1), `mailboxes` (38), `marketingIntelligence` (10), `marketplace` (142), `mcp` (1), `me` (1), `meetings` (17), `newsletter` (61), `notes` (19), `notifications` (2), `objects` (18), `openSearch` (4), `ops` (5), `orgGovernance` (17), `orgVideos` (6), `organizationSettings` (22), `phoneNumbers` (16), `profile` (14), `programmaticPages` (15), `providerDomains` (34), `providerUsage` (5), `public` (1), `publicCopilot` (1), `publicSignals` (1), `publicVisitors` (2), `quotes` (56), `radar` (42), `radarReports` (8), `recordRoles` (4), `repos` (4), `research` (13), `revenue` (14), `revenueAnalytics` (6), `revenueLifecycle` (5), `revenueRecords` (15), `roles` (20), `salesCoach` (37), `sandbox` (9), `scans` (2), `scheduleBuy` (9), `scraping` (10), `sdrAnalytics` (5), `search` (19), `seo` (11), `sequenceLifecycle` (8), `sequences` (71), `settings` (18), `signals` (56), `signatures` (24), `skills` (12), `snippet` (2), `socialPublishing` (22), `studioDocuments` (9), `support` (1), `suppressions` (6), `surveys` (21), `tasks` (25), `teamMembers` (21), `teams` (35), `usage` (9), `visitors` (26), `voice` (187), `webAnalytics` (38), `webChat` (46), `webhooks` (8), `websiteEditor` (12), `work` (59), `workbench` (107), `workflows` (59).
144
+ `g8.api` namespaces (operation counts): `accounts` (16), `adCampaigns` (19), `adCreatives` (40), `agency` (24), `agent` (8), `agents` (65), `aiInbox` (79), `analytics` (51), `apiKeys` (6), `appDeployments` (7), `appDomains` (5), `appLogs` (2), `appObjects` (10), `appPages` (16), `appPlatformTokens` (3), `appointments` (92), `apps` (22), `assertUpsert` (6), `audienceSyncs` (8), `brandKit` (30), `bugReports` (7), `calendarInvites` (3), `campaignWorkflows` (5), `campaigns` (29), `channels` (5), `cliCampaigns` (6), `cliPipelines` (12), `clickHouse` (2), `companies` (50), `companyIntelligence` (14), `contacts` (70), `content` (41), `contentGridSkills` (6), `copilot` (39), `crmSyncs` (6), `customerSuccess` (19), `deals` (48), `deliverability` (17), `desk` (71), `dialer` (46), `dialerAnalytics` (6), `documents` (35), `duplicates` (7), `eSign` (1), `eSignature` (7), `enrichment` (114), `events` (1), `fields` (8), `forms` (35), `gtmCampaigns` (22), `gtmContext` (51), `gtmDeliverability` (1), `gtmKnowledgeBase` (2), `gtmLaunchHelpers` (2), `gtmLibrary` (20), `health` (1), `imageLibrary` (14), `imports` (3), `inbox` (22), `install` (6), `installedApps` (4), `integrationStatus` (6), `integrations` (83), `intent` (16), `knowledge` (21), `knowledgeBase` (2), `landingPages` (59), `leads` (4), `library` (9), `linkedIn` (5), `linkedInOutreach` (20), `lists` (36), `logs` (1), `mailboxes` (38), `marketingIntelligence` (10), `marketplace` (142), `mcp` (1), `me` (1), `meetings` (17), `newsletter` (61), `notes` (19), `notifications` (2), `objects` (18), `openSearch` (4), `ops` (5), `orgGovernance` (17), `orgVideos` (6), `organizationSettings` (22), `phoneNumbers` (16), `profile` (14), `programmaticPages` (15), `providerDomains` (34), `providerUsage` (5), `public` (1), `publicCopilot` (1), `publicSignals` (1), `publicVisitors` (2), `quotes` (56), `radar` (42), `radarReports` (8), `recordRoles` (4), `repos` (4), `research` (13), `revenue` (14), `revenueAnalytics` (6), `revenueLifecycle` (5), `revenueRecords` (15), `roles` (21), `salesCoach` (37), `sandbox` (9), `scans` (2), `scheduleBuy` (9), `scraping` (10), `sdrAnalytics` (5), `search` (19), `seo` (11), `sequenceLifecycle` (8), `sequences` (71), `settings` (18), `signals` (56), `signatures` (24), `skills` (12), `snippet` (2), `socialPublishing` (22), `studioDocuments` (9), `support` (1), `suppressions` (6), `surveys` (21), `tasks` (25), `teamMembers` (21), `teams` (35), `usage` (9), `visitors` (26), `voice` (187), `webAnalytics` (38), `webChat` (46), `webhooks` (8), `websiteEditor` (12), `work` (59), `workbench` (107), `workflows` (59).
145
145
 
146
146
  ## 5. How to find the right call
147
147
 
@@ -200,7 +200,7 @@ Every operation carries a tier:
200
200
  | `write` | creates or changes records; the SDK sends an Idempotency-Key and retries transient failures | 811 |
201
201
  | `destructive` | deletes or archives data; confirm with a human before calling | 300 |
202
202
  | `billable` | spends credits; the SDK never blindly retries it; confirm cost before bulk use | 383 |
203
- | `external` | reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first | 250 |
203
+ | `external` | reaches real people (sends email/SMS, places a call, launches a send); the SDK never blindly retries it; confirm with a human first | 251 |
204
204
 
205
205
  What the SDK does for you:
206
206
 
@@ -219,7 +219,8 @@ What you must do:
219
219
 
220
220
  - Get a human's confirmation before calling an `external`, `billable` or `destructive` operation, and say
221
221
  what it will do ("this sends the email to 240 contacts").
222
- - Keep bulk billable jobs small until the user confirms the cost (enrichment is 1 credit per lookup).
222
+ - Keep bulk billable jobs small until the user confirms the cost (a person or company lookup is 2 credits,
223
+ charged even when no match is found).
223
224
 
224
225
  ## 8. Errors
225
226
 
@@ -375,7 +376,7 @@ for (const person of results.contacts) {
375
376
 
376
377
  ### Enrich one person or company
377
378
 
378
- You have an email, LinkedIn URL, name + company, or a domain and need the full profile. Each call costs 1 credit (tier `billable`), so the SDK will not blindly retry it on a 5xx.
379
+ You have an email, LinkedIn URL, name + company, or a domain and need the full profile. Each lookup costs 2 credits, charged even when no match is found, and an email verify costs 1 (tier `billable`), so the SDK will not blindly retry them on a 5xx.
379
380
 
380
381
  ```ts
381
382
  import { g8 } from "@graph8/sdk";
@@ -2,7 +2,7 @@
2
2
 
3
3
  # `g8.api`: every Developer API operation
4
4
 
5
- `g8.api` is generated from the published OpenAPI contract, so it covers all 3252 operations across 141 namespaces (1508 read, 811 write, 300 destructive, 383 billable, 250 external).
5
+ `g8.api` is generated from the published OpenAPI contract, so it covers all 3253 operations across 141 namespaces (1508 read, 811 write, 300 destructive, 383 billable, 251 external).
6
6
 
7
7
  - Found a REST path in a curl example or the web docs? Look it up in [by-path.md](by-path.md).
8
8
  - Prefer a hand-written method where one exists: [../sdk-clients.md](../sdk-clients.md).
@@ -129,7 +129,7 @@
129
129
  | `g8.api.revenueAnalytics` | Revenue Analytics | 6 | none | [revenueAnalytics.md](revenueAnalytics.md) | [revenueAnalytics.d.ts](revenueAnalytics.d.ts) |
130
130
  | `g8.api.revenueLifecycle` | Revenue Lifecycle | 5 | none | [revenueLifecycle.md](revenueLifecycle.md) | [revenueLifecycle.d.ts](revenueLifecycle.d.ts) |
131
131
  | `g8.api.revenueRecords` | Revenue Records | 15 | none | [revenueRecords.md](revenueRecords.md) | [revenueRecords.d.ts](revenueRecords.d.ts) |
132
- | `g8.api.roles` | Roles | 20 | none | [roles.md](roles.md) | [roles.d.ts](roles.d.ts) |
132
+ | `g8.api.roles` | Roles | 21 | none | [roles.md](roles.md) | [roles.d.ts](roles.d.ts) |
133
133
  | `g8.api.salesCoach` | Sales Coach | 37 | none | [salesCoach.md](salesCoach.md) | [salesCoach.d.ts](salesCoach.d.ts) |
134
134
  | `g8.api.sandbox` | sandbox | 9 | none | [sandbox.md](sandbox.md) | [sandbox.d.ts](sandbox.d.ts) |
135
135
  | `g8.api.scans` | Scans | 2 | none | [scans.md](scans.md) | [scans.d.ts](scans.d.ts) |
@@ -389,8 +389,14 @@ export interface PaginationMeta {
389
389
  limit: number;
390
390
  /** 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. */
391
391
  next_cursor?: string | null;
392
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
393
+ notes?: Array<string> | null;
392
394
  /** Current page number (1-indexed) */
393
395
  page: number;
394
396
  /** Total number of items */
395
397
  total: number;
398
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
399
+ total_available?: number | null;
400
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
401
+ total_is_lower_bound?: boolean | null;
396
402
  }
@@ -640,10 +640,16 @@ export interface PaginationMeta {
640
640
  limit: number;
641
641
  /** 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. */
642
642
  next_cursor?: string | null;
643
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
644
+ notes?: Array<string> | null;
643
645
  /** Current page number (1-indexed) */
644
646
  page: number;
645
647
  /** Total number of items */
646
648
  total: number;
649
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
650
+ total_available?: number | null;
651
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
652
+ total_is_lower_bound?: boolean | null;
647
653
  }
648
654
 
649
655
  /**
@@ -886,10 +886,16 @@ export interface PaginationMeta {
886
886
  limit: number;
887
887
  /** 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. */
888
888
  next_cursor?: string | null;
889
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
890
+ notes?: Array<string> | null;
889
891
  /** Current page number (1-indexed) */
890
892
  page: number;
891
893
  /** Total number of items */
892
894
  total: number;
895
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
896
+ total_available?: number | null;
897
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
898
+ total_is_lower_bound?: boolean | null;
893
899
  }
894
900
 
895
901
  /**
@@ -533,10 +533,16 @@ export interface PaginationMeta {
533
533
  limit: number;
534
534
  /** 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. */
535
535
  next_cursor?: string | null;
536
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
537
+ notes?: Array<string> | null;
536
538
  /** Current page number (1-indexed) */
537
539
  page: number;
538
540
  /** Total number of items */
539
541
  total: number;
542
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
543
+ total_available?: number | null;
544
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
545
+ total_is_lower_bound?: boolean | null;
540
546
  }
541
547
 
542
548
  /**
@@ -323,8 +323,14 @@ export interface PaginationMeta {
323
323
  limit: number;
324
324
  /** 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. */
325
325
  next_cursor?: string | null;
326
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
327
+ notes?: Array<string> | null;
326
328
  /** Current page number (1-indexed) */
327
329
  page: number;
328
330
  /** Total number of items */
329
331
  total: number;
332
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
333
+ total_available?: number | null;
334
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
335
+ total_is_lower_bound?: boolean | null;
330
336
  }
@@ -1559,10 +1559,16 @@ export interface PaginationMeta {
1559
1559
  limit: number;
1560
1560
  /** 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. */
1561
1561
  next_cursor?: string | null;
1562
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
1563
+ notes?: Array<string> | null;
1562
1564
  /** Current page number (1-indexed) */
1563
1565
  page: number;
1564
1566
  /** Total number of items */
1565
1567
  total: number;
1568
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
1569
+ total_available?: number | null;
1570
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
1571
+ total_is_lower_bound?: boolean | null;
1566
1572
  }
1567
1573
 
1568
1574
  /** Mirror of `SessionReadRequest`. */
@@ -1917,10 +1917,16 @@ export interface PaginationMeta {
1917
1917
  limit: number;
1918
1918
  /** 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. */
1919
1919
  next_cursor?: string | null;
1920
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
1921
+ notes?: Array<string> | null;
1920
1922
  /** Current page number (1-indexed) */
1921
1923
  page: number;
1922
1924
  /** Total number of items */
1923
1925
  total: number;
1926
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
1927
+ total_available?: number | null;
1928
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
1929
+ total_is_lower_bound?: boolean | null;
1924
1930
  }
1925
1931
 
1926
1932
  /**
@@ -1241,10 +1241,16 @@ export interface PaginationMeta {
1241
1241
  limit: number;
1242
1242
  /** 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. */
1243
1243
  next_cursor?: string | null;
1244
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
1245
+ notes?: Array<string> | null;
1244
1246
  /** Current page number (1-indexed) */
1245
1247
  page: number;
1246
1248
  /** Total number of items */
1247
1249
  total: number;
1250
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
1251
+ total_available?: number | null;
1252
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
1253
+ total_is_lower_bound?: boolean | null;
1248
1254
  }
1249
1255
 
1250
1256
  /**
@@ -223,10 +223,16 @@ export interface PaginationMeta {
223
223
  limit: number;
224
224
  /** 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. */
225
225
  next_cursor?: string | null;
226
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
227
+ notes?: Array<string> | null;
226
228
  /** Current page number (1-indexed) */
227
229
  page: number;
228
230
  /** Total number of items */
229
231
  total: number;
232
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
233
+ total_available?: number | null;
234
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
235
+ total_is_lower_bound?: boolean | null;
230
236
  }
231
237
 
232
238
  export interface ScopeCatalogEntry {
@@ -224,10 +224,16 @@ export interface PaginationMeta {
224
224
  limit: number;
225
225
  /** 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. */
226
226
  next_cursor?: string | null;
227
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
228
+ notes?: Array<string> | null;
227
229
  /** Current page number (1-indexed) */
228
230
  page: number;
229
231
  /** Total number of items */
230
232
  total: number;
233
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
234
+ total_available?: number | null;
235
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
236
+ total_is_lower_bound?: boolean | null;
231
237
  }
232
238
 
233
239
  export interface PromoteDeploymentRequest {
@@ -164,8 +164,14 @@ export interface PaginationMeta {
164
164
  limit: number;
165
165
  /** 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. */
166
166
  next_cursor?: string | null;
167
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
168
+ notes?: Array<string> | null;
167
169
  /** Current page number (1-indexed) */
168
170
  page: number;
169
171
  /** Total number of items */
170
172
  total: number;
173
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
174
+ total_available?: number | null;
175
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
176
+ total_is_lower_bound?: boolean | null;
171
177
  }
@@ -113,8 +113,14 @@ export interface PaginationMeta {
113
113
  limit: number;
114
114
  /** 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. */
115
115
  next_cursor?: string | null;
116
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
117
+ notes?: Array<string> | null;
116
118
  /** Current page number (1-indexed) */
117
119
  page: number;
118
120
  /** Total number of items */
119
121
  total: number;
122
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
123
+ total_available?: number | null;
124
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
125
+ total_is_lower_bound?: boolean | null;
120
126
  }
@@ -329,10 +329,16 @@ export interface PaginationMeta {
329
329
  limit: number;
330
330
  /** 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. */
331
331
  next_cursor?: string | null;
332
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
333
+ notes?: Array<string> | null;
332
334
  /** Current page number (1-indexed) */
333
335
  page: number;
334
336
  /** Total number of items */
335
337
  total: number;
338
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
339
+ total_available?: number | null;
340
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
341
+ total_is_lower_bound?: boolean | null;
336
342
  }
337
343
 
338
344
  /**
@@ -550,8 +550,14 @@ export interface PaginationMeta {
550
550
  limit: number;
551
551
  /** 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. */
552
552
  next_cursor?: string | null;
553
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
554
+ notes?: Array<string> | null;
553
555
  /** Current page number (1-indexed) */
554
556
  page: number;
555
557
  /** Total number of items */
556
558
  total: number;
559
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
560
+ total_available?: number | null;
561
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
562
+ total_is_lower_bound?: boolean | null;
557
563
  }
@@ -88,10 +88,16 @@ export interface PaginationMeta {
88
88
  limit: number;
89
89
  /** 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. */
90
90
  next_cursor?: string | null;
91
+ /** Search endpoints only: plain-language notes about the result, e.g. that more records match than can be paged, or that a reversed `between` range was put in order. */
92
+ notes?: Array<string> | null;
91
93
  /** Current page number (1-indexed) */
92
94
  page: number;
93
95
  /** Total number of items */
94
96
  total: number;
97
+ /** Search endpoints only: how many records really match, when known. Can be larger than `total`, which is capped at the 10,000 results that can be paged. For company search this is a distinct-company estimate. Null when unknown; absent outside search. */
98
+ total_available?: number | null;
99
+ /** Search endpoints only: true when more records match than `total` shows (the result set is larger than the 10,000 results that can be paged). Absent outside search. */
100
+ total_is_lower_bound?: boolean | null;
95
101
  }
96
102
 
97
103
  /** Client-credentials exchange for a service (server-to-server) app token. */