@graph8/sdk 0.251.0 → 0.260.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +104 -7
- package/dist/index.d.ts +104 -7
- package/dist/index.js +44 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -3
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +102 -7
- package/dist/react.d.ts +102 -7
- package/dist/react.js +62 -11
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +53 -12
- package/dist/react.mjs.map +1 -1
- package/dist/types/README.md +7 -0
- package/dist/types/agency.d.ts +20 -0
- package/dist/types/agentSetup.d.ts +57 -0
- package/dist/types/api.d.ts +127 -0
- package/dist/types/appClient.d.ts +99 -0
- package/dist/types/appPlatform.d.ts +269 -0
- package/dist/types/appTokens.d.ts +125 -0
- package/dist/types/apps.d.ts +130 -0
- package/dist/types/audiences.d.ts +88 -0
- package/dist/types/calendar.d.ts +55 -0
- package/dist/types/campaigns.d.ts +61 -0
- package/dist/types/chat.d.ts +35 -0
- package/dist/types/cli.d.ts +14 -0
- package/dist/types/companies.d.ts +123 -0
- package/dist/types/contacts.d.ts +200 -0
- package/dist/types/copilot.d.ts +31 -0
- package/dist/types/core.d.ts +1052 -0
- package/dist/types/deals.d.ts +215 -0
- package/dist/types/enrich.d.ts +51 -0
- package/dist/types/fields.d.ts +84 -0
- package/dist/types/forms.d.ts +16 -0
- package/dist/types/http.d.ts +141 -0
- package/dist/types/inbox.d.ts +123 -0
- package/dist/types/index.d.ts +63 -0
- package/dist/types/intent.d.ts +196 -0
- package/dist/types/lists.d.ts +44 -0
- package/dist/types/mailboxes.d.ts +240 -0
- package/dist/types/marketplace.d.ts +62 -0
- package/dist/types/meetings.d.ts +70 -0
- package/dist/types/newsletter.d.ts +212 -0
- package/dist/types/notes.d.ts +57 -0
- package/dist/types/objects.d.ts +281 -0
- package/dist/types/pipelines.d.ts +135 -0
- package/dist/types/quotes.d.ts +143 -0
- package/dist/types/react.d.ts +978 -0
- package/dist/types/search.d.ts +99 -0
- package/dist/types/sequences.d.ts +255 -0
- package/dist/types/signals.d.ts +28 -0
- package/dist/types/skills.d.ts +176 -0
- package/dist/types/snippet.d.ts +24 -0
- package/dist/types/studio.d.ts +161 -0
- package/dist/types/tasks.d.ts +101 -0
- package/dist/types/types.d.ts +45 -0
- package/dist/types/utils.d.ts +21 -0
- package/dist/types/version.d.ts +10 -0
- package/dist/types/visitors.d.ts +29 -0
- package/dist/types/voice.d.ts +304 -0
- package/dist/types/webhooks.d.ts +71 -0
- package/dist/types/workflows.d.ts +229 -0
- package/docs/agents.md +748 -0
- package/docs/api/README.md +165 -0
- package/docs/api/accounts.d.ts +396 -0
- package/docs/api/accounts.md +644 -0
- package/docs/api/adCampaigns.d.ts +707 -0
- package/docs/api/adCampaigns.md +1091 -0
- package/docs/api/adCreatives.d.ts +996 -0
- package/docs/api/adCreatives.md +1708 -0
- package/docs/api/agency.d.ts +556 -0
- package/docs/api/agency.md +845 -0
- package/docs/api/agent.d.ts +330 -0
- package/docs/api/agent.md +514 -0
- package/docs/api/agents.d.ts +1622 -0
- package/docs/api/agents.md +2860 -0
- package/docs/api/aiInbox.d.ts +1984 -0
- package/docs/api/aiInbox.md +3490 -0
- package/docs/api/analytics.d.ts +1273 -0
- package/docs/api/analytics.md +2095 -0
- package/docs/api/apiKeys.d.ts +252 -0
- package/docs/api/apiKeys.md +318 -0
- package/docs/api/appDeployments.d.ts +236 -0
- package/docs/api/appDeployments.md +471 -0
- package/docs/api/appDomains.d.ts +171 -0
- package/docs/api/appDomains.md +281 -0
- package/docs/api/appLogs.d.ts +120 -0
- package/docs/api/appLogs.md +159 -0
- package/docs/api/appObjects.d.ts +415 -0
- package/docs/api/appObjects.md +568 -0
- package/docs/api/appPages.d.ts +557 -0
- package/docs/api/appPages.md +796 -0
- package/docs/api/appPlatformTokens.d.ts +123 -0
- package/docs/api/appPlatformTokens.md +172 -0
- package/docs/api/appointments.d.ts +2361 -0
- package/docs/api/appointments.md +3917 -0
- package/docs/api/apps.d.ts +822 -0
- package/docs/api/apps.md +1342 -0
- package/docs/api/assertUpsert.d.ts +286 -0
- package/docs/api/assertUpsert.md +370 -0
- package/docs/api/audienceSyncs.d.ts +259 -0
- package/docs/api/audienceSyncs.md +395 -0
- package/docs/api/brandKit.d.ts +686 -0
- package/docs/api/brandKit.md +1133 -0
- package/docs/api/bugReports.d.ts +181 -0
- package/docs/api/bugReports.md +268 -0
- package/docs/api/by-path.md +3260 -0
- package/docs/api/calendarInvites.d.ts +117 -0
- package/docs/api/calendarInvites.md +148 -0
- package/docs/api/campaignWorkflows.d.ts +152 -0
- package/docs/api/campaignWorkflows.md +200 -0
- package/docs/api/campaigns.d.ts +721 -0
- package/docs/api/campaigns.md +1236 -0
- package/docs/api/channels.d.ts +171 -0
- package/docs/api/channels.md +235 -0
- package/docs/api/cliCampaigns.d.ts +205 -0
- package/docs/api/cliCampaigns.md +256 -0
- package/docs/api/cliPipelines.d.ts +324 -0
- package/docs/api/cliPipelines.md +562 -0
- package/docs/api/clickHouse.d.ts +115 -0
- package/docs/api/clickHouse.md +138 -0
- package/docs/api/companies.d.ts +1636 -0
- package/docs/api/companies.md +2211 -0
- package/docs/api/companyIntelligence.d.ts +299 -0
- package/docs/api/companyIntelligence.md +488 -0
- package/docs/api/contacts.d.ts +2173 -0
- package/docs/api/contacts.md +3143 -0
- package/docs/api/content.d.ts +968 -0
- package/docs/api/content.md +1667 -0
- package/docs/api/contentGridSkills.d.ts +177 -0
- package/docs/api/contentGridSkills.md +271 -0
- package/docs/api/copilot.d.ts +1017 -0
- package/docs/api/copilot.md +1765 -0
- package/docs/api/crmSyncs.d.ts +215 -0
- package/docs/api/crmSyncs.md +301 -0
- package/docs/api/customerSuccess.d.ts +491 -0
- package/docs/api/customerSuccess.md +776 -0
- package/docs/api/deals.d.ts +1696 -0
- package/docs/api/deals.md +2432 -0
- package/docs/api/deliverability.d.ts +418 -0
- package/docs/api/deliverability.md +677 -0
- package/docs/api/desk.d.ts +1765 -0
- package/docs/api/desk.md +3007 -0
- package/docs/api/dialer.d.ts +1185 -0
- package/docs/api/dialer.md +2166 -0
- package/docs/api/dialerAnalytics.d.ts +187 -0
- package/docs/api/dialerAnalytics.md +257 -0
- package/docs/api/documents.d.ts +895 -0
- package/docs/api/documents.md +1440 -0
- package/docs/api/duplicates.d.ts +195 -0
- package/docs/api/duplicates.md +315 -0
- package/docs/api/eSign.d.ts +38 -0
- package/docs/api/eSign.md +54 -0
- package/docs/api/eSignature.d.ts +242 -0
- package/docs/api/eSignature.md +341 -0
- package/docs/api/enrichment.d.ts +3207 -0
- package/docs/api/enrichment.md +5225 -0
- package/docs/api/events.d.ts +115 -0
- package/docs/api/events.md +105 -0
- package/docs/api/fields.d.ts +482 -0
- package/docs/api/fields.md +566 -0
- package/docs/api/forms.d.ts +1012 -0
- package/docs/api/forms.md +1542 -0
- package/docs/api/gtmCampaigns.d.ts +662 -0
- package/docs/api/gtmCampaigns.md +1044 -0
- package/docs/api/gtmContext.d.ts +1187 -0
- package/docs/api/gtmContext.md +2112 -0
- package/docs/api/gtmDeliverability.d.ts +60 -0
- package/docs/api/gtmDeliverability.md +63 -0
- package/docs/api/gtmKnowledgeBase.d.ts +76 -0
- package/docs/api/gtmKnowledgeBase.md +91 -0
- package/docs/api/gtmLaunchHelpers.d.ts +123 -0
- package/docs/api/gtmLaunchHelpers.md +148 -0
- package/docs/api/gtmLibrary.d.ts +448 -0
- package/docs/api/gtmLibrary.md +780 -0
- package/docs/api/health.d.ts +39 -0
- package/docs/api/health.md +58 -0
- package/docs/api/imageLibrary.d.ts +341 -0
- package/docs/api/imageLibrary.md +569 -0
- package/docs/api/imports.d.ts +157 -0
- package/docs/api/imports.md +174 -0
- package/docs/api/inbox.d.ts +709 -0
- package/docs/api/inbox.md +1067 -0
- package/docs/api/install.d.ts +213 -0
- package/docs/api/install.md +317 -0
- package/docs/api/installedApps.d.ts +131 -0
- package/docs/api/installedApps.md +241 -0
- package/docs/api/integrationStatus.d.ts +142 -0
- package/docs/api/integrationStatus.md +205 -0
- package/docs/api/integrations.d.ts +2327 -0
- package/docs/api/integrations.md +3791 -0
- package/docs/api/intent.d.ts +482 -0
- package/docs/api/intent.md +858 -0
- package/docs/api/knowledge.d.ts +501 -0
- package/docs/api/knowledge.md +843 -0
- package/docs/api/knowledgeBase.d.ts +84 -0
- package/docs/api/knowledgeBase.md +96 -0
- package/docs/api/landingPages.d.ts +1411 -0
- package/docs/api/landingPages.md +2488 -0
- package/docs/api/leads.d.ts +133 -0
- package/docs/api/leads.md +180 -0
- package/docs/api/library.d.ts +217 -0
- package/docs/api/library.md +338 -0
- package/docs/api/linkedIn.d.ts +227 -0
- package/docs/api/linkedIn.md +289 -0
- package/docs/api/linkedInOutreach.d.ts +727 -0
- package/docs/api/linkedInOutreach.md +990 -0
- package/docs/api/lists.d.ts +1106 -0
- package/docs/api/lists.md +1609 -0
- package/docs/api/logs.d.ts +71 -0
- package/docs/api/logs.md +70 -0
- package/docs/api/mailboxes.d.ts +1050 -0
- package/docs/api/mailboxes.md +1690 -0
- package/docs/api/marketingIntelligence.d.ts +256 -0
- package/docs/api/marketingIntelligence.md +454 -0
- package/docs/api/marketplace.d.ts +3173 -0
- package/docs/api/marketplace.md +5953 -0
- package/docs/api/mcp.d.ts +69 -0
- package/docs/api/mcp.md +69 -0
- package/docs/api/me.d.ts +54 -0
- package/docs/api/me.md +56 -0
- package/docs/api/meetings.d.ts +539 -0
- package/docs/api/meetings.md +747 -0
- package/docs/api/newsletter.d.ts +1613 -0
- package/docs/api/newsletter.md +2746 -0
- package/docs/api/notes.d.ts +517 -0
- package/docs/api/notes.md +888 -0
- package/docs/api/notifications.d.ts +94 -0
- package/docs/api/notifications.md +105 -0
- package/docs/api/objects.d.ts +621 -0
- package/docs/api/objects.md +1098 -0
- package/docs/api/openSearch.d.ts +234 -0
- package/docs/api/openSearch.md +297 -0
- package/docs/api/ops.d.ts +299 -0
- package/docs/api/ops.md +339 -0
- package/docs/api/orgGovernance.d.ts +393 -0
- package/docs/api/orgGovernance.md +623 -0
- package/docs/api/orgVideos.d.ts +184 -0
- package/docs/api/orgVideos.md +252 -0
- package/docs/api/organizationSettings.d.ts +626 -0
- package/docs/api/organizationSettings.md +911 -0
- package/docs/api/phoneNumbers.d.ts +484 -0
- package/docs/api/phoneNumbers.md +777 -0
- package/docs/api/profile.d.ts +329 -0
- package/docs/api/profile.md +540 -0
- package/docs/api/programmaticPages.d.ts +400 -0
- package/docs/api/programmaticPages.md +626 -0
- package/docs/api/providerDomains.d.ts +866 -0
- package/docs/api/providerDomains.md +1446 -0
- package/docs/api/providerUsage.d.ts +129 -0
- package/docs/api/providerUsage.md +186 -0
- package/docs/api/public.d.ts +69 -0
- package/docs/api/public.md +78 -0
- package/docs/api/publicCopilot.d.ts +67 -0
- package/docs/api/publicCopilot.md +80 -0
- package/docs/api/publicSignals.d.ts +66 -0
- package/docs/api/publicSignals.md +71 -0
- package/docs/api/publicVisitors.d.ts +97 -0
- package/docs/api/publicVisitors.md +118 -0
- package/docs/api/quotes.d.ts +1564 -0
- package/docs/api/quotes.md +2553 -0
- package/docs/api/radar.d.ts +808 -0
- package/docs/api/radar.md +1431 -0
- package/docs/api/radarReports.d.ts +208 -0
- package/docs/api/radarReports.md +306 -0
- package/docs/api/recordRoles.d.ts +143 -0
- package/docs/api/recordRoles.md +175 -0
- package/docs/api/repos.d.ts +146 -0
- package/docs/api/repos.md +211 -0
- package/docs/api/research.d.ts +295 -0
- package/docs/api/research.md +534 -0
- package/docs/api/revenue.d.ts +402 -0
- package/docs/api/revenue.md +608 -0
- package/docs/api/revenueAnalytics.d.ts +147 -0
- package/docs/api/revenueAnalytics.md +212 -0
- package/docs/api/revenueLifecycle.d.ts +207 -0
- package/docs/api/revenueLifecycle.md +274 -0
- package/docs/api/revenueRecords.d.ts +372 -0
- package/docs/api/revenueRecords.md +563 -0
- package/docs/api/roles.d.ts +431 -0
- package/docs/api/roles.md +812 -0
- package/docs/api/salesCoach.d.ts +877 -0
- package/docs/api/salesCoach.md +1540 -0
- package/docs/api/sandbox.d.ts +210 -0
- package/docs/api/sandbox.md +380 -0
- package/docs/api/scans.d.ts +104 -0
- package/docs/api/scans.md +136 -0
- package/docs/api/scheduleBuy.d.ts +293 -0
- package/docs/api/scheduleBuy.md +431 -0
- package/docs/api/scraping.d.ts +266 -0
- package/docs/api/scraping.md +383 -0
- package/docs/api/sdrAnalytics.d.ts +138 -0
- package/docs/api/sdrAnalytics.md +246 -0
- package/docs/api/search.d.ts +598 -0
- package/docs/api/search.md +866 -0
- package/docs/api/seo.d.ts +447 -0
- package/docs/api/seo.md +660 -0
- package/docs/api/sequenceLifecycle.d.ts +439 -0
- package/docs/api/sequenceLifecycle.md +513 -0
- package/docs/api/sequences.d.ts +1936 -0
- package/docs/api/sequences.md +3232 -0
- package/docs/api/settings.d.ts +448 -0
- package/docs/api/settings.md +731 -0
- package/docs/api/signals.d.ts +1441 -0
- package/docs/api/signals.md +2526 -0
- package/docs/api/signatures.d.ts +719 -0
- package/docs/api/signatures.md +1247 -0
- package/docs/api/skills.d.ts +230 -0
- package/docs/api/skills.md +466 -0
- package/docs/api/snippet.d.ts +85 -0
- package/docs/api/snippet.md +106 -0
- package/docs/api/socialPublishing.d.ts +824 -0
- package/docs/api/socialPublishing.md +1245 -0
- package/docs/api/studioDocuments.d.ts +244 -0
- package/docs/api/studioDocuments.md +348 -0
- package/docs/api/support.d.ts +90 -0
- package/docs/api/support.md +76 -0
- package/docs/api/suppressions.d.ts +241 -0
- package/docs/api/suppressions.md +343 -0
- package/docs/api/surveys.d.ts +847 -0
- package/docs/api/surveys.md +1223 -0
- package/docs/api/tasks.d.ts +813 -0
- package/docs/api/tasks.md +1344 -0
- package/docs/api/teamMembers.d.ts +668 -0
- package/docs/api/teamMembers.md +1040 -0
- package/docs/api/teams.d.ts +784 -0
- package/docs/api/teams.md +1395 -0
- package/docs/api/usage.d.ts +277 -0
- package/docs/api/usage.md +389 -0
- package/docs/api/visitors.d.ts +690 -0
- package/docs/api/visitors.md +1075 -0
- package/docs/api/voice.d.ts +4661 -0
- package/docs/api/voice.md +7905 -0
- package/docs/api/webAnalytics.d.ts +964 -0
- package/docs/api/webAnalytics.md +1452 -0
- package/docs/api/webChat.d.ts +1704 -0
- package/docs/api/webChat.md +2048 -0
- package/docs/api/webhooks.d.ts +251 -0
- package/docs/api/webhooks.md +386 -0
- package/docs/api/websiteEditor.d.ts +324 -0
- package/docs/api/websiteEditor.md +517 -0
- package/docs/api/work.d.ts +2298 -0
- package/docs/api/work.md +3096 -0
- package/docs/api/workbench.d.ts +2962 -0
- package/docs/api/workbench.md +4884 -0
- package/docs/api/workflows.d.ts +1218 -0
- package/docs/api/workflows.md +2302 -0
- package/docs/sdk-clients.md +4339 -0
- package/package.json +10 -3
|
@@ -0,0 +1,1273 @@
|
|
|
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.analytics` (Analytics): 51 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<"compute_cohort_analytics_sales_report_cohort_post">;
|
|
9
|
+
*
|
|
10
|
+
* Reference with examples: analytics.md
|
|
11
|
+
*/
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
|
|
14
|
+
/** `g8.api.analytics.<member>` -> the operationId it calls. */
|
|
15
|
+
export interface AnalyticsMembers {
|
|
16
|
+
computeCohort: "compute_cohort_analytics_sales_report_cohort_post";
|
|
17
|
+
explainCohort: "explain_cohort_analytics_sales_report_cohort_explain_post";
|
|
18
|
+
exportCohortCsv: "export_cohort_csv_analytics_sales_report_export_post";
|
|
19
|
+
getActivationFunnel: "get_activation_funnel_analytics_product_usage_activation_funnel_get";
|
|
20
|
+
getActiveUsers: "get_active_users_analytics_product_usage_active_users_get";
|
|
21
|
+
getAnalyticsDataSources: "get_analytics_data_sources_analytics_data_sources_get";
|
|
22
|
+
getAudienceByIndustry: "get_audience_by_industry_analytics_outbound_audience_industry_get";
|
|
23
|
+
getAudienceByIndustryGroup: "get_audience_by_industry_group_analytics_outbound_audience_industry_group_get";
|
|
24
|
+
getAudienceBySeniority: "get_audience_by_seniority_analytics_outbound_audience_seniority_get";
|
|
25
|
+
getCallMetrics: "get_call_metrics_analytics_outbound_call_metrics_get";
|
|
26
|
+
getCallTrend: "get_call_trend_analytics_outbound_call_metrics_trend_get";
|
|
27
|
+
getCampaignDashboard: "get_campaign_dashboard_analytics_outbound_dashboards_campaign_get";
|
|
28
|
+
getCampaignVisitors: "get_campaign_visitors_analytics_campaign_visitors_get";
|
|
29
|
+
getChannelAttribution: "get_channel_attribution_analytics_outbound_channel_attribution_get";
|
|
30
|
+
getDataQuality: "get_data_quality_analytics_sales_report_data_quality_get";
|
|
31
|
+
getDunning: "get_dunning_analytics_subscriptions_dunning_get";
|
|
32
|
+
getEmailBySequence: "get_email_by_sequence_analytics_outbound_email_metrics_by_sequence_get";
|
|
33
|
+
getEmailByStep: "get_email_by_step_analytics_outbound_email_metrics_by_step_get";
|
|
34
|
+
getEmailMetrics: "get_email_metrics_analytics_outbound_email_metrics_get";
|
|
35
|
+
getEmailTrend: "get_email_trend_analytics_outbound_email_metrics_trend_get";
|
|
36
|
+
getExecutiveDashboard: "get_executive_dashboard_analytics_outbound_dashboards_executive_get";
|
|
37
|
+
getFeatureAdoption: "get_feature_adoption_analytics_product_usage_feature_adoption_get";
|
|
38
|
+
getFilterOptions: "get_filter_options_analytics_sales_report_filter_options_get";
|
|
39
|
+
getLaunchpadActivityProfile: "get_launchpad_activity_profile_analytics_launchpad_activity_profile_get";
|
|
40
|
+
getLaunchpadBriefing: "get_launchpad_briefing_analytics_launchpad_briefing_get";
|
|
41
|
+
getLaunchpadCalendarToday: "get_launchpad_calendar_today_analytics_launchpad_calendar_today_get";
|
|
42
|
+
getLaunchpadHomeFeed: "get_launchpad_home_feed_analytics_launchpad_home_feed_get";
|
|
43
|
+
getLaunchpadSmartCards: "get_launchpad_smart_cards_analytics_launchpad_smart_cards_get";
|
|
44
|
+
getManagerDashboard: "get_manager_dashboard_analytics_outbound_dashboards_manager_get";
|
|
45
|
+
getMeetingByChannel: "get_meeting_by_channel_analytics_outbound_meeting_metrics_by_channel_get";
|
|
46
|
+
getMeetingFunnel: "get_meeting_funnel_analytics_outbound_meeting_funnel_get";
|
|
47
|
+
getMeetingMetrics: "get_meeting_metrics_analytics_outbound_meeting_metrics_get";
|
|
48
|
+
getMeetingTrend: "get_meeting_trend_analytics_outbound_meeting_metrics_trend_get";
|
|
49
|
+
getMovement: "get_movement_analytics_subscriptions_movement_get";
|
|
50
|
+
getMrr: "get_mrr_analytics_subscriptions_mrr_get";
|
|
51
|
+
getMySdrDashboard: "get_my_sdr_dashboard_analytics_outbound_dashboards_sdr_get";
|
|
52
|
+
getOutboundSummary: "get_outbound_summary_analytics_outbound_summary_get";
|
|
53
|
+
getPlanDistribution: "get_plan_distribution_analytics_subscriptions_plan_distribution_get";
|
|
54
|
+
getRetention: "get_retention_analytics_subscriptions_retention_get";
|
|
55
|
+
getSdrActivity: "get_sdr_activity_analytics_outbound_sdr_activity_get";
|
|
56
|
+
getSdrActivityByEmail: "get_sdr_activity_by_email_analytics_outbound_sdr_activity__sdr_email__get";
|
|
57
|
+
getSdrDaily: "get_sdr_daily_analytics_outbound_sdr_activity_daily_get";
|
|
58
|
+
getSdrDashboardByEmail: "get_sdr_dashboard_by_email_analytics_outbound_dashboards_sdr__sdr_email__get";
|
|
59
|
+
getSdrLeaderboard: "get_sdr_leaderboard_analytics_outbound_sdr_activity_leaderboard_get";
|
|
60
|
+
getSequencePerformance: "get_sequence_performance_analytics_outbound_sequence_performance_get";
|
|
61
|
+
getSequencePerformanceById: "get_sequence_performance_by_id_analytics_outbound_sequence_performance__sequence_id__get";
|
|
62
|
+
getTeamComparison: "get_team_comparison_analytics_outbound_sdr_activity_team_comparison_get";
|
|
63
|
+
getTopPages: "get_top_pages_analytics_product_usage_top_pages_get";
|
|
64
|
+
getTrialConversion: "get_trial_conversion_analytics_subscriptions_trial_conversion_get";
|
|
65
|
+
getVoiceAiOutcomes: "get_voice_ai_outcomes_analytics_outbound_call_metrics_voice_ai_get";
|
|
66
|
+
postDataQuality: "post_data_quality_analytics_sales_report_data_quality_post";
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Input and output of every `g8.api.analytics` operation, keyed by operationId. */
|
|
70
|
+
export interface AnalyticsOperations {
|
|
71
|
+
/**
|
|
72
|
+
* POST /analytics/sales-report/cohort
|
|
73
|
+
* Compute Cohort
|
|
74
|
+
* tier: read · scope: analytics:read
|
|
75
|
+
*/
|
|
76
|
+
compute_cohort_analytics_sales_report_cohort_post: {
|
|
77
|
+
input: {
|
|
78
|
+
query?: {
|
|
79
|
+
/** IANA timezone the local-day window bounds are computed in, e.g. `Asia/Tokyo`. Changes which deals fall inside the date range. */
|
|
80
|
+
tz?: string;
|
|
81
|
+
};
|
|
82
|
+
headers?: {
|
|
83
|
+
"X-Target-Org-Id"?: string | null;
|
|
84
|
+
};
|
|
85
|
+
body: FilterQueryDto;
|
|
86
|
+
};
|
|
87
|
+
output: ApiResponse_ReportPayload_;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* POST /analytics/sales-report/cohort/explain
|
|
91
|
+
* Explain Cohort
|
|
92
|
+
* tier: read · scope: analytics:read
|
|
93
|
+
*/
|
|
94
|
+
explain_cohort_analytics_sales_report_cohort_explain_post: {
|
|
95
|
+
input: {
|
|
96
|
+
query?: {
|
|
97
|
+
/** IANA timezone the local-day window bounds are computed in, e.g. `Asia/Tokyo`. Changes which deals fall inside the date range. */
|
|
98
|
+
tz?: string;
|
|
99
|
+
};
|
|
100
|
+
headers?: {
|
|
101
|
+
"X-Target-Org-Id"?: string | null;
|
|
102
|
+
};
|
|
103
|
+
body: FilterQueryDto;
|
|
104
|
+
};
|
|
105
|
+
output: ApiResponse_ReportPayload_;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* POST /analytics/sales-report/export
|
|
109
|
+
* Export Cohort Csv
|
|
110
|
+
* tier: read · scope: analytics:read
|
|
111
|
+
*/
|
|
112
|
+
export_cohort_csv_analytics_sales_report_export_post: {
|
|
113
|
+
input: {
|
|
114
|
+
query?: {
|
|
115
|
+
/** IANA timezone the local-day window bounds are computed in, e.g. `Asia/Tokyo`. Changes which deals fall inside the date range. */
|
|
116
|
+
tz?: string;
|
|
117
|
+
};
|
|
118
|
+
headers?: {
|
|
119
|
+
"X-Target-Org-Id"?: string | null;
|
|
120
|
+
};
|
|
121
|
+
body: ExportRequestDto;
|
|
122
|
+
};
|
|
123
|
+
output: void;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* GET /analytics/product-usage/activation-funnel
|
|
127
|
+
* Get Activation Funnel
|
|
128
|
+
* tier: read · scope: analytics:read
|
|
129
|
+
*/
|
|
130
|
+
get_activation_funnel_analytics_product_usage_activation_funnel_get: {
|
|
131
|
+
input: {
|
|
132
|
+
query?: {
|
|
133
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
134
|
+
days?: number;
|
|
135
|
+
};
|
|
136
|
+
headers?: {
|
|
137
|
+
"X-Target-Org-Id"?: string | null;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
output: ApiResponse_ReportPayload_;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* GET /analytics/product-usage/active-users
|
|
144
|
+
* Get Active Users
|
|
145
|
+
* tier: read · scope: analytics:read
|
|
146
|
+
*/
|
|
147
|
+
get_active_users_analytics_product_usage_active_users_get: {
|
|
148
|
+
input: {
|
|
149
|
+
query?: {
|
|
150
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
151
|
+
days?: number;
|
|
152
|
+
};
|
|
153
|
+
headers?: {
|
|
154
|
+
"X-Target-Org-Id"?: string | null;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
output: ApiResponse_ReportPayload_;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* GET /analytics/data-sources
|
|
161
|
+
* Get Analytics Data Sources
|
|
162
|
+
* tier: read · scope: analytics:read
|
|
163
|
+
*/
|
|
164
|
+
get_analytics_data_sources_analytics_data_sources_get: {
|
|
165
|
+
input: {
|
|
166
|
+
headers?: {
|
|
167
|
+
"X-Target-Org-Id"?: string | null;
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
output: ApiResponse_ReportPayload_;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* GET /analytics/outbound/audience/industry
|
|
174
|
+
* Get Audience By Industry
|
|
175
|
+
* tier: read · scope: analytics:read
|
|
176
|
+
*/
|
|
177
|
+
get_audience_by_industry_analytics_outbound_audience_industry_get: {
|
|
178
|
+
input: {
|
|
179
|
+
query?: {
|
|
180
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
181
|
+
days?: number;
|
|
182
|
+
};
|
|
183
|
+
headers?: {
|
|
184
|
+
"X-Target-Org-Id"?: string | null;
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
output: ApiResponse_ReportPayload_;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* GET /analytics/outbound/audience/industry-group
|
|
191
|
+
* Get Audience By Industry Group
|
|
192
|
+
* tier: read · scope: analytics:read
|
|
193
|
+
*/
|
|
194
|
+
get_audience_by_industry_group_analytics_outbound_audience_industry_group_get: {
|
|
195
|
+
input: {
|
|
196
|
+
query?: {
|
|
197
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
198
|
+
days?: number;
|
|
199
|
+
};
|
|
200
|
+
headers?: {
|
|
201
|
+
"X-Target-Org-Id"?: string | null;
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
output: ApiResponse_ReportPayload_;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* GET /analytics/outbound/audience/seniority
|
|
208
|
+
* Get Audience By Seniority
|
|
209
|
+
* tier: read · scope: analytics:read
|
|
210
|
+
*/
|
|
211
|
+
get_audience_by_seniority_analytics_outbound_audience_seniority_get: {
|
|
212
|
+
input: {
|
|
213
|
+
query?: {
|
|
214
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
215
|
+
days?: number;
|
|
216
|
+
};
|
|
217
|
+
headers?: {
|
|
218
|
+
"X-Target-Org-Id"?: string | null;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
output: ApiResponse_ReportPayload_;
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* GET /analytics/outbound/call-metrics
|
|
225
|
+
* Get Call Metrics
|
|
226
|
+
* tier: read · scope: analytics:read
|
|
227
|
+
*/
|
|
228
|
+
get_call_metrics_analytics_outbound_call_metrics_get: {
|
|
229
|
+
input: {
|
|
230
|
+
query?: {
|
|
231
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
232
|
+
days?: number;
|
|
233
|
+
};
|
|
234
|
+
headers?: {
|
|
235
|
+
"X-Target-Org-Id"?: string | null;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
output: ApiResponse_ReportPayload_;
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* GET /analytics/outbound/call-metrics/trend
|
|
242
|
+
* Get Call Trend
|
|
243
|
+
* tier: read · scope: analytics:read
|
|
244
|
+
*/
|
|
245
|
+
get_call_trend_analytics_outbound_call_metrics_trend_get: {
|
|
246
|
+
input: {
|
|
247
|
+
query?: {
|
|
248
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
249
|
+
days?: number;
|
|
250
|
+
};
|
|
251
|
+
headers?: {
|
|
252
|
+
"X-Target-Org-Id"?: string | null;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
output: ApiResponse_ReportPayload_;
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* GET /analytics/outbound/dashboards/campaign
|
|
259
|
+
* Get Campaign Dashboard
|
|
260
|
+
* tier: read · scope: analytics:read
|
|
261
|
+
*/
|
|
262
|
+
get_campaign_dashboard_analytics_outbound_dashboards_campaign_get: {
|
|
263
|
+
input: {
|
|
264
|
+
query?: {
|
|
265
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
266
|
+
days?: number;
|
|
267
|
+
};
|
|
268
|
+
headers?: {
|
|
269
|
+
"X-Target-Org-Id"?: string | null;
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
output: ApiResponse_ReportPayload_;
|
|
273
|
+
};
|
|
274
|
+
/**
|
|
275
|
+
* GET /analytics/campaign-visitors
|
|
276
|
+
* Get Campaign Visitors
|
|
277
|
+
* tier: read · scope: analytics:read
|
|
278
|
+
*/
|
|
279
|
+
get_campaign_visitors_analytics_campaign_visitors_get: {
|
|
280
|
+
input: {
|
|
281
|
+
query?: {
|
|
282
|
+
/** Window start (inclusive), YYYY-MM-DD. If omitted, derived from `days`. */
|
|
283
|
+
start_date?: string | null;
|
|
284
|
+
/** Window end (inclusive), YYYY-MM-DD. If omitted, today. */
|
|
285
|
+
end_date?: string | null;
|
|
286
|
+
/** Rolling 'last N days from today'. Ignored when start_date/end_date are supplied. */
|
|
287
|
+
days?: number | null;
|
|
288
|
+
/** Row cap for the steps + contacts tables */
|
|
289
|
+
limit?: number;
|
|
290
|
+
/** Include the Top contacts table (contact name + email — PII). Set false to omit it entirely for a privacy-lean response. */
|
|
291
|
+
include_contacts?: boolean;
|
|
292
|
+
};
|
|
293
|
+
headers?: {
|
|
294
|
+
"X-Target-Org-Id"?: string | null;
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
output: ApiResponse_CampaignVisitorsReport_;
|
|
298
|
+
};
|
|
299
|
+
/**
|
|
300
|
+
* GET /analytics/outbound/channel-attribution
|
|
301
|
+
* Get Channel Attribution
|
|
302
|
+
* tier: read · scope: analytics:read
|
|
303
|
+
*/
|
|
304
|
+
get_channel_attribution_analytics_outbound_channel_attribution_get: {
|
|
305
|
+
input: {
|
|
306
|
+
query?: {
|
|
307
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
308
|
+
days?: number;
|
|
309
|
+
};
|
|
310
|
+
headers?: {
|
|
311
|
+
"X-Target-Org-Id"?: string | null;
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
output: ApiResponse_ReportPayload_;
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* GET /analytics/sales-report/data-quality
|
|
318
|
+
* Get Data Quality
|
|
319
|
+
* tier: read · scope: analytics:read
|
|
320
|
+
*/
|
|
321
|
+
get_data_quality_analytics_sales_report_data_quality_get: {
|
|
322
|
+
input: {
|
|
323
|
+
headers?: {
|
|
324
|
+
"X-Target-Org-Id"?: string | null;
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
output: ApiResponse_ReportPayload_;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* GET /analytics/subscriptions/dunning
|
|
331
|
+
* Get Dunning
|
|
332
|
+
* tier: read · scope: analytics:read
|
|
333
|
+
*/
|
|
334
|
+
get_dunning_analytics_subscriptions_dunning_get: {
|
|
335
|
+
input: {
|
|
336
|
+
query?: {
|
|
337
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
338
|
+
days?: number;
|
|
339
|
+
};
|
|
340
|
+
headers?: {
|
|
341
|
+
"X-Target-Org-Id"?: string | null;
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
output: ApiResponse_ReportPayload_;
|
|
345
|
+
};
|
|
346
|
+
/**
|
|
347
|
+
* GET /analytics/outbound/email-metrics/by-sequence
|
|
348
|
+
* Get Email By Sequence
|
|
349
|
+
* tier: read · scope: analytics:read
|
|
350
|
+
*/
|
|
351
|
+
get_email_by_sequence_analytics_outbound_email_metrics_by_sequence_get: {
|
|
352
|
+
input: {
|
|
353
|
+
query?: {
|
|
354
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
355
|
+
days?: number;
|
|
356
|
+
/** Sequences to return. */
|
|
357
|
+
limit?: number;
|
|
358
|
+
};
|
|
359
|
+
headers?: {
|
|
360
|
+
"X-Target-Org-Id"?: string | null;
|
|
361
|
+
};
|
|
362
|
+
};
|
|
363
|
+
output: ApiResponse_ReportPayload_;
|
|
364
|
+
};
|
|
365
|
+
/**
|
|
366
|
+
* GET /analytics/outbound/email-metrics/by-step
|
|
367
|
+
* Get Email By Step
|
|
368
|
+
* tier: read · scope: analytics:read
|
|
369
|
+
*/
|
|
370
|
+
get_email_by_step_analytics_outbound_email_metrics_by_step_get: {
|
|
371
|
+
input: {
|
|
372
|
+
query?: {
|
|
373
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
374
|
+
days?: number;
|
|
375
|
+
/** Narrow to one sequence. Omit for every sequence's steps folded together by step order. */
|
|
376
|
+
sequence_id?: string | null;
|
|
377
|
+
};
|
|
378
|
+
headers?: {
|
|
379
|
+
"X-Target-Org-Id"?: string | null;
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
output: ApiResponse_ReportPayload_;
|
|
383
|
+
};
|
|
384
|
+
/**
|
|
385
|
+
* GET /analytics/outbound/email-metrics
|
|
386
|
+
* Get Email Metrics
|
|
387
|
+
* tier: read · scope: analytics:read
|
|
388
|
+
*/
|
|
389
|
+
get_email_metrics_analytics_outbound_email_metrics_get: {
|
|
390
|
+
input: {
|
|
391
|
+
query?: {
|
|
392
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
393
|
+
days?: number;
|
|
394
|
+
};
|
|
395
|
+
headers?: {
|
|
396
|
+
"X-Target-Org-Id"?: string | null;
|
|
397
|
+
};
|
|
398
|
+
};
|
|
399
|
+
output: ApiResponse_ReportPayload_;
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* GET /analytics/outbound/email-metrics/trend
|
|
403
|
+
* Get Email Trend
|
|
404
|
+
* tier: read · scope: analytics:read
|
|
405
|
+
*/
|
|
406
|
+
get_email_trend_analytics_outbound_email_metrics_trend_get: {
|
|
407
|
+
input: {
|
|
408
|
+
query?: {
|
|
409
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
410
|
+
days?: number;
|
|
411
|
+
};
|
|
412
|
+
headers?: {
|
|
413
|
+
"X-Target-Org-Id"?: string | null;
|
|
414
|
+
};
|
|
415
|
+
};
|
|
416
|
+
output: ApiResponse_ReportPayload_;
|
|
417
|
+
};
|
|
418
|
+
/**
|
|
419
|
+
* GET /analytics/outbound/dashboards/executive
|
|
420
|
+
* Get Executive Dashboard
|
|
421
|
+
* tier: read · scope: analytics:read
|
|
422
|
+
*/
|
|
423
|
+
get_executive_dashboard_analytics_outbound_dashboards_executive_get: {
|
|
424
|
+
input: {
|
|
425
|
+
query?: {
|
|
426
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
427
|
+
days?: number;
|
|
428
|
+
};
|
|
429
|
+
headers?: {
|
|
430
|
+
"X-Target-Org-Id"?: string | null;
|
|
431
|
+
};
|
|
432
|
+
};
|
|
433
|
+
output: ApiResponse_ReportPayload_;
|
|
434
|
+
};
|
|
435
|
+
/**
|
|
436
|
+
* GET /analytics/product-usage/feature-adoption
|
|
437
|
+
* Get Feature Adoption
|
|
438
|
+
* tier: read · scope: analytics:read
|
|
439
|
+
*/
|
|
440
|
+
get_feature_adoption_analytics_product_usage_feature_adoption_get: {
|
|
441
|
+
input: {
|
|
442
|
+
query?: {
|
|
443
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
444
|
+
days?: number;
|
|
445
|
+
};
|
|
446
|
+
headers?: {
|
|
447
|
+
"X-Target-Org-Id"?: string | null;
|
|
448
|
+
};
|
|
449
|
+
};
|
|
450
|
+
output: ApiResponse_ReportPayload_;
|
|
451
|
+
};
|
|
452
|
+
/**
|
|
453
|
+
* GET /analytics/sales-report/filter-options
|
|
454
|
+
* Get Filter Options
|
|
455
|
+
* tier: read · scope: analytics:read
|
|
456
|
+
*/
|
|
457
|
+
get_filter_options_analytics_sales_report_filter_options_get: {
|
|
458
|
+
input: {
|
|
459
|
+
query?: {
|
|
460
|
+
/** Start of the window to grade time-bucket granularities against. Must be sent WITH `to`. Omit both and the response is unchanged and carries no `granularity` block. */
|
|
461
|
+
from?: string | null;
|
|
462
|
+
/** End of that window. Must be sent WITH `from`. */
|
|
463
|
+
to?: string | null;
|
|
464
|
+
};
|
|
465
|
+
headers?: {
|
|
466
|
+
"X-Target-Org-Id"?: string | null;
|
|
467
|
+
};
|
|
468
|
+
};
|
|
469
|
+
output: ApiResponse_ReportPayload_;
|
|
470
|
+
};
|
|
471
|
+
/**
|
|
472
|
+
* GET /analytics/launchpad/activity-profile
|
|
473
|
+
* Get Launchpad Activity Profile
|
|
474
|
+
* tier: read · scope: analytics:read
|
|
475
|
+
*/
|
|
476
|
+
get_launchpad_activity_profile_analytics_launchpad_activity_profile_get: {
|
|
477
|
+
input: {
|
|
478
|
+
headers?: {
|
|
479
|
+
"X-Target-Org-Id"?: string | null;
|
|
480
|
+
};
|
|
481
|
+
};
|
|
482
|
+
output: ApiResponse_ReportPayload_;
|
|
483
|
+
};
|
|
484
|
+
/**
|
|
485
|
+
* GET /analytics/launchpad/briefing
|
|
486
|
+
* Get Launchpad Briefing
|
|
487
|
+
* tier: read · scope: analytics:read
|
|
488
|
+
*/
|
|
489
|
+
get_launchpad_briefing_analytics_launchpad_briefing_get: {
|
|
490
|
+
input: {
|
|
491
|
+
headers?: {
|
|
492
|
+
"X-Target-Org-Id"?: string | null;
|
|
493
|
+
};
|
|
494
|
+
};
|
|
495
|
+
output: ApiResponse_ReportPayload_;
|
|
496
|
+
};
|
|
497
|
+
/**
|
|
498
|
+
* GET /analytics/launchpad/calendar/today
|
|
499
|
+
* Get Launchpad Calendar Today
|
|
500
|
+
* tier: read · scope: analytics:read
|
|
501
|
+
*/
|
|
502
|
+
get_launchpad_calendar_today_analytics_launchpad_calendar_today_get: {
|
|
503
|
+
input: {
|
|
504
|
+
query?: {
|
|
505
|
+
/** ISO date to read instead of today. */
|
|
506
|
+
date?: string | null;
|
|
507
|
+
/** IANA timezone the day boundaries are computed in. */
|
|
508
|
+
timezone?: string;
|
|
509
|
+
};
|
|
510
|
+
headers?: {
|
|
511
|
+
"X-Target-Org-Id"?: string | null;
|
|
512
|
+
};
|
|
513
|
+
};
|
|
514
|
+
output: ApiResponse_ReportPayload_;
|
|
515
|
+
};
|
|
516
|
+
/**
|
|
517
|
+
* GET /analytics/launchpad/home-feed
|
|
518
|
+
* Get Launchpad Home Feed
|
|
519
|
+
* tier: read · scope: analytics:read
|
|
520
|
+
*/
|
|
521
|
+
get_launchpad_home_feed_analytics_launchpad_home_feed_get: {
|
|
522
|
+
input: {
|
|
523
|
+
headers?: {
|
|
524
|
+
"X-Target-Org-Id"?: string | null;
|
|
525
|
+
};
|
|
526
|
+
};
|
|
527
|
+
output: ApiResponse_ReportPayload_;
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* GET /analytics/launchpad/smart-cards
|
|
531
|
+
* Get Launchpad Smart Cards
|
|
532
|
+
* tier: read · scope: analytics:read
|
|
533
|
+
*/
|
|
534
|
+
get_launchpad_smart_cards_analytics_launchpad_smart_cards_get: {
|
|
535
|
+
input: {
|
|
536
|
+
headers?: {
|
|
537
|
+
"X-Target-Org-Id"?: string | null;
|
|
538
|
+
};
|
|
539
|
+
};
|
|
540
|
+
output: ApiResponse_ReportPayload_;
|
|
541
|
+
};
|
|
542
|
+
/**
|
|
543
|
+
* GET /analytics/outbound/dashboards/manager
|
|
544
|
+
* Get Manager Dashboard
|
|
545
|
+
* tier: read · scope: analytics:read
|
|
546
|
+
*/
|
|
547
|
+
get_manager_dashboard_analytics_outbound_dashboards_manager_get: {
|
|
548
|
+
input: {
|
|
549
|
+
query?: {
|
|
550
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
551
|
+
days?: number;
|
|
552
|
+
};
|
|
553
|
+
headers?: {
|
|
554
|
+
"X-Target-Org-Id"?: string | null;
|
|
555
|
+
};
|
|
556
|
+
};
|
|
557
|
+
output: ApiResponse_ReportPayload_;
|
|
558
|
+
};
|
|
559
|
+
/**
|
|
560
|
+
* GET /analytics/outbound/meeting-metrics/by-channel
|
|
561
|
+
* Get Meeting By Channel
|
|
562
|
+
* tier: read · scope: analytics:read
|
|
563
|
+
*/
|
|
564
|
+
get_meeting_by_channel_analytics_outbound_meeting_metrics_by_channel_get: {
|
|
565
|
+
input: {
|
|
566
|
+
query?: {
|
|
567
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
568
|
+
days?: number;
|
|
569
|
+
};
|
|
570
|
+
headers?: {
|
|
571
|
+
"X-Target-Org-Id"?: string | null;
|
|
572
|
+
};
|
|
573
|
+
};
|
|
574
|
+
output: ApiResponse_ReportPayload_;
|
|
575
|
+
};
|
|
576
|
+
/**
|
|
577
|
+
* GET /analytics/outbound/meeting-funnel
|
|
578
|
+
* Get Meeting Funnel
|
|
579
|
+
* tier: read · scope: analytics:read
|
|
580
|
+
*/
|
|
581
|
+
get_meeting_funnel_analytics_outbound_meeting_funnel_get: {
|
|
582
|
+
input: {
|
|
583
|
+
query?: {
|
|
584
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
585
|
+
days?: number;
|
|
586
|
+
};
|
|
587
|
+
headers?: {
|
|
588
|
+
"X-Target-Org-Id"?: string | null;
|
|
589
|
+
};
|
|
590
|
+
};
|
|
591
|
+
output: ApiResponse_ReportPayload_;
|
|
592
|
+
};
|
|
593
|
+
/**
|
|
594
|
+
* GET /analytics/outbound/meeting-metrics
|
|
595
|
+
* Get Meeting Metrics
|
|
596
|
+
* tier: read · scope: analytics:read
|
|
597
|
+
*/
|
|
598
|
+
get_meeting_metrics_analytics_outbound_meeting_metrics_get: {
|
|
599
|
+
input: {
|
|
600
|
+
query?: {
|
|
601
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
602
|
+
days?: number;
|
|
603
|
+
};
|
|
604
|
+
headers?: {
|
|
605
|
+
"X-Target-Org-Id"?: string | null;
|
|
606
|
+
};
|
|
607
|
+
};
|
|
608
|
+
output: ApiResponse_ReportPayload_;
|
|
609
|
+
};
|
|
610
|
+
/**
|
|
611
|
+
* GET /analytics/outbound/meeting-metrics/trend
|
|
612
|
+
* Get Meeting Trend
|
|
613
|
+
* tier: read · scope: analytics:read
|
|
614
|
+
*/
|
|
615
|
+
get_meeting_trend_analytics_outbound_meeting_metrics_trend_get: {
|
|
616
|
+
input: {
|
|
617
|
+
query?: {
|
|
618
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
619
|
+
days?: number;
|
|
620
|
+
};
|
|
621
|
+
headers?: {
|
|
622
|
+
"X-Target-Org-Id"?: string | null;
|
|
623
|
+
};
|
|
624
|
+
};
|
|
625
|
+
output: ApiResponse_ReportPayload_;
|
|
626
|
+
};
|
|
627
|
+
/**
|
|
628
|
+
* GET /analytics/subscriptions/movement
|
|
629
|
+
* Get Movement
|
|
630
|
+
* tier: read · scope: analytics:read
|
|
631
|
+
*/
|
|
632
|
+
get_movement_analytics_subscriptions_movement_get: {
|
|
633
|
+
input: {
|
|
634
|
+
query?: {
|
|
635
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
636
|
+
days?: number;
|
|
637
|
+
};
|
|
638
|
+
headers?: {
|
|
639
|
+
"X-Target-Org-Id"?: string | null;
|
|
640
|
+
};
|
|
641
|
+
};
|
|
642
|
+
output: ApiResponse_ReportPayload_;
|
|
643
|
+
};
|
|
644
|
+
/**
|
|
645
|
+
* GET /analytics/subscriptions/mrr
|
|
646
|
+
* Get Mrr
|
|
647
|
+
* tier: read · scope: analytics:read
|
|
648
|
+
*/
|
|
649
|
+
get_mrr_analytics_subscriptions_mrr_get: {
|
|
650
|
+
input: {
|
|
651
|
+
query?: {
|
|
652
|
+
/** Length of the trend series, in days. */
|
|
653
|
+
trailing_days?: number;
|
|
654
|
+
};
|
|
655
|
+
headers?: {
|
|
656
|
+
"X-Target-Org-Id"?: string | null;
|
|
657
|
+
};
|
|
658
|
+
};
|
|
659
|
+
output: ApiResponse_ReportPayload_;
|
|
660
|
+
};
|
|
661
|
+
/**
|
|
662
|
+
* GET /analytics/outbound/dashboards/sdr
|
|
663
|
+
* Get My Sdr Dashboard
|
|
664
|
+
* tier: read · scope: analytics:read
|
|
665
|
+
*/
|
|
666
|
+
get_my_sdr_dashboard_analytics_outbound_dashboards_sdr_get: {
|
|
667
|
+
input: {
|
|
668
|
+
query?: {
|
|
669
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
670
|
+
days?: number;
|
|
671
|
+
};
|
|
672
|
+
headers?: {
|
|
673
|
+
"X-Target-Org-Id"?: string | null;
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
output: ApiResponse_ReportPayload_;
|
|
677
|
+
};
|
|
678
|
+
/**
|
|
679
|
+
* GET /analytics/outbound/summary
|
|
680
|
+
* Get Outbound Summary
|
|
681
|
+
* tier: read · scope: analytics:read
|
|
682
|
+
*/
|
|
683
|
+
get_outbound_summary_analytics_outbound_summary_get: {
|
|
684
|
+
input: {
|
|
685
|
+
query?: {
|
|
686
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
687
|
+
days?: number;
|
|
688
|
+
};
|
|
689
|
+
headers?: {
|
|
690
|
+
"X-Target-Org-Id"?: string | null;
|
|
691
|
+
};
|
|
692
|
+
};
|
|
693
|
+
output: ApiResponse_ReportPayload_;
|
|
694
|
+
};
|
|
695
|
+
/**
|
|
696
|
+
* GET /analytics/subscriptions/plan-distribution
|
|
697
|
+
* Get Plan Distribution
|
|
698
|
+
* tier: read · scope: analytics:read
|
|
699
|
+
*/
|
|
700
|
+
get_plan_distribution_analytics_subscriptions_plan_distribution_get: {
|
|
701
|
+
input: {
|
|
702
|
+
headers?: {
|
|
703
|
+
"X-Target-Org-Id"?: string | null;
|
|
704
|
+
};
|
|
705
|
+
};
|
|
706
|
+
output: ApiResponse_ReportPayload_;
|
|
707
|
+
};
|
|
708
|
+
/**
|
|
709
|
+
* GET /analytics/subscriptions/retention
|
|
710
|
+
* Get Retention
|
|
711
|
+
* tier: read · scope: analytics:read
|
|
712
|
+
*/
|
|
713
|
+
get_retention_analytics_subscriptions_retention_get: {
|
|
714
|
+
input: {
|
|
715
|
+
query?: {
|
|
716
|
+
/** Trailing window, in days. */
|
|
717
|
+
days?: number;
|
|
718
|
+
};
|
|
719
|
+
headers?: {
|
|
720
|
+
"X-Target-Org-Id"?: string | null;
|
|
721
|
+
};
|
|
722
|
+
};
|
|
723
|
+
output: ApiResponse_ReportPayload_;
|
|
724
|
+
};
|
|
725
|
+
/**
|
|
726
|
+
* GET /analytics/outbound/sdr-activity
|
|
727
|
+
* Get Sdr Activity
|
|
728
|
+
* tier: read · scope: analytics:read
|
|
729
|
+
*/
|
|
730
|
+
get_sdr_activity_analytics_outbound_sdr_activity_get: {
|
|
731
|
+
input: {
|
|
732
|
+
query?: {
|
|
733
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
734
|
+
days?: number;
|
|
735
|
+
};
|
|
736
|
+
headers?: {
|
|
737
|
+
"X-Target-Org-Id"?: string | null;
|
|
738
|
+
};
|
|
739
|
+
};
|
|
740
|
+
output: ApiResponse_ReportPayload_;
|
|
741
|
+
};
|
|
742
|
+
/**
|
|
743
|
+
* GET /analytics/outbound/sdr-activity/{sdr_email}
|
|
744
|
+
* Get Sdr Activity By Email
|
|
745
|
+
* tier: read · scope: analytics:read
|
|
746
|
+
*/
|
|
747
|
+
get_sdr_activity_by_email_analytics_outbound_sdr_activity__sdr_email__get: {
|
|
748
|
+
input: {
|
|
749
|
+
path: {
|
|
750
|
+
/** The rep's email address. */
|
|
751
|
+
sdr_email: string;
|
|
752
|
+
};
|
|
753
|
+
query?: {
|
|
754
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
755
|
+
days?: number;
|
|
756
|
+
};
|
|
757
|
+
headers?: {
|
|
758
|
+
"X-Target-Org-Id"?: string | null;
|
|
759
|
+
};
|
|
760
|
+
};
|
|
761
|
+
output: ApiResponse_ReportPayload_;
|
|
762
|
+
};
|
|
763
|
+
/**
|
|
764
|
+
* GET /analytics/outbound/sdr-activity/daily
|
|
765
|
+
* Get Sdr Daily
|
|
766
|
+
* tier: read · scope: analytics:read
|
|
767
|
+
*/
|
|
768
|
+
get_sdr_daily_analytics_outbound_sdr_activity_daily_get: {
|
|
769
|
+
input: {
|
|
770
|
+
query?: {
|
|
771
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
772
|
+
days?: number;
|
|
773
|
+
/** Narrow to one rep. Omit for the whole team. */
|
|
774
|
+
sdr_email?: string | null;
|
|
775
|
+
};
|
|
776
|
+
headers?: {
|
|
777
|
+
"X-Target-Org-Id"?: string | null;
|
|
778
|
+
};
|
|
779
|
+
};
|
|
780
|
+
output: ApiResponse_ReportPayload_;
|
|
781
|
+
};
|
|
782
|
+
/**
|
|
783
|
+
* GET /analytics/outbound/dashboards/sdr/{sdr_email}
|
|
784
|
+
* Get Sdr Dashboard By Email
|
|
785
|
+
* tier: read · scope: analytics:read
|
|
786
|
+
*/
|
|
787
|
+
get_sdr_dashboard_by_email_analytics_outbound_dashboards_sdr__sdr_email__get: {
|
|
788
|
+
input: {
|
|
789
|
+
path: {
|
|
790
|
+
/** The rep's email address. */
|
|
791
|
+
sdr_email: string;
|
|
792
|
+
};
|
|
793
|
+
query?: {
|
|
794
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
795
|
+
days?: number;
|
|
796
|
+
};
|
|
797
|
+
headers?: {
|
|
798
|
+
"X-Target-Org-Id"?: string | null;
|
|
799
|
+
};
|
|
800
|
+
};
|
|
801
|
+
output: ApiResponse_ReportPayload_;
|
|
802
|
+
};
|
|
803
|
+
/**
|
|
804
|
+
* GET /analytics/outbound/sdr-activity/leaderboard
|
|
805
|
+
* Get Sdr Leaderboard
|
|
806
|
+
* tier: read · scope: analytics:read
|
|
807
|
+
*/
|
|
808
|
+
get_sdr_leaderboard_analytics_outbound_sdr_activity_leaderboard_get: {
|
|
809
|
+
input: {
|
|
810
|
+
query?: {
|
|
811
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
812
|
+
days?: number;
|
|
813
|
+
/** Reps to return. */
|
|
814
|
+
limit?: number;
|
|
815
|
+
};
|
|
816
|
+
headers?: {
|
|
817
|
+
"X-Target-Org-Id"?: string | null;
|
|
818
|
+
};
|
|
819
|
+
};
|
|
820
|
+
output: ApiResponse_ReportPayload_;
|
|
821
|
+
};
|
|
822
|
+
/**
|
|
823
|
+
* GET /analytics/outbound/sequence-performance
|
|
824
|
+
* Get Sequence Performance
|
|
825
|
+
* tier: read · scope: analytics:read
|
|
826
|
+
*/
|
|
827
|
+
get_sequence_performance_analytics_outbound_sequence_performance_get: {
|
|
828
|
+
input: {
|
|
829
|
+
query?: {
|
|
830
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
831
|
+
days?: number;
|
|
832
|
+
/** Sequences to return. */
|
|
833
|
+
limit?: number;
|
|
834
|
+
};
|
|
835
|
+
headers?: {
|
|
836
|
+
"X-Target-Org-Id"?: string | null;
|
|
837
|
+
};
|
|
838
|
+
};
|
|
839
|
+
output: ApiResponse_ReportPayload_;
|
|
840
|
+
};
|
|
841
|
+
/**
|
|
842
|
+
* GET /analytics/outbound/sequence-performance/{sequence_id}
|
|
843
|
+
* Get Sequence Performance By Id
|
|
844
|
+
* tier: read · scope: analytics:read
|
|
845
|
+
*/
|
|
846
|
+
get_sequence_performance_by_id_analytics_outbound_sequence_performance__sequence_id__get: {
|
|
847
|
+
input: {
|
|
848
|
+
path: {
|
|
849
|
+
/** Sequence id. */
|
|
850
|
+
sequence_id: string;
|
|
851
|
+
};
|
|
852
|
+
query?: {
|
|
853
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
854
|
+
days?: number;
|
|
855
|
+
};
|
|
856
|
+
headers?: {
|
|
857
|
+
"X-Target-Org-Id"?: string | null;
|
|
858
|
+
};
|
|
859
|
+
};
|
|
860
|
+
output: ApiResponse_ReportPayload_;
|
|
861
|
+
};
|
|
862
|
+
/**
|
|
863
|
+
* GET /analytics/outbound/sdr-activity/team-comparison
|
|
864
|
+
* Get Team Comparison
|
|
865
|
+
* tier: read · scope: analytics:read
|
|
866
|
+
*/
|
|
867
|
+
get_team_comparison_analytics_outbound_sdr_activity_team_comparison_get: {
|
|
868
|
+
input: {
|
|
869
|
+
query?: {
|
|
870
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
871
|
+
days?: number;
|
|
872
|
+
};
|
|
873
|
+
headers?: {
|
|
874
|
+
"X-Target-Org-Id"?: string | null;
|
|
875
|
+
};
|
|
876
|
+
};
|
|
877
|
+
output: ApiResponse_ReportPayload_;
|
|
878
|
+
};
|
|
879
|
+
/**
|
|
880
|
+
* GET /analytics/product-usage/top-pages
|
|
881
|
+
* Get Top Pages
|
|
882
|
+
* tier: read · scope: analytics:read
|
|
883
|
+
*/
|
|
884
|
+
get_top_pages_analytics_product_usage_top_pages_get: {
|
|
885
|
+
input: {
|
|
886
|
+
query?: {
|
|
887
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
888
|
+
days?: number;
|
|
889
|
+
/** Rows per list. */
|
|
890
|
+
limit?: number;
|
|
891
|
+
};
|
|
892
|
+
headers?: {
|
|
893
|
+
"X-Target-Org-Id"?: string | null;
|
|
894
|
+
};
|
|
895
|
+
};
|
|
896
|
+
output: ApiResponse_ReportPayload_;
|
|
897
|
+
};
|
|
898
|
+
/**
|
|
899
|
+
* GET /analytics/subscriptions/trial-conversion
|
|
900
|
+
* Get Trial Conversion
|
|
901
|
+
* tier: read · scope: analytics:read
|
|
902
|
+
*/
|
|
903
|
+
get_trial_conversion_analytics_subscriptions_trial_conversion_get: {
|
|
904
|
+
input: {
|
|
905
|
+
query?: {
|
|
906
|
+
/** Trailing window, in days. */
|
|
907
|
+
days?: number;
|
|
908
|
+
};
|
|
909
|
+
headers?: {
|
|
910
|
+
"X-Target-Org-Id"?: string | null;
|
|
911
|
+
};
|
|
912
|
+
};
|
|
913
|
+
output: ApiResponse_ReportPayload_;
|
|
914
|
+
};
|
|
915
|
+
/**
|
|
916
|
+
* GET /analytics/outbound/call-metrics/voice-ai
|
|
917
|
+
* Get Voice Ai Outcomes
|
|
918
|
+
* tier: read · scope: analytics:read
|
|
919
|
+
*/
|
|
920
|
+
get_voice_ai_outcomes_analytics_outbound_call_metrics_voice_ai_get: {
|
|
921
|
+
input: {
|
|
922
|
+
query?: {
|
|
923
|
+
/** Size of the trailing window, in days, ending today (UTC). */
|
|
924
|
+
days?: number;
|
|
925
|
+
};
|
|
926
|
+
headers?: {
|
|
927
|
+
"X-Target-Org-Id"?: string | null;
|
|
928
|
+
};
|
|
929
|
+
};
|
|
930
|
+
output: ApiResponse_ReportPayload_;
|
|
931
|
+
};
|
|
932
|
+
/**
|
|
933
|
+
* POST /analytics/sales-report/data-quality
|
|
934
|
+
* Post Data Quality
|
|
935
|
+
* tier: read · scope: analytics:read
|
|
936
|
+
*/
|
|
937
|
+
post_data_quality_analytics_sales_report_data_quality_post: {
|
|
938
|
+
input: {
|
|
939
|
+
query?: {
|
|
940
|
+
/** IANA timezone the local-day window bounds are computed in, e.g. `Asia/Tokyo`. Changes which deals fall inside the date range. */
|
|
941
|
+
tz?: string;
|
|
942
|
+
};
|
|
943
|
+
headers?: {
|
|
944
|
+
"X-Target-Org-Id"?: string | null;
|
|
945
|
+
};
|
|
946
|
+
body: FilterQueryDto;
|
|
947
|
+
};
|
|
948
|
+
output: ApiResponse_ReportPayload_;
|
|
949
|
+
};
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
// 19 schemas referenced above (the same as G8Contract.<Name>).
|
|
953
|
+
|
|
954
|
+
export interface ApiResponse_CampaignVisitorsReport_ {
|
|
955
|
+
data: CampaignVisitorsReport;
|
|
956
|
+
pagination?: PaginationMeta | null;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
export interface ApiResponse_ReportPayload_ {
|
|
960
|
+
data: ReportPayload;
|
|
961
|
+
pagination?: PaginationMeta | null;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* One row of the Top contacts table.
|
|
966
|
+
*
|
|
967
|
+
* Carries PII (``name`` / ``email``) for the org's own contacts. Omitted
|
|
968
|
+
* entirely from the response when the request passes ``include_contacts=false``.
|
|
969
|
+
*/
|
|
970
|
+
export interface CampaignVisitorContact {
|
|
971
|
+
/** Per-org contact id */
|
|
972
|
+
contact_id: number;
|
|
973
|
+
/** Contact work email when resolvable (PII) */
|
|
974
|
+
email?: string | null;
|
|
975
|
+
/** Most recent path this contact clicked to */
|
|
976
|
+
last_path?: string | null;
|
|
977
|
+
/** Latest click timestamp (ISO) */
|
|
978
|
+
last_seen?: string | null;
|
|
979
|
+
/** Contact full name when resolvable (PII) */
|
|
980
|
+
name?: string | null;
|
|
981
|
+
/** Sequencer step the click was attributed to */
|
|
982
|
+
step_id?: string | null;
|
|
983
|
+
/** Human-readable step label when resolvable */
|
|
984
|
+
step_label?: string | null;
|
|
985
|
+
/** Click events by this contact in the window */
|
|
986
|
+
visits: number;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
/** One row of the Email Link Engagement table (a clicked destination URL). */
|
|
990
|
+
export interface CampaignVisitorLink {
|
|
991
|
+
/** events ÷ emails_with_link × 100, clamped [0,100]; null when no denominator */
|
|
992
|
+
ctr_percent?: number | null;
|
|
993
|
+
/** Sends whose template embedded this URL (CTR denominator) */
|
|
994
|
+
emails_with_link?: number | null;
|
|
995
|
+
/** Human click events on this URL (scanner-filtered) */
|
|
996
|
+
events: number;
|
|
997
|
+
/** Clicked destination host */
|
|
998
|
+
host: string;
|
|
999
|
+
/** Latest click timestamp (ISO) */
|
|
1000
|
+
last_seen?: string | null;
|
|
1001
|
+
/** Clicked destination path */
|
|
1002
|
+
path: string;
|
|
1003
|
+
/** Sequencer steps whose links drove these clicks */
|
|
1004
|
+
step_ids?: Array<string>;
|
|
1005
|
+
/** Human-readable labels for step_ids when resolvable */
|
|
1006
|
+
step_labels?: Array<string> | null;
|
|
1007
|
+
/** Distinct contacts who clicked this URL */
|
|
1008
|
+
unique_contacts: number;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
/** One row of the Top campaign steps table. */
|
|
1012
|
+
export interface CampaignVisitorStep {
|
|
1013
|
+
/** EMAIL sends dispatched from this step in the window */
|
|
1014
|
+
emails_sent?: number | null;
|
|
1015
|
+
/** Of those sends, how many carried a link */
|
|
1016
|
+
emails_with_link?: number | null;
|
|
1017
|
+
/** Campaign click events attributed to this step */
|
|
1018
|
+
events: number;
|
|
1019
|
+
/** Earliest click timestamp (ISO) */
|
|
1020
|
+
first_seen?: string | null;
|
|
1021
|
+
/** Latest click timestamp (ISO) */
|
|
1022
|
+
last_seen?: string | null;
|
|
1023
|
+
/** Sequencer step id (globally-unique CUID) */
|
|
1024
|
+
step_id: string;
|
|
1025
|
+
/** Human-readable '{sequence} / Step {n}' when resolvable */
|
|
1026
|
+
step_label?: string | null;
|
|
1027
|
+
/** Distinct contacts who clicked from this step */
|
|
1028
|
+
unique_contacts: number;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
/** Composite Campaign Visitors report for a single org (analytics report a23). */
|
|
1032
|
+
export interface CampaignVisitorsReport {
|
|
1033
|
+
link_engagement: Array<CampaignVisitorLink>;
|
|
1034
|
+
summary: CampaignVisitorsSummary;
|
|
1035
|
+
top_campaign_steps: Array<CampaignVisitorStep>;
|
|
1036
|
+
top_contacts: Array<CampaignVisitorContact>;
|
|
1037
|
+
window: CampaignVisitorsWindow;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
/**
|
|
1041
|
+
* KPI tiles for the org's campaign-click activity in the window.
|
|
1042
|
+
*
|
|
1043
|
+
* All click-derived counters are email-security-scanner filtered (humans only)
|
|
1044
|
+
* when ``SEQUENCER_VISITOR_SCANNER_FILTER=enforce`` — the same honest counts the
|
|
1045
|
+
* in-app report shows. ``total_page_events`` is all page volume (not filtered).
|
|
1046
|
+
*/
|
|
1047
|
+
export interface CampaignVisitorsSummary {
|
|
1048
|
+
/** Total (contact, step) click groups before the `limit` cap */
|
|
1049
|
+
contact_rows: number;
|
|
1050
|
+
/** Diagnostic: campaign clicks with an encrypted (#c=e1.) hash */
|
|
1051
|
+
encrypted_pageviews: number;
|
|
1052
|
+
/** Distinct identified web sessions on campaign clicks */
|
|
1053
|
+
identified_visitors: number;
|
|
1054
|
+
/** False when the org has no visitor-tracking pipeline / no page events */
|
|
1055
|
+
jitsu_wired: boolean;
|
|
1056
|
+
/** Total distinct clicked (host, path) before the ceiling */
|
|
1057
|
+
link_rows: number;
|
|
1058
|
+
/** Parseable campaign-attributed click events */
|
|
1059
|
+
pageview_events: number;
|
|
1060
|
+
/** Diagnostic: campaign clicks with a plaintext hash */
|
|
1061
|
+
plaintext_pageviews: number;
|
|
1062
|
+
/** Total distinct campaign steps before the `limit` cap */
|
|
1063
|
+
step_rows: number;
|
|
1064
|
+
/** All page events in the window (campaign + non-campaign) */
|
|
1065
|
+
total_page_events: number;
|
|
1066
|
+
/** Distinct sequencer steps that drew clicks */
|
|
1067
|
+
unique_campaign_steps: number;
|
|
1068
|
+
/** Distinct contacts who clicked a campaign link */
|
|
1069
|
+
unique_contacts: number;
|
|
1070
|
+
/** Campaign clicks whose tracking hash could not be decoded */
|
|
1071
|
+
unparseable_pageviews: number;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
/** The resolved reporting window echoed back to the caller. */
|
|
1075
|
+
export interface CampaignVisitorsWindow {
|
|
1076
|
+
/** Inclusive calendar-day span of the window */
|
|
1077
|
+
days: number;
|
|
1078
|
+
/** Window end (inclusive), YYYY-MM-DD */
|
|
1079
|
+
end_date: string;
|
|
1080
|
+
/** 'anchored' (explicit start/end) or 'rolling' (last-N-days) */
|
|
1081
|
+
mode: string;
|
|
1082
|
+
/** Window start (inclusive), YYYY-MM-DD */
|
|
1083
|
+
start_date: string;
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
export interface DateRangeDto {
|
|
1087
|
+
from: string;
|
|
1088
|
+
to: string;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
/**
|
|
1092
|
+
* Export body — the cohort filter plus the section selector.
|
|
1093
|
+
*
|
|
1094
|
+
* The FE sends ``section`` in the JSON body alongside the filter (see
|
|
1095
|
+
* ``sales-report.service.ts``). Absent / unknown values fall back to the
|
|
1096
|
+
* persons drill-down CSV, so older clients keep working unchanged.
|
|
1097
|
+
*
|
|
1098
|
+
* Inherits every AC-3 filter cap from ``FilterQueryDto``, including the
|
|
1099
|
+
* cross-group ``_bound_total_filter_values`` validator — the export streams
|
|
1100
|
+
* the SAME cohort the screen shows, so an uncapped ``/export`` would be a
|
|
1101
|
+
* download-shaped bypass of the cap ``/cohort`` applies.
|
|
1102
|
+
*/
|
|
1103
|
+
export interface ExportRequestDto {
|
|
1104
|
+
audiences?: IntIdFilterGroupDto | null;
|
|
1105
|
+
campaign?: FilterGroupDto | null;
|
|
1106
|
+
channel?: FilterGroupDto | null;
|
|
1107
|
+
country?: FilterGroupDto | null;
|
|
1108
|
+
date: DateRangeDto;
|
|
1109
|
+
grading_bucket?: GradingBucketFilterGroupDto | null;
|
|
1110
|
+
granularity?: ("day" | "week" | "month") | null;
|
|
1111
|
+
headcount?: HeadcountFilterGroupDto | null;
|
|
1112
|
+
industry?: FilterGroupDto | null;
|
|
1113
|
+
lifecycle?: FilterGroupDto | null;
|
|
1114
|
+
objections?: ObjectionCodeFilterGroupDto | null;
|
|
1115
|
+
pipeline?: UuidFilterGroupDto | null;
|
|
1116
|
+
pipeline_target?: ("prospects_meeting" | "prospects_revenue" | "customers_revenue") | null;
|
|
1117
|
+
rec_type?: IntIdFilterGroupDto | null;
|
|
1118
|
+
rep?: FilterGroupDto | null;
|
|
1119
|
+
section?: string | null;
|
|
1120
|
+
signals_calendar?: FilterGroupDto | null;
|
|
1121
|
+
signals_chat?: FilterGroupDto | null;
|
|
1122
|
+
signals_crm?: FilterGroupDto | null;
|
|
1123
|
+
signals_email?: FilterGroupDto | null;
|
|
1124
|
+
signals_enrichment?: FilterGroupDto | null;
|
|
1125
|
+
signals_forms?: FilterGroupDto | null;
|
|
1126
|
+
signals_intent?: FilterGroupDto | null;
|
|
1127
|
+
signals_linkedin?: FilterGroupDto | null;
|
|
1128
|
+
signals_sequence?: FilterGroupDto | null;
|
|
1129
|
+
signals_sms?: FilterGroupDto | null;
|
|
1130
|
+
signals_voice?: FilterGroupDto | null;
|
|
1131
|
+
signals_website?: FilterGroupDto | null;
|
|
1132
|
+
stage?: UuidFilterGroupDto | null;
|
|
1133
|
+
tier?: FilterGroupDto | null;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
/**
|
|
1137
|
+
* One filter group — list of values + optional NOT toggle.
|
|
1138
|
+
*
|
|
1139
|
+
* ``in_`` is capped at ``MAX_FILTER_VALUES_PER_GROUP`` items of
|
|
1140
|
+
* ``MAX_FILTER_VALUE_LENGTH`` characters each. Over-cap input raises during
|
|
1141
|
+
* body parsing, so FastAPI answers 422 with the offending group named in
|
|
1142
|
+
* ``detail[].loc`` (``["body", "<group>", "in"]``) and the cap in
|
|
1143
|
+
* ``detail[].msg`` — no handler code, and therefore no SQL, runs.
|
|
1144
|
+
*
|
|
1145
|
+
* THIS SHAPE DOES NOT NEST. ``in_`` holds scalars and there is no
|
|
1146
|
+
* group-of-groups member, so a caller cannot vary the tree depth: it is fixed
|
|
1147
|
+
* at 2 (query -> group -> values) by construction, and ``extra="forbid"`` on
|
|
1148
|
+
* both models keeps it that way. A depth check here would be validation that
|
|
1149
|
+
* can never fire. Add one WITH the member that introduces nesting, not before
|
|
1150
|
+
* it.
|
|
1151
|
+
*
|
|
1152
|
+
* Do not confuse this with ``SegmentFilterGroup``
|
|
1153
|
+
* (``contacts/domain/value_objects/ag_grid_models.py:111``), which IS
|
|
1154
|
+
* recursive and is where AC-3's "tree depth" belongs. Different model,
|
|
1155
|
+
* different route, still unbounded — see the scope note above the constants.
|
|
1156
|
+
*/
|
|
1157
|
+
export interface FilterGroupDto {
|
|
1158
|
+
in?: Array<string>;
|
|
1159
|
+
not?: boolean;
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
/**
|
|
1163
|
+
* JSON shape consumed by POST /api/sales-report/cohort.
|
|
1164
|
+
*
|
|
1165
|
+
* Empty groups are omitted by callers; absent groups treated as empty.
|
|
1166
|
+
*/
|
|
1167
|
+
export interface FilterQueryDto {
|
|
1168
|
+
audiences?: IntIdFilterGroupDto | null;
|
|
1169
|
+
campaign?: FilterGroupDto | null;
|
|
1170
|
+
channel?: FilterGroupDto | null;
|
|
1171
|
+
country?: FilterGroupDto | null;
|
|
1172
|
+
date: DateRangeDto;
|
|
1173
|
+
grading_bucket?: GradingBucketFilterGroupDto | null;
|
|
1174
|
+
granularity?: ("day" | "week" | "month") | null;
|
|
1175
|
+
headcount?: HeadcountFilterGroupDto | null;
|
|
1176
|
+
industry?: FilterGroupDto | null;
|
|
1177
|
+
lifecycle?: FilterGroupDto | null;
|
|
1178
|
+
objections?: ObjectionCodeFilterGroupDto | null;
|
|
1179
|
+
pipeline?: UuidFilterGroupDto | null;
|
|
1180
|
+
pipeline_target?: ("prospects_meeting" | "prospects_revenue" | "customers_revenue") | null;
|
|
1181
|
+
rec_type?: IntIdFilterGroupDto | null;
|
|
1182
|
+
rep?: FilterGroupDto | null;
|
|
1183
|
+
signals_calendar?: FilterGroupDto | null;
|
|
1184
|
+
signals_chat?: FilterGroupDto | null;
|
|
1185
|
+
signals_crm?: FilterGroupDto | null;
|
|
1186
|
+
signals_email?: FilterGroupDto | null;
|
|
1187
|
+
signals_enrichment?: FilterGroupDto | null;
|
|
1188
|
+
signals_forms?: FilterGroupDto | null;
|
|
1189
|
+
signals_intent?: FilterGroupDto | null;
|
|
1190
|
+
signals_linkedin?: FilterGroupDto | null;
|
|
1191
|
+
signals_sequence?: FilterGroupDto | null;
|
|
1192
|
+
signals_sms?: FilterGroupDto | null;
|
|
1193
|
+
signals_voice?: FilterGroupDto | null;
|
|
1194
|
+
signals_website?: FilterGroupDto | null;
|
|
1195
|
+
stage?: UuidFilterGroupDto | null;
|
|
1196
|
+
tier?: FilterGroupDto | null;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
/**
|
|
1200
|
+
* `grading_bucket` — a CLOSED vocabulary (`GRADING_BUCKETS`). An unknown
|
|
1201
|
+
* bucket produces no band clause and widens to the full book.
|
|
1202
|
+
*/
|
|
1203
|
+
export interface GradingBucketFilterGroupDto {
|
|
1204
|
+
in?: Array<"high" | "med" | "low">;
|
|
1205
|
+
not?: boolean;
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
/**
|
|
1209
|
+
* `headcount` — a CLOSED vocabulary (`HEADCOUNT_BANDS`), and the exact list
|
|
1210
|
+
* `/filter-options` hands the client.
|
|
1211
|
+
*/
|
|
1212
|
+
export interface HeadcountFilterGroupDto {
|
|
1213
|
+
in?: Array<"1-10" | "11-50" | "51-200" | "201-1000" | "1001+">;
|
|
1214
|
+
not?: boolean;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
/**
|
|
1218
|
+
* `rec_type` / `audiences` — `Lead.rec_type` is `SmallInteger` and
|
|
1219
|
+
* `audience_id` is `Integer`; both appliers coerce and skip what will not
|
|
1220
|
+
* parse.
|
|
1221
|
+
*/
|
|
1222
|
+
export interface IntIdFilterGroupDto {
|
|
1223
|
+
in?: Array<string>;
|
|
1224
|
+
not?: boolean;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
/**
|
|
1228
|
+
* `objections` — codes live in the PER-ORG `cb_objection_codes` catalog, so
|
|
1229
|
+
* only the SHAPE can be checked here. Blank is the one thing the applier
|
|
1230
|
+
* provably cannot use.
|
|
1231
|
+
*/
|
|
1232
|
+
export interface ObjectionCodeFilterGroupDto {
|
|
1233
|
+
in?: Array<string>;
|
|
1234
|
+
not?: boolean;
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
export interface PaginationMeta {
|
|
1238
|
+
/** Whether there are more pages */
|
|
1239
|
+
has_next: boolean;
|
|
1240
|
+
/** Items per page */
|
|
1241
|
+
limit: number;
|
|
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
|
+
next_cursor?: string | null;
|
|
1244
|
+
/** Current page number (1-indexed) */
|
|
1245
|
+
page: number;
|
|
1246
|
+
/** Total number of items */
|
|
1247
|
+
total: number;
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
/**
|
|
1251
|
+
* An OPEN envelope around one report's answer.
|
|
1252
|
+
*
|
|
1253
|
+
* The app wraps every one of these reports in `{success, data, meta}`, where
|
|
1254
|
+
* `meta` carries the cache state, the window and - on the agency reports -
|
|
1255
|
+
* `failed_org_ids`, the orgs that contributed NOTHING to the totals above.
|
|
1256
|
+
* That field is the difference between "this client sent no email" and "we
|
|
1257
|
+
* could not query this client", so it is forwarded rather than flattened
|
|
1258
|
+
* away.
|
|
1259
|
+
*
|
|
1260
|
+
* Open on purpose: `data` is `dict | list` in the app and its contents grow
|
|
1261
|
+
* with the product. A closed model would turn every new metric into a
|
|
1262
|
+
* silently dropped one.
|
|
1263
|
+
*/
|
|
1264
|
+
export type ReportPayload = Record<string, unknown>;
|
|
1265
|
+
|
|
1266
|
+
/**
|
|
1267
|
+
* `pipeline` / `stage` — `CBDeal.pipeline_id` and `.stage_id` are real
|
|
1268
|
+
* `PostgresUUID` columns, so a non-UUID can only ever fail open.
|
|
1269
|
+
*/
|
|
1270
|
+
export interface UuidFilterGroupDto {
|
|
1271
|
+
in?: Array<string>;
|
|
1272
|
+
not?: boolean;
|
|
1273
|
+
}
|