@graph8/sdk 0.245.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 +19 -5
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +283 -12
- package/dist/index.d.ts +283 -12
- package/dist/index.js +88 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +88 -2
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +274 -12
- package/dist/react.d.ts +274 -12
- package/dist/react.js +106 -10
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +97 -11
- 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,274 @@
|
|
|
1
|
+
<!-- Generated by sdk/js/scripts/generate-agent-docs.ts from developer-contract/openapi.json. Regenerated on every build. -->
|
|
2
|
+
|
|
3
|
+
# `g8.api.revenueLifecycle`: Revenue Lifecycle
|
|
4
|
+
|
|
5
|
+
5 operations (3 read, 2 write).
|
|
6
|
+
|
|
7
|
+
No hand-written client covers this area. Call it through `g8.api.revenueLifecycle.*` as shown below, or by operationId with `g8.api.call(operationId, input)`.
|
|
8
|
+
|
|
9
|
+
Every example below assumes this setup (server-side, API key):
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { g8 } from "@graph8/sdk";
|
|
13
|
+
|
|
14
|
+
g8.init({ apiKey: process.env.G8_API_KEY! });
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Example values are placeholders that match each field's type. Only required fields are shown. Every example is type-checked against the SDK in CI.
|
|
18
|
+
|
|
19
|
+
Exact TypeScript types for every operation on this page, and every schema they use: [revenueLifecycle.d.ts](revenueLifecycle.d.ts).
|
|
20
|
+
|
|
21
|
+
## Operations
|
|
22
|
+
|
|
23
|
+
| Call | HTTP | Tier | Scope | Summary |
|
|
24
|
+
|---|---|---|---|---|
|
|
25
|
+
| [`getLifecycleStageCounts`](#op-getlifecyclestagecounts) | `GET /api/v1/lifecycle-stages/counts` | read | `deals:read` | Get Lifecycle Stage Counts |
|
|
26
|
+
| [`listLifecycleStageRecords`](#op-listlifecyclestagerecords) | `GET /api/v1/lifecycle-stages/{stage}/records` | read | `deals:read` | List Lifecycle Stage Records |
|
|
27
|
+
| [`listLifecycleStages`](#op-listlifecyclestages) | `GET /api/v1/lifecycle-stages` | read | `deals:read` | List Lifecycle Stages |
|
|
28
|
+
| [`moveCompanyLifecycleStage`](#op-movecompanylifecyclestage) | `POST /api/v1/companies/{company_id}/lifecycle-stage` | write | `deals:write` | Move Company Lifecycle Stage |
|
|
29
|
+
| [`moveContactLifecycleStage`](#op-movecontactlifecyclestage) | `POST /api/v1/contacts/{contact_id}/lifecycle-stage` | write | `deals:write` | Move Contact Lifecycle Stage |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
<a id="op-getlifecyclestagecounts"></a>
|
|
34
|
+
|
|
35
|
+
### `g8.api.revenueLifecycle.getLifecycleStageCounts(input?)`
|
|
36
|
+
|
|
37
|
+
**Get Lifecycle Stage Counts**
|
|
38
|
+
|
|
39
|
+
- HTTP: `GET /api/v1/lifecycle-stages/counts`
|
|
40
|
+
- operationId: `get_lifecycle_stage_counts_lifecycle_stages_counts_get` (also callable as `g8.api.call("get_lifecycle_stage_counts_lifecycle_stages_counts_get", input)`)
|
|
41
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
42
|
+
- API-key scope: `deals:read`
|
|
43
|
+
|
|
44
|
+
Per-stage company counts — cheap enough to power a lifecycle board header.
|
|
45
|
+
|
|
46
|
+
The returned map is keyed by lifecycle ENTRY ID, not slug (matches
|
|
47
|
+
`GET /settings/revenue/lifecycle/counts` exactly — see
|
|
48
|
+
`.claude/agent-context/lifecycle-stage-moves.md` Gotcha 4). Cross-reference
|
|
49
|
+
against `GET /lifecycle-stages` to resolve an id to its slug/name. Counts
|
|
50
|
+
are company-only, same as the app's nav badges — contact-stage membership
|
|
51
|
+
has no counts surface yet (see the module docstring's dropped-scope note).
|
|
52
|
+
|
|
53
|
+
**Input**: none.
|
|
54
|
+
|
|
55
|
+
**Returns** `ApiResponse_dict_str__int__`: the envelope `{ data: Record<string, integer>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
56
|
+
|
|
57
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
58
|
+
|
|
59
|
+
**Example**
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
const result = await g8.api.revenueLifecycle.getLifecycleStageCounts();
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
<a id="op-listlifecyclestagerecords"></a>
|
|
68
|
+
|
|
69
|
+
### `g8.api.revenueLifecycle.listLifecycleStageRecords(input)`
|
|
70
|
+
|
|
71
|
+
**List Lifecycle Stage Records**
|
|
72
|
+
|
|
73
|
+
- HTTP: `GET /api/v1/lifecycle-stages/{stage}/records`
|
|
74
|
+
- operationId: `list_lifecycle_stage_records_lifecycle_stages__stage__records_get` (also callable as `g8.api.call("list_lifecycle_stage_records_lifecycle_stages__stage__records_get", input)`)
|
|
75
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
76
|
+
- API-key scope: `deals:read`
|
|
77
|
+
|
|
78
|
+
List the companies currently in a lifecycle stage.
|
|
79
|
+
|
|
80
|
+
Membership is resolved with the exact same predicate the Suspects/Leads/
|
|
81
|
+
Trial/Customers/Churned grid and the counts endpoint use — this endpoint,
|
|
82
|
+
the grid, and `GET /lifecycle-stages/counts` can never disagree about who
|
|
83
|
+
is in a stage. Row visibility is additionally narrowed by the calling
|
|
84
|
+
key's declared company scope (own/team/all), same as `GET /companies`.
|
|
85
|
+
|
|
86
|
+
**Input**
|
|
87
|
+
|
|
88
|
+
| Field | Type | Required | Description |
|
|
89
|
+
|---|---|---|---|
|
|
90
|
+
| `path.stage` | `string` | yes | Lifecycle slug (e.g. 'leads') OR lifecycle entry UUID — either works. |
|
|
91
|
+
| `query.page` | `integer` | no | Page number (1-indexed). default `1` |
|
|
92
|
+
| `query.limit` | `integer` | no | Items per page (max 200). default `50` |
|
|
93
|
+
|
|
94
|
+
**Returns** `ApiResponse_list_LifecycleRecordItem__`: the envelope `{ data: Array<LifecycleRecordItem>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
95
|
+
|
|
96
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
97
|
+
|
|
98
|
+
`LifecycleRecordItem` fields:
|
|
99
|
+
|
|
100
|
+
| Field | Type | Required | Description |
|
|
101
|
+
|---|---|---|---|
|
|
102
|
+
| `company_id` | `integer` | yes | |
|
|
103
|
+
| `custom_status` | `string \| null` | no | |
|
|
104
|
+
| `domain` | `string \| null` | no | |
|
|
105
|
+
| `industry` | `string \| null` | no | |
|
|
106
|
+
| `mrr_cents` | `integer \| null` | no | |
|
|
107
|
+
| `name` | `string \| null` | no | |
|
|
108
|
+
| `owner_id` | `string \| null` | no | |
|
|
109
|
+
| `status` | `string \| null` | no | |
|
|
110
|
+
| `subscription_status` | `string \| null` | no | |
|
|
111
|
+
|
|
112
|
+
**Example**
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
const result = await g8.api.revenueLifecycle.listLifecycleStageRecords({ path: { stage: "example" } });
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
<a id="op-listlifecyclestages"></a>
|
|
121
|
+
|
|
122
|
+
### `g8.api.revenueLifecycle.listLifecycleStages(input?)`
|
|
123
|
+
|
|
124
|
+
**List Lifecycle Stages**
|
|
125
|
+
|
|
126
|
+
- HTTP: `GET /api/v1/lifecycle-stages`
|
|
127
|
+
- operationId: `list_lifecycle_stages_lifecycle_stages_get` (also callable as `g8.api.call("list_lifecycle_stages_lifecycle_stages_get", input)`)
|
|
128
|
+
- Tier: `read`: reads data; safe to call and to retry
|
|
129
|
+
- API-key scope: `deals:read`
|
|
130
|
+
|
|
131
|
+
List the org's configured revenue lifecycle stages, sorted for display.
|
|
132
|
+
|
|
133
|
+
Suspects/Leads/Trial/Customers/Churned ship seeded by default; an org may
|
|
134
|
+
also have added custom stages via the Settings > Revenue Lifecycle editor.
|
|
135
|
+
Pass either `slug` or `id` from this response to
|
|
136
|
+
`GET /lifecycle-stages/{stage}/records` and
|
|
137
|
+
`POST /{companies,contacts}/{id}/lifecycle-stage`.
|
|
138
|
+
|
|
139
|
+
**Input**: none.
|
|
140
|
+
|
|
141
|
+
**Returns** `ApiResponse_list_LifecycleStageResponse__`: the envelope `{ data: Array<LifecycleStageResponse>, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
142
|
+
|
|
143
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
144
|
+
|
|
145
|
+
`LifecycleStageResponse` fields:
|
|
146
|
+
|
|
147
|
+
| Field | Type | Required | Description |
|
|
148
|
+
|---|---|---|---|
|
|
149
|
+
| `hidden` | `boolean` | yes | |
|
|
150
|
+
| `icon` | `string` | yes | |
|
|
151
|
+
| `id` | `string` | yes | Lifecycle entry UUID — the key `GET /lifecycle-stages/counts` uses. |
|
|
152
|
+
| `name` | `string` | yes | |
|
|
153
|
+
| `slug` | `string` | yes | Stable machine slug, e.g. 'leads', 'trials'. Accepted by the /records path. |
|
|
154
|
+
| `sort_order` | `integer` | yes | |
|
|
155
|
+
| `custom_status_match` | `Array<string>` | no | cb_accounts.custom_status values that also match this stage. |
|
|
156
|
+
| `description` | `string \| null` | no | |
|
|
157
|
+
| `status_match` | `Array<string>` | no | cb_accounts.status values that match this stage. |
|
|
158
|
+
| `subscription_filter` | `Array<string> \| null` | no | When set, cb_accounts.subscription_status must also be one of these. |
|
|
159
|
+
|
|
160
|
+
**Example**
|
|
161
|
+
|
|
162
|
+
```ts
|
|
163
|
+
const result = await g8.api.revenueLifecycle.listLifecycleStages();
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
<a id="op-movecompanylifecyclestage"></a>
|
|
169
|
+
|
|
170
|
+
### `g8.api.revenueLifecycle.moveCompanyLifecycleStage(input)`
|
|
171
|
+
|
|
172
|
+
**Move Company Lifecycle Stage**
|
|
173
|
+
|
|
174
|
+
- HTTP: `POST /api/v1/companies/{company_id}/lifecycle-stage`
|
|
175
|
+
- operationId: `move_company_lifecycle_stage_companies__company_id__lifecycle_stage_post` (also callable as `g8.api.call("move_company_lifecycle_stage_companies__company_id__lifecycle_stage_post", input)`)
|
|
176
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
177
|
+
- API-key scope: `deals:write`
|
|
178
|
+
|
|
179
|
+
Move a company to a different lifecycle stage.
|
|
180
|
+
|
|
181
|
+
Proxies `promote_company_lifecycle_stage` — atomically writes `status` +
|
|
182
|
+
`custom_status` to both the `cb_accounts` and `cb_company_extensions`
|
|
183
|
+
overlays, refuses a move to `customers` when the company has no active/
|
|
184
|
+
past_due Stripe subscription (400, same guard the app enforces), and
|
|
185
|
+
records a `cb_lead_stage_history`-style audit row. `org_id` is always the
|
|
186
|
+
authenticated key's own organisation; there is no way to target another
|
|
187
|
+
org's company through this endpoint.
|
|
188
|
+
|
|
189
|
+
**Input**
|
|
190
|
+
|
|
191
|
+
| Field | Type | Required | Description |
|
|
192
|
+
|---|---|---|---|
|
|
193
|
+
| `path.company_id` | `integer` | yes | Company ID (mashup_companies.id, same as GET /companies/{company_id}). |
|
|
194
|
+
| `body` | `LifecycleStageMoveRequest` | yes | Request body; fields below. |
|
|
195
|
+
|
|
196
|
+
Body fields (`LifecycleStageMoveRequest`):
|
|
197
|
+
|
|
198
|
+
| Field | Type | Required | Description |
|
|
199
|
+
|---|---|---|---|
|
|
200
|
+
| `body.target_slug` | `string` | yes | Destination lifecycle slug, e.g. 'suspects', 'leads', 'trials', 'customers', 'churned'. |
|
|
201
|
+
|
|
202
|
+
**Returns** `ApiResponse_LifecycleStageMoveResponse_`: the envelope `{ data: LifecycleStageMoveResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
203
|
+
|
|
204
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
205
|
+
|
|
206
|
+
`LifecycleStageMoveResponse` fields:
|
|
207
|
+
|
|
208
|
+
| Field | Type | Required | Description |
|
|
209
|
+
|---|---|---|---|
|
|
210
|
+
| `target_slug` | `string` | yes | |
|
|
211
|
+
| `new_custom_status` | `string \| null` | no | |
|
|
212
|
+
| `new_status` | `string \| null` | no | |
|
|
213
|
+
| `previous_custom_status` | `string \| null` | no | |
|
|
214
|
+
| `previous_status` | `string \| null` | no | |
|
|
215
|
+
|
|
216
|
+
**Example**
|
|
217
|
+
|
|
218
|
+
```ts
|
|
219
|
+
const result = await g8.api.revenueLifecycle.moveCompanyLifecycleStage({ path: { company_id: 123 }, body: { target_slug: "example" } });
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
<a id="op-movecontactlifecyclestage"></a>
|
|
225
|
+
|
|
226
|
+
### `g8.api.revenueLifecycle.moveContactLifecycleStage(input)`
|
|
227
|
+
|
|
228
|
+
**Move Contact Lifecycle Stage**
|
|
229
|
+
|
|
230
|
+
- HTTP: `POST /api/v1/contacts/{contact_id}/lifecycle-stage`
|
|
231
|
+
- operationId: `move_contact_lifecycle_stage_contacts__contact_id__lifecycle_stage_post` (also callable as `g8.api.call("move_contact_lifecycle_stage_contacts__contact_id__lifecycle_stage_post", input)`)
|
|
232
|
+
- Tier: `write`: creates or changes records; the SDK sends an Idempotency-Key and retries transient failures
|
|
233
|
+
- API-key scope: `deals:write`
|
|
234
|
+
|
|
235
|
+
Move a contact to a different lifecycle stage.
|
|
236
|
+
|
|
237
|
+
Proxies `promote_contact_lifecycle_stage` — writes `cb_contact_extensions
|
|
238
|
+
.custom_status` (auto-creating the extension row if the contact has none
|
|
239
|
+
yet, which is common for Suspects-stage contacts), and records the same
|
|
240
|
+
audit trail the in-app Move-Stage dialog's contact mode does. Returns no
|
|
241
|
+
contact PII (see the module docstring) — only the status transition.
|
|
242
|
+
|
|
243
|
+
**Input**
|
|
244
|
+
|
|
245
|
+
| Field | Type | Required | Description |
|
|
246
|
+
|---|---|---|---|
|
|
247
|
+
| `path.contact_id` | `integer` | yes | Contact ID — accepts mashup_contacts.CONTACT_ID or .id, same as GET /contacts/{contact_id}. |
|
|
248
|
+
| `body` | `LifecycleStageMoveRequest` | yes | Request body; fields below. |
|
|
249
|
+
|
|
250
|
+
Body fields (`LifecycleStageMoveRequest`):
|
|
251
|
+
|
|
252
|
+
| Field | Type | Required | Description |
|
|
253
|
+
|---|---|---|---|
|
|
254
|
+
| `body.target_slug` | `string` | yes | Destination lifecycle slug, e.g. 'suspects', 'leads', 'trials', 'customers', 'churned'. |
|
|
255
|
+
|
|
256
|
+
**Returns** `ApiResponse_LifecycleStageMoveResponse_`: the envelope `{ data: LifecycleStageMoveResponse, ... }`. `g8.api` returns the envelope as-is, so read `result.data`.
|
|
257
|
+
|
|
258
|
+
Other envelope fields: `pagination` (PaginationMeta).
|
|
259
|
+
|
|
260
|
+
`LifecycleStageMoveResponse` fields:
|
|
261
|
+
|
|
262
|
+
| Field | Type | Required | Description |
|
|
263
|
+
|---|---|---|---|
|
|
264
|
+
| `target_slug` | `string` | yes | |
|
|
265
|
+
| `new_custom_status` | `string \| null` | no | |
|
|
266
|
+
| `new_status` | `string \| null` | no | |
|
|
267
|
+
| `previous_custom_status` | `string \| null` | no | |
|
|
268
|
+
| `previous_status` | `string \| null` | no | |
|
|
269
|
+
|
|
270
|
+
**Example**
|
|
271
|
+
|
|
272
|
+
```ts
|
|
273
|
+
const result = await g8.api.revenueLifecycle.moveContactLifecycleStage({ path: { contact_id: 123 }, body: { target_slug: "example" } });
|
|
274
|
+
```
|
|
@@ -0,0 +1,372 @@
|
|
|
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.revenueRecords` (Revenue Records): 15 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<"create_revenue_plan_revenue_plans_post">;
|
|
9
|
+
*
|
|
10
|
+
* Reference with examples: revenueRecords.md
|
|
11
|
+
*/
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
|
|
14
|
+
/** `g8.api.revenueRecords.<member>` -> the operationId it calls. */
|
|
15
|
+
export interface RevenueRecordsMembers {
|
|
16
|
+
createRevenuePlan: "create_revenue_plan_revenue_plans_post";
|
|
17
|
+
deactivateRevenuePlan: "deactivate_revenue_plan_revenue_plans__plan_id__delete";
|
|
18
|
+
getActivity: "get_activity_activities__activity_id__get";
|
|
19
|
+
getActivityMetrics: "get_activity_metrics_activities_metrics_summary_get";
|
|
20
|
+
getCompanyEvents: "get_company_events_companies__company_id__events_get";
|
|
21
|
+
getCompanyLifecycleSnapshot: "get_company_lifecycle_snapshot_companies__company_id__lifecycle_snapshot_get";
|
|
22
|
+
getContactLifecycleSnapshot: "get_contact_lifecycle_snapshot_contacts__contact_id__lifecycle_snapshot_get";
|
|
23
|
+
listCompanyActivities: "list_company_activities_companies__company_id__activities_get";
|
|
24
|
+
listDealActivities: "list_deal_activities_deals__deal_id__activities_get";
|
|
25
|
+
listLifecycleContacts: "list_lifecycle_contacts_lifecycle_contacts_get";
|
|
26
|
+
listRevenuePlans: "list_revenue_plans_revenue_plans_get";
|
|
27
|
+
normalizeRevenuePlans: "normalize_revenue_plans_revenue_plans_normalize_post";
|
|
28
|
+
setDefaultPipeline: "set_default_pipeline_deals_pipelines__pipeline_id__default_put";
|
|
29
|
+
unlockLifecycleContacts: "unlock_lifecycle_contacts_lifecycle_contacts_unlock_post";
|
|
30
|
+
updateRevenuePlan: "update_revenue_plan_revenue_plans__plan_id__put";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Input and output of every `g8.api.revenueRecords` operation, keyed by operationId. */
|
|
34
|
+
export interface RevenueRecordsOperations {
|
|
35
|
+
/**
|
|
36
|
+
* POST /revenue/plans
|
|
37
|
+
* Create Revenue Plan
|
|
38
|
+
* tier: write · scope: deals:write
|
|
39
|
+
*/
|
|
40
|
+
create_revenue_plan_revenue_plans_post: {
|
|
41
|
+
input: {
|
|
42
|
+
headers?: {
|
|
43
|
+
"X-Target-Org-Id"?: string | null;
|
|
44
|
+
};
|
|
45
|
+
body: RevenuePlanCreateRequest;
|
|
46
|
+
};
|
|
47
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* DELETE /revenue/plans/{plan_id}
|
|
51
|
+
* Deactivate Revenue Plan
|
|
52
|
+
* tier: destructive · scope: deals:delete
|
|
53
|
+
*/
|
|
54
|
+
deactivate_revenue_plan_revenue_plans__plan_id__delete: {
|
|
55
|
+
input: {
|
|
56
|
+
path: {
|
|
57
|
+
/** Plan id. */
|
|
58
|
+
plan_id: string;
|
|
59
|
+
};
|
|
60
|
+
headers?: {
|
|
61
|
+
"X-Target-Org-Id"?: string | null;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* GET /activities/{activity_id}
|
|
68
|
+
* Get Activity
|
|
69
|
+
* tier: read · scope: deals:read
|
|
70
|
+
*/
|
|
71
|
+
get_activity_activities__activity_id__get: {
|
|
72
|
+
input: {
|
|
73
|
+
path: {
|
|
74
|
+
/** Activity id. */
|
|
75
|
+
activity_id: string;
|
|
76
|
+
};
|
|
77
|
+
headers?: {
|
|
78
|
+
"X-Target-Org-Id"?: string | null;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* GET /activities/metrics/summary
|
|
85
|
+
* Get Activity Metrics
|
|
86
|
+
* tier: read · scope: deals:read
|
|
87
|
+
*/
|
|
88
|
+
get_activity_metrics_activities_metrics_summary_get: {
|
|
89
|
+
input: {
|
|
90
|
+
query?: {
|
|
91
|
+
/** Days to analyse. */
|
|
92
|
+
period_days?: number;
|
|
93
|
+
/** Only this owner's activities. */
|
|
94
|
+
owner_id?: string | null;
|
|
95
|
+
/** Only activities from this source. */
|
|
96
|
+
source?: string | null;
|
|
97
|
+
};
|
|
98
|
+
headers?: {
|
|
99
|
+
"X-Target-Org-Id"?: string | null;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* GET /companies/{company_id}/events
|
|
106
|
+
* Get Company Events
|
|
107
|
+
* tier: read · scope: deals:read
|
|
108
|
+
*/
|
|
109
|
+
get_company_events_companies__company_id__events_get: {
|
|
110
|
+
input: {
|
|
111
|
+
path: {
|
|
112
|
+
/** Account or company id. */
|
|
113
|
+
company_id: string;
|
|
114
|
+
};
|
|
115
|
+
query: {
|
|
116
|
+
/** Comma-separated event names. */
|
|
117
|
+
names: string;
|
|
118
|
+
window_days?: number;
|
|
119
|
+
};
|
|
120
|
+
headers?: {
|
|
121
|
+
"X-Target-Org-Id"?: string | null;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* GET /companies/{company_id}/lifecycle-snapshot
|
|
128
|
+
* Get Company Lifecycle Snapshot
|
|
129
|
+
* tier: read · scope: deals:read
|
|
130
|
+
*/
|
|
131
|
+
get_company_lifecycle_snapshot_companies__company_id__lifecycle_snapshot_get: {
|
|
132
|
+
input: {
|
|
133
|
+
path: {
|
|
134
|
+
/** Account, company-extension or company id. */
|
|
135
|
+
company_id: string;
|
|
136
|
+
};
|
|
137
|
+
headers?: {
|
|
138
|
+
"X-Target-Org-Id"?: string | null;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* GET /contacts/{contact_id}/lifecycle-snapshot
|
|
145
|
+
* Get Contact Lifecycle Snapshot
|
|
146
|
+
* tier: read · scope: deals:read
|
|
147
|
+
*/
|
|
148
|
+
get_contact_lifecycle_snapshot_contacts__contact_id__lifecycle_snapshot_get: {
|
|
149
|
+
input: {
|
|
150
|
+
path: {
|
|
151
|
+
/** Contact id. */
|
|
152
|
+
contact_id: number;
|
|
153
|
+
};
|
|
154
|
+
headers?: {
|
|
155
|
+
"X-Target-Org-Id"?: string | null;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* GET /companies/{company_id}/activities
|
|
162
|
+
* List Company Activities
|
|
163
|
+
* tier: read · scope: deals:read
|
|
164
|
+
*/
|
|
165
|
+
list_company_activities_companies__company_id__activities_get: {
|
|
166
|
+
input: {
|
|
167
|
+
path: {
|
|
168
|
+
/** Company id. */
|
|
169
|
+
company_id: string;
|
|
170
|
+
};
|
|
171
|
+
query?: {
|
|
172
|
+
activity_type?: string | null;
|
|
173
|
+
/** Only activities from this source. */
|
|
174
|
+
source?: string | null;
|
|
175
|
+
limit?: number;
|
|
176
|
+
offset?: number;
|
|
177
|
+
};
|
|
178
|
+
headers?: {
|
|
179
|
+
"X-Target-Org-Id"?: string | null;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
output: ApiResponse_RevenueRecordListPayload_;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* GET /deals/{deal_id}/activities
|
|
186
|
+
* List Deal Activities
|
|
187
|
+
* tier: read · scope: deals:read
|
|
188
|
+
*/
|
|
189
|
+
list_deal_activities_deals__deal_id__activities_get: {
|
|
190
|
+
input: {
|
|
191
|
+
path: {
|
|
192
|
+
/** Deal id. */
|
|
193
|
+
deal_id: string;
|
|
194
|
+
};
|
|
195
|
+
query?: {
|
|
196
|
+
activity_type?: string | null;
|
|
197
|
+
/** Only activities from this source. */
|
|
198
|
+
source?: string | null;
|
|
199
|
+
limit?: number;
|
|
200
|
+
offset?: number;
|
|
201
|
+
};
|
|
202
|
+
headers?: {
|
|
203
|
+
"X-Target-Org-Id"?: string | null;
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
output: ApiResponse_RevenueRecordListPayload_;
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* GET /lifecycle-contacts
|
|
210
|
+
* List Lifecycle Contacts
|
|
211
|
+
* tier: read · scope: deals:read
|
|
212
|
+
*/
|
|
213
|
+
list_lifecycle_contacts_lifecycle_contacts_get: {
|
|
214
|
+
input: {
|
|
215
|
+
query: {
|
|
216
|
+
/** The lifecycle stage. */
|
|
217
|
+
lifecycle_id: string;
|
|
218
|
+
skip?: number;
|
|
219
|
+
limit?: number | null;
|
|
220
|
+
company_status?: string | null;
|
|
221
|
+
search?: string | null;
|
|
222
|
+
/** JSON grid filter model. */
|
|
223
|
+
agFilterModel?: string | null;
|
|
224
|
+
/** JSON grid sort model. */
|
|
225
|
+
agSortModel?: string | null;
|
|
226
|
+
};
|
|
227
|
+
headers?: {
|
|
228
|
+
"X-Target-Org-Id"?: string | null;
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* GET /revenue/plans
|
|
235
|
+
* List Revenue Plans
|
|
236
|
+
* tier: read · scope: deals:read
|
|
237
|
+
*/
|
|
238
|
+
list_revenue_plans_revenue_plans_get: {
|
|
239
|
+
input: {
|
|
240
|
+
query?: {
|
|
241
|
+
include_inactive?: boolean;
|
|
242
|
+
};
|
|
243
|
+
headers?: {
|
|
244
|
+
"X-Target-Org-Id"?: string | null;
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
248
|
+
};
|
|
249
|
+
/**
|
|
250
|
+
* POST /revenue/plans/normalize
|
|
251
|
+
* Normalize Revenue Plans
|
|
252
|
+
* tier: write · scope: deals:write
|
|
253
|
+
*/
|
|
254
|
+
normalize_revenue_plans_revenue_plans_normalize_post: {
|
|
255
|
+
input: {
|
|
256
|
+
headers?: {
|
|
257
|
+
"X-Target-Org-Id"?: string | null;
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
261
|
+
};
|
|
262
|
+
/**
|
|
263
|
+
* PUT /deals/pipelines/{pipeline_id}/default
|
|
264
|
+
* Set Default Pipeline
|
|
265
|
+
* tier: write · scope: deals:write
|
|
266
|
+
*/
|
|
267
|
+
set_default_pipeline_deals_pipelines__pipeline_id__default_put: {
|
|
268
|
+
input: {
|
|
269
|
+
path: {
|
|
270
|
+
/** Pipeline id. */
|
|
271
|
+
pipeline_id: string;
|
|
272
|
+
};
|
|
273
|
+
headers?: {
|
|
274
|
+
"X-Target-Org-Id"?: string | null;
|
|
275
|
+
};
|
|
276
|
+
};
|
|
277
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
278
|
+
};
|
|
279
|
+
/**
|
|
280
|
+
* POST /lifecycle-contacts/unlock
|
|
281
|
+
* Unlock Lifecycle Contacts
|
|
282
|
+
* tier: billable · scope: deals:run
|
|
283
|
+
*/
|
|
284
|
+
unlock_lifecycle_contacts_lifecycle_contacts_unlock_post: {
|
|
285
|
+
input: {
|
|
286
|
+
headers?: {
|
|
287
|
+
"X-Target-Org-Id"?: string | null;
|
|
288
|
+
};
|
|
289
|
+
body: LifecycleContactsUnlockRequest;
|
|
290
|
+
};
|
|
291
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
292
|
+
};
|
|
293
|
+
/**
|
|
294
|
+
* PUT /revenue/plans/{plan_id}
|
|
295
|
+
* Update Revenue Plan
|
|
296
|
+
* tier: write · scope: deals:write
|
|
297
|
+
*/
|
|
298
|
+
update_revenue_plan_revenue_plans__plan_id__put: {
|
|
299
|
+
input: {
|
|
300
|
+
path: {
|
|
301
|
+
/** Plan id. */
|
|
302
|
+
plan_id: string;
|
|
303
|
+
};
|
|
304
|
+
headers?: {
|
|
305
|
+
"X-Target-Org-Id"?: string | null;
|
|
306
|
+
};
|
|
307
|
+
body: RevenuePlanUpdateRequest;
|
|
308
|
+
};
|
|
309
|
+
output: ApiResponse_RevenueRecordPayload_;
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// 8 schemas referenced above (the same as G8Contract.<Name>).
|
|
314
|
+
|
|
315
|
+
export interface ApiResponse_RevenueRecordListPayload_ {
|
|
316
|
+
data: RevenueRecordListPayload;
|
|
317
|
+
pagination?: PaginationMeta | null;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export interface ApiResponse_RevenueRecordPayload_ {
|
|
321
|
+
data: RevenueRecordPayload;
|
|
322
|
+
pagination?: PaginationMeta | null;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
export interface LifecycleContactsUnlockRequest {
|
|
326
|
+
/** Grid filter model. With no `contact_ids`, every matching contact in the stage is unlocked; with neither, the WHOLE stage is. */
|
|
327
|
+
agFilterModel?: Record<string, unknown> | null;
|
|
328
|
+
/** Comma-separated company_status narrowing. */
|
|
329
|
+
company_status?: string | null;
|
|
330
|
+
/** Unlock exactly these. Takes precedence over `agFilterModel`. */
|
|
331
|
+
contact_ids?: Array<number> | null;
|
|
332
|
+
/** The lifecycle stage to unlock contacts in. */
|
|
333
|
+
lifecycle_id: string;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
export interface PaginationMeta {
|
|
337
|
+
/** Whether there are more pages */
|
|
338
|
+
has_next: boolean;
|
|
339
|
+
/** Items per page */
|
|
340
|
+
limit: number;
|
|
341
|
+
/** 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. */
|
|
342
|
+
next_cursor?: string | null;
|
|
343
|
+
/** Current page number (1-indexed) */
|
|
344
|
+
page: number;
|
|
345
|
+
/** Total number of items */
|
|
346
|
+
total: number;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
export interface RevenuePlanCreateRequest {
|
|
350
|
+
list_price_cents?: number | null;
|
|
351
|
+
mrr_band?: ("<1k" | "1k-5k" | "5k-25k" | ">25k") | null;
|
|
352
|
+
name: string;
|
|
353
|
+
/** Derived from `name` when omitted. */
|
|
354
|
+
slug?: string | null;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
export interface RevenuePlanUpdateRequest {
|
|
358
|
+
active?: boolean | null;
|
|
359
|
+
list_price_cents?: number | null;
|
|
360
|
+
mrr_band?: ("<1k" | "1k-5k" | "5k-25k" | ">25k") | null;
|
|
361
|
+
name?: string | null;
|
|
362
|
+
slug?: string | null;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/** A list result under `items`. */
|
|
366
|
+
export interface RevenueRecordListPayload {
|
|
367
|
+
items?: Array<unknown>;
|
|
368
|
+
[key: string]: unknown;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/** An activity, snapshot, plan or result, as the app returns it. */
|
|
372
|
+
export type RevenueRecordPayload = Record<string, unknown>;
|