@graph8/sdk 0.251.0 → 0.262.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -2
- package/dist/cli.js +216 -0
- package/dist/index.d.mts +105 -7
- package/dist/index.d.ts +105 -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 +103 -7
- package/dist/react.d.ts +103 -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 +1697 -0
- package/docs/api/deals.md +2436 -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,1564 @@
|
|
|
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.quotes` (Quotes): 56 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<"archive_quote_quotes__quote_id__archive_post">;
|
|
9
|
+
*
|
|
10
|
+
* Reference with examples: quotes.md
|
|
11
|
+
*/
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
|
|
14
|
+
/** `g8.api.quotes.<member>` -> the operationId it calls. */
|
|
15
|
+
export interface QuotesMembers {
|
|
16
|
+
archiveQuote: "archive_quote_quotes__quote_id__archive_post";
|
|
17
|
+
batchQuoteAction: "batch_quote_action_quotes_batch_post";
|
|
18
|
+
bulkUpdateStripeProductSettings: "bulk_update_stripe_product_settings_stripe_product_settings_bulk_patch";
|
|
19
|
+
calculateMailboxCapacity: "calculate_mailbox_capacity_quotes_mailbox_capacity_post";
|
|
20
|
+
connectStripeApiKey: "connect_stripe_api_key_stripe_api_key_post";
|
|
21
|
+
createManualProduct: "create_manual_product_manual_products_post";
|
|
22
|
+
createQuote: "create_quote_quotes_post";
|
|
23
|
+
createQuoteBillingContact: "create_quote_billing_contact_quote_billing_contact_post";
|
|
24
|
+
createQuoteContact: "create_quote_contact_quote_contacts_post";
|
|
25
|
+
createQuoteTemplate: "create_quote_template_quote_templates_post";
|
|
26
|
+
deleteManualProduct: "delete_manual_product_manual_products__product_id__delete";
|
|
27
|
+
deleteQuote: "delete_quote_quotes__quote_id__delete";
|
|
28
|
+
deleteQuoteDocument: "delete_quote_document_quote_settings_documents__doc_id__delete";
|
|
29
|
+
deleteQuoteTemplate: "delete_quote_template_quote_templates__template_id__delete";
|
|
30
|
+
downloadQuoteEvidence: "download_quote_evidence_quotes__quote_id__evidence__evidence_id__get";
|
|
31
|
+
duplicateQuote: "duplicate_quote_quotes__quote_id__duplicate_post";
|
|
32
|
+
editQuoteAsDraft: "edit_quote_as_draft_quotes__quote_id__edit_as_draft_post";
|
|
33
|
+
expireQuote: "expire_quote_quotes__quote_id__expire_post";
|
|
34
|
+
getCompanyQuotes: "get_company_quotes_companies__company_id__quotes_get";
|
|
35
|
+
getCompanyRevenueSummary: "get_company_revenue_summary_stripe_companies__company_id__revenue_summary_get";
|
|
36
|
+
getCompanyStripeInvoices: "get_company_stripe_invoices_stripe_companies__company_id__invoices_get";
|
|
37
|
+
getCompanyStripeSubscriptions: "get_company_stripe_subscriptions_stripe_companies__company_id__subscriptions_get";
|
|
38
|
+
getContactQuotes: "get_contact_quotes_contacts__contact_id__quotes_get";
|
|
39
|
+
getQuote: "get_quote_quotes__quote_id__get";
|
|
40
|
+
getQuotePdf: "get_quote_pdf_quotes__quote_id__pdf_get";
|
|
41
|
+
getQuoteSettings: "get_quote_settings_quote_settings_get";
|
|
42
|
+
getStripeData: "get_stripe_data_stripe_connections__connection_id__data_get";
|
|
43
|
+
getStripeDataPage: "get_stripe_data_page_stripe_connections__connection_id__data__resource__get";
|
|
44
|
+
getStripeIntegrationStatus: "get_stripe_integration_status_stripe_integration_status_get";
|
|
45
|
+
listManualProducts: "list_manual_products_manual_products_get";
|
|
46
|
+
listQuotableProducts: "list_quotable_products_quotable_products_get";
|
|
47
|
+
listQuoteDocuments: "list_quote_documents_quote_settings_documents_get";
|
|
48
|
+
listQuoteEvidence: "list_quote_evidence_quotes__quote_id__evidence_get";
|
|
49
|
+
listQuoteTemplates: "list_quote_templates_quote_templates_get";
|
|
50
|
+
listQuotes: "list_quotes_quotes_get";
|
|
51
|
+
listStripeProductSettings: "list_stripe_product_settings_stripe_product_settings_get";
|
|
52
|
+
listStripeProductSubscribers: "list_stripe_product_subscribers_stripe_products__product_id__subscribers_get";
|
|
53
|
+
listStripeProducts: "list_stripe_products_stripe_products_get";
|
|
54
|
+
markQuoteAccepted: "mark_quote_accepted_quotes__quote_id__mark_accepted_post";
|
|
55
|
+
previewPaymentSchedule: "preview_payment_schedule_quotes_payment_schedule_post";
|
|
56
|
+
previewQuoteDraft: "preview_quote_draft_quotes_preview_draft_post";
|
|
57
|
+
previewQuoteSend: "preview_quote_send_quotes__quote_id__send_preview_post";
|
|
58
|
+
revokeQuote: "revoke_quote_quotes__quote_id__revoke_post";
|
|
59
|
+
searchQuoteContacts: "search_quote_contacts_quote_contacts_get";
|
|
60
|
+
sendQuote: "send_quote_quotes__quote_id__send_post";
|
|
61
|
+
triggerStripeSync: "trigger_stripe_sync_stripe_sync_post";
|
|
62
|
+
unarchiveQuote: "unarchive_quote_quotes__quote_id__unarchive_post";
|
|
63
|
+
updateManualProduct: "update_manual_product_manual_products__product_id__patch";
|
|
64
|
+
updateQuotePatch: "update_quote_quotes__quote_id__patch";
|
|
65
|
+
updateQuotePut: "update_quote_quotes__quote_id__put";
|
|
66
|
+
updateQuoteSettings: "update_quote_settings_quote_settings_put";
|
|
67
|
+
updateQuoteTemplate: "update_quote_template_quote_templates__template_id__put";
|
|
68
|
+
updateStripeCustomerMapping: "update_stripe_customer_mapping_stripe_customers__customer_id__mapping_patch";
|
|
69
|
+
uploadQuoteDocument: "upload_quote_document_quote_settings_documents_post";
|
|
70
|
+
uploadQuoteEvidence: "upload_quote_evidence_quotes__quote_id__evidence_post";
|
|
71
|
+
upsertStripeProductSettings: "upsert_stripe_product_settings_stripe_product_settings__stripe_product_id__put";
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** Input and output of every `g8.api.quotes` operation, keyed by operationId. */
|
|
75
|
+
export interface QuotesOperations {
|
|
76
|
+
/**
|
|
77
|
+
* POST /quotes/{quote_id}/archive
|
|
78
|
+
* Archive Quote
|
|
79
|
+
* tier: destructive · scope: quotes:delete
|
|
80
|
+
*/
|
|
81
|
+
archive_quote_quotes__quote_id__archive_post: {
|
|
82
|
+
input: {
|
|
83
|
+
path: {
|
|
84
|
+
/** Quote id (UUID). */
|
|
85
|
+
quote_id: string;
|
|
86
|
+
};
|
|
87
|
+
headers?: {
|
|
88
|
+
"X-Target-Org-Id"?: string | null;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
output: ApiResponse_QuotePayload_;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* POST /quotes/batch
|
|
95
|
+
* Batch Quote Action
|
|
96
|
+
* tier: external · scope: quotes:run
|
|
97
|
+
*/
|
|
98
|
+
batch_quote_action_quotes_batch_post: {
|
|
99
|
+
input: {
|
|
100
|
+
headers?: {
|
|
101
|
+
"X-Target-Org-Id"?: string | null;
|
|
102
|
+
};
|
|
103
|
+
body: BatchQuoteActionRequest;
|
|
104
|
+
};
|
|
105
|
+
output: ApiResponse_QuoteListPayload_;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* PATCH /stripe/product-settings/bulk
|
|
109
|
+
* Bulk Update Stripe Product Settings
|
|
110
|
+
* tier: write · scope: quotes:write
|
|
111
|
+
*/
|
|
112
|
+
bulk_update_stripe_product_settings_stripe_product_settings_bulk_patch: {
|
|
113
|
+
input: {
|
|
114
|
+
headers?: {
|
|
115
|
+
"X-Target-Org-Id"?: string | null;
|
|
116
|
+
};
|
|
117
|
+
body: BulkProductSettingsRequest;
|
|
118
|
+
};
|
|
119
|
+
output: ApiResponse_BillingPayload_;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* POST /quotes/mailbox-capacity
|
|
123
|
+
* Calculate Mailbox Capacity
|
|
124
|
+
* tier: read · scope: quotes:read
|
|
125
|
+
*/
|
|
126
|
+
calculate_mailbox_capacity_quotes_mailbox_capacity_post: {
|
|
127
|
+
input: {
|
|
128
|
+
headers?: {
|
|
129
|
+
"X-Target-Org-Id"?: string | null;
|
|
130
|
+
};
|
|
131
|
+
body: MailboxCapacityRequest;
|
|
132
|
+
};
|
|
133
|
+
output: ApiResponse_BillingPayload_;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* POST /stripe/api-key
|
|
137
|
+
* Connect Stripe Api Key
|
|
138
|
+
* tier: external · scope: quotes:run
|
|
139
|
+
*/
|
|
140
|
+
connect_stripe_api_key_stripe_api_key_post: {
|
|
141
|
+
input: {
|
|
142
|
+
headers?: {
|
|
143
|
+
"X-Target-Org-Id"?: string | null;
|
|
144
|
+
};
|
|
145
|
+
body: StripeApiKeyRequest;
|
|
146
|
+
};
|
|
147
|
+
output: ApiResponse_BillingPayload_;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* POST /manual-products
|
|
151
|
+
* Create Manual Product
|
|
152
|
+
* tier: write · scope: quotes:write
|
|
153
|
+
*/
|
|
154
|
+
create_manual_product_manual_products_post: {
|
|
155
|
+
input: {
|
|
156
|
+
headers?: {
|
|
157
|
+
"X-Target-Org-Id"?: string | null;
|
|
158
|
+
};
|
|
159
|
+
body: ManualProductCreateRequest;
|
|
160
|
+
};
|
|
161
|
+
output: ApiResponse_BillingPayload_;
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* POST /quotes
|
|
165
|
+
* Create Quote
|
|
166
|
+
* tier: external · scope: quotes:run
|
|
167
|
+
*/
|
|
168
|
+
create_quote_quotes_post: {
|
|
169
|
+
input: {
|
|
170
|
+
headers?: {
|
|
171
|
+
"X-Target-Org-Id"?: string | null;
|
|
172
|
+
};
|
|
173
|
+
body: QuoteCreateRequest;
|
|
174
|
+
};
|
|
175
|
+
output: ApiResponse_QuoteDetail_;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* POST /quote-billing-contact
|
|
179
|
+
* Create Quote Billing Contact
|
|
180
|
+
* tier: external · scope: quotes:run
|
|
181
|
+
*/
|
|
182
|
+
create_quote_billing_contact_quote_billing_contact_post: {
|
|
183
|
+
input: {
|
|
184
|
+
headers?: {
|
|
185
|
+
"X-Target-Org-Id"?: string | null;
|
|
186
|
+
};
|
|
187
|
+
body: QuoteBillingContactCreateRequest;
|
|
188
|
+
};
|
|
189
|
+
output: ApiResponse_QuotePayload_;
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* POST /quote-contacts
|
|
193
|
+
* Create Quote Contact
|
|
194
|
+
* tier: external · scope: quotes:run
|
|
195
|
+
*/
|
|
196
|
+
create_quote_contact_quote_contacts_post: {
|
|
197
|
+
input: {
|
|
198
|
+
headers?: {
|
|
199
|
+
"X-Target-Org-Id"?: string | null;
|
|
200
|
+
};
|
|
201
|
+
body: QuoteContactCreateRequest;
|
|
202
|
+
};
|
|
203
|
+
output: ApiResponse_QuotePayload_;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* POST /quote-templates
|
|
207
|
+
* Create Quote Template
|
|
208
|
+
* tier: external · scope: quotes:run
|
|
209
|
+
*/
|
|
210
|
+
create_quote_template_quote_templates_post: {
|
|
211
|
+
input: {
|
|
212
|
+
headers?: {
|
|
213
|
+
"X-Target-Org-Id"?: string | null;
|
|
214
|
+
};
|
|
215
|
+
body: QuoteTemplateRequest;
|
|
216
|
+
};
|
|
217
|
+
output: ApiResponse_QuotePayload_;
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* DELETE /manual-products/{product_id}
|
|
221
|
+
* Delete Manual Product
|
|
222
|
+
* tier: destructive · scope: quotes:delete
|
|
223
|
+
*/
|
|
224
|
+
delete_manual_product_manual_products__product_id__delete: {
|
|
225
|
+
input: {
|
|
226
|
+
path: {
|
|
227
|
+
/** Manual product id. */
|
|
228
|
+
product_id: string;
|
|
229
|
+
};
|
|
230
|
+
headers?: {
|
|
231
|
+
"X-Target-Org-Id"?: string | null;
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
output: ApiResponse_BillingPayload_;
|
|
235
|
+
};
|
|
236
|
+
/**
|
|
237
|
+
* DELETE /quotes/{quote_id}
|
|
238
|
+
* Delete Quote
|
|
239
|
+
* tier: destructive · scope: quotes:delete
|
|
240
|
+
*/
|
|
241
|
+
delete_quote_quotes__quote_id__delete: {
|
|
242
|
+
input: {
|
|
243
|
+
path: {
|
|
244
|
+
/** Quote UUID */
|
|
245
|
+
quote_id: string;
|
|
246
|
+
};
|
|
247
|
+
headers?: {
|
|
248
|
+
"X-Target-Org-Id"?: string | null;
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
output: ApiResponse_dict_;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* DELETE /quote-settings/documents/{doc_id}
|
|
255
|
+
* Delete Quote Document
|
|
256
|
+
* tier: destructive · scope: quotes:delete
|
|
257
|
+
*/
|
|
258
|
+
delete_quote_document_quote_settings_documents__doc_id__delete: {
|
|
259
|
+
input: {
|
|
260
|
+
path: {
|
|
261
|
+
/** Document id. */
|
|
262
|
+
doc_id: string;
|
|
263
|
+
};
|
|
264
|
+
headers?: {
|
|
265
|
+
"X-Target-Org-Id"?: string | null;
|
|
266
|
+
};
|
|
267
|
+
};
|
|
268
|
+
output: ApiResponse_QuotePayload_;
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* DELETE /quote-templates/{template_id}
|
|
272
|
+
* Delete Quote Template
|
|
273
|
+
* tier: destructive · scope: quotes:delete
|
|
274
|
+
*/
|
|
275
|
+
delete_quote_template_quote_templates__template_id__delete: {
|
|
276
|
+
input: {
|
|
277
|
+
path: {
|
|
278
|
+
/** Template id. */
|
|
279
|
+
template_id: string;
|
|
280
|
+
};
|
|
281
|
+
headers?: {
|
|
282
|
+
"X-Target-Org-Id"?: string | null;
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
output: ApiResponse_QuotePayload_;
|
|
286
|
+
};
|
|
287
|
+
/**
|
|
288
|
+
* GET /quotes/{quote_id}/evidence/{evidence_id}
|
|
289
|
+
* Download Quote Evidence
|
|
290
|
+
* tier: read · scope: quotes:read
|
|
291
|
+
*/
|
|
292
|
+
download_quote_evidence_quotes__quote_id__evidence__evidence_id__get: {
|
|
293
|
+
input: {
|
|
294
|
+
path: {
|
|
295
|
+
/** Quote id. */
|
|
296
|
+
quote_id: string;
|
|
297
|
+
/** Evidence id. */
|
|
298
|
+
evidence_id: string;
|
|
299
|
+
};
|
|
300
|
+
headers?: {
|
|
301
|
+
"X-Target-Org-Id"?: string | null;
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
output: ApiResponse_BillingPayload_;
|
|
305
|
+
};
|
|
306
|
+
/**
|
|
307
|
+
* POST /quotes/{quote_id}/duplicate
|
|
308
|
+
* Duplicate Quote
|
|
309
|
+
* tier: external · scope: quotes:run
|
|
310
|
+
*/
|
|
311
|
+
duplicate_quote_quotes__quote_id__duplicate_post: {
|
|
312
|
+
input: {
|
|
313
|
+
path: {
|
|
314
|
+
/** Source quote UUID (any status) */
|
|
315
|
+
quote_id: string;
|
|
316
|
+
};
|
|
317
|
+
headers?: {
|
|
318
|
+
"X-Target-Org-Id"?: string | null;
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
output: ApiResponse_QuoteDetail_;
|
|
322
|
+
};
|
|
323
|
+
/**
|
|
324
|
+
* POST /quotes/{quote_id}/edit-as-draft
|
|
325
|
+
* Edit Quote As Draft
|
|
326
|
+
* tier: external · scope: quotes:run
|
|
327
|
+
*/
|
|
328
|
+
edit_quote_as_draft_quotes__quote_id__edit_as_draft_post: {
|
|
329
|
+
input: {
|
|
330
|
+
path: {
|
|
331
|
+
/** Source quote UUID (must be in 'sent' status) */
|
|
332
|
+
quote_id: string;
|
|
333
|
+
};
|
|
334
|
+
headers?: {
|
|
335
|
+
"X-Target-Org-Id"?: string | null;
|
|
336
|
+
};
|
|
337
|
+
};
|
|
338
|
+
output: ApiResponse_dict_;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* POST /quotes/{quote_id}/expire
|
|
342
|
+
* Expire Quote
|
|
343
|
+
* tier: destructive · scope: quotes:delete
|
|
344
|
+
*/
|
|
345
|
+
expire_quote_quotes__quote_id__expire_post: {
|
|
346
|
+
input: {
|
|
347
|
+
path: {
|
|
348
|
+
/** Quote id (UUID). */
|
|
349
|
+
quote_id: string;
|
|
350
|
+
};
|
|
351
|
+
headers?: {
|
|
352
|
+
"X-Target-Org-Id"?: string | null;
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
output: ApiResponse_QuotePayload_;
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* GET /companies/{company_id}/quotes
|
|
359
|
+
* Get Company Quotes
|
|
360
|
+
* tier: read · scope: quotes:read
|
|
361
|
+
*/
|
|
362
|
+
get_company_quotes_companies__company_id__quotes_get: {
|
|
363
|
+
input: {
|
|
364
|
+
path: {
|
|
365
|
+
/** MashupCompany ID */
|
|
366
|
+
company_id: number;
|
|
367
|
+
};
|
|
368
|
+
headers?: {
|
|
369
|
+
"X-Target-Org-Id"?: string | null;
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
output: ApiResponse_list_QuoteDetail__;
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* GET /stripe/companies/{company_id}/revenue-summary
|
|
376
|
+
* Get Company Revenue Summary
|
|
377
|
+
* tier: read · scope: quotes:read
|
|
378
|
+
*/
|
|
379
|
+
get_company_revenue_summary_stripe_companies__company_id__revenue_summary_get: {
|
|
380
|
+
input: {
|
|
381
|
+
path: {
|
|
382
|
+
/** graph8 company id. */
|
|
383
|
+
company_id: number;
|
|
384
|
+
};
|
|
385
|
+
headers?: {
|
|
386
|
+
"X-Target-Org-Id"?: string | null;
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
output: ApiResponse_BillingPayload_;
|
|
390
|
+
};
|
|
391
|
+
/**
|
|
392
|
+
* GET /stripe/companies/{company_id}/invoices
|
|
393
|
+
* Get Company Stripe Invoices
|
|
394
|
+
* tier: read · scope: quotes:read
|
|
395
|
+
*/
|
|
396
|
+
get_company_stripe_invoices_stripe_companies__company_id__invoices_get: {
|
|
397
|
+
input: {
|
|
398
|
+
path: {
|
|
399
|
+
/** graph8 company id. */
|
|
400
|
+
company_id: number;
|
|
401
|
+
};
|
|
402
|
+
query?: {
|
|
403
|
+
/** 1-based page. */
|
|
404
|
+
page?: number;
|
|
405
|
+
limit?: number;
|
|
406
|
+
};
|
|
407
|
+
headers?: {
|
|
408
|
+
"X-Target-Org-Id"?: string | null;
|
|
409
|
+
};
|
|
410
|
+
};
|
|
411
|
+
output: ApiResponse_BillingListPayload_;
|
|
412
|
+
};
|
|
413
|
+
/**
|
|
414
|
+
* GET /stripe/companies/{company_id}/subscriptions
|
|
415
|
+
* Get Company Stripe Subscriptions
|
|
416
|
+
* tier: read · scope: quotes:read
|
|
417
|
+
*/
|
|
418
|
+
get_company_stripe_subscriptions_stripe_companies__company_id__subscriptions_get: {
|
|
419
|
+
input: {
|
|
420
|
+
path: {
|
|
421
|
+
/** graph8 company id. */
|
|
422
|
+
company_id: number;
|
|
423
|
+
};
|
|
424
|
+
headers?: {
|
|
425
|
+
"X-Target-Org-Id"?: string | null;
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
output: ApiResponse_BillingListPayload_;
|
|
429
|
+
};
|
|
430
|
+
/**
|
|
431
|
+
* GET /contacts/{contact_id}/quotes
|
|
432
|
+
* Get Contact Quotes
|
|
433
|
+
* tier: read · scope: quotes:read
|
|
434
|
+
*/
|
|
435
|
+
get_contact_quotes_contacts__contact_id__quotes_get: {
|
|
436
|
+
input: {
|
|
437
|
+
path: {
|
|
438
|
+
/** MashupContact ID (the quote signer) */
|
|
439
|
+
contact_id: number;
|
|
440
|
+
};
|
|
441
|
+
headers?: {
|
|
442
|
+
"X-Target-Org-Id"?: string | null;
|
|
443
|
+
};
|
|
444
|
+
};
|
|
445
|
+
output: ApiResponse_list_QuoteDetail__;
|
|
446
|
+
};
|
|
447
|
+
/**
|
|
448
|
+
* GET /quotes/{quote_id}
|
|
449
|
+
* Get Quote
|
|
450
|
+
* tier: read · scope: quotes:read
|
|
451
|
+
*/
|
|
452
|
+
get_quote_quotes__quote_id__get: {
|
|
453
|
+
input: {
|
|
454
|
+
path: {
|
|
455
|
+
/** Quote UUID */
|
|
456
|
+
quote_id: string;
|
|
457
|
+
};
|
|
458
|
+
headers?: {
|
|
459
|
+
"X-Target-Org-Id"?: string | null;
|
|
460
|
+
};
|
|
461
|
+
};
|
|
462
|
+
output: ApiResponse_QuoteDetail_;
|
|
463
|
+
};
|
|
464
|
+
/**
|
|
465
|
+
* GET /quotes/{quote_id}/pdf
|
|
466
|
+
* Get Quote Pdf
|
|
467
|
+
* tier: read · scope: quotes:read
|
|
468
|
+
*/
|
|
469
|
+
get_quote_pdf_quotes__quote_id__pdf_get: {
|
|
470
|
+
input: {
|
|
471
|
+
path: {
|
|
472
|
+
/** Quote id (UUID). */
|
|
473
|
+
quote_id: string;
|
|
474
|
+
};
|
|
475
|
+
headers?: {
|
|
476
|
+
"X-Target-Org-Id"?: string | null;
|
|
477
|
+
};
|
|
478
|
+
};
|
|
479
|
+
output: ApiResponse_QuotePayload_;
|
|
480
|
+
};
|
|
481
|
+
/**
|
|
482
|
+
* GET /quote-settings
|
|
483
|
+
* Get Quote Settings
|
|
484
|
+
* tier: read · scope: quotes:read
|
|
485
|
+
*/
|
|
486
|
+
get_quote_settings_quote_settings_get: {
|
|
487
|
+
input: {
|
|
488
|
+
headers?: {
|
|
489
|
+
"X-Target-Org-Id"?: string | null;
|
|
490
|
+
};
|
|
491
|
+
};
|
|
492
|
+
output: ApiResponse_QuoteSettingsResponse_;
|
|
493
|
+
};
|
|
494
|
+
/**
|
|
495
|
+
* GET /stripe/connections/{connection_id}/data
|
|
496
|
+
* Get Stripe Data
|
|
497
|
+
* tier: read · scope: quotes:read
|
|
498
|
+
*/
|
|
499
|
+
get_stripe_data_stripe_connections__connection_id__data_get: {
|
|
500
|
+
input: {
|
|
501
|
+
path: {
|
|
502
|
+
/** The org's Stripe connection id. */
|
|
503
|
+
connection_id: string;
|
|
504
|
+
};
|
|
505
|
+
headers?: {
|
|
506
|
+
"X-Target-Org-Id"?: string | null;
|
|
507
|
+
};
|
|
508
|
+
};
|
|
509
|
+
output: ApiResponse_BillingPayload_;
|
|
510
|
+
};
|
|
511
|
+
/**
|
|
512
|
+
* GET /stripe/connections/{connection_id}/data/{resource}
|
|
513
|
+
* Get Stripe Data Page
|
|
514
|
+
* tier: read · scope: quotes:read
|
|
515
|
+
*/
|
|
516
|
+
get_stripe_data_page_stripe_connections__connection_id__data__resource__get: {
|
|
517
|
+
input: {
|
|
518
|
+
path: {
|
|
519
|
+
/** The org's Stripe connection id. */
|
|
520
|
+
connection_id: string;
|
|
521
|
+
/** Which Stripe list to page through. */
|
|
522
|
+
resource: "customers" | "subscriptions" | "invoices" | "charges";
|
|
523
|
+
};
|
|
524
|
+
query?: {
|
|
525
|
+
limit?: number;
|
|
526
|
+
/** `next_cursor` from the previous page. */
|
|
527
|
+
starting_after?: string | null;
|
|
528
|
+
};
|
|
529
|
+
headers?: {
|
|
530
|
+
"X-Target-Org-Id"?: string | null;
|
|
531
|
+
};
|
|
532
|
+
};
|
|
533
|
+
output: ApiResponse_BillingPayload_;
|
|
534
|
+
};
|
|
535
|
+
/**
|
|
536
|
+
* GET /stripe/integration-status
|
|
537
|
+
* Get Stripe Integration Status
|
|
538
|
+
* tier: read · scope: quotes:read
|
|
539
|
+
*/
|
|
540
|
+
get_stripe_integration_status_stripe_integration_status_get: {
|
|
541
|
+
input: {
|
|
542
|
+
headers?: {
|
|
543
|
+
"X-Target-Org-Id"?: string | null;
|
|
544
|
+
};
|
|
545
|
+
};
|
|
546
|
+
output: ApiResponse_BillingPayload_;
|
|
547
|
+
};
|
|
548
|
+
/**
|
|
549
|
+
* GET /manual-products
|
|
550
|
+
* List Manual Products
|
|
551
|
+
* tier: read · scope: quotes:read
|
|
552
|
+
*/
|
|
553
|
+
list_manual_products_manual_products_get: {
|
|
554
|
+
input: {
|
|
555
|
+
query?: {
|
|
556
|
+
/** Include inactive products. */
|
|
557
|
+
include_inactive?: boolean;
|
|
558
|
+
/** Include products not offered on quotes. */
|
|
559
|
+
include_non_quotable?: boolean;
|
|
560
|
+
category?: string | null;
|
|
561
|
+
/** 1-based page. */
|
|
562
|
+
page?: number;
|
|
563
|
+
limit?: number;
|
|
564
|
+
};
|
|
565
|
+
headers?: {
|
|
566
|
+
"X-Target-Org-Id"?: string | null;
|
|
567
|
+
};
|
|
568
|
+
};
|
|
569
|
+
output: ApiResponse_BillingListPayload_;
|
|
570
|
+
};
|
|
571
|
+
/**
|
|
572
|
+
* GET /quotable-products
|
|
573
|
+
* List Quotable Products
|
|
574
|
+
* tier: read · scope: quotes:read
|
|
575
|
+
*/
|
|
576
|
+
list_quotable_products_quotable_products_get: {
|
|
577
|
+
input: {
|
|
578
|
+
query?: {
|
|
579
|
+
/** Filter prices to this currency code (e.g. USD) */
|
|
580
|
+
currency?: string | null;
|
|
581
|
+
page?: number;
|
|
582
|
+
limit?: number;
|
|
583
|
+
};
|
|
584
|
+
headers?: {
|
|
585
|
+
"X-Target-Org-Id"?: string | null;
|
|
586
|
+
};
|
|
587
|
+
};
|
|
588
|
+
output: ApiResponse_QuotableProductsResponse_;
|
|
589
|
+
};
|
|
590
|
+
/**
|
|
591
|
+
* GET /quote-settings/documents
|
|
592
|
+
* List Quote Documents
|
|
593
|
+
* tier: read · scope: quotes:read
|
|
594
|
+
*/
|
|
595
|
+
list_quote_documents_quote_settings_documents_get: {
|
|
596
|
+
input: {
|
|
597
|
+
headers?: {
|
|
598
|
+
"X-Target-Org-Id"?: string | null;
|
|
599
|
+
};
|
|
600
|
+
};
|
|
601
|
+
output: ApiResponse_QuoteListPayload_;
|
|
602
|
+
};
|
|
603
|
+
/**
|
|
604
|
+
* GET /quotes/{quote_id}/evidence
|
|
605
|
+
* List Quote Evidence
|
|
606
|
+
* tier: read · scope: quotes:read
|
|
607
|
+
*/
|
|
608
|
+
list_quote_evidence_quotes__quote_id__evidence_get: {
|
|
609
|
+
input: {
|
|
610
|
+
path: {
|
|
611
|
+
/** Quote id. */
|
|
612
|
+
quote_id: string;
|
|
613
|
+
};
|
|
614
|
+
headers?: {
|
|
615
|
+
"X-Target-Org-Id"?: string | null;
|
|
616
|
+
};
|
|
617
|
+
};
|
|
618
|
+
output: ApiResponse_BillingListPayload_;
|
|
619
|
+
};
|
|
620
|
+
/**
|
|
621
|
+
* GET /quote-templates
|
|
622
|
+
* List Quote Templates
|
|
623
|
+
* tier: read · scope: quotes:read
|
|
624
|
+
*/
|
|
625
|
+
list_quote_templates_quote_templates_get: {
|
|
626
|
+
input: {
|
|
627
|
+
headers?: {
|
|
628
|
+
"X-Target-Org-Id"?: string | null;
|
|
629
|
+
};
|
|
630
|
+
};
|
|
631
|
+
output: ApiResponse_QuoteListPayload_;
|
|
632
|
+
};
|
|
633
|
+
/**
|
|
634
|
+
* GET /quotes
|
|
635
|
+
* List Quotes
|
|
636
|
+
* tier: read · scope: quotes:read
|
|
637
|
+
*/
|
|
638
|
+
list_quotes_quotes_get: {
|
|
639
|
+
input: {
|
|
640
|
+
query?: {
|
|
641
|
+
/** Filter by quote status: draft, sent, viewed, accepted, declined, voided, expired */
|
|
642
|
+
status?: string | null;
|
|
643
|
+
/** Filter quotes for a specific company */
|
|
644
|
+
mashup_company_id?: number | null;
|
|
645
|
+
/** Filter quotes linked to a specific deal (UUID) */
|
|
646
|
+
deal_id?: string | null;
|
|
647
|
+
/** Filter quotes owned by a specific user (email) */
|
|
648
|
+
owner_id?: string | null;
|
|
649
|
+
page?: number;
|
|
650
|
+
limit?: number;
|
|
651
|
+
};
|
|
652
|
+
headers?: {
|
|
653
|
+
"X-Target-Org-Id"?: string | null;
|
|
654
|
+
};
|
|
655
|
+
};
|
|
656
|
+
output: ApiResponse_QuoteListResponse_;
|
|
657
|
+
};
|
|
658
|
+
/**
|
|
659
|
+
* GET /stripe/product-settings
|
|
660
|
+
* List Stripe Product Settings
|
|
661
|
+
* tier: read · scope: quotes:read
|
|
662
|
+
*/
|
|
663
|
+
list_stripe_product_settings_stripe_product_settings_get: {
|
|
664
|
+
input: {
|
|
665
|
+
headers?: {
|
|
666
|
+
"X-Target-Org-Id"?: string | null;
|
|
667
|
+
};
|
|
668
|
+
};
|
|
669
|
+
output: ApiResponse_BillingListPayload_;
|
|
670
|
+
};
|
|
671
|
+
/**
|
|
672
|
+
* GET /stripe/products/{product_id}/subscribers
|
|
673
|
+
* List Stripe Product Subscribers
|
|
674
|
+
* tier: read · scope: quotes:read
|
|
675
|
+
*/
|
|
676
|
+
list_stripe_product_subscribers_stripe_products__product_id__subscribers_get: {
|
|
677
|
+
input: {
|
|
678
|
+
path: {
|
|
679
|
+
/** Stripe product id. */
|
|
680
|
+
product_id: string;
|
|
681
|
+
};
|
|
682
|
+
query?: {
|
|
683
|
+
/** 1-based page. */
|
|
684
|
+
page?: number;
|
|
685
|
+
limit?: number;
|
|
686
|
+
/** Grid filter model as JSON, as the app's grid sends it. */
|
|
687
|
+
filter_model?: string | null;
|
|
688
|
+
/** Grid sort model as JSON. */
|
|
689
|
+
sort_model?: string | null;
|
|
690
|
+
};
|
|
691
|
+
headers?: {
|
|
692
|
+
"X-Target-Org-Id"?: string | null;
|
|
693
|
+
};
|
|
694
|
+
};
|
|
695
|
+
output: ApiResponse_BillingListPayload_;
|
|
696
|
+
};
|
|
697
|
+
/**
|
|
698
|
+
* GET /stripe/products
|
|
699
|
+
* List Stripe Products
|
|
700
|
+
* tier: read · scope: quotes:read
|
|
701
|
+
*/
|
|
702
|
+
list_stripe_products_stripe_products_get: {
|
|
703
|
+
input: {
|
|
704
|
+
query?: {
|
|
705
|
+
/** 1-based page. */
|
|
706
|
+
page?: number;
|
|
707
|
+
limit?: number;
|
|
708
|
+
/** Grid filter model as JSON, as the app's grid sends it. */
|
|
709
|
+
filter_model?: string | null;
|
|
710
|
+
/** Grid sort model as JSON. */
|
|
711
|
+
sort_model?: string | null;
|
|
712
|
+
};
|
|
713
|
+
headers?: {
|
|
714
|
+
"X-Target-Org-Id"?: string | null;
|
|
715
|
+
};
|
|
716
|
+
};
|
|
717
|
+
output: ApiResponse_BillingListPayload_;
|
|
718
|
+
};
|
|
719
|
+
/**
|
|
720
|
+
* POST /quotes/{quote_id}/mark-accepted
|
|
721
|
+
* Mark Quote Accepted
|
|
722
|
+
* tier: external · scope: quotes:run
|
|
723
|
+
*/
|
|
724
|
+
mark_quote_accepted_quotes__quote_id__mark_accepted_post: {
|
|
725
|
+
input: {
|
|
726
|
+
path: {
|
|
727
|
+
/** Quote id (UUID). */
|
|
728
|
+
quote_id: string;
|
|
729
|
+
};
|
|
730
|
+
headers?: {
|
|
731
|
+
"X-Target-Org-Id"?: string | null;
|
|
732
|
+
};
|
|
733
|
+
body: ManualAcceptRequest;
|
|
734
|
+
};
|
|
735
|
+
output: ApiResponse_QuotePayload_;
|
|
736
|
+
};
|
|
737
|
+
/**
|
|
738
|
+
* POST /quotes/payment-schedule
|
|
739
|
+
* Preview Payment Schedule
|
|
740
|
+
* tier: read · scope: quotes:read
|
|
741
|
+
*/
|
|
742
|
+
preview_payment_schedule_quotes_payment_schedule_post: {
|
|
743
|
+
input: {
|
|
744
|
+
headers?: {
|
|
745
|
+
"X-Target-Org-Id"?: string | null;
|
|
746
|
+
};
|
|
747
|
+
body: PaymentSchedulePreviewRequest;
|
|
748
|
+
};
|
|
749
|
+
output: ApiResponse_QuotePayload_;
|
|
750
|
+
};
|
|
751
|
+
/**
|
|
752
|
+
* POST /quotes/preview-draft
|
|
753
|
+
* Preview Quote Draft
|
|
754
|
+
* tier: read · scope: quotes:read
|
|
755
|
+
*/
|
|
756
|
+
preview_quote_draft_quotes_preview_draft_post: {
|
|
757
|
+
input: {
|
|
758
|
+
headers?: {
|
|
759
|
+
"X-Target-Org-Id"?: string | null;
|
|
760
|
+
};
|
|
761
|
+
body: Record<string, unknown>;
|
|
762
|
+
};
|
|
763
|
+
output: ApiResponse_QuotePayload_;
|
|
764
|
+
};
|
|
765
|
+
/**
|
|
766
|
+
* POST /quotes/{quote_id}/send-preview
|
|
767
|
+
* Preview Quote Send
|
|
768
|
+
* tier: read · scope: quotes:read
|
|
769
|
+
*/
|
|
770
|
+
preview_quote_send_quotes__quote_id__send_preview_post: {
|
|
771
|
+
input: {
|
|
772
|
+
path: {
|
|
773
|
+
/** Quote id (UUID). */
|
|
774
|
+
quote_id: string;
|
|
775
|
+
};
|
|
776
|
+
headers?: {
|
|
777
|
+
"X-Target-Org-Id"?: string | null;
|
|
778
|
+
};
|
|
779
|
+
body: QuoteSendPreviewRequest;
|
|
780
|
+
};
|
|
781
|
+
output: ApiResponse_QuotePayload_;
|
|
782
|
+
};
|
|
783
|
+
/**
|
|
784
|
+
* POST /quotes/{quote_id}/revoke
|
|
785
|
+
* Revoke Quote
|
|
786
|
+
* tier: destructive · scope: quotes:delete
|
|
787
|
+
*/
|
|
788
|
+
revoke_quote_quotes__quote_id__revoke_post: {
|
|
789
|
+
input: {
|
|
790
|
+
path: {
|
|
791
|
+
/** Quote id (UUID). */
|
|
792
|
+
quote_id: string;
|
|
793
|
+
};
|
|
794
|
+
headers?: {
|
|
795
|
+
"X-Target-Org-Id"?: string | null;
|
|
796
|
+
};
|
|
797
|
+
};
|
|
798
|
+
output: ApiResponse_QuotePayload_;
|
|
799
|
+
};
|
|
800
|
+
/**
|
|
801
|
+
* GET /quote-contacts
|
|
802
|
+
* Search Quote Contacts
|
|
803
|
+
* tier: read · scope: quotes:read
|
|
804
|
+
*/
|
|
805
|
+
search_quote_contacts_quote_contacts_get: {
|
|
806
|
+
input: {
|
|
807
|
+
query?: {
|
|
808
|
+
/** Name or email fragment. Empty returns the default page. */
|
|
809
|
+
q?: string;
|
|
810
|
+
/** The app's default is 100 and deliberately not smaller: the signer picker has to show every plausible match, and a short page reads as 'this contact does not exist'. */
|
|
811
|
+
limit?: number;
|
|
812
|
+
/** Scope to contacts at this company. */
|
|
813
|
+
company_id?: number | null;
|
|
814
|
+
/** Scope to contacts linked to this deal. Combined with `company_id` the two scopes are a UNION - on the deal OR at the company - and each row comes back with an `on_deal` flag. Given `deal_id` alone, the company is derived from the deal. */
|
|
815
|
+
deal_id?: string | null;
|
|
816
|
+
};
|
|
817
|
+
headers?: {
|
|
818
|
+
"X-Target-Org-Id"?: string | null;
|
|
819
|
+
};
|
|
820
|
+
};
|
|
821
|
+
output: ApiResponse_QuoteListPayload_;
|
|
822
|
+
};
|
|
823
|
+
/**
|
|
824
|
+
* POST /quotes/{quote_id}/send
|
|
825
|
+
* Send Quote
|
|
826
|
+
* tier: external · scope: quotes:run
|
|
827
|
+
*/
|
|
828
|
+
send_quote_quotes__quote_id__send_post: {
|
|
829
|
+
input: {
|
|
830
|
+
path: {
|
|
831
|
+
/** Quote UUID (must be in draft or sent status) */
|
|
832
|
+
quote_id: string;
|
|
833
|
+
};
|
|
834
|
+
headers?: {
|
|
835
|
+
"X-Target-Org-Id"?: string | null;
|
|
836
|
+
};
|
|
837
|
+
body?: QuoteSendRequest;
|
|
838
|
+
};
|
|
839
|
+
output: ApiResponse_QuoteDetail_;
|
|
840
|
+
};
|
|
841
|
+
/**
|
|
842
|
+
* POST /stripe/sync
|
|
843
|
+
* Trigger Stripe Sync
|
|
844
|
+
* tier: external · scope: quotes:run
|
|
845
|
+
*/
|
|
846
|
+
trigger_stripe_sync_stripe_sync_post: {
|
|
847
|
+
input: {
|
|
848
|
+
headers?: {
|
|
849
|
+
"X-Target-Org-Id"?: string | null;
|
|
850
|
+
};
|
|
851
|
+
};
|
|
852
|
+
output: ApiResponse_BillingPayload_;
|
|
853
|
+
};
|
|
854
|
+
/**
|
|
855
|
+
* POST /quotes/{quote_id}/unarchive
|
|
856
|
+
* Unarchive Quote
|
|
857
|
+
* tier: external · scope: quotes:run
|
|
858
|
+
*/
|
|
859
|
+
unarchive_quote_quotes__quote_id__unarchive_post: {
|
|
860
|
+
input: {
|
|
861
|
+
path: {
|
|
862
|
+
/** Quote id (UUID). */
|
|
863
|
+
quote_id: string;
|
|
864
|
+
};
|
|
865
|
+
headers?: {
|
|
866
|
+
"X-Target-Org-Id"?: string | null;
|
|
867
|
+
};
|
|
868
|
+
};
|
|
869
|
+
output: ApiResponse_QuotePayload_;
|
|
870
|
+
};
|
|
871
|
+
/**
|
|
872
|
+
* PATCH /manual-products/{product_id}
|
|
873
|
+
* Update Manual Product
|
|
874
|
+
* tier: write · scope: quotes:write
|
|
875
|
+
*/
|
|
876
|
+
update_manual_product_manual_products__product_id__patch: {
|
|
877
|
+
input: {
|
|
878
|
+
path: {
|
|
879
|
+
/** Manual product id. */
|
|
880
|
+
product_id: string;
|
|
881
|
+
};
|
|
882
|
+
headers?: {
|
|
883
|
+
"X-Target-Org-Id"?: string | null;
|
|
884
|
+
};
|
|
885
|
+
body: ManualProductUpdateRequest;
|
|
886
|
+
};
|
|
887
|
+
output: ApiResponse_BillingPayload_;
|
|
888
|
+
};
|
|
889
|
+
/**
|
|
890
|
+
* PATCH /quotes/{quote_id}
|
|
891
|
+
* Update Quote
|
|
892
|
+
* tier: external · scope: quotes:run
|
|
893
|
+
*/
|
|
894
|
+
update_quote_quotes__quote_id__patch: {
|
|
895
|
+
input: {
|
|
896
|
+
path: {
|
|
897
|
+
/** Quote UUID */
|
|
898
|
+
quote_id: string;
|
|
899
|
+
};
|
|
900
|
+
headers?: {
|
|
901
|
+
"X-Target-Org-Id"?: string | null;
|
|
902
|
+
};
|
|
903
|
+
body: QuoteUpdateRequest;
|
|
904
|
+
};
|
|
905
|
+
output: ApiResponse_QuoteDetail_;
|
|
906
|
+
};
|
|
907
|
+
/**
|
|
908
|
+
* PUT /quotes/{quote_id}
|
|
909
|
+
* Update Quote
|
|
910
|
+
* tier: external · scope: quotes:run
|
|
911
|
+
*/
|
|
912
|
+
update_quote_quotes__quote_id__put: {
|
|
913
|
+
input: {
|
|
914
|
+
path: {
|
|
915
|
+
/** Quote UUID */
|
|
916
|
+
quote_id: string;
|
|
917
|
+
};
|
|
918
|
+
headers?: {
|
|
919
|
+
"X-Target-Org-Id"?: string | null;
|
|
920
|
+
};
|
|
921
|
+
body: QuoteUpdateRequest;
|
|
922
|
+
};
|
|
923
|
+
output: ApiResponse_QuoteDetail_;
|
|
924
|
+
};
|
|
925
|
+
/**
|
|
926
|
+
* PUT /quote-settings
|
|
927
|
+
* Update Quote Settings
|
|
928
|
+
* tier: external · scope: quotes:run
|
|
929
|
+
*/
|
|
930
|
+
update_quote_settings_quote_settings_put: {
|
|
931
|
+
input: {
|
|
932
|
+
headers?: {
|
|
933
|
+
"X-Target-Org-Id"?: string | null;
|
|
934
|
+
};
|
|
935
|
+
body: QuoteSettingsUpdateRequest;
|
|
936
|
+
};
|
|
937
|
+
output: ApiResponse_QuotePayload_;
|
|
938
|
+
};
|
|
939
|
+
/**
|
|
940
|
+
* PUT /quote-templates/{template_id}
|
|
941
|
+
* Update Quote Template
|
|
942
|
+
* tier: external · scope: quotes:run
|
|
943
|
+
*/
|
|
944
|
+
update_quote_template_quote_templates__template_id__put: {
|
|
945
|
+
input: {
|
|
946
|
+
path: {
|
|
947
|
+
/** Template id. */
|
|
948
|
+
template_id: string;
|
|
949
|
+
};
|
|
950
|
+
headers?: {
|
|
951
|
+
"X-Target-Org-Id"?: string | null;
|
|
952
|
+
};
|
|
953
|
+
body: QuoteTemplateRequest;
|
|
954
|
+
};
|
|
955
|
+
output: ApiResponse_QuotePayload_;
|
|
956
|
+
};
|
|
957
|
+
/**
|
|
958
|
+
* PATCH /stripe/customers/{customer_id}/mapping
|
|
959
|
+
* Update Stripe Customer Mapping
|
|
960
|
+
* tier: write · scope: quotes:write
|
|
961
|
+
*/
|
|
962
|
+
update_stripe_customer_mapping_stripe_customers__customer_id__mapping_patch: {
|
|
963
|
+
input: {
|
|
964
|
+
path: {
|
|
965
|
+
/** The synced customer row id (not the `cus_` id). */
|
|
966
|
+
customer_id: number;
|
|
967
|
+
};
|
|
968
|
+
headers?: {
|
|
969
|
+
"X-Target-Org-Id"?: string | null;
|
|
970
|
+
};
|
|
971
|
+
body: CustomerMappingRequest;
|
|
972
|
+
};
|
|
973
|
+
output: ApiResponse_BillingPayload_;
|
|
974
|
+
};
|
|
975
|
+
/**
|
|
976
|
+
* POST /quote-settings/documents
|
|
977
|
+
* Upload Quote Document
|
|
978
|
+
* tier: external · scope: quotes:run
|
|
979
|
+
*/
|
|
980
|
+
upload_quote_document_quote_settings_documents_post: {
|
|
981
|
+
input: {
|
|
982
|
+
headers?: {
|
|
983
|
+
"X-Target-Org-Id"?: string | null;
|
|
984
|
+
};
|
|
985
|
+
};
|
|
986
|
+
output: ApiResponse_QuotePayload_;
|
|
987
|
+
};
|
|
988
|
+
/**
|
|
989
|
+
* POST /quotes/{quote_id}/evidence
|
|
990
|
+
* Upload Quote Evidence
|
|
991
|
+
* tier: write · scope: quotes:write
|
|
992
|
+
*/
|
|
993
|
+
upload_quote_evidence_quotes__quote_id__evidence_post: {
|
|
994
|
+
input: {
|
|
995
|
+
path: {
|
|
996
|
+
/** Quote id. */
|
|
997
|
+
quote_id: string;
|
|
998
|
+
};
|
|
999
|
+
headers?: {
|
|
1000
|
+
"X-Target-Org-Id"?: string | null;
|
|
1001
|
+
};
|
|
1002
|
+
};
|
|
1003
|
+
output: ApiResponse_BillingPayload_;
|
|
1004
|
+
};
|
|
1005
|
+
/**
|
|
1006
|
+
* PUT /stripe/product-settings/{stripe_product_id}
|
|
1007
|
+
* Upsert Stripe Product Settings
|
|
1008
|
+
* tier: write · scope: quotes:write
|
|
1009
|
+
*/
|
|
1010
|
+
upsert_stripe_product_settings_stripe_product_settings__stripe_product_id__put: {
|
|
1011
|
+
input: {
|
|
1012
|
+
path: {
|
|
1013
|
+
/** Stripe product id. */
|
|
1014
|
+
stripe_product_id: string;
|
|
1015
|
+
};
|
|
1016
|
+
headers?: {
|
|
1017
|
+
"X-Target-Org-Id"?: string | null;
|
|
1018
|
+
};
|
|
1019
|
+
body: ProductSettingsUpdateRequest;
|
|
1020
|
+
};
|
|
1021
|
+
output: ApiResponse_BillingPayload_;
|
|
1022
|
+
};
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
// 41 schemas referenced above (the same as G8Contract.<Name>).
|
|
1026
|
+
|
|
1027
|
+
export interface ApiResponse_BillingListPayload_ {
|
|
1028
|
+
data: BillingListPayload;
|
|
1029
|
+
pagination?: PaginationMeta | null;
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
export interface ApiResponse_BillingPayload_ {
|
|
1033
|
+
data: BillingPayload;
|
|
1034
|
+
pagination?: PaginationMeta | null;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
export interface ApiResponse_QuotableProductsResponse_ {
|
|
1038
|
+
data: QuotableProductsResponse;
|
|
1039
|
+
pagination?: PaginationMeta | null;
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
export interface ApiResponse_QuoteDetail_ {
|
|
1043
|
+
data: QuoteDetail;
|
|
1044
|
+
pagination?: PaginationMeta | null;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
export interface ApiResponse_QuoteListPayload_ {
|
|
1048
|
+
data: QuoteListPayload;
|
|
1049
|
+
pagination?: PaginationMeta | null;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
export interface ApiResponse_QuoteListResponse_ {
|
|
1053
|
+
data: QuoteListResponse;
|
|
1054
|
+
pagination?: PaginationMeta | null;
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
export interface ApiResponse_QuotePayload_ {
|
|
1058
|
+
data: QuotePayload;
|
|
1059
|
+
pagination?: PaginationMeta | null;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
export interface ApiResponse_QuoteSettingsResponse_ {
|
|
1063
|
+
data: QuoteSettingsResponse;
|
|
1064
|
+
pagination?: PaginationMeta | null;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
export interface ApiResponse_dict_ {
|
|
1068
|
+
data: Record<string, unknown>;
|
|
1069
|
+
pagination?: PaginationMeta | null;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
export interface ApiResponse_list_QuoteDetail__ {
|
|
1073
|
+
data: Array<QuoteDetail>;
|
|
1074
|
+
pagination?: PaginationMeta | null;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
/**
|
|
1078
|
+
* Archive, expire or revoke up to 200 quotes.
|
|
1079
|
+
*
|
|
1080
|
+
* Each quote runs in its OWN transaction and reports its own outcome, so one
|
|
1081
|
+
* bad row does not roll back the rest. The per-row result is the whole point
|
|
1082
|
+
* of the endpoint - read it rather than the HTTP status.
|
|
1083
|
+
*/
|
|
1084
|
+
export interface BatchQuoteActionRequest {
|
|
1085
|
+
/** What to do to every quote in the list. */
|
|
1086
|
+
action: "archive" | "expire" | "revoke";
|
|
1087
|
+
/** Quote ids. An out-of-scope or unknown id is reported per-row, not fatal. */
|
|
1088
|
+
quote_ids: Array<string>;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
/**
|
|
1092
|
+
* An open envelope for a LIST result. The rows are always under `items`;
|
|
1093
|
+
* `total` and paging fields ride along when the app reports them.
|
|
1094
|
+
*/
|
|
1095
|
+
export interface BillingListPayload {
|
|
1096
|
+
items?: Array<unknown>;
|
|
1097
|
+
[key: string]: unknown;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
/** An open envelope for one billing result. */
|
|
1101
|
+
export type BillingPayload = Record<string, unknown>;
|
|
1102
|
+
|
|
1103
|
+
export interface BulkProductSettingsRequest {
|
|
1104
|
+
/** Stripe product ids to update. */
|
|
1105
|
+
stripe_product_ids: Array<string>;
|
|
1106
|
+
updates: ProductSettingsUpdateRequest;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
/** Link a Stripe customer to a graph8 company, or unlink it with null. */
|
|
1110
|
+
export interface CustomerMappingRequest {
|
|
1111
|
+
/** graph8 company id. Null removes the mapping. */
|
|
1112
|
+
mashup_company_id: number | null;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
/** Input for the warmup-aware mailbox capacity planner. */
|
|
1116
|
+
export interface MailboxCapacityRequest {
|
|
1117
|
+
/** Target contacts to reach per month. */
|
|
1118
|
+
contacts_per_month: number;
|
|
1119
|
+
/** TLD for the per-domain cost estimate. */
|
|
1120
|
+
domain_tld?: string;
|
|
1121
|
+
/** Mailbox warmup state. Advisory under the current platform-wide daily cap. */
|
|
1122
|
+
warmed?: boolean;
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* Evidence for an acceptance that happened OUTSIDE graph8 e-sign.
|
|
1127
|
+
*
|
|
1128
|
+
* Both fields are required by the app and stay required here. This is the
|
|
1129
|
+
* audit trail for a quote accepted on a wire transfer or a paper contract,
|
|
1130
|
+
* and an acceptance with no recorded reason is the one thing a finance
|
|
1131
|
+
* surface cannot afford.
|
|
1132
|
+
*/
|
|
1133
|
+
export interface ManualAcceptRequest {
|
|
1134
|
+
/** What happened, in the accepter's own words. Stored on the audit row. */
|
|
1135
|
+
evidence_note: string;
|
|
1136
|
+
/** How the customer accepted, outside the e-sign flow. */
|
|
1137
|
+
evidence_type: "offline_signature" | "customer_email" | "verbal_authorization" | "payment_received";
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
/** A product in the org's own catalogue - quotable with or without Stripe. */
|
|
1141
|
+
export interface ManualProductCreateRequest {
|
|
1142
|
+
active?: boolean;
|
|
1143
|
+
billing_frequency?: "one_time" | "month" | "year" | "quarter";
|
|
1144
|
+
category?: string | null;
|
|
1145
|
+
currency?: string;
|
|
1146
|
+
/** In cents. */
|
|
1147
|
+
default_unit_amount: number;
|
|
1148
|
+
description?: string | null;
|
|
1149
|
+
name: string;
|
|
1150
|
+
quotable?: boolean;
|
|
1151
|
+
sort_order?: number;
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
/** Partial update. Only the fields you send are changed. */
|
|
1155
|
+
export interface ManualProductUpdateRequest {
|
|
1156
|
+
active?: boolean | null;
|
|
1157
|
+
billing_frequency?: ("one_time" | "month" | "year" | "quarter") | null;
|
|
1158
|
+
category?: string | null;
|
|
1159
|
+
currency?: string | null;
|
|
1160
|
+
default_unit_amount?: number | null;
|
|
1161
|
+
description?: string | null;
|
|
1162
|
+
name?: string | null;
|
|
1163
|
+
quotable?: boolean | null;
|
|
1164
|
+
sort_order?: number | null;
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
export interface PaginationMeta {
|
|
1168
|
+
/** Whether there are more pages */
|
|
1169
|
+
has_next: boolean;
|
|
1170
|
+
/** Items per page */
|
|
1171
|
+
limit: number;
|
|
1172
|
+
/** 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. */
|
|
1173
|
+
next_cursor?: string | null;
|
|
1174
|
+
/** Current page number (1-indexed) */
|
|
1175
|
+
page: number;
|
|
1176
|
+
/** Total number of items */
|
|
1177
|
+
total: number;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
/**
|
|
1181
|
+
* Compute the payment schedule a set of line items WOULD produce.
|
|
1182
|
+
*
|
|
1183
|
+
* Reads nothing and writes nothing - it is arithmetic over the body, which
|
|
1184
|
+
* is why it is POST but tiered `read`.
|
|
1185
|
+
*/
|
|
1186
|
+
export interface PaymentSchedulePreviewRequest {
|
|
1187
|
+
contract_duration_unit?: ("months" | "weeks" | "days") | null;
|
|
1188
|
+
contract_duration_value?: number | null;
|
|
1189
|
+
contract_end_date?: string | null;
|
|
1190
|
+
contract_months?: number | null;
|
|
1191
|
+
/** ISO date the contract starts. */
|
|
1192
|
+
contract_start_date: string;
|
|
1193
|
+
line_items: Array<QuoteLineItem>;
|
|
1194
|
+
tax_amount?: number;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
/** How a Stripe product appears in the quote builder. Omitted fields are unchanged. */
|
|
1198
|
+
export interface ProductSettingsUpdateRequest {
|
|
1199
|
+
category?: string | null;
|
|
1200
|
+
friendly_description?: string | null;
|
|
1201
|
+
friendly_name?: string | null;
|
|
1202
|
+
quotable?: boolean | null;
|
|
1203
|
+
sort_order?: number | null;
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
/** ``GET /quotable-products`` envelope (pagination preserved). */
|
|
1207
|
+
export interface QuotableProductsResponse {
|
|
1208
|
+
items: Array<Record<string, unknown>>;
|
|
1209
|
+
limit: number;
|
|
1210
|
+
page: number;
|
|
1211
|
+
total: number;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
/** The FINANCE contact a quote bills to - name and email only. */
|
|
1215
|
+
export interface QuoteBillingContactCreateRequest {
|
|
1216
|
+
deal_id?: string | null;
|
|
1217
|
+
email: string;
|
|
1218
|
+
/** Company the contact belongs to. */
|
|
1219
|
+
mashup_company_id: number;
|
|
1220
|
+
name?: string | null;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* The full CRM contact form for a quote's SIGNER.
|
|
1225
|
+
*
|
|
1226
|
+
* Distinct from the billing contact below, which is a finance contact and
|
|
1227
|
+
* takes name and email only. This one links the new contact to the deal and
|
|
1228
|
+
* the company so it is immediately usable as the signer.
|
|
1229
|
+
*/
|
|
1230
|
+
export interface QuoteContactCreateRequest {
|
|
1231
|
+
buying_role?: string | null;
|
|
1232
|
+
/** Deal to link it to. */
|
|
1233
|
+
deal_id?: string | null;
|
|
1234
|
+
department?: string | null;
|
|
1235
|
+
email: string;
|
|
1236
|
+
first_name?: string | null;
|
|
1237
|
+
last_name?: string | null;
|
|
1238
|
+
linkedin_url?: string | null;
|
|
1239
|
+
/** Company to link the new contact to. */
|
|
1240
|
+
mashup_company_id?: number | null;
|
|
1241
|
+
mobile_phone?: string | null;
|
|
1242
|
+
phone?: string | null;
|
|
1243
|
+
title?: string | null;
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
/**
|
|
1247
|
+
* Create a new quote (always starts in `draft` status).
|
|
1248
|
+
*
|
|
1249
|
+
* Mirrors ``CreateQuoteDTO``. At least one of ``signer_contact_id`` or
|
|
1250
|
+
* ``signer_email`` is required. ``line_items`` must be non-empty —
|
|
1251
|
+
* zero-line quotes can't be invoiced.
|
|
1252
|
+
*/
|
|
1253
|
+
export interface QuoteCreateRequest {
|
|
1254
|
+
accepted_payment_methods?: (Array<"ach" | "credit_card" | "wire">) | null;
|
|
1255
|
+
billing_address?: string | null;
|
|
1256
|
+
billing_contact_id?: number | null;
|
|
1257
|
+
billing_email?: string | null;
|
|
1258
|
+
billing_legal_name?: string | null;
|
|
1259
|
+
billing_primary_email?: string | null;
|
|
1260
|
+
contract_duration_unit?: ("months" | "weeks" | "days") | null;
|
|
1261
|
+
contract_duration_value?: number | null;
|
|
1262
|
+
contract_end_date?: string | null;
|
|
1263
|
+
contract_months?: number | null;
|
|
1264
|
+
contract_start_date?: string | null;
|
|
1265
|
+
currency?: string;
|
|
1266
|
+
deal_id?: string | null;
|
|
1267
|
+
line_items: Array<QuoteLineItemRequest>;
|
|
1268
|
+
marketing_rights?: (Array<"logo" | "quote" | "case_study">) | null;
|
|
1269
|
+
mashup_company_id?: number | null;
|
|
1270
|
+
notes?: string | null;
|
|
1271
|
+
owner_id?: string | null;
|
|
1272
|
+
payment_terms?: "due_on_receipt" | "net_15" | "net_30" | "net_45" | "net_60" | "net_90";
|
|
1273
|
+
privacy_content?: string | null;
|
|
1274
|
+
public_notes?: string | null;
|
|
1275
|
+
signer_contact_id?: number | null;
|
|
1276
|
+
signer_email?: string | null;
|
|
1277
|
+
signer_name?: string | null;
|
|
1278
|
+
tax_amount?: number;
|
|
1279
|
+
template_id?: string | null;
|
|
1280
|
+
terms_content?: string | null;
|
|
1281
|
+
title: string;
|
|
1282
|
+
valid_until?: string | null;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* Full row + line items + activity + envelope from ``GET /quotes/{id}``.
|
|
1287
|
+
*
|
|
1288
|
+
* Open dict because ``_get_quote_detail`` returns the dynamic
|
|
1289
|
+
* ``_row_to_dict`` shape plus resolved contact/company/envelope blocks.
|
|
1290
|
+
*/
|
|
1291
|
+
export interface QuoteDetail {
|
|
1292
|
+
activity?: Array<Record<string, unknown>> | null;
|
|
1293
|
+
envelope?: Record<string, unknown> | null;
|
|
1294
|
+
id?: string | null;
|
|
1295
|
+
line_items?: Array<Record<string, unknown>> | null;
|
|
1296
|
+
quote_number?: string | null;
|
|
1297
|
+
status?: string | null;
|
|
1298
|
+
title?: string | null;
|
|
1299
|
+
[key: string]: unknown;
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* One priced line, mirroring the app's `LineItemDTO`.
|
|
1304
|
+
*
|
|
1305
|
+
* The two REQUIRED fields are required here too, and that is the point: the
|
|
1306
|
+
* app model is built inside the handler, so a missing `product_name` or
|
|
1307
|
+
* `unit_amount` would raise a bare `pydantic.ValidationError` there - not the
|
|
1308
|
+
* `RequestValidationError` `error_handlers.py` registers - and escape as a
|
|
1309
|
+
* 500 instead of a 422.
|
|
1310
|
+
*
|
|
1311
|
+
* `unit_amount` is in CENTS, like the app. An API that took dollars here
|
|
1312
|
+
* while the app took cents would be wrong by a factor of a hundred on every
|
|
1313
|
+
* quote, silently.
|
|
1314
|
+
*
|
|
1315
|
+
* CLOSED (`extra="forbid"`), which makes this stricter than the app on
|
|
1316
|
+
* purpose. `LineItemDTO` uses pydantic's default behaviour and DROPS an
|
|
1317
|
+
* unrecognised field, so an open model here would accept a pricing field,
|
|
1318
|
+
* lose it on the way in, and return a schedule computed without it. On a
|
|
1319
|
+
* money surface a 422 naming the field is worth more than a 200 that quietly
|
|
1320
|
+
* priced something else. Nothing existing is affected - this route is new.
|
|
1321
|
+
*/
|
|
1322
|
+
export interface QuoteLineItem {
|
|
1323
|
+
billing_frequency?: string | null;
|
|
1324
|
+
billing_start_date?: string | null;
|
|
1325
|
+
description?: string | null;
|
|
1326
|
+
discount_pct?: number;
|
|
1327
|
+
manual_product_id?: string | null;
|
|
1328
|
+
product_name: string;
|
|
1329
|
+
quantity?: number;
|
|
1330
|
+
sort_order?: number;
|
|
1331
|
+
start_month?: number;
|
|
1332
|
+
stripe_price_id?: string | null;
|
|
1333
|
+
stripe_product_id?: string | null;
|
|
1334
|
+
/** CENTS, not dollars. */
|
|
1335
|
+
unit_amount: number;
|
|
1336
|
+
}
|
|
1337
|
+
|
|
1338
|
+
/**
|
|
1339
|
+
* One line item on a quote request body.
|
|
1340
|
+
*
|
|
1341
|
+
* Shape mirrors ``integrations_v4.interfaces.fastapi.quote_router.LineItemDTO``
|
|
1342
|
+
* exactly. Pass either ``stripe_product_id`` + ``stripe_price_id`` (for a
|
|
1343
|
+
* Stripe-catalogue product) or ``manual_product_id`` (for an org-owned
|
|
1344
|
+
* manual catalogue entry), or neither (for a custom one-off line).
|
|
1345
|
+
* Authorization is enforced server-side — non-quotable products are
|
|
1346
|
+
* rejected with 400.
|
|
1347
|
+
*/
|
|
1348
|
+
export interface QuoteLineItemRequest {
|
|
1349
|
+
billing_frequency?: ("one_time" | "month" | "year" | "quarter") | null;
|
|
1350
|
+
/** Exact recurring billing start date within the contract; start_month must remain 1 when supplied. */
|
|
1351
|
+
billing_start_date?: string | null;
|
|
1352
|
+
description?: string | null;
|
|
1353
|
+
discount_pct?: number;
|
|
1354
|
+
manual_product_id?: string | null;
|
|
1355
|
+
product_name: string;
|
|
1356
|
+
quantity?: number;
|
|
1357
|
+
sort_order?: number;
|
|
1358
|
+
/** Contract month when recurring billing begins; 1 means at contract start. Use billing_start_date instead for an exact date. */
|
|
1359
|
+
start_month?: number;
|
|
1360
|
+
stripe_price_id?: string | null;
|
|
1361
|
+
stripe_product_id?: string | null;
|
|
1362
|
+
/** In cents */
|
|
1363
|
+
unit_amount: number;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
/** An open envelope for a LIST result, so a bare list keeps its shape. */
|
|
1367
|
+
export interface QuoteListPayload {
|
|
1368
|
+
items?: Array<unknown>;
|
|
1369
|
+
[key: string]: unknown;
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
/**
|
|
1373
|
+
* ``GET /quotes`` envelope — preserves the original list endpoint's
|
|
1374
|
+
* pagination fields verbatim (the internal handler returns
|
|
1375
|
+
* ``{items, total, page, limit}``).
|
|
1376
|
+
*/
|
|
1377
|
+
export interface QuoteListResponse {
|
|
1378
|
+
items: Array<QuoteSummary>;
|
|
1379
|
+
limit: number;
|
|
1380
|
+
page: number;
|
|
1381
|
+
total: number;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
/** An open envelope for a quote, template, contact or job result. */
|
|
1385
|
+
export type QuotePayload = Record<string, unknown>;
|
|
1386
|
+
|
|
1387
|
+
/**
|
|
1388
|
+
* The same body `POST /quotes/{id}/send` takes - rendered, not sent.
|
|
1389
|
+
*
|
|
1390
|
+
* Identical on purpose: previewing with a different body than you send is
|
|
1391
|
+
* how a preview stops predicting anything. `deliver` is accepted because the
|
|
1392
|
+
* app's model has it, and it is INERT here - this handler renders and
|
|
1393
|
+
* returns, and nothing in it reaches a mail transport.
|
|
1394
|
+
*/
|
|
1395
|
+
export interface QuoteSendPreviewRequest {
|
|
1396
|
+
cc_emails?: Array<string> | null;
|
|
1397
|
+
deliver?: boolean;
|
|
1398
|
+
email_body?: string | null;
|
|
1399
|
+
message?: string | null;
|
|
1400
|
+
notification_mode?: "after_each" | "after_all";
|
|
1401
|
+
preview_recipient_email?: string | null;
|
|
1402
|
+
recipient_email?: string | null;
|
|
1403
|
+
recipient_name?: string | null;
|
|
1404
|
+
recipients?: Array<QuoteSendRecipient> | null;
|
|
1405
|
+
subject?: string | null;
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
/** One recipient of a quote preview. */
|
|
1409
|
+
export interface QuoteSendRecipient {
|
|
1410
|
+
email: string;
|
|
1411
|
+
email_body?: string | null;
|
|
1412
|
+
name?: string | null;
|
|
1413
|
+
role?: "signer" | "viewer";
|
|
1414
|
+
subject?: string | null;
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
/**
|
|
1418
|
+
* Send (or resend) a quote for e-signature.
|
|
1419
|
+
*
|
|
1420
|
+
* Both fields are optional — the server falls back to the quote title
|
|
1421
|
+
* for ``subject`` and a default cover line for ``message``. When the
|
|
1422
|
+
* target quote already has an active envelope (``sent`` / ``viewed``)
|
|
1423
|
+
* this resends without minting a new signing link.
|
|
1424
|
+
*/
|
|
1425
|
+
export interface QuoteSendRequest {
|
|
1426
|
+
message?: string | null;
|
|
1427
|
+
subject?: string | null;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
/**
|
|
1431
|
+
* ``GET /quote-settings`` row. Open dict — settings columns evolve
|
|
1432
|
+
* independently of this API surface.
|
|
1433
|
+
*/
|
|
1434
|
+
export type QuoteSettingsResponse = Record<string, unknown>;
|
|
1435
|
+
|
|
1436
|
+
/**
|
|
1437
|
+
* Org-wide quote branding, terms and sender identity.
|
|
1438
|
+
*
|
|
1439
|
+
* A CLOSED mirror of the app's `QuoteSettingsDTO`, not an open bag. Leaving
|
|
1440
|
+
* it open would have achieved nothing: the app model uses pydantic's default
|
|
1441
|
+
* `extra` behaviour, so an unrecognised branding field is dropped THERE
|
|
1442
|
+
* whatever this one does. Closed, the caller gets a 422 naming the field;
|
|
1443
|
+
* open, they get a 200 and settings that did not change.
|
|
1444
|
+
*
|
|
1445
|
+
* Every field is optional, and the app writes with `exclude_none`, so a
|
|
1446
|
+
* field you omit is left alone rather than blanked.
|
|
1447
|
+
*/
|
|
1448
|
+
export interface QuoteSettingsUpdateRequest {
|
|
1449
|
+
accent_color?: string | null;
|
|
1450
|
+
auto_advance_deal_on_quote_send?: boolean | null;
|
|
1451
|
+
/** Close the linked DEAL when a quote is accepted. Org-wide, and it changes what every future acceptance does to the pipeline. */
|
|
1452
|
+
auto_close_deal_on_acceptance?: boolean | null;
|
|
1453
|
+
company_address?: string | null;
|
|
1454
|
+
company_email?: string | null;
|
|
1455
|
+
company_logo_url?: string | null;
|
|
1456
|
+
company_name?: string | null;
|
|
1457
|
+
company_phone?: string | null;
|
|
1458
|
+
default_billing_provider?: string | null;
|
|
1459
|
+
default_payment_terms?: string | null;
|
|
1460
|
+
default_privacy?: string | null;
|
|
1461
|
+
default_terms?: string | null;
|
|
1462
|
+
default_valid_days?: number | null;
|
|
1463
|
+
footer_text?: string | null;
|
|
1464
|
+
privacy_url?: string | null;
|
|
1465
|
+
quote_acceptance_roam_channel_id?: string | null;
|
|
1466
|
+
quote_acceptance_roam_channel_name?: string | null;
|
|
1467
|
+
quote_acceptance_roam_notifications_enabled?: boolean | null;
|
|
1468
|
+
quote_number_prefix?: string | null;
|
|
1469
|
+
required_billing_fields?: Array<string> | null;
|
|
1470
|
+
/** Whose name every quote goes out under. Admin-only for that reason. */
|
|
1471
|
+
sender_email?: string | null;
|
|
1472
|
+
/** `fixed` to always use `sender_email`, or `creator`. */
|
|
1473
|
+
sender_mode?: string | null;
|
|
1474
|
+
sender_name?: string | null;
|
|
1475
|
+
terms_library?: Array<Record<string, unknown>> | null;
|
|
1476
|
+
terms_url?: string | null;
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
/**
|
|
1480
|
+
* List-view row from ``GET /quotes``. ``extra="allow"`` keeps every
|
|
1481
|
+
* backend column flowing through without us re-declaring CBQuote.
|
|
1482
|
+
*/
|
|
1483
|
+
export interface QuoteSummary {
|
|
1484
|
+
accepted_at?: string | null;
|
|
1485
|
+
created_at?: string | null;
|
|
1486
|
+
currency?: string | null;
|
|
1487
|
+
id?: string | null;
|
|
1488
|
+
quote_number?: string | null;
|
|
1489
|
+
sent_at?: string | null;
|
|
1490
|
+
status?: string | null;
|
|
1491
|
+
title?: string | null;
|
|
1492
|
+
total?: number | null;
|
|
1493
|
+
[key: string]: unknown;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
/**
|
|
1497
|
+
* A reusable quote template. A CLOSED mirror of `QuoteTemplateDTO` - the
|
|
1498
|
+
* app drops an unrecognised field silently, so an open model here would turn
|
|
1499
|
+
* a typo into a template saved without the thing you typed.
|
|
1500
|
+
*/
|
|
1501
|
+
export interface QuoteTemplateRequest {
|
|
1502
|
+
contract_duration_unit?: ("months" | "weeks" | "days") | null;
|
|
1503
|
+
contract_duration_value?: number | null;
|
|
1504
|
+
contract_months?: number | null;
|
|
1505
|
+
default_line_items?: Array<Record<string, unknown>> | null;
|
|
1506
|
+
default_payment_terms?: string | null;
|
|
1507
|
+
default_valid_days?: number | null;
|
|
1508
|
+
description?: string | null;
|
|
1509
|
+
/** Legal documents to attach to every quote built from this template. Ids come from `GET /quote-settings/documents`. */
|
|
1510
|
+
document_ids?: Array<string> | null;
|
|
1511
|
+
is_default?: boolean;
|
|
1512
|
+
name: string;
|
|
1513
|
+
terms_override?: string | null;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
/**
|
|
1517
|
+
* Partial update for a draft quote.
|
|
1518
|
+
*
|
|
1519
|
+
* All fields optional. Passing ``line_items`` replaces them entirely
|
|
1520
|
+
* (and re-runs quotable-product authorization). Quotes in any status
|
|
1521
|
+
* other than ``draft`` reject updates with 400 — use ``edit-as-draft``
|
|
1522
|
+
* on a ``sent`` quote, or ``duplicate`` on a terminal one, to get a
|
|
1523
|
+
* fresh editable copy.
|
|
1524
|
+
*/
|
|
1525
|
+
export interface QuoteUpdateRequest {
|
|
1526
|
+
accepted_payment_methods?: (Array<"ach" | "credit_card" | "wire">) | null;
|
|
1527
|
+
billing_address?: string | null;
|
|
1528
|
+
billing_contact_id?: number | null;
|
|
1529
|
+
billing_email?: string | null;
|
|
1530
|
+
billing_legal_name?: string | null;
|
|
1531
|
+
billing_primary_email?: string | null;
|
|
1532
|
+
contract_duration_unit?: ("months" | "weeks" | "days") | null;
|
|
1533
|
+
contract_duration_value?: number | null;
|
|
1534
|
+
contract_end_date?: string | null;
|
|
1535
|
+
contract_months?: number | null;
|
|
1536
|
+
contract_start_date?: string | null;
|
|
1537
|
+
currency?: string | null;
|
|
1538
|
+
deal_id?: string | null;
|
|
1539
|
+
line_items?: Array<QuoteLineItemRequest> | null;
|
|
1540
|
+
marketing_rights?: (Array<"logo" | "quote" | "case_study">) | null;
|
|
1541
|
+
mashup_company_id?: number | null;
|
|
1542
|
+
notes?: string | null;
|
|
1543
|
+
owner_id?: string | null;
|
|
1544
|
+
payment_terms?: ("due_on_receipt" | "net_15" | "net_30" | "net_45" | "net_60" | "net_90") | null;
|
|
1545
|
+
privacy_content?: string | null;
|
|
1546
|
+
public_notes?: string | null;
|
|
1547
|
+
signer_contact_id?: number | null;
|
|
1548
|
+
signer_email?: string | null;
|
|
1549
|
+
signer_name?: string | null;
|
|
1550
|
+
tax_amount?: number | null;
|
|
1551
|
+
terms_content?: string | null;
|
|
1552
|
+
title?: string | null;
|
|
1553
|
+
valid_until?: string | null;
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
/**
|
|
1557
|
+
* Connect Stripe with a restricted (or secret) API key.
|
|
1558
|
+
*
|
|
1559
|
+
* WRITE-ONLY: the key is stored encrypted and never returned by any operation.
|
|
1560
|
+
*/
|
|
1561
|
+
export interface StripeApiKeyRequest {
|
|
1562
|
+
/** Stripe restricted or secret key: rk_live_, rk_test_, sk_live_ or sk_test_. */
|
|
1563
|
+
api_key: string;
|
|
1564
|
+
}
|