openapi: 3.0.1 info: title: Cacheflow API version: 0.0.3 servers: - url: https://api.getcacheflow.com description: 'Production. Calls are tenant-routed: send Host: .api.getcacheflow.com (per github.com/getcacheflow/api-examples SETUP.md). Host no longer resolves as of 2026-08-13.' - url: https://api.sandbox.getcacheflow.com description: Sandbox. Tenant-routed as .api.sandbox.getcacheflow.com. Host no longer resolves as of 2026-08-13. paths: /api/latest/settings/integrations/quickbooks/accounts: get: tags: - Integrations summary: List QuickBooks accounting codes operationId: getAccountsForQuickbooks responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/QuickbooksAccount' /api/latest/settings/integrations/connectors: get: tags: - Integrations summary: List connectors operationId: getConnectors responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Connectors' /api/latest/settings/integrations/data/sync-events/{id}: get: tags: - Integrations summary: Event record by id operationId: getEventById parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SyncEvent' /api/latest/settings/integrations/events: get: tags: - Integrations summary: List integration events operationId: getEvents parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string default: -createdAt - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SyncEvent' /api/latest/settings/integrations/billingschedule/events: get: tags: - Integrations summary: List events for billing schedules operationId: getEventsByBillingSchedule parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/BillingScheduleSyncSummary' /api/latest/settings/integrations/transfer/events: get: tags: - Integrations summary: List events for payments operationId: getEventsByTransfer parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransferSyncSummary' /api/latest/settings/integrations/{reference}/{id}/flags: get: tags: - Integrations summary: List flags for a reference operationId: getFlagsByReference parameters: - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ReferenceIssue' /api/latest/settings/integrations/oauth/refresh/{type}: get: tags: - Integrations summary: Refresh integration tokens operationId: getIntegrationAuthRefresh parameters: - name: type in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout responses: '200': description: OK /api/latest/settings/integrations/reconciliation/summary: get: tags: - Integrations summary: Reconciliation summary operationId: getReconciliationSummary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReconciliationSummaryRest' /api/latest/settings/integrations/data/sync-events: get: tags: - Integrations summary: List integration events operationId: getSyncEvents parameters: - name: sort in: query schema: type: string default: createdAt - name: search in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 100 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SyncEvent' /api/latest/settings/integrations/data/sync-events/summary: get: tags: - Integrations summary: Give the counts of integration events operationId: getSyncEventsCount parameters: - name: search in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SyncEventsSummary' /api/latest/settings/integrations/system/billingschedule/events: get: tags: - Integrations summary: List events for billing schedules operationId: getSystemEventsByBillingSchedule parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/BillingScheduleSyncSummary' /api/latest/settings/integrations/system/transfer/events: get: tags: - Integrations summary: List integration events operationId: getSystemEventsByTransfer parameters: - name: sort in: query schema: type: string default: createdAt - name: search in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransferSyncSummary' /api/latest/settings/integrations/system/reconciliation/summary: get: tags: - Integrations summary: Reconciliation summary operationId: getSystemReconciliationSummary responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReconciliationSummaryRest' /api/latest/settings/integrations/{reference}/{id}/link: post: tags: - Integrations summary: Link object based on entity operationId: linkObjectToExternal parameters: - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/LinkRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalObjectReference' /api/latest/settings/integrations/{reference}/{id}/resetsync: post: tags: - Integrations summary: Reset sync for an object operationId: resetAndSyncObjectToExternal parameters: - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalObjectReference' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalObjectReference' /api/latest/settings/integrations/oauth/code/{type}: post: tags: - Integrations summary: Process code callback from oauth flow operationId: saveIntegrationAuthCallback parameters: - name: type in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout requestBody: content: application/json: schema: $ref: '#/components/schemas/ConnectorSetup' responses: '200': description: OK /api/latest/settings/integrations/{type}/search: put: tags: - Integrations summary: Search connectors operationId: searchConnectorData parameters: - name: type in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout requestBody: content: application/json: schema: $ref: '#/components/schemas/ConnectorQuery' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalObjectReference' /api/latest/settings/integrations/{type}/{reference}/{referenceId}/search: get: tags: - Integrations summary: Search connectors based on entity operationId: searchConnectorDataWithObject parameters: - name: type in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: referenceId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalObjectReference' /api/latest/settings/integrations/oauth/authorize/{type}: post: tags: - Integrations summary: Start authorize oauth flow for integration operationId: startIntegrationLogin parameters: - name: type in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout requestBody: content: application/json: schema: $ref: '#/components/schemas/ConnectorSetup' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ConnectorSetup' /api/latest/settings/integrations/billingschedule/resync: put: tags: - Integrations summary: Resync billing schedules operationId: syncBillingSchedules requestBody: content: application/json: schema: type: array items: type: string format: uuid responses: '200': description: OK /api/latest/settings/integrations/test-connection/{type}: get: tags: - Integrations summary: Test connector operationId: testConnector parameters: - name: type in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ConnectorTestResult' /api/latest/settings/integrations/{reference}/{id}/unlink: post: tags: - Integrations summary: 'UnLink object based on entity ' operationId: unlinkFromExternal parameters: - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalObjectReference' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalObjectReference' /api/latest/data/accounts/plaid: post: tags: - Accounts summary: Create Plaid account operationId: createAccountsWithPlaid requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAccountsWithPlaidRequest' responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Account' /api/latest/data/accounts/external: post: tags: - Accounts summary: Create external account operationId: createExternal requestBody: content: application/json: schema: $ref: '#/components/schemas/Account' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Account' /api/latest/data/accounts/{id}: get: tags: - Accounts summary: Get an account operationId: getAccount parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Account' /api/latest/data/accounts/funding: get: tags: - Accounts summary: List funding accounts operationId: getFundingAccount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Account' /api/latest/data/accounts/plaid/init: post: tags: - Accounts summary: Create Plaid token for initialization operationId: initCreateAccountWithPlaid responses: '201': description: OK content: application/json: schema: type: string /api/latest/data/accounts: get: tags: - Accounts summary: List accounts operationId: listAccounts parameters: - name: filterBy in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Account' /api/latest/data/approval-groups: get: tags: - Approval Groups summary: List approval groups operationId: getAllApprovalGroups responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApprovalGroup' post: tags: - Approval Groups summary: Create an approval group operationId: createApprovalGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalGroupRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalGroup' /api/latest/data/approval-groups/{id}: get: tags: - Approval Groups summary: Retrieve an approval group operationId: getApprovalGroupById parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalGroup' put: tags: - Approval Groups summary: Update an approval group operationId: updateApprovalGroup parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalGroupRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalGroup' delete: tags: - Approval Groups summary: Delete an approval group operationId: deleteApprovalGroup parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/approval-requests/{id}/actions: post: tags: - Proposal Approvals summary: Action an approval operationId: createApprovalAction parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ApprovalAction' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalAction' /api/latest/approval-requests/me: get: tags: - Approval Requests summary: Retrieve approval requests operationId: getMyApproverRequests responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApprovalRequestSummary' /api/latest/data/close/contacts: get: tags: - Close summary: List contacts operationId: getCloseContacts responses: '200': description: List of Close contacts content: application/json: schema: type: array items: $ref: '#/components/schemas/CloseContact' /api/latest/data/close/leads: get: tags: - Close summary: List leads operationId: getCloseLeads responses: '200': description: List of Close Leads content: application/json: schema: type: array items: $ref: '#/components/schemas/CloseLead' /api/latest/data/close/proxy/{path}: get: tags: - Close summary: Proxy to Close API operationId: proxy parameters: - name: path in: path required: true schema: type: string responses: '200': description: Proxy to Close API content: application/json: schema: type: array items: type: object /api/latest/data/contacts/{id}: get: tags: - Contacts summary: Retrieve a contact operationId: getContact parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contact' delete: tags: - Contacts summary: Delete a contact operationId: deleteContact parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Contacts summary: Update a contact operationId: updateContact parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateContactRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contact' /api/latest/data/customers: get: tags: - Customers summary: List customers operationId: listCustomers parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 100 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Customer' post: tags: - Customers summary: Create a customer operationId: createCustomer requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Customer' /api/latest/data/customers/{id}/contacts: get: tags: - Contacts summary: List contacts for a customer operationId: getCustomerContacts parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Contact' post: tags: - Contacts summary: Create a contact operationId: createCustomerContact parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateContactRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Contact' /api/latest/data/customers/{id}: get: tags: - Customers summary: Retrieve a customer operationId: getCustomer parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Customer' delete: tags: - Customers summary: Delete a customer operationId: deleteCustomer parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Customers summary: Update a customer operationId: patchCustomer parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Customer' /api/latest/data/customers/external/{externalId}: get: tags: - Customers summary: Retrieve a customer by external id operationId: getCustomerByExternalId parameters: - name: externalId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Customer' /api/latest/data/customers/{id}/contracts: get: tags: - Subscriptions summary: List subscriptions for a customer operationId: getCustomerContracts parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractSummary' /api/latest/data/customers/{id}/invoices: get: tags: - Invoices summary: List invoices for a customer operationId: getCustomerInvoices parameters: - name: id in: path required: true schema: type: string format: uuid - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 100 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceSummary' /api/latest/data/customers/{id}/proposals: get: tags: - Proposals summary: List proposals for a customer operationId: getCustomerProposals parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProposalSummary' /api/latest/data/external-crm/proposals/{proposalId}/external-renewal-deal: post: tags: - CRM summary: Create a renewal deal in CRM for a renewal proposal operationId: createExternalRenewalDeal parameters: - name: proposalId in: path required: true schema: type: string format: uuid responses: '200': description: Deal for connected source content: application/json: schema: $ref: '#/components/schemas/ExternalDeal' /api/latest/data/external-crm/{source}/proposal-from-deal: post: tags: - CRM summary: Create a proposal for an external deal operationId: createProposalFromDeal parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProposalFromDealRequest' responses: '201': description: Proposal content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/data/external-crm/{source}/{reference}/fields: get: tags: - CRM summary: List external fields for an external object operationId: getCrmFields parameters: - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout responses: '200': description: Stages for the connected source content: application/json: schema: type: array items: $ref: '#/components/schemas/CrmObjectProperty' /api/latest/data/external-crm/{source}/pipelines: get: tags: - CRM summary: List deal pipelines operationId: getCrmPipelines parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout responses: '200': description: Pipelines for the connected source content: application/json: schema: $ref: '#/components/schemas/CrmPipeline' /api/latest/data/external-crm/{source}/stages: get: tags: - CRM summary: List deal stages operationId: getCrmStages parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout responses: '200': description: Stages for the connected source content: application/json: schema: $ref: '#/components/schemas/CrmStage' /api/latest/data/external-crm/domain/{reference}/fields: get: tags: - CRM summary: List external fields for a Cacheflow object operationId: getDomainFields parameters: - name: reference in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user responses: '200': description: Stages for the connected source content: application/json: schema: type: array items: $ref: '#/components/schemas/DomainField' /api/latest/data/external-crm/{source}/customers: get: tags: - CRM summary: List external customers operationId: getExternalCustomers parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: search in: query schema: type: string responses: '200': description: List of customers for the connected source content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalCustomer' /api/latest/data/external-crm/{source}/deals/{externalId}: get: tags: - CRM summary: Retrieve a deal by external ID operationId: getExternalDeal parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: externalId in: path required: true schema: type: string responses: '200': description: Deal for the connected source content: application/json: schema: $ref: '#/components/schemas/ExternalDeal' /api/latest/data/external-crm/{source}/deals: get: tags: - CRM summary: List deals operationId: getExternalDeals parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: search in: query schema: type: string - name: customerId in: query schema: type: string responses: '200': description: List of deals for the connected source content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalDeal' /api/latest/data/external-crm/{source}/products: get: tags: - CRM summary: List external products operationId: getExternalProducts parameters: - name: source in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: search in: query schema: type: string responses: '200': description: List of products for the connected source and search string content: application/json: schema: type: array items: $ref: '#/components/schemas/ExternalProduct' /api/latest/data/external-crm/proposals/{proposalId}/sync: put: tags: - CRM summary: 'Trigger a sync of a proposal to CRM ' operationId: syncProposalToCrm parameters: - name: proposalId in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} /api/latest/data/groups: get: tags: - User Groups summary: List groups operationId: getAllGroups responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Group' post: tags: - User Groups summary: Create a group operationId: createGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' /api/latest/data/groups/{id}: get: tags: - User Groups summary: Retrieve a group operationId: getGroupById parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' put: tags: - User Groups summary: Update a group operationId: updateGroup parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Group' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' delete: tags: - User Groups summary: Delete a group operationId: deleteGroup parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/data/groups/{id}/users: get: tags: - User Groups summary: List users for a group operationId: getUsersByGroupId parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/User' delete: tags: - User Groups summary: Delete group users operationId: deleteUsersFromGroup parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUsers' responses: '200': description: OK patch: tags: - User Groups summary: Update group users operationId: updateGroupUsers parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupUsers' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Group' /api/latest/data/hubspot/card-info: get: tags: - HubSpot Deals summary: Retrieve card info operationId: getHubspotCardInfo parameters: - name: associatedObjectId in: query schema: type: string - name: portalId in: query schema: type: string requestBody: content: application/json: schema: type: string responses: default: description: default response content: application/json: {} /api/latest/data/hubspot/account-already-linked: get: tags: - HubSpot Deals summary: Validate HubSpot account operationId: getIsHubspotAccountLinked parameters: - name: hubspotAccountId in: query schema: type: string responses: '200': description: Check if HubSpot account is already linked to a Cacheflow org content: application/json: schema: $ref: '#/components/schemas/HubspotAccountLinkedRest' /api/latest/data/hubspot/webhook-event: post: tags: - HubSpot Webhooks summary: Create HubSpot update event operationId: handleHubspotWebhookEvents requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/HubspotWebhookRequest' responses: '200': description: Handle webhook events sent directly from HubSpot /api/latest/data/hubspot/sync: put: tags: - HubSpot Deals summary: Sync customer operationId: sync requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/SyncRequest' responses: '200': description: List of SyncResponses content: application/json: schema: type: array items: $ref: '#/components/schemas/SyncResponse' /api/latest: get: tags: - Index summary: Retrieve webapp operationId: get responses: default: description: default response content: application/json: {} /api/latest/invoice-configs/{id}: get: tags: - Invoice Configurations summary: Retrieve an invoice configuration operationId: getInvoiceConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Invoice Configurations summary: Update an invoice configuration operationId: patchInvoiceConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceConfigurationRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InvoiceConfiguration' /api/latest/data/invoices/archive: post: tags: - Invoices summary: Archive invoices operationId: archiveInvoices requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleIdRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceDetail' /api/latest/data/invoices/{id}: get: tags: - Invoices summary: Retrieve an invoice operationId: getInvoice parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InvoiceDetail' patch: tags: - Invoices summary: Update an invoice operationId: updateInvoice parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateInvoiceRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InvoiceDetail' /api/latest/data/invoices/{id}/activity: get: tags: - Invoices summary: Retrieve invoice activity operationId: getInvoiceActivity parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ActivityEvent' /api/latest/data/invoices: get: tags: - Invoices summary: List invoices operationId: listInvoices parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: include_archived in: query schema: type: boolean - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 100 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceWithSyncSummaryRest' /api/latest/data/invoices/{id}/renumber: post: tags: - Invoices summary: Renumber an invoice operationId: renumberInvoice parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InvoiceDetail' /api/latest/data/invoices/{id}/notification: post: tags: - Invoices summary: Resend invoice email operationId: resendInvoiceEmail parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/NotificationRequest' responses: '200': description: Invoice email sent successfully content: application/json: schema: $ref: '#/components/schemas/Notification' /api/latest/data/invoices/restore: post: tags: - Invoice summary: Restore invoices operationId: restoreInvoices requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleIdRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceDetail' /api/latest/data/invoices/{id}/payments: post: tags: - Invoices summary: Receive Payment for an Invoice operationId: updatePayment parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentUpdateRequest' responses: '200': description: Payment recorded successfully content: application/json: schema: $ref: '#/components/schemas/InvoiceDetail' /api/latest/data/organizations/{id}: get: tags: - Organizations summary: Retrieve an organization operationId: getOrganization parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' '400': description: error content: application/json: schema: $ref: '#/components/schemas/ErrorObject' put: tags: - Organizations summary: Update an organization operationId: updateOrganization parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationAccountRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' /api/latest/data/organizations: get: tags: - Organizations summary: List organizations operationId: listOrganizations responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' /api/latest/data/organizations/{id}/maintain: put: tags: - Organizations summary: Maintain an organization operationId: maintainOrg parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/JobDescription' responses: '200': description: OK /api/latest/data/payouts: post: tags: - Payouts summary: Create a payout operationId: createPayoutEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/PayoutTransfer' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Transfer' /api/latest/data/refunds: get: tags: - Refunds summary: List Refunds operationId: listRefunds parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Refund' post: tags: - Refunds summary: Schedule a refund for a transfer operationId: createRefund requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRefundRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Refund' /api/latest/data/refunds/{refundId}: get: tags: - Refunds summary: Get Refund by ID operationId: getRefund parameters: - name: refundId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Refund' /api/latest/data/refunds/{refundId}/activity: get: tags: - Refunds summary: Get Refund activity by ID operationId: getRefundActivity parameters: - name: refundId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ActivityEvent' /api/latest/data/refunds/{refundId}/events: get: tags: - Refunds summary: Get Refund events by ID operationId: getRefundEvents parameters: - name: refundId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ActivityEvent' deprecated: true /api/latest/data/refunds/{refundId}/sync: post: tags: - Refunds summary: Get Refund activity by ID operationId: syncRefund parameters: - name: refundId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Refund' /api/latest/data/roles: get: tags: - Roles summary: List roles operationId: getAllRoles responses: '200': description: OK content: application/json: schema: type: array items: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer /api/latest/data/roles/{id}: get: tags: - Roles summary: Get users for role operationId: getUsersForRole parameters: - name: id in: path required: true schema: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/UserProfile' /api/latest/data/salesforce/me: get: tags: - Salesforce summary: Gets info about the current logged in salesforce user operationId: getConnectedSalesforceUser responses: '200': description: The current logged in salesforce user content: application/json: schema: $ref: '#/components/schemas/ForceUser' deprecated: true /api/latest/data/salesforce/opportunities/{opportunityId}: get: tags: - Salesforce summary: Retrieve an opportunity operationId: getSalesforceOpp parameters: - name: opportunityId in: path required: true schema: type: string responses: '200': description: Salesforce Opportunity content: application/json: schema: $ref: '#/components/schemas/ForceOpportunity' /api/latest/data/salesforce/sync-contract/{contractId}: put: tags: - Salesforce summary: Sync a subscription to Salesforce operationId: syncContract parameters: - name: contractId in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} /api/latest/sso/providers: get: tags: - Authentication summary: List SSO Providers operationId: getProviderList parameters: - name: email in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SsoProvider' /api/latest/ssr/ssr-types: get: tags: - Settings summary: List SSR types operationId: getSsrTypes responses: '200': description: to get SSR types in generated contracts... content: application/json: schema: oneOf: - $ref: '#/components/schemas/EmailProps' - $ref: '#/components/schemas/CheckoutPdfData' - $ref: '#/components/schemas/SsrRenderEmailRequest' - $ref: '#/components/schemas/SsrRenderPdfRequest' - $ref: '#/components/schemas/SsrHtmlResponse' /api/latest/status: get: tags: - System summary: Retrieve system status operationId: getStatus responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Status' /api/latest/status/threads: get: tags: - System summary: Retrieve thread dump of system operationId: getThreadDump responses: default: description: default response content: application/json: schema: type: string /api/latest/settings/taxes/tax-codes: get: tags: - Taxes summary: List tax codes for an organization operationId: getTaxCodes responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TaxCodeRest' post: tags: - Taxes summary: Create a tax code operationId: createTaxCode requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTaxCodeRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaxCodeRest' /api/latest/settings/taxes/tax-codes/{code}: put: tags: - Taxes summary: Update a tax code operationId: updateTaxCode parameters: - name: code in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTaxCodeRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaxCodeRest' delete: tags: - Taxes summary: Delete a tax code operationId: deleteTaxCode parameters: - name: code in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaxCodeRest' /api/latest/data/transactions/{id}: get: tags: - Payments summary: Retrieve a payment operationId: getTransaction parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Transfer' /api/latest/data/transactions/reference/{type}/{referenceId}: get: tags: - Payments summary: Get payment by reference operationId: getTransactionByReference parameters: - name: type in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user - name: referenceId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Transaction' /api/latest/data/transactions/{id}/transfers: get: tags: - Payments summary: List transfers for a payment operationId: getTransactionChildren parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Transaction' /api/latest/data/transactions: get: tags: - Payments summary: List payments operationId: listTransactions parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransferSummaryRest' /api/latest/data/transfers/{transfer_id}/activity: get: tags: - Transfers summary: List activity for a transfer operationId: listTransferActivity parameters: - name: transfer_id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ActivityEvent' /api/latest/data/transfer-events/{id}: get: tags: - Transfers summary: Retrieve a transfer event operationId: getTransferEvent parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransferEvent' /api/latest/data/transfers/{transfer_id}/events: get: tags: - Transfers summary: List events for a transfer operationId: listTransferEvents parameters: - name: transfer_id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransferEvent' post: tags: - Transfers summary: Create a transfer event operationId: createTransferEvent parameters: - name: transfer_id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/TransferEvent' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/TransferEvent' /api/latest/data/transfer-requests: get: tags: - Transfers summary: List transfers operationId: getTransactionRequestByStatus parameters: - name: orgId in: query schema: type: string format: uuid - name: filterBy in: query schema: type: string responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransferRequest' post: tags: - Transfers summary: Create a transfer request operationId: createTransferRequests parameters: - name: dueDate in: query schema: type: string - name: orgId in: query schema: type: string format: uuid responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TransferRequest' /api/latest/data/transfer-requests/{transfer-id}/trigger: get: tags: - Transfers summary: Retrieve a transfer trigger operationId: triggerTransferRequest parameters: - name: transfer-id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransferRequest' deprecated: true put: tags: - Transfers summary: Retry a transfer operationId: retryTransfer parameters: - name: transfer-id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransferRequest' /api/latest/data/transfers/{id}: get: tags: - Transfers summary: Retrieve a transfer operationId: getTransfer parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Transaction' /api/latest/data/users/{id}/emails: post: tags: - Users summary: Add user email operationId: addUserEmail parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UserEmail' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/UserEmail' delete: tags: - Users summary: Delete user email operationId: deleteUserEmail parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UserEmail' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserEmail' /api/latest/data/users: get: tags: - Users summary: List users operationId: getAllUsers responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/UserProfile' post: tags: - Users summary: Create a user operationId: createUser requestBody: content: application/json: schema: $ref: '#/components/schemas/UserProfile' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/UserProfile' /api/latest/data/users/{id}: get: tags: - Users summary: Retrieve a user operationId: getUserById parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserProfile' put: tags: - Users summary: Update a user operationId: updateUser parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UserProfile' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserProfile' delete: tags: - Users summary: Delete a user operationId: deleteUser parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/data/users/{id}/approval-groups: get: tags: - Approval Groups summary: List approval groups operationId: getApprovalGroupsByUser parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApprovalGroup' /api/latest/checkout/customer: post: tags: - Checkout summary: Create a checkout session operationId: createProposalFromCheckoutTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckoutProposalRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/checkout/chat: post: tags: - Checkout summary: Create a checkout chat operationId: createProposalFromText requestBody: content: application/json: schema: $ref: '#/components/schemas/CheckoutProposalRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/checkout/branding: get: tags: - Checkout summary: Retrieve checkout branding operationId: getCheckoutBranding responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' /api/latest/checkout/branding/{id}: get: tags: - Checkout summary: Retrieve checkout branding for specific proposal operationId: getCheckoutBrandingProposal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' /api/latest/checkout/template/{id}: get: tags: - Checkout summary: Retrieve a checkout template operationId: getCheckoutTemplate parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/checkout/proposals/{id}/payment-methods: get: tags: - Checkout summary: List payment methods for a checkout session operationId: getCheckoutPaymentMethods parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/CheckoutPaymentMethod' /api/latest/data/contracts/archive: post: tags: - Subscriptions summary: Archive subscriptions operationId: archiveSubscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleIdRequest' responses: '200': description: OK /api/latest/data/contracts/{id}/auto-renew: post: tags: - Subscriptions summary: Auto renew a subscription operationId: autoRenewContract parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' /api/latest/data/contracts/{id}/billing-method: put: tags: - Subscriptions summary: Update a subscription's billing method operationId: updateBillingMethod parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/BillingMethodRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' post: tags: - Subscriptions summary: Create a payment method for a subscription operationId: createBillingMethod parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/BillingMethodRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/BillingMethod' /api/latest/data/contracts: get: tags: - Subscriptions summary: List subscriptions operationId: listContracts parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: include_archived in: query schema: type: boolean - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 100 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractSummary' post: tags: - Subscriptions summary: Create a subscription operationId: createContract requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateContractRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' /api/latest/data/contracts/{id}/proposals: get: tags: - Subscriptions summary: List proposals for a subscription operationId: getContractProposals parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Proposal' post: tags: - Subscriptions summary: Create change proposal for a subscription operationId: createContractProposal parameters: - name: id in: path required: true schema: type: string format: uuid - name: type in: query schema: type: string enum: - initial - change - renewal - template - name: source in: query schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: externalId in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/data/contracts/{id}: get: tags: - Subscriptions summary: Retrieve a subscription operationId: getContract parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' delete: tags: - Subscriptions summary: Delete a subscription operationId: deleteContract parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Subscriptions summary: Update a subscription operationId: updateContract parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateContractRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' /api/latest/data/contracts/{id}/events: get: tags: - Subscriptions summary: Retrieve events for a subscription operationId: getContractEvents parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: A list of events that occurred on this contract content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractEvent' /api/latest/data/contracts/{id}/payments: get: tags: - Subscriptions summary: Retrieve payments for a subscription operationId: getContractPayments parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: A list of payments for this contract content: application/json: schema: type: array items: $ref: '#/components/schemas/BillingSchedule' /api/latest/data/contracts/expired: get: tags: - Subscriptions summary: List expired subscriptions operationId: getExpiredContracts parameters: - name: size in: query schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractSummary' /api/latest/data/contracts/urgent: get: tags: - Subscriptions summary: List urgent usage subscriptions operationId: getUrgentCount responses: '200': description: OK content: application/json: schema: type: integer format: int32 /api/latest/data/contracts/{id}/payments/active-usage: get: tags: - Subscriptions summary: Retrieve the active usage billing schedules for a subscription operationId: getUsageSchedule parameters: - name: id in: path required: true schema: type: string format: uuid - name: dateTime in: query schema: type: string responses: '200': description: The schedules that are currently being used for billing usage on this contract content: application/json: schema: type: array items: $ref: '#/components/schemas/BillingSchedule' /api/latest/data/contracts/usage: get: tags: - Subscriptions summary: List usage subscriptions operationId: listActiveUsageBasedContracts responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractUsageSummary' /api/latest/data/contracts/restore: post: tags: - Subscriptions summary: Restore subscriptions operationId: restoreSubscriptions requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleIdRequest' responses: '200': description: OK /api/latest/data/contracts/{id}/issue-dates: put: tags: - Subscriptions summary: Recalculate outstanding billing schedule issue dates operationId: updateIssueDates parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateIssueDatesRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Contract' /api/latest/data/contracts/{id}/self-service/proposal: post: tags: - Self Service summary: Create a change proposal for a subscription operationId: createSelfServiceChangeProposal parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/SelfServiceChangeProposalRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/data/contracts/{id}/self-service: get: tags: - Self Service summary: List self service options for a contract operationId: getSelfServiceOptions parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SelfServiceOptions' /api/latest/attachment-configs: get: tags: - Attachments summary: List attachments operationId: getAllAttachmentConfigs responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/AttachmentConfig' post: tags: - Attachments summary: Create an attachment operationId: createAttachmentConfig requestBody: content: application/json: schema: $ref: '#/components/schemas/AttachmentConfig' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AttachmentConfig' /api/latest/attachment-configs/{id}: get: tags: - Attachments summary: Retrieve an attachment operationId: getAttachmentConfig parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AttachmentConfig' delete: tags: - Attachments summary: Delete an attachment operationId: deleteAttachmentConfig parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - Attachments summary: Update an attachment operationId: updateAttachmentConfig parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AttachmentConfig' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AttachmentConfig' /api/latest/documents/{id}/versions: post: tags: - Documents summary: Create a new version for a document operationId: createDocumentVersion parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/octet-stream: schema: type: object responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocumentVersion' /api/latest/documents/{id}: get: tags: - Documents summary: Retrieve a document operationId: getDocument parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Document' patch: tags: - Documents summary: Update a document operationId: updateDocument parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Document' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Document' /api/latest/document-versions/{id}: get: tags: - Documents summary: Retrieve a document version operationId: getDocumentVersion parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocumentVersion' /api/latest/documents/download: get: tags: - Documents summary: Download a CSV operationId: downloadDocument responses: default: description: default response content: '*/*': {} /api/latest/documents/download-zip: get: tags: - Documents summary: Download a zip of all documents operationId: downloadZip responses: default: description: default response content: '*/*': {} /api/latest/metabase/embed: post: tags: - Metabase summary: Create a token to view an embedded dashboard in Metabase operationId: createEmbedToken requestBody: content: application/json: schema: $ref: '#/components/schemas/MetabaseRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MetabaseResponse' /api/latest/metabase/sso: post: tags: - Metabase summary: Create a token to SSO into Metabase operationId: createMetabaseToken requestBody: content: application/json: schema: $ref: '#/components/schemas/MetabaseRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MetabaseResponse' /api/latest/metrics/contracts/{id}/metrics: put: tags: - Metrics summary: Creates metrics for this contract operationId: createMetrics parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} /api/latest/metrics/contracts/{id}/item-interval-metrics: get: tags: - Metrics summary: Gets item interval metrics for this contract operationId: getItemIntervalMetrics parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemIntervalMetrics' /api/latest/metrics/contracts/{id}/item-metrics: get: tags: - Metrics summary: Gets item metrics for this contract operationId: getItemMetrics parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemMetrics' /api/latest/payment-methods: get: tags: - Payment Methods summary: List payment methods. operationId: getPaymentMethods parameters: - name: currency in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentMethod' /api/latest/data/payment-schedules/{id}: patch: tags: - Payment Schedules summary: Update a payment schedule operationId: updatePaymentSchedule parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentSchedule' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentSchedule' /api/latest/settings/units: get: tags: - UOMs summary: List UOMs operationId: listUnits responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Unit' post: tags: - UOMs summary: Create a UOM operationId: createUnit requestBody: content: application/json: schema: $ref: '#/components/schemas/Unit' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Unit' /api/latest/settings/units/{id}: get: tags: - UOMs summary: Retrieve a UOM operationId: getUnit parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Unit' delete: tags: - UOMs summary: Delete a UOM operationId: deleteUnit parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - UOMs summary: Update a UOM operationId: updateUnit parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Unit' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Unit' /api/latest/settings/pricebook-entries/{id}: get: tags: - Products summary: Retrieve a pricebook entry operationId: getPricebookEntry parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PricebookEntry' patch: tags: - Products summary: Update a pricebook entry operationId: updatePricebook parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/PricebookEntry' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PricebookEntry' /api/latest/settings/products/{id}/copy: post: tags: - Products summary: Copy a product operationId: copyProduct parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Product' /api/latest/settings/products: get: tags: - Products summary: List products operationId: listProducts parameters: - name: filterBy in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductSummary' post: tags: - Products summary: Create a product operationId: createProduct requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Product' /api/latest/settings/products/{id}: get: tags: - Products summary: Retrieve a product operationId: getProduct parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Product' delete: tags: - Products summary: Delete a product operationId: deleteProduct parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - Products summary: Update a product operationId: updateProduct parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Product' /api/latest/settings/products/{id}/upgrades: get: tags: - Products summary: List available upgrades for bundle items nested within a bundle product operationId: getAvailableProductUpgrades parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductUpgrade' /api/latest/settings/products/latest-by-root/{id}: get: tags: - Products summary: Retrieve latest version of a product by root_id operationId: getLatestByRoot parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Product' /api/latest/settings/products/{id}/stats: get: tags: - Products summary: Retrieve stats about how a product is used operationId: getProductStats parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductStats' /api/latest/settings/products/batch/{ids}: get: tags: - Products summary: Retrieve a product batch operationId: getProductsBatch parameters: - name: ids in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' /api/latest/settings/products/active: get: tags: - Products summary: List active products operationId: listActiveProducts responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' /api/latest/settings/products/{id}/versions: post: tags: - Products summary: Create a product version operationId: versionProduct parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Product' /api/latest/profile/me/orgs: get: tags: - Organizations summary: Retrieve orglist for identity operationId: getIdentityOrglist responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/OrganizationSummary' /api/latest/profile/me/sso_redirect: get: tags: - Users summary: Retrieve SSO redirect operationId: getSsoRedirect parameters: - name: sso_source in: query schema: type: string - name: return_to in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TokenResponse' /api/latest/profile/me/support: post: tags: - Users summary: Retrieve support token operationId: getSupportToken responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TokenResponse' /api/latest/profile/me: get: tags: - Users summary: Retrieve user profile operationId: getUserProfile responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Profile' put: tags: - Users summary: Update user profile operationId: updateUser_1 requestBody: content: application/json: schema: $ref: '#/components/schemas/User' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/User' /api/latest/profile/me/logout: get: tags: - Users summary: Sign-out user operationId: logout responses: default: description: default response content: application/json: {} /api/latest/data/item-schedules/{id}: get: tags: - Proposals summary: Get an item schedule operationId: getItemSchedule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemSchedule' delete: tags: - Proposals summary: Delete an item schedule operationId: deleteItemSchedule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Proposals summary: Update an item schedule operationId: updateItemSchedule parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ItemScheduleRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemSchedule' /api/latest/data/proposal-items/{id}/schedules: post: tags: - Proposals summary: Add an item schedule operationId: addItemSchedule parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ItemScheduleRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ItemSchedule' /api/latest/data/proposal-items/{id}: get: tags: - Proposals summary: Get a proposal item operationId: getProposalItem parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Item' delete: tags: - Proposals summary: Delete a proposal item operationId: deleteProposalItem parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Proposals summary: Update a proposal item operationId: updateProposalItem parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProposalItemRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Item' /api/latest/proposals/{id}/accept: post: tags: - Proposals summary: Accept a proposal operationId: acceptProposal parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AcceptRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/verified-address: put: tags: - Addresses summary: Verify an address operationId: acceptVerifiedAddress parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AddressRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AddressRest' /api/latest/proposals/{id}/billing-method: put: tags: - Proposals summary: Update the payment method for a proposal operationId: addBillingMethod parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/BillingMethodRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/BillingMethod' /api/latest/proposals/{id}/events: get: tags: - Proposals summary: List events for a proposal operationId: getProposalEvents parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: A list of events content: application/json: schema: type: array items: $ref: '#/components/schemas/ProposalEvent' post: tags: - Proposals summary: Create an event for a proposal operationId: addProposalEvent parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ProposalEvent' responses: '201': description: Add a new event content: application/json: schema: $ref: '#/components/schemas/ProposalEvent' /api/latest/proposals/{id}/items: post: tags: - Proposals summary: Add a proposal item operationId: addProposalItem parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProposalItemRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Item' patch: tags: - Proposals summary: Batch add/update/remove proposal items operationId: updateProposalItems parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/ProposalItemRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Item' /api/latest/proposals/{id}/renewal: post: tags: - Proposals summary: Propagate renewal proposal changes to Subscription operationId: applyRenewal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/archive: post: tags: - Proposals summary: Archive proposals operationId: archiveProposals requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleIdRequest' responses: '200': description: OK /api/latest/proposals/bulk-expire: put: tags: - Proposals summary: Bulk expire proposals operationId: bulkExpireProposals parameters: - name: date in: query schema: type: string - name: orgId in: query schema: type: string format: uuid responses: '200': description: OK /api/latest/proposals/{id}/cancel: post: tags: - Proposals summary: Cancel a proposal operationId: cancelProposal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/proposals/{id}/signing-document: post: tags: - Proposals summary: Create the signing document for a proposal operationId: createSigningDocument parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SigningDocumentCreateRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SigningDocument' delete: tags: - Proposals summary: Delete the signing document for a proposal operationId: cancelSigningDocument parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string - name: reason in: query schema: type: string responses: '200': description: OK /api/latest/proposals/clear-legacy-checkout: post: tags: - Proposals summary: Clear legacy checkout flag from all proposals operationId: clearLegacyCheckout requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgRequest' responses: '200': description: OK /api/latest/proposals/{id}/copy: post: tags: - Proposals summary: Copy a proposal operationId: copyProposal parameters: - name: id in: path required: true schema: type: string format: uuid - name: strategy in: query schema: type: string enum: - errorOnInactiveProducts - skipInactiveProducts - upgradeInactiveProducts - makeTemplate responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/invoice-config: post: tags: - Proposals summary: Add new invoice configuration to proposal operationId: createInvoiceConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceConfigurationRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/InvoiceConfiguration' delete: tags: - Proposals summary: Delete invoice configuration to proposal operationId: deleteInvoiceConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/proposals/{id}/create-payment-intent: post: tags: - Proposals summary: Create payment intent for a proposal operationId: createPaymentIntent parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripePaymentIntentResponse' /api/latest/proposals: get: tags: - Proposals summary: List proposals operationId: getProposals parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: include_archived in: query schema: type: boolean - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProposalSummary' post: tags: - Proposals summary: Create a proposal operationId: createProposal requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProposalRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/renewal-config: post: tags: - Proposals summary: Add new renewal configuration to proposal operationId: createRenewalConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/RenewalConfigurationRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/RenewalConfiguration' delete: tags: - Proposals summary: Delete auto-renewal configuration on proposal operationId: deleteRenewalConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/proposals/{id}: get: tags: - Proposals summary: Retrieve a proposal operationId: getProposal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' delete: tags: - Proposals summary: Delete a proposal operationId: deleteProposal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Proposals summary: Update a proposal operationId: updateProposal parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProposalRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/tax-estimate: post: tags: - Proposals summary: Estimate tax for a proposal operationId: estimateProposalTax parameters: - name: id in: path required: true schema: type: string format: uuid responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/approval-requests: get: tags: - Proposal Approvals summary: Retrieve approval status for a proposal operationId: getApprovalRequests parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApprovalRequest' post: tags: - Proposal Approvals summary: Request approval for a proposal operationId: requestApproval parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProposalApprovalRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApprovalRequest' /api/latest/proposals/{id}/approval-requirements: get: tags: - Proposal Approvals summary: Retrieve approval requirements for a proposal operationId: getApprovalRequirements parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRequirements' /api/latest/proposals/{id}/upgrades: get: tags: - Proposals summary: List upgrades for a proposal operationId: getAvailableProposalUpgrades parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductUpgrade' /api/latest/proposals/external/{externalId}: get: tags: - Proposals summary: Retrieve a proposal by external ID operationId: getProposalByExternalId parameters: - name: externalId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/delta-spans: get: tags: - Proposal Deltas summary: Retrieve proposal delta spans operationId: getProposalDeltaSpans parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemDeltaSpansResponse' /api/latest/proposals/{id}/pdf-view: get: tags: - Proposals summary: View a proposal document operationId: getProposalPdf parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string responses: '200': description: OK content: application/pdf: schema: type: string format: binary /api/latest/proposals/{id}/signing-diagnostics: get: tags: - Proposals summary: Retrieve signing diagnostics for a proposal operationId: getSigningDiagnostics parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: string /api/latest/proposals/{id}/signing-document/content: get: tags: - Proposals summary: Retrieve the signing document for a proposal operationId: getSigningDocumentContent parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/pdf: schema: type: string format: binary /api/latest/proposals/{id}/signing-view: get: tags: - Proposals summary: Retrieve signing view for a proposal operationId: getSigningView parameters: - name: id in: path required: true schema: type: string format: uuid - name: returnUrl in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SigningDocumentViewResponse' /api/latest/proposals/{id}/payment-method/{paymentType}/init: post: tags: - Proposals summary: Initialize plaid for a proposal operationId: initPaymentMethod parameters: - name: id in: path required: true schema: type: string format: uuid - name: paymentType in: path required: true schema: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentMethodInitResponse' /api/latest/proposals/{id}/billing-invites: post: tags: - Proposals summary: Share a proposal operationId: inviteBillingContact parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateContactRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/maintenance: post: tags: - Proposals summary: 'Perform proposal maintenance: expire and regenerate' operationId: maintainProposals requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgRequest' responses: '200': description: OK /api/latest/proposals/{id}/preview: get: tags: - Proposals summary: Preview a proposal operationId: previewProposal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/delta-spans/preview: get: tags: - Proposals summary: Preview proposal delta spans operationId: previewProposalDeltaSpans parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ItemDeltaSpansResponse' /api/latest/proposals/{id}/request: post: tags: - Proposals summary: Create a proposal as buyer operationId: requestNewProposal parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestNewProposalRequest' responses: '200': description: OK /api/latest/proposals/restore: post: tags: - Proposals summary: Restore proposals operationId: restoreProposals requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleIdRequest' responses: '200': description: OK /api/latest/proposals/{id}/set-renewal-billing: post: tags: - Proposals summary: System auth required. Update renewal proposals with previous accepted. Useful for fixing billing methods on renewals. operationId: setBillingMethodOnRenewal parameters: - name: id in: path required: true schema: type: string format: uuid responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/toggle-legacy-checkout: post: tags: - Proposals summary: Toggle legacy checkout flag for a specific proposal operationId: toggleLegacyCheckout parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/proposals/{id}/checkout-state: patch: tags: - Proposals summary: Update a proposal checkout state operationId: updateCheckoutStateAsBuyer parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BuyerProposalRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/cover-letter: put: tags: - Proposals summary: Update a cover letter operationId: updateCoverLetter parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/CoverLetterRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/customer: patch: tags: - Proposals summary: Update billing info for a proposal operationId: updateCustomerAsBuyer parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BuyerUpdateCustomerRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Customer' /api/latest/proposals/{ids}/pricing: post: tags: - Proposals summary: System auth required. Update item pricing and schedules. Useful after out-of-band item adjustments. operationId: updateProposalsPricing parameters: - name: ids in: path required: true schema: type: string responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/signing-update: post: tags: - Proposals summary: Update the signing for a proposal. poll=true indicates that polling protection should be used, false or null that there is an expected update. operationId: updateSigningDocument parameters: - name: id in: path required: true schema: type: string format: uuid - name: poll in: query schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/proposals/{id}/verify-address: post: tags: - Addresses summary: Verify an address operationId: verifyAddress parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AddressRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/VerifyAddressResponse' /api/latest/proposals/{id}/view: get: tags: - Proposals summary: View a proposal as buyer operationId: viewProposal parameters: - name: id in: path required: true schema: type: string format: uuid - name: email in: query schema: type: string - name: peek in: query schema: type: boolean responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Proposal' /api/latest/data/proposal-templates: get: tags: - Proposals summary: List proposal templates operationId: listVisibleTemplates responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProposalTemplateSummary' /api/latest/renewal-config/{id}: get: tags: - Renewal Configurations summary: Retrieve a renewal configuration operationId: getRenewalConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK delete: tags: - Renewal Configurations summary: Delete a renewal configuration operationId: deleteRenewalConfiguration_1 parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Renewal Configurations summary: Update a renewal configuration operationId: patchRenewalConfiguration parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/RenewalConfigurationRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RenewalConfiguration' /api/latest/settings/branding: get: tags: - Branding summary: Retrieve branding operationId: getBranding responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' post: tags: - Branding summary: Create branding operationId: createBranding requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' patch: tags: - Branding summary: Update branding operationId: updateBranding requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' /api/latest/settings/branding/{id}: delete: tags: - Branding summary: Delete branding operationId: deleteBranding parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/settings/branding/all: get: tags: - Branding summary: Retrieve all branding operationId: getAllBranding responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/CompanyInfo' /api/latest/settings/branding/templates/{template_id}: get: tags: - Branding summary: Retrieve a template operationId: getContentTemplate parameters: - name: template_id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' /api/latest/settings/branding/templates: get: tags: - Branding summary: List templates operationId: getContentTemplates responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentTemplate' put: tags: - Branding summary: Update a template operationId: saveContentTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' post: tags: - Branding summary: Create a template operationId: saveContentTemplateExisting requestBody: content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' /api/latest/settings/branding/{reference_type}/templates: get: tags: - Branding summary: List templates for an event operationId: getContentTemplates_1 parameters: - name: reference_type in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentTemplate' /api/latest/settings/currencies: get: tags: - Currencies summary: List currencies operationId: listCurrencies responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Currency' post: tags: - Currencies summary: Create a currency operationId: createCurrency requestBody: content: application/json: schema: $ref: '#/components/schemas/Currency' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Currency' /api/latest/settings/currencies/{code}: get: tags: - Currencies summary: Retrieve a currency operationId: getCurrency parameters: - name: code in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Currency' patch: tags: - Currencies summary: Update a currency operationId: updateCurrency parameters: - name: code in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Currency' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Currency' /api/latest/settings/currencies/all: get: tags: - Currencies summary: List all available currencies operationId: listAllCurrencies responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/CurrencyListing' /api/latest/settings/api/tokens: get: tags: - Tokens summary: List API tokens operationId: getAllTokens responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiToken' post: tags: - Tokens summary: Create an API token operationId: addToken requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiToken' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiToken' /api/latest/settings/api/hooks: get: tags: - Webhooks summary: List webhooks operationId: getHooks parameters: - name: eventType in: query schema: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiWebhook' post: tags: - Webhooks summary: Create a webhook operationId: addWebhook parameters: - name: testAllowHttp in: query schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateApiWebhookRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiWebhook' /api/latest/settings/api/hooks/{id}/events: get: tags: - Webhooks summary: Get events for a webhook operationId: getHookEvents parameters: - name: id in: path required: true schema: type: string format: uuid - name: sort in: query schema: type: string default: -createdAt - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/WebhookResult' /api/latest/settings/api/hooks/{id}: delete: tags: - Webhooks summary: Delete a webhook operationId: removeHook parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - Webhooks summary: Update a webhook operationId: updateWebhook parameters: - name: id in: path required: true schema: type: string format: uuid - name: testAllowHttp in: query schema: type: boolean requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateApiWebhookRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ApiWebhook' /api/latest/settings/api/tokens/{id}: delete: tags: - Tokens summary: Delete an token operationId: removeToken parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} /api/latest/settings/api/trigger/event: post: tags: - Webhooks summary: Create a webhook event operationId: testEvent responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/WebHookEvent' /api/latest/settings/api/hooks/{id}/test: get: tags: - Webhooks summary: Test a webhook operationId: testHook parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WebhookResult' /api/latest/settings/docusign/user: get: tags: - DocuSign summary: Retrieve DocuSign user operationId: checkDocusignUser parameters: - name: code in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocusignUser' /api/latest/settings/docusign: get: tags: - DocuSign summary: Retrieve DocuSign settings operationId: getDocusignAccount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocusignAccount' post: tags: - DocuSign summary: Create DocuSign settings operationId: initDocusignAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/DocusignAccount' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocusignAccount' patch: tags: - DocuSign summary: Update DocuSign settings operationId: updateDocusignAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/DocusignAccount' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocusignAccount' /api/latest/settings/docusign/envelope-quota: get: tags: - DocuSign summary: Retrieve DocuSign envelope quota operationId: getDocusignEnvelopeQuota responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocusignEnvelopeQuota' /api/latest/settings/docusign/setup: post: tags: - DocuSign summary: Setup DocuSign operationId: setupDocusignAccount parameters: - name: code in: query schema: type: string responses: '200': description: OK /api/latest/data/events/system: get: tags: - Events summary: List events operationId: getSystemEvents responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SystemEvent' put: tags: - Events summary: Update an event operationId: updateSystemEvent requestBody: content: application/json: schema: $ref: '#/components/schemas/SystemEvent' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SystemEvent' /api/latest/settings/invites: get: tags: - Users summary: List invites operationId: getInvites responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Invite' post: tags: - Users summary: Create invite operationId: createInvite requestBody: content: application/json: schema: $ref: '#/components/schemas/InviteRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Invite' /api/latest/settings/invites/{id}: delete: tags: - Users summary: Delete invite operationId: removeInvite parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} /api/latest/settings/countries: get: tags: - Countries summary: List all countries operationId: getAllCountries responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/LocationRest' /api/latest/settings/all-events: get: tags: - Settings summary: List all events operationId: getAllEventTypes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Event' /api/latest/settings/countries/{id}/regions: get: tags: - Countries summary: List all regions with Country iso2 code operationId: getAllRegionsOfCountry parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/LocationRest' /api/latest/settings/exempt-use-codes: get: tags: - Taxes summary: Get created tax codes for organization operationId: getExemptTaxCodes responses: '200': description: OK content: application/json: schema: type: array items: type: string enum: - A - B - C - D - E - F - G - H - I - J - K - L - M - N - P - Q - R /api/latest/settings/webhooks: get: tags: - Webhooks summary: List webhooks operationId: getWebhooksMetadata responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WebhooksMetadata' /api/latest/settings/org/defaults/{config_key}: get: tags: - Settings summary: Retrieve setting by key operationId: getOrgConfig parameters: - name: config_key in: path required: true schema: type: string enum: - assistantConfig - avalaraConfig - acceptOnSigning - approvalExclusionGroup - addressVerificationConfig - areApprovalsEnabled - autoRenewalConfig - billingPeriodConfig - closeConfig - branding - defaultBillingPeriod - defaultCrmSource - defaultPaymentTerm - defaultSignature - docusignAccountId - enableDocusignResponsiveHtml - googleTagConfig - hubspotConfig - invoiceConfig - locationCodeMappingConfig - locationCodeType - paymentErrorContact - paymentsGracePeriod - profitwellConfig - proposalConfig - proposalNumberPrefix - purchaseOrderConfig - quickbooksConfig - reportingConfig - salesforceConfig - staleUsagePeriod - stripeConfig - taxCountryRulesConfig - timezone - warmlyConfig - zapierConfig responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrgConfig' put: tags: - Settings summary: Update setting for key operationId: upsertOrgConfig parameters: - name: config_key in: path required: true schema: type: string enum: - assistantConfig - avalaraConfig - acceptOnSigning - approvalExclusionGroup - addressVerificationConfig - areApprovalsEnabled - autoRenewalConfig - billingPeriodConfig - closeConfig - branding - defaultBillingPeriod - defaultCrmSource - defaultPaymentTerm - defaultSignature - docusignAccountId - enableDocusignResponsiveHtml - googleTagConfig - hubspotConfig - invoiceConfig - locationCodeMappingConfig - locationCodeType - paymentErrorContact - paymentsGracePeriod - profitwellConfig - proposalConfig - proposalNumberPrefix - purchaseOrderConfig - quickbooksConfig - reportingConfig - salesforceConfig - staleUsagePeriod - stripeConfig - taxCountryRulesConfig - timezone - warmlyConfig - zapierConfig requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgConfig' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrgConfig' post: tags: - Settings summary: Create setting for key operationId: createOrgConfig parameters: - name: config_key in: path required: true schema: type: string enum: - assistantConfig - avalaraConfig - acceptOnSigning - approvalExclusionGroup - addressVerificationConfig - areApprovalsEnabled - autoRenewalConfig - billingPeriodConfig - closeConfig - branding - defaultBillingPeriod - defaultCrmSource - defaultPaymentTerm - defaultSignature - docusignAccountId - enableDocusignResponsiveHtml - googleTagConfig - hubspotConfig - invoiceConfig - locationCodeMappingConfig - locationCodeType - paymentErrorContact - paymentsGracePeriod - profitwellConfig - proposalConfig - proposalNumberPrefix - purchaseOrderConfig - quickbooksConfig - reportingConfig - salesforceConfig - staleUsagePeriod - stripeConfig - taxCountryRulesConfig - timezone - warmlyConfig - zapierConfig requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgConfig' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/OrgConfig' delete: tags: - Settings summary: Delete setting operationId: deleteOrgConfig parameters: - name: config_key in: path required: true schema: type: string enum: - assistantConfig - avalaraConfig - acceptOnSigning - approvalExclusionGroup - addressVerificationConfig - areApprovalsEnabled - autoRenewalConfig - billingPeriodConfig - closeConfig - branding - defaultBillingPeriod - defaultCrmSource - defaultPaymentTerm - defaultSignature - docusignAccountId - enableDocusignResponsiveHtml - googleTagConfig - hubspotConfig - invoiceConfig - locationCodeMappingConfig - locationCodeType - paymentErrorContact - paymentsGracePeriod - profitwellConfig - proposalConfig - proposalNumberPrefix - purchaseOrderConfig - quickbooksConfig - reportingConfig - salesforceConfig - staleUsagePeriod - stripeConfig - taxCountryRulesConfig - timezone - warmlyConfig - zapierConfig responses: default: description: default response content: application/json: {} /api/latest/settings/org/defaults: get: tags: - Settings summary: List org settings operationId: listOrgConfigs responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/OrgConfig' /api/latest/settings/payment-methods: get: tags: - Payment Methods summary: List payment methods. operationId: getSettingsPaymentMethods parameters: - name: currency in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentMethod' post: tags: - Payment Methods summary: Create a payment method operationId: createPaymentMethod requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePaymentMethodRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' /api/latest/settings/payment-methods/{id}: delete: tags: - Payment Methods summary: Delete a payment method operationId: deletePaymentMethod parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - Payment Methods summary: Update a payment method operationId: updatePaymentMethod parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePaymentMethodRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentMethod' /api/latest/settings/payment-methods/batch/{ids}: patch: tags: - Payment Methods summary: Update a payment method batch operationId: updatePaymentMethodBatch parameters: - name: ids in: path required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/UpdatePaymentMethodRequest' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentMethod' /api/latest/settings/payment-terms: get: tags: - Payment Terms summary: List payment terms operationId: getPaymentTerms responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentTerm' post: tags: - Payment Terms summary: Create a payment term operationId: createPaymentTerm requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentTerm' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentTerm' /api/latest/settings/payment-terms/{id}: delete: tags: - Payment Terms summary: Delete a payment term operationId: deletePaymentTerm parameters: - name: id in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} patch: tags: - Payment Terms summary: Update a payment term operationId: updatePaymentTerm parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentTerm' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PaymentTerm' /api/latest/settings/payment-terms/batch: patch: tags: - Payment Terms summary: List payment term batches operationId: updatePaymentTermBatch requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentTerm' responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentTerm' /api/latest/settings/proposal-approval-rules: get: tags: - Proposal Approval Rules summary: List proposal approval groups operationId: getAllProposalApprovalRules responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ApprovalRule' post: tags: - Proposal Approval Rules summary: Create a proposal approval rule operationId: createProposalApprovalRule requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateProposalApprovalRuleRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' /api/latest/settings/proposal-approval-rules/{id}: get: tags: - Proposal Approval Rules summary: Retrieve a proposal approval rule operationId: getProposalApprovalRuleById parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' delete: tags: - Proposal Approval Rules summary: Delete a proposal approval rule operationId: deleteProposalApprovalRule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK patch: tags: - Proposal Approval Rules summary: Update a proposal approval rule operationId: updateProposalApprovalRule parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateProposalApprovalRuleRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ApprovalRule' /api/latest/settings/signatures/{id}: get: tags: - DocuSign summary: Retrieve a signature operationId: getSignature parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Signature' /api/latest/slack/app-info: get: tags: - Slack summary: Retrieve slack info operationId: getSlackAppId responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SlackAppInfo' /api/latest/slack/users: post: tags: - Slack summary: Create a slack user operationId: createSlackUser requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSlackResourceRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/SlackUser' /api/latest/slack/users/me: get: tags: - Slack summary: Retrieve my slack user operationId: getCurrentSlackUser responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/IdentityToken' delete: tags: - Slack summary: Delete my slack user operationId: deleteCurrentSlackUser responses: '200': description: OK /api/latest/slack/workspaces: post: tags: - Slack summary: Create a slack workspace operationId: createSlackWorkspace requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSlackResourceRequest' responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/SlackWorkspace' /api/latest/slack/workspaces/current: get: tags: - Slack summary: List slack workspaces operationId: getCurrentSlackWorkspace responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SlackWorkspace' delete: tags: - Slack summary: Delete a slack workspace operationId: deleteCurrentSlackWorkspace responses: '200': description: OK /api/latest/state-tokens: post: tags: - Settings summary: Create a token key operationId: createStateToken responses: '201': description: OK content: '*/*': schema: type: string /api/latest/state-tokens/{tokenKey}: get: tags: - Settings summary: Retrieve a token key operationId: getStateToken parameters: - name: tokenKey in: path required: true schema: type: string responses: '200': description: OK content: '*/*': schema: type: object /api/latest/settings/stripe/subscriptions/migrations/convert: post: tags: - Migration summary: Convert a proposal to a subscription operationId: convert requestBody: content: application/json: schema: $ref: '#/components/schemas/ProposalConversionRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripeMigrationResponse' /api/latest/settings/stripe: get: tags: - Stripe summary: Retrieve Stripe connection operationId: getStripeAccount responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripeAccount' delete: tags: - Stripe summary: Delete Stripe connection operationId: deleteConnectStripe responses: '200': description: OK /api/latest/settings/stripe/finish: post: tags: - Stripe summary: Complete Stripe connection operationId: finish parameters: - name: code in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripeAccount' /api/latest/settings/stripe/countries: get: tags: - Stripe summary: List Stripe countries operationId: getStripeCountries responses: '200': description: OK content: application/json: schema: type: array items: type: string /api/latest/settings/stripe/countries/{country}/currencies: get: tags: - Stripe summary: List Stripe currencies for a country operationId: getStripeCountryCurrencies parameters: - name: country in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: type: string /api/latest/settings/stripe/init: post: tags: - Stripe summary: Initialize Stripe connection operationId: initConnectStripe requestBody: content: application/json: schema: $ref: '#/components/schemas/StripeConnectRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripeConnectResponse' /api/latest/settings/stripe/subscriptions/migrations: post: tags: - Migration summary: Migrate subscription to Cacheflow operationId: migrate requestBody: content: application/json: schema: $ref: '#/components/schemas/StripeMigrationRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripeMigrationResponse' /api/latest/settings/stripe/update: patch: tags: - Stripe summary: Update Stripe connection operationId: updateConnectStripe requestBody: content: application/json: schema: $ref: '#/components/schemas/StripeConnectRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/StripeConnectResponse' /api/latest/settings/me/configs/{config_key}: get: tags: - Users summary: Retrieve user config by key operationId: getUserConfig parameters: - name: config_key in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserConfig' put: tags: - Users summary: Update a user config operationId: upsertUserConfig parameters: - name: config_key in: path required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: type: object responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserConfig' post: tags: - Users summary: Create a user config operationId: createUserConfig parameters: - name: config_key in: path required: true schema: type: string requestBody: content: application/json: schema: type: object additionalProperties: type: object responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/UserConfig' delete: tags: - Users summary: Delete a user config operationId: deleteUserConfig parameters: - name: config_key in: path required: true schema: type: string responses: default: description: default response content: application/json: {} /api/latest/settings/me/configs: get: tags: - Users summary: List user configs operationId: listUserConfigs responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/UserConfig' /api/latest/settings/users/{user_id}/signature: get: tags: - DocuSign summary: Retrieve signature for user operationId: getUserSignature parameters: - name: user_id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Signature' put: tags: - DocuSign summary: Update signature for user operationId: updateUserSignature parameters: - name: user_id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Signature' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Signature' post: tags: - DocuSign summary: Create signature for user operationId: createUserSignature parameters: - name: user_id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Signature' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Signature' delete: tags: - DocuSign summary: Delete signature for user operationId: deleteUserSignature parameters: - name: user_id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/system/analytics/proposals: get: tags: - System summary: List proposal analytics operationId: getProposalsForToday responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProposalSummaryAnalytics' /api/latest/system/auth: post: tags: - System summary: Create system auth operationId: createSystemAuth requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgLogin' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TokenResponse' /api/latest/system/connectors/{orgId}/{connectorType}: get: tags: - System summary: List connectors for org by type operationId: getConnectorForOrg parameters: - name: orgId in: path required: true schema: type: string - name: connectorType in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ConnectorInfo' /api/latest/system/connectors/{orgId}/{connectorType}/sync: post: tags: - System summary: Sync from external sources for org by connector and reference type operationId: syncFromExternalSource parameters: - name: orgId in: path required: true schema: type: string - name: connectorType in: path required: true schema: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout - name: referenceType in: query schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user responses: '200': description: OK /api/latest/system/invoice/pastdue/{orgId}: get: tags: - Invoices summary: Fetch past_due invoices for an organization operationId: getInvoicesPastDue parameters: - name: orgId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: type: string format: uuid /api/latest/system/notifications: get: tags: - System summary: Get emails sent operationId: getEmailsSent parameters: - name: search in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 - name: sort in: query schema: type: string default: -createdAt responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Notification' /api/latest/system/notifications/events/{orgId}: get: tags: - System summary: List notifications that are due to be sent today or earlier for an org operationId: getNotificationEventsToBeSent parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: size in: query schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/NotificationEvent' /api/latest/system/notifications/resend-email: post: tags: - System summary: Resend an email operationId: resendEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/ResendEmailRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Notification' /api/latest/system/notifications/events/trigger/{id}: post: tags: - System summary: Trigger notification event operationId: sendNotificationEvent parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/NotificationEvent' /api/latest/system/organizations: get: tags: - System summary: List orgs operationId: listSystemOrgs parameters: - name: search in: query schema: type: string - name: sort in: query schema: type: string - name: page in: query schema: type: integer format: int32 default: 0 - name: size in: query schema: type: integer format: int32 default: 300 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' post: tags: - System summary: Create an org operationId: createOrg requestBody: content: application/json: schema: $ref: '#/components/schemas/Organization' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' /api/latest/system/organizations/cleanup: put: tags: - System summary: Delete test/dev orgs operationId: deleteTestDevOrgs requestBody: content: application/json: schema: type: array items: type: string format: uuid responses: '200': description: OK /api/latest/system/organizations/test: delete: tags: - System summary: Delete stale test orgs operationId: deleteTestOrgs responses: '200': description: OK /api/latest/system/organizations/{orgId}: get: tags: - System summary: Retrieve an org operationId: getSystemOrgView parameters: - name: orgId in: path required: true schema: type: string format: uuid responses: default: description: default response content: application/json: {} put: tags: - System summary: Update an org operationId: updateSystemOrg parameters: - name: orgId in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Organization' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' /api/latest/system/migrations: get: tags: - System summary: List migrations operationId: listMigrationsAvailable responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/JobDescription' /api/latest/system/organizations/migrate: put: tags: - System summary: Run all migrations for all orgs operationId: migrateAll requestBody: content: application/json: schema: $ref: '#/components/schemas/JobDescription' responses: '200': description: OK /api/latest/system/organizations/{orgId}/migrate/{migration}: put: tags: - System summary: Run a specific migration for a specific org operationId: migrateOrg parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: migration in: path required: true schema: type: string responses: '200': description: OK /api/latest/system/organizations/provision: post: tags: - System summary: Provision an org operationId: provisionOrg requestBody: content: application/json: schema: $ref: '#/components/schemas/ProvisionOrganizationRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' /api/latest/system/organizations/{orgId}/reset: put: tags: - System summary: Reset an org operationId: resetOrg parameters: - name: orgId in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/OrgResetRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrgResetRequest' /api/latest/system/organizations/{orgId}/options: put: tags: - System summary: Update an org options operationId: updateOrgOptions parameters: - name: orgId in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/ProvisionOrganizationRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Organization' /api/latest/system/billing/{id}/now: put: tags: - System summary: Trigger a billing schedule operationId: triggerBilling parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/system/services/payments: get: tags: - System summary: Get payment service system status operationId: getPaymentServiceStatus responses: '200': description: OK content: application/json: schema: type: string /api/latest/system/auto-renewals/due/{orgId}: get: tags: - System summary: List subscriptions that should be auto renewed for an org operationId: getAutoRenewalsDue parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: size in: query schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractRenewalSummary' /api/latest/system/{orgId}/contracts-for-renewal: get: tags: - System summary: Get contracts that are eligible for renewal proposal creation for an org operationId: getContractsForRenewalProposalCreation parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: pageSize in: query schema: type: integer format: int32 default: 15 responses: '200': description: OK content: application/json: schema: type: array items: type: string format: uuid /api/latest/system/renewals/upcoming/{orgId}: get: tags: - System summary: Get subscriptions upcoming for renewal for an org operationId: getContractsUpcomingForRenewals parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: beforeDays in: query schema: type: integer format: int32 - name: size in: query schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractRenewalSummary' /api/latest/system/renewals/{orgId}: get: tags: - System summary: List pending renewal proposals for an org operationId: getRenewalProposalsDue parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: dueDate in: query schema: type: string - name: size in: query schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RenewalsDueResponse' /api/latest/system/{orgId}/proposals-for-renewal-deals: get: tags: - System summary: Get proposals eligible for external deal creation in a CRM for an org operationId: getRenewalProposalsForExternalDealCreation parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: pageSize in: query schema: type: integer format: int32 default: 15 responses: '200': description: OK content: application/json: schema: type: array items: type: string format: uuid /api/latest/system/renewals/{id}/due: post: tags: - System summary: Send upcoming renewal notification for a subscription operationId: handleContractRenewalNotification parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: boolean /api/latest/system/status/events: get: tags: - System summary: List events operationId: getStatusEvents responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EventResults' /api/latest/system/status/migrations: get: tags: - System summary: List migrations operationId: getStatusMigrations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/KnexDbMigration' /api/latest/system/upcoming-billing: get: tags: - System summary: List upcoming billing operationId: upcomingBilling parameters: - name: dueDate in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/UpcomingBillingResponse' /api/latest/system/upcoming-billing/{orgId}: get: tags: - System summary: List upcoming billing for an org operationId: upcomingBillingByOrg parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: dueDate in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/UpcomingBillingResponse' /api/latest/system/upcoming-statements/{orgId}: post: tags: - System summary: Create an upcoming statement for an org operationId: upcomingStatementsByOrg parameters: - name: orgId in: path required: true schema: type: string format: uuid - name: statementDate in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrgId' /api/latest/data/accounts/{id}/ledger-items: post: tags: - Accounts summary: Create a ledger item operationId: createAccountLedgerItem parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountLedgerItemRequest' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountLedgerItemResponse' /api/latest/data/billing-schedules/{id}/invoice: post: tags: - Invoices summary: Creates and sync an invoice for a billing schedule operationId: generateInvoice parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BillingSchedule' /api/latest/data/billing-schedules/{id}: get: tags: - Subscriptions summary: Retrieve a billing schedule operationId: getBillingSchedule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BillingSchedule' patch: tags: - Payments summary: 'Update a billing schedule ' operationId: updateBillingSchedule parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/BillingScheduleRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BillingSchedule' /api/latest/data/billing-schedules/{id}/usage: get: tags: - Usage summary: List usage for a billing schedule operationId: getBillingScheduleUsage parameters: - name: id in: path required: true schema: type: string format: uuid responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductUsage' /api/latest/data/billing-schedules/{id}/tax-items: get: tags: - Taxes summary: List tax items for a billing schedule operationId: getTaxItemsForBillingSchedule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TaxItem' put: tags: - Taxes summary: Update tax items for a billing schedule operationId: updateTaxItemsForBillingSchedule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TaxItem' /api/latest/data/billing-schedules/{id}/sync-invoice: post: tags: - Invoices summary: Sync an invoice from cacheflow to ERP operationId: syncBillingSchedule parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BillingSchedule' /api/latest/usage: post: tags: - Usage summary: Create usage operationId: createUsage requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductUsageRequest' responses: '201': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductUsage' /api/latest/application.wadl/{path}: get: operationId: getExternalGrammar parameters: - name: path in: path required: true schema: type: string responses: default: description: default response content: application/xml: {} /api/latest/application.wadl: get: operationId: getWadl responses: default: description: default response content: application/vnd.sun.wadl+xml: {} application/xml: {} components: schemas: AttachableRef: type: object properties: EntityRef: $ref: '#/components/schemas/QuickbooksReference' LineInfo: type: string IncludeOnSend: type: boolean CustomField: type: array items: $ref: '#/components/schemas/QuickbooksCustomField' QuickbooksAccount: type: object properties: Id: type: string SyncToken: type: string MetaData: $ref: '#/components/schemas/QuickbooksMetadata' CustomField: type: array items: $ref: '#/components/schemas/QuickbooksCustomField' AttachableRef: type: array items: $ref: '#/components/schemas/AttachableRef' domain: type: string status: type: string enum: - Deleted - Voided - Draft - Pending - InTransit - Synchronized - SyncError sparse: type: boolean Name: type: string SubAccount: type: boolean Description: type: string FullyQualifiedName: type: string AccountAlias: type: string TxnLocationType: type: string Active: type: boolean AcctNum: type: string AccountType: type: string AcctNumExtn: type: string BankNum: type: string OpeningBalance: type: number CurrentBalance: type: number CurrentBalanceWithSubAccounts: type: number CurrencyRef: $ref: '#/components/schemas/QuickbooksReference' TaxAccount: type: boolean TaxCodeRef: type: string OnlineBankingEnabled: type: boolean FIName: type: string QuickbooksCustomField: required: - Type type: object properties: DefinitionId: type: string Name: type: string Type: type: string enum: - StringType - BooleanType - NumberType - DateType StringValue: type: string BooleanValue: type: boolean DateValue: type: string format: date-time NumberValue: type: number QuickbooksMetadata: type: object properties: CreateTime: type: string format: date-time LastUpdatedTime: type: string format: date-time QuickbooksReference: type: object properties: id: type: string name: type: string value: type: string type: type: string ConnectorTestResult: title: ConnectorTestResult type: object properties: status: type: string enum: - pending - active - inactive type: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout message: type: string errorCode: type: string enum: - NOT_FOUND - OBJECT_ALREADY_EXISTS - INVALID_FILTER - VALIDATION_ERROR - CONSTRAINT_ERROR - DUPLICATE_ERROR - SYSTEM_UNCAUGHT - OBJECT_NOT_FOUND - INPUT_CONFLICT - MISSING_REQUIRED_REQUEST_BODY - MISSING_REQUIRED_FIELD - MISSING_QUERY_PARAM - MISSING_ID_IN_URL - CANT_SET_BOTH_IN_INPUT - FIELD_TOO_LONG - FIELD_NOT_NULLABLE - READ_ONLY_FIELD - NOT_AUTHORIZED_TO_ACCESS_ENTITY - MALFORMED_ID_LIST - UNSUPPORTED_TYPE - FEATURE_NOT_ENABLED - BATCH_INPUT_MISMATCH - BATCH_PATCH_INPUT_MISSING_ID - ILLEGAL_STATE - INVALID_QUERY_PARAMS - NULL_LIST_VALUE - GET_ERROR - CREATE_ERROR - SAVE_ERROR - DELETE_ERROR - ARCHIVE_ERROR - UPDATE_ERROR - COPY_ERROR - INVALID_ENDPOINT - AUTH_CODE_INVALID - AUTH_CODE_MAX_ATTEMPTS - ACCOUNT_LEGALNAME_REQUIRED - ACCOUNT_LEGALNAME_INVALID - APIHOOK_INVALID_EVENT_TYPE - APIHOOK_REQUIRES_HTTPS - PLAID_AUTH_ERROR - PLAID_ACCESS_TOKEN_ERROR - PLAID_TRANSFER_ERROR - PLAID_ACCOUNT_ONLY_ONE - STRIPE_CONNECT_ERROR - STRIPE_INVALID_ACCOUNT - STRIPE_INVALID_INTENT - STRIPE_CREATE_ACCOUNT_ERROR - STRIPE_CREATE_CUSTOMER_ERROR - STRIPE_ACCOUNT_ALREADY_CONNECTED - DOCUMENT_STORE_ERROR - DOCUMENT_INVALID_TYPE - DOCUMENT_CORRUPT - DOCUSIGN_ACCOUNT_ALREADY_EXISTS - DOCUSIGN_ACCOUNT_NOT_REGISTERED - DOCUSIGN_USER_ERROR - DOCUSIGN_API_ERROR - DOCUSIGN_AUTH_ERROR - DOCUSIGN_BAD_FILE_TYPE - DOCUSIGN_WEBHOOK_ERROR - DOCUSIGN_HMAC_ERROR - DOCUSIGN_MULTIPLE_SIGNERS - DOCUSIGN_SIGNING_INCOMPLETE - DOCUSIGN_SIGNER_MISMATCH - DOCUSIGN_PROVIDER_EXPECTED - DOCUSIGN_ENVELOPE_ALLOWANCE_EXCEEDED - ORG_ACCOUNT_NOT_ACTIVE - ORG_ACCOUNT_NOT_FUNDING - ORG_ALREADY_EXISTS_FOR_DOMAIN - ORG_KEYS_MISMATCH - CACHEFLOW_FUNDING_ACCOUNT_NOT_FOUND - USER_CANNOT_DELETE_SELF - ROLE_NOT_FOUND - USER_INVALID_DOMAIN - USER_INVALID_ROLE - USER_INVALID_MANAGER_CYCLE - USER_INVALID_MANAGER_ROLE - USER_INVALID_MANAGER_SELF - USER_INVALID_MANAGER_STATUS - USER_NOT_FOUND - USER_DUPLICATE_USERNAME - USER_CANNOT_CHANGE_FROM_ADMIN - USER_IS_PROPOSAL_OWNER - USER_IS_APPROVAL_REQUESTER - USER_IS_APPROVAL_ACTIONER - CUSTOMER_INVALID_EMAIL - CUSTOMER_EMAIL_ALREADY_EXIST - CUSTOMER_HAS_ACTIVE_DOCUMENTS - CUSTOMER_IS_DELETED - CUSTOMER_NAME_REQUIRED - CUSTOMER_NOT_PARTNER - CUSTOMER_ALREADY_EXISTS_FOR_EXTERNAL_SOURCE - CUSTOMER_NOT_FOUND - PROPOSAL_CANT_CHANGE_CUSTOMER_ON_SOURCED_PROPOSAL - PROPOSAL_CANT_CHANGE_CUSTOMER_DUE_TO_PROPOSAL_STATE - PROPOSAL_CANT_CHANGE_CUSTOMER_DUE_TO_PROPOSAL_TYPE - PROPOSAL_NON_SETTABLE_STATUS - PROPOSAL_TEMPLATE_NON_SETTABLE_STATUS - PROPOSAL_STATUS_TRANSITION_ILLEGAL - PROPOSAL_CONTACT_CUSTOMERID_DOESNT_MATCH - PROPOSAL_CONTACT_SET_WITH_NO_CUSTOMER - PROPOSAL_CONTACT_SET_INVALID_CONTACT - PROPOSAL_NOT_VIEWABLE - PROPOSAL_NOT_EDITABLE - PROPOSAL_SUPERSEDED - CONTACT_CANT_ACCESS_PROPOSAL - CONTACT_CANT_ACCESS_CONTRACT - PROPOSAL_EDIT_USER_NOT_AUTHORIZED - CANT_USE_NON_ACTIVE_PRODUCTS - CANT_UPGRADE_PRODUCTS - PROPOSAL_OWNER_NOT_FOUND - PROPOSAL_CANNOT_REMOVE_ACCEPTOR - CONTACT_NOT_ASSOCIATED_WITH_PROPOSAL - PROPOSAL_FIELD_REQUIRED_TO_ACTIVATE - PROPOSAL_ITEM_REQUIRES_PRODUCT - PROPOSAL_ITEM_REQUIRES_QUANTITY - PROPOSAL_ITEM_DOESNT_SUPPORT_QUANTITY - PROPOSAL_ITEM_INCOMPATIBLE_LEVELS - PROPOSAL_ITEM_LEVEL_CUSTOMIZATION_USAGE_ONLY - PRODUCT_ALREADY_IN_PROPOSAL - PROPOSAL_DOES_NOT_REQUIRE_SIGNING - PROPOSAL_REQUIRES_SIGNING_BEFORE_ACCEPT - PROPOSAL_REQUIRES_PAYMENT_METHOD_ACCEPT - PROPOSAL_CANT_CREATE_PAYMENT_INTENT - PROPOSAL_PAYMENT_ERROR - PROPOSAL_CANT_UPDATE_PAYMENT_SCHEDULE - PRODUCT_CAN_ONLY_MODIFY_LATEST - PRODUCT_MISSING_BILLING_PERIOD_PRICES - PRODUCT_MISSING_PROPOSAL_CURRENCY - CHANGE_PROPOSAL_CANT_EDIT_FIELD - RENEWAL_PROPOSAL_CANT_EDIT_FIELD - CHANGE_PROPOSAL_CANT_START_BEFORE_PREVIOUS - CHANGE_PROPOSAL_CANT_START_AFTER_PREVIOUS - PAYMENT_SCHEDULE_ILLEGAL_PAYMENT_METHODS - CHANGE_RENEWAL_PROPOSAL_NEEDS_PREVIOUS_ACCEPTED - PROPOSAL_NEEDS_PRODUCT - CHANGE_PROPOSAL_CANT_REMOVE_ONETIME - CHANGE_PROPOSAL_CANT_DECREASE_ONETIME_QUANTITY - CHANGE_PROPOSAL_CANT_CHANGE_ONETIME - CHANGE_PROPOSAL_CANT_ADD_SCHEDULED_ITEM - CHANGE_PROPOSAL_CANT_CHANGE_SCHEDULED_ITEM - TEMPLATE_PROPOSAL_CANT_USE_SCHEDULED_ITEM - PAYMENT_SCHEDULE_HAS_NO_ACTIVE_PAYMENT_METHODS - PROPOSAL_NO_BILLING_PERIODS_HAVE_PAYMENT_METHODS - PROPOSAL_NO_BILLING_PERIODS_HAVE_ACTIVE_PAYMENT_METHODS - PROPOSAL_PDF_RENDER_TIMEOUT - PROPOSAL_PDF_RENDER_ERROR - PROPOSAL_PDF_ATTACHMENT_ERROR - PROPOSAL_ADD_BILLING_METHOD_ILLEGAL_TYPE - PROPOSAL_RENEWAL_START_DATE_IN_FUTURE - PROPOSAL_START_DATE_IN_PAST - PROPOSAL_ALREADY_ACCEPTED - PROPOSAL_ILLEGAL_FREE_MONTHS - CHANGE_PROPOSAL_CANT_CREATE_FROM_NON_ACTIVE_SUBSCRIPTION - ITEM_SCHEDULE_DATE_NOT_SUPPORTED_FOR_RECURRING - ITEM_SCHEDULE_DATE_NOT_SUPPORTED_FOR_USAGE - ITEM_SCHEDULE_END_DATE_NOT_SUPPORTED_FOR_ONETIME - ITEM_SCHEDULE_START_DATE_AFTER_END_DATE - ITEM_SCHEDULE_ILLEGAL_DATE_COMBINATION - ITEM_SCHEDULE_DATE_PAST_END - ITEM_SCHEDULE_ILLEGAL_MIXED_DATES - ITEM_SCHEDULE_ILLEGAL_INDEX - ITEM_SCHEDULE_MISSING_FIRST_INDEX_FOR_BILLING_PERIOD - ITEM_SCHEDULE_REPEATED_INDEX - ITEM_SCHEDULE_ID_NOT_SUPPORTED - ITEM_SCHEDULE_ONE_TIME_ILLEGAL_INDEX - ITEM_SCHEDULE_PRODUCT_ILLEGAL_ROOT - ITEM_SCHEDULE_ONETIME_WITH_BILLING_PERIOD - ITEM_SCHEDULE_UNSUPPORTED_BILLING_PERIOD - ITEM_SCHEDULE_PRODUCT_DOESNT_MATCH_ITEM - ITEM_SCHEDULE_ILLEGAL_CURRENCY - ITEM_SCHEDULE_ILLEGAL_LEVELS - ITEM_SCHEDULE_ILLEGAL_PRICE - ITEM_SCHEDULE_LEVELS_ILLEGAL_SIZE - ITEM_SCHEDULE_ILLEGAL_START_INDEX - ITEM_SCHEDULE_LEVEL_ILLEGAL_CURRENCY - ITEM_SCHEDULE_QUANTITY_CANNOT_BE_NULL - ITEM_SCHEDULE_QUANTITY_NOT_SUPPORTED - PROPOSAL_ITEM_REQUIRES_ITEM_SCHEDULES - ITEM_MISSING_ITEM_SCHEDULE_BILLING_PERIODS - ITEM_ONE_TIME_NEEDS_ONE_ITEM_SCHEDULE - PROPOSAL_ITEMS_NOT_UPDATEABLE - PROPOSAL_EXTERNAL_SOURCE_NOT_UPDATEABLE - PROPOSAL_ALREADY_EXISTS_FOR_EXTERNAL_SOURCE - PREVIOUS_SCHEDULE_NOT_INVOICED - QUANTITY_MUST_BE_NULL_FOR_SINGLE_CONSUMPTION - ATTACHMENT_MISSING_REQUIRED_FIELD - ATTACHMENT_TYPE_UNSUPPORTED_FIELD - ATTACHMENT_NO_DOCUMENT_INPUT - ATTACHMENT_UNRECOGNIZED_TYPE - ATTACHMENT_CANT_MODIFY_TYPE - ATTACHMENT_SIGNING_NEEDS_FILE_EXT - ATTACHMENT_SIGNING_UNSUPPORTED_FILE_EXT - CONTRACT_PROPOSAL_TYPE_CANT_BE_CREATED - CONTRACT_PROPOSAL_ALREADY_IN_PROGRESS - CONTRACT_CHANGE_ILLEGAL_PROPOSAL_TYPE - CONTRACT_BILLING_METHOD_EXISTS - CONTRACT_NOT_AUTHORIZED_TO_CHANGE_STATUS - CONTRACT_CANNOT_BE_ARCHIVED - CONTRACT_IS_CANCELLED - SIGNING_DOCUMENT_EXISTS - NO_SIGNING_DOCUMENT - CANT_CREATE_SIGNING_DOCUMENT - MISSING_SIGNING_CONTACT - CANT_DELETE_USER_WITH_SIGNATURE - CANNOT_REMOVE_SIGNER - SIGNING_PROVIDER_NOT_AVAILABLE - SIGNING_DOCUMENT_NOT_ACCESSIBLE - SIGNING_DOCUMENT_CANT_CANCEL_SIGNED - ACCOUNT_LEDGER_MANUAL_ONLY - TRANSFER_NOT_FOUND - TRANSFER_WITH_PARENT_NOT_FOUND - TRANSFER_EVENT_CREATION_ERROR - TRANSFER_CREATION_ERROR - NOTHING_RETURNED_FROM_TRIGGER - TRANSFER_EVENT_ILLEGAL_TRANSITION - ACCOUNT_NOT_FOUND - UNSUPPORTED_ACCOUNT_TYPE - PAYMENT_METHOD_NOT_SUPPORTED - PAYMENT_METHOD_NOT_ENABLED - PAYMENT_METHOD_IS_NOT_CONFIGURED - ONLY_CUSTOM_PAYMENT_METHODS_SUPPORTED - CANT_DISABLE_DEFAULT_BILLING_PERIOD - INVOICE_PAYMENT_UPDATE_ERROR - INVOICE_PAYMENT_UPDATE_INVALID_PAYMENT_TYPE - MUST_HAVE_ONE_PAYMENT_TERM - PRODUCT_IN_USE_CANT_DELETE - PRODUCT_IN_USE_CANT_UNLINK - PRODUCT_IN_USE_CANT_EDIT - PRODUCT_IN_USE_READONLY_FIELDS - PRODUCT_CANT_VERSION_INACTIVE - PRODUCT_ONETIME_NO_BILLING_PERIODS - PRODUCT_ONETIME_NO_BILLING_FIXED - PRODUCT_SINGLE_MUST_USE_FIXED - PRODUCT_FIXED_CANT_USE_LEVELS - PRODUCT_TIERED_MUST_INCLUDE_LEVEL - PRODUCT_BATCH_NOT_FOUND - PRODUCT_NOT_IN_EXTERNAL_SOURCE - PRODUCT_USAGE_ONLY_MULTIPLE - PRODUCT_SINGLE_NO_BUNDLE_GROUPS - PRODUCT_SINGLE_NO_BUNDLE_UPGRADES - PRODUCT_FIXED_BILLING_ONE_BILLING_PERIOD - PRODUCT_BUNDLE_NO_UNIT - PRODUCT_BUNDLE_NO_USAGE - PRODUCT_BUNDLE_NO_BILLING_FIXED - PRODUCT_BUNDLE_TOPDOWN_REQUIRES_ITEMS - BUNDLE_PRODUCT_NOT_FOUND - BUNDLE_PRODUCT_CANT_BE_USAGE - BUNDLE_ITEM_TOPDOWN_REQUIRES_PERCENT - BUNDLE_ITEM_BOTTOMUP_NO_PERCENT - BUNDLE_ITEM_INCOMPATIBLE_BILLING - BUNDLE_ITEM_INCOMPATIBLE_BILLING_PERIODS - BUNDLE_ITEM_INCOMPATIBLE_CURRENCIES - BUNDLE_ITEM_INCOMPATIBLE_RECURRENCE - BUNDLE_ITEM_PRODUCT_IS_NOT_ACTIVE - BUNDLE_ITEM_REQUIRES_QUANTITY - BUNDLE_ITEM_DOESNT_SUPPORT_QUANTITY - BUNDLE_PRODUCT_TOPDOWN_PERCENTS_ERROR - PRODUCT_ACTIVATION_MISSING_REQUIRED_PRICE - PRODUCT_ACTIVATION_MISSING_REQUIRED_LEVEL_PRICE - PRODUCT_ACTIVATION_MISSING_REQUIRED_PERIOD_PRICE - PRODUCT_ACTIVATION_MISSING_REQUIRED_PERIOD_AND_LEVEL_PRICE - ITEM_NOT_DISCOUNTABLE - ITEM_NOT_CUSTOMIZABLE - ITEM_NOT_LIST_PRICE_ADJUSTABLE - ITEM_LIST_VISIBILITY_ONLY_NON_FIXED - ITEM_LEVEL_VISIBILITY_REQUIRED - ITEM_LEVEL_VISIBILITY_USAGE_ONLY_ALL - ITEM_LEVEL_VISIBILITY_GRADUATED_NOT_PRIOR - UNIT_ALREADY_EXISTS - PRICEBOOK_ENTRY_LEVEL_REQUIRED - PRICEBOOK_ENTRY_LEVEL_NOT_SUPPORTED - PRICEBOOK_ENTRY_BILLING_PERIOD_NOT_SUPPORTED - PRICEBOOK_ENTRY_CURRENCY_NOT_SUPPORTED - PRICEBOOK_ENTRY_BAD_SCALE - CANT_OVERRIDE_ACCEPTED_BILLING_PERIOD - PRICE_OVERRIDE_CANT_REPEAT_PIVOT - PRICE_OVERRIDE_MISSING_PRICE - PRICE_OVERRIDE_FIXED_WITH_LEVELS - PRICE_OVERRIDE_MISSING_LEVEL - PRICE_OVERRIDE_UNSUPPORTED_LEVEL - PRICE_OVERRIDE_REPEATED_LEVEL - PRICE_OVERRIDE_DISCOUNT_MUST_BE_LOWER - PRICE_OVERRIDE_LEVEL_PRICE_MUST_BE_LOWER - PRICE_OVERRIDE_ONETIME_TIME_BASED - PRICE_OVERRIDE_USAGE_TIME_BASED - PRICE_OVERRIDE_ONETIME_WITH_BILLING_PERIOD - PRICE_OVERRIDE_MISSING_BILLING_PERIOD - PRICE_OVERRIDE_PARTIAL_TIME_BASED - PRICE_OVERRIDE_CONSISTENT_DISCOUNTS_TIME_BASED - QUANTITY_OVERRIDE_ONLY_RECURRING - QUANTITY_OVERRIDE_ONLY_MULTIPLE - QUANTITY_OVERRIDE_MISSING_REQUIRED_FIELD - OVERRIDE_BAD_STARTINDEX_DURATION - OVERRIDE_OVERLAP_TIME_BASED - OVERRIDE_UNSUPPORTED_BILLING_PERIOD - USAGE_DEADLINE_PAST - USAGE_TOO_EARLY - USAGE_PRODUCT_NOT_USAGE - USAGE_INVOICE_EXISTS - APPROVAL_INVALID_USER - APPROVAL_USER_NOT_AUTHORIZED - APPROVAL_INVALID_RULE_CONFIG - APPROVAL_INVALID_TRANSITION - SLACK_WORKSPACE_ALREADY_LINKED - SLACK_USER_ALREADY_LINKED - INTEGRATION_ERROR - SYNC_REFERENCE_INVALID - SYNC_NOT_SUPPORTED - ERROR_WHILE_SYNCING_FROM_EXTERNAL_SOURCE - SFDC_ERROR_SETTING_PRICEBOOK - SFDC_ERROR_UPDATING_LINEITEM - SFDC_ERROR_CREATING_LINEITEM - SFDC_ERROR_MERGING_OPPORTUNITY - SFDC_PRODUCT_NOT_IN_PRICEBOOK - PROPOSAL_EXISTS_FOR_DEAL - EXTERNAL_DEAL_NOT_FOUND - DEAL_HAS_NO_COMPANY - NO_SOURCE_TYPE_FOR_OBJECT - PROPOSAL_MUST_BE_RENEWAL - CONTACT_IS_BILLING_FOR_CUSTOMER - CONTACT_IS_ACTIVE_PROPOSAL_CONTACT - AUTO_RENEWAL_DISABLED - RENEWAL_CONFIGURATION_ASSOCIATED_WITH_MULTIPLE_ENTITIES - RENEWAL_CONFIGURATION_NOT_EDITABLE_PROPOSAL - RENEWAL_CONFIGURATION_INVALID_TERM_LENGTH_MONTHS - CANT_DELETE_DEFAULT_CURRENCY - CURRENCY_NOT_CONFIGURED - TAX_CODE_NOT_FOUND - TAX_CODE_IN_USE - TAX_CALCULATION_ERROR - INVOICE_CONFIGURATION_NOT_EDITABLE_PROPOSAL - INVOICE_CONFIGURATION_ALREADY_EXISTS - INVOICE_CONFIGURATION_INVALID_INVOICE_IN_ADVANCE_DAYS - INVOICE_CONFIGURATION_INVALID_INVOICE_IN_ADVANCE_DATE - INVOICE_CANNOT_BE_ARCHIVED - INVALID_TRANSFER_STATUS_FOR_VOIDING - INVOICE_CANNOT_BE_VOIDED - INVOICE_CLOSED_BOOKS - INVOICE_NOT_VOIDED - INVOICE_CANNOT_BE_UNVOIDED - INVOICE_NOT_FOUND - INVOICE_STATUS_ACTION_NOT_SUPPORTED_YET - INVALID_INVOICE_STATUS_TRANSITION - INVALID_TRANSFER_STATUS_FOR_MARKING_AS_PAID - COMPANY_INFO_DELETE_DEFAULT - COMPANY_INFO_IN_USE - ENTITY_ALREADY_EXISTS_FOR_EXTERNAL_SOURCE - BEACON_NOT_FOUND - TRANSFER_IS_NOT_REFUNDABLE - REFUND_EXISTS - QUICKBOOKS_CUSTOM_TXN_NUMBERS_DISABLED - DOCUMENT_DOWNLOAD_ERROR issues: type: array items: $ref: '#/components/schemas/ReferenceIssue' enabled: type: boolean lastConnectedAt: type: string format: date-time discriminator: propertyName: type mapping: avalara: '#/components/schemas/ConnectorTestResult' close: '#/components/schemas/ConnectorTestResult' hubspot: '#/components/schemas/ConnectorTestResult' profitwell: '#/components/schemas/ConnectorTestResult' quickbooks: '#/components/schemas/ConnectorTestResult' salesforce: '#/components/schemas/SalesforceConnectorTestResult' Connectors: type: object properties: integrations: type: object additionalProperties: $ref: '#/components/schemas/ConnectorTestResult' ForceUser: type: object properties: Id: type: string FirstName: type: string LastName: type: string Email: type: string Title: type: string Username: type: string PackageVersion: type: string PackageInstalledAt: type: string format: date-time ReferenceIssue: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true referenceKey: $ref: '#/components/schemas/ReferenceKey' sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout count: type: integer format: int32 issueType: type: string enum: - address_verification_issue - external_duplication - external_connector_setup - missing_data - connector_authentication - system_error ReferenceKey: type: object properties: referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user referenceId: type: string format: uuid SalesforceConnectorTestResult: type: object allOf: - $ref: '#/components/schemas/ConnectorTestResult' - type: object properties: salesforceUser: $ref: '#/components/schemas/ForceUser' ExternalSource: required: - sourceId - sourceType type: object properties: sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout sourceId: type: string sourceLink: type: string SyncEvent: type: object properties: createdAt: type: string format: date-time referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user referenceId: type: string format: uuid direction: type: string enum: - to_cacheflow - from_cacheflow eventType: type: string enum: - auth - created - updated - deleted action: type: string enum: - create - update - delete - upsert - noop externalSource: $ref: '#/components/schemas/ExternalSource' status: type: string enum: - success - error error: type: string source: type: string deprecated: true enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout externalId: type: string deprecated: true externalIdLink: type: string deprecated: true AvalaraSyncEventDetail: required: - action - direction - eventType - referenceType - source - status type: object allOf: - $ref: '#/components/schemas/SyncEventDetail' - type: object properties: errorResult: $ref: '#/components/schemas/ErrorResult' BillingScheduleSyncSummary: required: - createdAt - createdBy - id type: object properties: createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string id: type: string format: uuid contractReference: $ref: '#/components/schemas/ObjectReference' invoiceReference: $ref: '#/components/schemas/ObjectReference' customerReference: $ref: '#/components/schemas/ObjectReference' scheduleDate: type: string format: date eventDetails: type: array items: $ref: '#/components/schemas/SyncEventDetail' lastEvent: $ref: '#/components/schemas/SyncEvent' lastSuccessAfterScheduleUpdate: $ref: '#/components/schemas/SyncEvent' orgId: $ref: '#/components/schemas/OrgId' orgName: type: string ErrorDetail: title: ErrorDetail type: object properties: type: type: string enum: - field - listField - filter - references - contactEmail discriminator: propertyName: type mapping: filter: '#/components/schemas/FilterDetail' field: '#/components/schemas/FieldDetail' listField: '#/components/schemas/ListFieldDetail' references: '#/components/schemas/ReferencesDetail' contactEmail: '#/components/schemas/ContactUserDetail' ErrorInfo: type: object properties: code: type: string enum: - ServerConfiguration - AccountInvalidException - CompanyInvalidException - EntityNotFoundError - ValueRequiredError - RangeError - RangeCompareError - RangeSetError - TaxpayerNumberRequired - EntityLimitExceeded - CommonPassword - WeakPassword - StringLengthError - MaxStringLengthError - EmailValidationError - EmailMissingError - InvalidQueryField - InvalidQueryValue - SyntaxError - TooManyParametersError - UnterminatedValueError - DeleteUserSelfError - OldPasswordInvalid - CannotChangePassword - ReadOnly - DateFormatError - NoDefaultCompany - AccountTypeNotSupported - InvalidAuthenticationType - AuthenticationException - AuthorizationException - ValidationException - InactiveUserError - AuthenticationIncomplete - BasicAuthIncorrect - IdentityServerError - BearerTokenInvalid - ModelRequiredException - AccountExpiredException - BearerTokenNotSupported - InvalidSecurityRole - InvalidRegistrarAction - RemoteServerError - NoFilterCriteriaException - OpenClauseException - JsonFormatError - InvalidDecimalValue - PermissionRequired - UnhandledException - InactiveAccount - LinkageNotAllowed - LinkageStatusUpdateNotSupported - ReportingCompanyMustHaveContactsError - CompanyProfileNotSet - CannotAssignUserToCompany - MustAssignUserToCompany - InvalidTaxTypeMapping - ModelStateInvalid - DateRangeError - InvalidDateRangeError - RuleMustHaveTaxCode - RuleTypeRestricted - AllJurisRuleLimits - InvalidCompanyLocationSetting - InvalidAdjustmentType - DeleteInformation - DisableAuthenticationForSamlBasedAccounts - DisableResetPasswordForSamlBasedAccounts - OutOfRange - UnspecifiedTimeZone - CannotCreateDeletedObjects - CannotModifyDeletedObjects - ReturnNameNotFound - InvalidAddressTypeAndCategory - DefaultCompanyLocation - InvalidCountry - InvalidCountryRegion - BrazilValidationError - BrazilExemptValidationError - BrazilPisCofinsError - JurisdictionNotFoundError - MedicalExciseError - RateDependsTaxabilityError - InvalidRateTypeCode - RateTypeNotSupported - CannotUpdateNestedObjects - UPCCodeInvalidChars - UPCCodeInvalidLength - IncorrectPathError - InvalidJurisdictionType - MustConfirmResetLicenseKey - DuplicateCompanyCode - TINFormatError - DuplicateNexusError - UnknownNexusError - ParentNexusNotFound - InvalidTaxCodeType - CannotActivateCompany - DuplicateEntityProperty - ReportingEntityError - InvalidReturnOperationError - CannotDeleteCompany - CountryOverridesNotAvailable - JurisdictionOverrideMismatch - DuplicateSystemTaxCode - SSTOverridesNotAvailable - NexusDateMismatch - NexusParentDateMismatch - BearerTokenParseUserIdError - RetrieveUserError - InvalidConfigurationSetting - InvalidConfigurationValue - InvalidEnumValue - TaxCodeAssociatedTaxRule - CannotSwitchAccountId - RequestIncomplete - AccountNotNew - PasswordLengthInvalid - InvalidPageKey - InvalidEcmsOverrideCode - AccountDoesNotExist - InvalidTaxType - IncorrectFieldValue - LeadingOrTrailingException - NotEnoughAddressesInfo - ReportNotInitiated - FailedToBuildReport - ReportNotFinished - FailedToDownloadReport - MalformedFilterException - ExpectedConjunctionError - CriteriaNotSupportedError - CompanyAccountAndParentAccountMismatch - InvalidFileContentType - RequestTooLarge - EcmsDisabled - UnknownConjunctionError - NoLinesDiscounted - FailedToDelete - CircularCompanyHierarchies - DuplicateEntry - DuplicateFieldNameInOrderBy - CannotAdjustDocumentType - UserNoAccess - InvalidEntry - TransactionAlreadyCancelled - QueryParameterOutOfRange - BatchSalesAuditMustBeZippedError - BatchZipMustContainOneFileError - BatchInvalidFileTypeError - BatchCannotSaveBatchFile - BatchCannotGetBatchFile - BatchCannotDeleteBatchFile - BatchMustContainOneFile - MissingBatchFileContent - BatchCannotBeDeletedWhileProcessing - InternalServerError - PointOfSaleFileSize - PointOfSaleSetup - InvalidInputDate - GetTaxError - AddressConflictException - DocumentCodeConflict - MissingAddress - InvalidParameterValue - FetchLimit - InvalidAddress - AddressLocationNotFound - MissingLine - InvalidAddressTextCase - DocumentNotCommitted - InvalidDocumentTypesToFetch - TimeoutRequested - InvalidPostalCode - InvalidSubscriptionDescription - InvalidSubscriptionTypeId - CannotChangeFilingStatus - FEINFormatError - ServerUnreachable - SubscriptionRequired - AccountExists - InvitationOnly - AccountNotWhitelisted - FreeTrialNotAvailable - AccountExistsDifferentEmail - AvalaraIdentityApiError - InvalidIPAddress - OfferCodeAlreadyApplied - AccountAlreadyExists - LicenseKeyNameAlreadyExistsForAccount - UserAlreadyExist - UserNotFound - UserManagementException - RefundTypeAndPercentageMismatch - InvalidDocumentTypeForRefund - RefundTypeAndLineMismatch - RefundLinesRequired - InvalidRefundType - RefundPercentageForTaxOnly - LineNoOutOfRange - RefundPercentageOutOfRange - RefundPercentageMissing - MustUseCreateTransaction - MustAcceptTermsAndConditions - FilingCalendarCannotBeDeleted - InvalidEffectiveDate - NonOutletForm - OverlappingFilingCalendar - FilingCalendarCannotBeEdited - CannotModifyLockedTransaction - LineAlreadyExists - LineDoesNotExist - LinesNotSpecified - LineDetailsDoesNotExist - CannotCreateTransactionWithDeletedDataSource - ShipToRegionRequiredWithDataSource - InvalidBusinessType - CannotModifyExemptCert - CertificatesError - MissingRequiredFields - CertificatesNotSetup - ConflictingExposureZone - MissingFieldToCreateExposureZone - MissingExemptReason - InvalidExemptReason - InvalidExemptionOperation - ConflictingFields - InvalidPdfOrImageFile - InvalidCoverLetterTitle - AccountNotProvisioned - InvalidRequestContentType - ExemptionPaginationLimits - ExemptionSortLimits - CustomerCantBeBothShipToAndBillTo - BillToCustomerExpected - ShipToCustomerExpected - EcmsSstCertsRequired - TransactionNotCancelled - TooManyTransactions - OnlyTaxDateOverrideIsAllowed - TransactionAlreadyExists - MultiDocumentTransactionAlreadyExists - DateMismatch - InvalidDocumentStatusForVerify - TotalAmountMismatch - TotalTaxMismatch - InvalidDocumentType - MultiDocumentPartiallyLocked - TransactionIsCommitted - InvalidDocumentStatus - CommsConfigClientIdMissing - CommsConfigClientIdBadValue - AccountInNewStatusException - WorksheetException - InvalidAccountOverride - AccountOverrideNotAuthorized - FieldNotQueryableError - UsernameRequired - InvalidAuditMessage - FieldNotOrderableError - CannotDeleteParentBeforeChildNexus - NexusChildDateMismatch - RemoteValidationError - CannotModifySstNexus - InvalidLocalNexusTypeId - AdvancedRuleRequestRuleError - AdvancedRuleResponseRuleError - AdvancedRuleError - TaxRuleRequiresNexus - UPCCodeNotUnique - TaxCodeAssociatedWithItemCodeNotFound - DuplicateSystemForItem - CannotDismissGlobalNotification - CannotUpdateAccountTypeId - TaxpayerNumberIsRequired - RequestLimitExceeded - ConcurrentRequestLimitExceeded - InvalidDocumentTypeForInspect - ServiceNotReady - UpdateLocationRemittanceMismatchTypeAndCategory - UpdateLocationRemittanceCheckExistingEffectiveDateError - UpdateLocationRemittanceCheckExistingEndDateError - ErrorCountLimitExceededError - RateLimitExceededError - TaxCodeAndTaxCodeIdMissing - NexusAlreadyExists - InvalidAddressTypeAndMarketPlaceOusideUsaFlag - InvalidSettingSet - InvalidSettingName - InvalidSettingValue - TooManyUserDefinedFields - DuplicateUserDefinedFieldsFound - InvalidNameForUserDefinedField - InvalidRestrictionType - InvalidParameter - InvalidSystemCode - NoItemsForClassification - InvalidFileName - NoClassificationForSameHsCode - UnsupportedFileFormat - UnsupportedOutputFileType - TaxProfileNotProvided - InvalidTaxProfile - CompanyTaxProfileEntryRequired - ErrorReadingTaxProfileEntry - TraceDataNotAvailable - InvalidParameterUnitMeasurementType - ParameterUnitRequired - InvalidParameterValueDataType - InvalidParameterAttributeType - SubscriptionRequiredForParameter - InvalidAccountType - InvalidFirmSubscriptions - GenericTaxCodeForItem - CannotCertifyCompany - NoVoidedDocuments - InadequateCommittedDocuments - DocumentCodeIsGuid - CustomerVendorCodeIsGuid - InadequateDocumentLineCount - SameDocumentDescription - NoExemptionNoOrCustomerUsageType - InadequateUniqueAddresses - ItemCodesAreAllSame - TaxCodesAreAllSame - LocationCodeNotUsed - RepeatedLinesInDocument - TaxDateOverrideAndNegativeLineAmount - AllUSDCurrencyCodes - NoVATBuyerId - AllUSCountryCodes - NoDocumentsToTest - NoShippingCharge - FailedToUpdateCompanyLocation - CompanyLocationDateRangeOverlap - FieldLengthError - InputContainsBlacklistedCharacters - CannotCreateNestedObjects - UserSubjectIdNotUpdated - BatchTransactionTypeError - BatchTransactionLineLimitExceeded - BatchCompanyIdAndCompanyCodeMismatch - BatchCannotBeCancelledStatusError - BatchCannotBeCancelledFormatError - BatchTypeNotSupported - InvalidParameterDataType - TagDoesNotExist - ObjectDeleted - AssociatedObjectsDeleted - CannotDownloadReport - InvalidUnitOfBasis - NotApplicableUnitOfBasis - InvalidRateTypeTaxTypeMapping - InvalidTaxTypeGroup - InvalidTaxSubType - InvalidProductTypeId - InvalidTaxRuleType - InvalidHsCode - NotApplicableTaxType - InvalidTaxTypeCode - ContentAccessDenied - ContentNotFound - RegistrationNumberNotFound message: type: string target: type: string enum: - Unknown - HttpRequest - HttpRequestHeaders - IncorrectData - AvaTaxApiServer - AvalaraIdentityServer - CustomerAccountSetup details: type: array items: $ref: '#/components/schemas/ErrorDetail' ErrorResult: type: object properties: error: $ref: '#/components/schemas/ErrorInfo' Fault: type: object properties: error: type: array items: $ref: '#/components/schemas/FaultError' type: type: string message: type: string FaultError: type: object properties: message: type: string statusCode: type: integer format: int32 errorCode: type: integer format: int32 detail: type: string code: type: string element: type: string ObjectReference: type: object properties: referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user id: type: string format: uuid uri: type: string name: type: string type: type: string writeOnly: true enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user OrgId: type: object properties: uuid: type: string format: uuid OutputDetail: type: object properties: fault: $ref: '#/components/schemas/Fault' QuickbooksError: type: object properties: fault: $ref: '#/components/schemas/Fault' output: $ref: '#/components/schemas/OutputDetail' message: type: string QuickbooksSyncEventDetail: required: - action - direction - eventType - referenceType - source - status type: object allOf: - $ref: '#/components/schemas/SyncEventDetail' - type: object properties: errorResult: $ref: '#/components/schemas/QuickbooksError' SyncEventDetail: title: SyncEventDetail required: - action - direction - eventType - referenceType - source - status type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string direction: type: string enum: - to_cacheflow - from_cacheflow referenceId: type: string format: uuid referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user externalId: type: string source: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout eventType: type: string enum: - auth - created - updated - deleted action: type: string enum: - create - update - delete - upsert - noop status: type: string enum: - success - error error: type: string discriminator: propertyName: source mapping: quickbooks: '#/components/schemas/QuickbooksSyncEventDetail' avalara: '#/components/schemas/AvalaraSyncEventDetail' Account: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true address: $ref: '#/components/schemas/Address' institutionName: type: string name: type: string type: type: string enum: - depository - credit - manual - external subtype: type: string mask: type: string legalName: type: string currency: type: string ownerType: type: string routingNumber: type: string accountNumber: type: string wireNumber: type: string expMonth: type: integer format: int32 expYear: type: integer format: int32 cvv: type: integer format: int32 bic: type: string iban: type: string sortCode: type: string institutionNumber: type: string transitNumber: type: string verificationLink: type: string mandateId: type: string Address: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string type: type: string streetAddress: type: string subAddress: type: string otherAddress: type: string city: type: string region: type: string regionIso: type: string postalCode: type: string country: type: string countryIso: type: string verifiedAt: type: string format: date-time InvoiceLite: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true status: type: string enum: - draft - open - paid - past_due - voided invoiceNumber: type: string eventDetails: type: array items: $ref: '#/components/schemas/SyncEventDetail' PaymentMethod: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string internalName: type: string description: type: string enabled: type: boolean configured: type: boolean managed: type: boolean billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year account: $ref: '#/components/schemas/Account' accountId: type: string format: uuid paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual customText: type: string configuration: type: object additionalProperties: type: object processor: type: string enum: - plaid - stripe - manual activePaymentMethod: type: boolean referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user deleted: type: boolean TransferSyncSummary: required: - amount - createdAt - createdBy - id type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string processedAt: type: string format: date-time invoice: $ref: '#/components/schemas/InvoiceLite' amount: type: integer format: int64 paidAmount: type: integer format: int64 parentReferenceId: type: string format: uuid parentReferenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user eventDetails: type: array items: $ref: '#/components/schemas/SyncEventDetail' status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted reason: type: string processor: type: string enum: - plaid - stripe - manual reasonCode: type: string enum: - invalid_account - insufficient_funds - flagged_account - region_not_supported - invalid_address - requires_buyer_approval - transaction_failure paymentMethod: $ref: '#/components/schemas/PaymentMethod' retryAt: type: string format: date-time lastEvent: $ref: '#/components/schemas/SyncEventDetail' lastSuccessAfterScheduleUpdate: $ref: '#/components/schemas/SyncEventDetail' orgId: $ref: '#/components/schemas/OrgId' orgName: type: string customerReference: $ref: '#/components/schemas/ObjectReference' invoiceReference: $ref: '#/components/schemas/ObjectReference' contractReference: $ref: '#/components/schemas/ObjectReference' scheduleReference: $ref: '#/components/schemas/ObjectReference' ReconciliationSummaryRest: required: - totalSchedulesFailed - totalSchedulesSynced - totalTransfersFailed - totalTransfersSynced type: object properties: totalSchedulesSynced: type: integer format: int64 totalSchedulesFailed: type: integer format: int64 totalTransfersSynced: type: integer format: int64 totalTransfersFailed: type: integer format: int64 SyncEventsSummary: type: object properties: totalCount: type: integer format: int64 successCount: type: integer format: int64 errorCount: type: integer format: int64 ExternalObjectReference: type: object properties: referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user id: type: string format: uuid uri: type: string name: type: string sourceId: type: string sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout type: type: string writeOnly: true enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user LinkRequest: type: object properties: sourceId: type: string sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout ConnectorSetup: type: object properties: authorizeUrl: type: string redirectUrl: type: string type: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout error: type: string code: type: string state: type: string config: type: object additionalProperties: type: string ConnectorQuery: type: object properties: referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user queryParameters: type: object additionalProperties: type: string referenceId: type: string format: uuid CreateAccountsWithPlaidRequest: type: object properties: publicToken: type: string institutionName: type: string legalName: type: string authorizeAmount: type: integer format: int64 accounts: type: array items: $ref: '#/components/schemas/PlaidAccount' PlaidAccount: type: object properties: id: type: string name: type: string type: type: string subtype: type: string mask: type: string ApprovalGroup: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true group: $ref: '#/components/schemas/Group' priority: type: integer format: int32 Group: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true roleType: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer name: type: string ApprovalGroupRequest: type: object properties: name: type: string priority: type: integer format: int32 groupId: type: string format: uuid ApprovalAction: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string user: $ref: '#/components/schemas/User' action: type: string enum: - approve - reject - cancel - comment message: type: string User: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true username: type: string status: type: string enum: - pending - active - inactive source: type: string firstName: type: string lastName: type: string lastActiveAt: type: string format: date-time manager: $ref: '#/components/schemas/User' ApprovalRequestSummary: required: - approvalGroup - id - requester - status - strategy type: object properties: id: type: string format: uuid createdAt: type: string format: date-time updatedAt: type: string format: date-time proposal: $ref: '#/components/schemas/ProposalSummary' requester: $ref: '#/components/schemas/User' status: type: string enum: - pending - approved - rejected - canceled strategy: type: string enum: - any message: type: string actions: type: array items: $ref: '#/components/schemas/ApprovalAction' approvalGroup: $ref: '#/components/schemas/ApprovalGroup' CustomerSummary: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string billingContact: $ref: '#/components/schemas/PersonSummary' PersonSummary: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true firstName: type: string lastName: type: string ProposalSummary: required: - amount - archived - createdAt - currency - deleted - displayStatus - id - name - orgId - owner - proposalType - status - systemGenerated - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string orgId: $ref: '#/components/schemas/OrgId' name: type: string description: type: string currency: type: string amount: type: integer format: int64 proposalNumber: type: string externalId: type: string termType: type: string deprecated: true enum: - month - quarter - year termQty: type: integer format: int32 deprecated: true source: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout status: type: string enum: - draft - pending_approval - approved - schedule_selection - payment_selection - active - pending_renewal - accepted - expired - cancelled - deleted displayStatus: type: string enum: - draft - active - approved - archived - expired - cancelled - deleted - completed - pending_approval - shared_payment_selection - shared_schedule_selection - shared_active - signed_awaiting_payment optionsValue: type: string signingOrderBy: type: string owner: $ref: '#/components/schemas/PersonSummary' customer: $ref: '#/components/schemas/CustomerSummary' signingDocument: $ref: '#/components/schemas/SigningDocumentSummary' lastEvent: $ref: '#/components/schemas/ProposalSummaryEvent' proposalType: type: string enum: - initial - change - renewal - template previewCode: type: string contractId: type: string format: uuid systemGenerated: type: boolean deleted: type: boolean archived: type: boolean options: type: object additionalProperties: type: boolean amountFormatted: type: string ProposalSummaryEvent: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string eventType: type: string enum: - created - updated - archived - restore - activated - started - set_to_draft - contact_added - contact_removed - expired - cancelled - deleted - buyer_downloaded - buyer_printed - seller_downloaded - signing - viewed - unviewable_status - request_new - accepted - invited - created_signing_doc - cancelled_signing_doc - signed - buyer_updated - billing_method_added - renewal_pending - approval_requested - approval_approved - approval_rejected - approval_canceled - items_date_truncated - items_date_cleared user: $ref: '#/components/schemas/PersonSummary' contact: $ref: '#/components/schemas/PersonSummary' SigningDocumentSummary: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true signedAt: type: string format: date-time CloseContact: type: object properties: id: type: string name: type: string title: type: string emails: type: array items: $ref: '#/components/schemas/CloseEmail' lead_id: type: string CloseEmail: type: object properties: type: type: string email: type: string CloseAddress: type: object properties: address_1: type: string address_2: type: string city: type: string state: type: string country: type: string zipcode: type: string label: type: string CloseLead: type: object properties: id: type: string name: type: string display_name: type: string addresses: type: array items: $ref: '#/components/schemas/CloseAddress' contacts: type: array items: $ref: '#/components/schemas/CloseContact' Contact: required: - createdAt - customerReference - deleted - email - id - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string sources: type: array items: $ref: '#/components/schemas/ExternalSource' firstName: type: string lastName: type: string email: type: string role: type: string deleted: type: boolean customerReference: $ref: '#/components/schemas/ObjectReference' referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user UpdateContactRequest: type: object properties: firstName: type: string lastName: type: string email: type: string role: type: string Customer: required: - createdAt - deleted - id - name - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string sources: type: array items: $ref: '#/components/schemas/ExternalSource' name: type: string tin: type: string defaultCurrency: type: string billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' billingContact: $ref: '#/components/schemas/Contact' deleted: type: boolean taxUseCode: type: string enum: - A - B - C - D - E - F - G - H - I - J - K - L - M - N - P - Q - R partner: type: boolean referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user taxExempt: type: boolean syncable: type: boolean CreateContactRequest: required: - email - firstName - lastName type: object properties: externalId: type: string source: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout firstName: type: string lastName: type: string email: type: string role: type: string externalSources: type: array items: $ref: '#/components/schemas/ExternalSource' CustomerRequest: type: object properties: externalId: type: string source: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout name: type: string contacts: type: array items: $ref: '#/components/schemas/CreateContactRequest' tin: type: string taxUseCode: type: string enum: - A - B - C - D - E - F - G - H - I - J - K - L - M - N - P - Q - R defaultCurrency: type: string billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' billingContact: $ref: '#/components/schemas/CreateContactRequest' billingContactId: type: string format: uuid taxExempt: type: boolean partner: type: boolean externalSources: type: array items: $ref: '#/components/schemas/ExternalSource' referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user BillingMethodSummary: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true paymentMethod: $ref: '#/components/schemas/PaymentMethodSummary' status: type: string enum: - active - inactive - external isManaged: type: boolean ContractSummary: required: - billingMethod - billingPeriod - buyer - createdAt - currency - endDate - id - name - proposalNumber - renewalType - startDate - status - totalAmount type: object properties: id: type: string format: uuid name: type: string currency: type: string totalAmount: type: integer format: int64 proposalNumber: type: string status: type: string enum: - active - paused - cancelled - ended startDate: type: string format: date endDate: type: string format: date billingPeriod: type: string enum: - month - quarter - halfyear - year billingMethod: $ref: '#/components/schemas/BillingMethodSummary' nextPaymentDue: $ref: '#/components/schemas/NextPaymentDueSummary' buyer: $ref: '#/components/schemas/CustomerSummary' contractNumber: type: string renewalType: type: string enum: - none - autoRenewal createdAt: type: string format: date-time archived: type: boolean totalAmountFormatted: type: string NextPaymentDueSummary: type: object properties: id: type: string format: uuid currency: type: string amountDue: type: integer format: int64 scheduleDate: type: string format: date dueDate: type: string format: date transfer: $ref: '#/components/schemas/TransferSummary' amountDueFormatted: type: string PaymentMethodSummary: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual name: type: string managed: type: boolean processor: type: string enum: - plaid - stripe - manual TransferSummary: type: object properties: id: type: string format: uuid amount: type: integer format: int64 status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted InvoiceSummary: required: - id - invoiceNumber - scheduleId - subscriptionId type: object properties: id: type: string format: uuid subscriptionId: type: string format: uuid scheduleId: type: string format: uuid currency: type: string customerName: type: string invoiceNumber: type: string amount: type: integer format: int64 balance: type: integer format: int64 sentAt: type: string format: date-time issueDate: type: string format: date invoiceDate: type: string format: date dueDate: type: string format: date status: type: string enum: - draft - open - paid - past_due - voided displayStatus: type: string enum: - draft - open - paid - past_due - voided archived: type: boolean balanceFormatted: type: string amountFormatted: type: string ExternalDeal: type: object properties: name: type: string externalId: type: string connectedSourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout customerId: type: string customerName: type: string currency: type: string amount: $ref: '#/components/schemas/Money' stage: type: string proposal: $ref: '#/components/schemas/ProposalSummary' externalLink: type: string externalCustomerLink: type: string ownerId: type: string Money: type: object properties: amount: type: integer format: int64 scale: type: integer format: int32 formattedAmount: type: string currency: type: string description: Total list amount for this level. null for usage. ApprovalRuleSummary: type: object properties: id: type: string format: uuid name: type: string ruleType: type: string enum: - proposalAmountDecrease - proposalAmount - proposalAttachments - proposalAutoRenewal - proposalBillingPeriods - proposalCountry - proposalCustom - proposalCustomTerms - proposalDiscountPercent - proposalDocusign - proposalDuplicateProducts - proposalExternalCrm - proposalFreeMonths - proposalItemQuantity - proposalPaymentTerms - proposalProductDiscountPercent - proposalProducts - proposalTermLength description: type: string BillingMethod: required: - createdAt - customer - id - paymentMethod - status - updatedAt type: object properties: id: type: string format: uuid updatedAt: type: string format: date-time createdAt: type: string format: date-time updatedBy: type: string createdBy: type: string name: type: string status: type: string enum: - active - inactive - external customer: $ref: '#/components/schemas/Customer' account: $ref: '#/components/schemas/Account' paymentMethod: $ref: '#/components/schemas/PaymentMethod' stripeCustomerId: type: string stripePaymentMethodId: type: string BundleItem: required: - entries - id - name - product type: object properties: id: type: string format: uuid product: $ref: '#/components/schemas/Product' quantity: type: number bundlePercent: type: integer format: int32 entries: type: array items: $ref: '#/components/schemas/BundlePriceEntry' name: type: string description: type: string BundlePriceEntry: required: - price type: object properties: billingPeriod: type: string enum: - month - quarter - halfyear - year price: $ref: '#/components/schemas/Money' DocumentVersion: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true versionNumber: type: integer format: int32 fileName: type: string url: type: string documentId: type: string format: uuid Duration: required: - days - months type: object properties: months: type: integer format: int32 days: type: integer format: int32 InvoiceConfiguration: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true invoiceInAdvance: type: boolean invoiceInAdvanceDays: type: integer format: int32 invoiceInAdvanceDate: type: string enum: - advance_date - billing_period_start_date Item: required: - createdAt - customized - customizedLevels - groups - id - key - product - schedules - spans - updatedAt - updatedBy type: object properties: createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string id: type: string format: uuid key: type: string format: uuid quantity: type: number product: $ref: '#/components/schemas/Product' startDate: type: string format: date endDate: type: string format: date name: type: string description: type: string descriptionText: type: string customized: type: boolean customizedLevels: type: boolean levels: type: array items: $ref: '#/components/schemas/ItemLevel' overrides: type: array items: $ref: '#/components/schemas/ItemOverride' quantityOverrides: type: array items: $ref: '#/components/schemas/QuantityOverride' spans: type: object additionalProperties: type: array items: $ref: '#/components/schemas/LineItemSpan' schedules: type: array items: $ref: '#/components/schemas/ItemSchedule' groups: type: array items: $ref: '#/components/schemas/SpanGroup' levelVisibility: type: string enum: - all - active - active_plus_one - active_plus_three - active_plus_prior_next - active_plus_prior_next_three ItemLevel: required: - index - start - visible type: object properties: index: type: integer format: int32 start: type: integer format: int32 hidden: type: boolean visibilityOverride: type: boolean visible: type: object additionalProperties: type: boolean ItemLevelOverride: required: - level - price type: object properties: level: type: integer format: int32 price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' ItemOverride: required: - discount type: object properties: billingPeriod: type: string enum: - month - quarter - halfyear - year discount: type: boolean duration: type: integer format: int32 startIndex: type: integer format: int32 price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' levels: type: array items: $ref: '#/components/schemas/ItemLevelOverride' ItemSchedule: required: - productId - startDate type: object properties: createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string id: type: string format: uuid productId: type: string description: Product id for a specific version of the product. Must have the same root as the parent Item. format: uuid billingPeriod: type: string description: Billing period context. enum: - month - quarter - halfyear - year startIndex: type: integer description: Regular payment start index. format: int32 endIndex: type: integer description: Inclusive regular payment end index. format: int32 startDate: type: string description: Absolute start date. Absolute date when scheduled is true, otherwise calculated. format: date endDate: type: string description: Inclusive absolute end date. Absolute date when scheduled is true, otherwise null. format: date scheduled: type: boolean description: Indicates schedule has explicitly scheduled dates. price: $ref: '#/components/schemas/Money' basePrice: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' amount: $ref: '#/components/schemas/Money' baseAmount: $ref: '#/components/schemas/Money' listAmount: $ref: '#/components/schemas/Money' quantity: type: number discount: type: boolean levels: type: array items: $ref: '#/components/schemas/ItemScheduleLevel' ItemScheduleLevel: required: - basePrice - level - listPrice - price - start type: object properties: level: type: integer description: Level index, 0-based format: int32 start: type: integer description: Level start value format: int32 quantity: type: number description: Portion of ItemSchedule quantity assigned to this level. null for usage price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' basePrice: $ref: '#/components/schemas/Money' amount: $ref: '#/components/schemas/Money' baseAmount: $ref: '#/components/schemas/Money' listAmount: $ref: '#/components/schemas/Money' LineItemLevel: type: object properties: quantity: type: number visible: type: boolean start: type: integer format: int32 unitPricing: $ref: '#/components/schemas/Money' baseUnitPricing: $ref: '#/components/schemas/Money' LineItemSpan: required: - amount - baseAmount - listAmount - proposalId - proratedTotalAmount - proratedTotalListAmount - spanType type: object properties: spanType: type: string enum: - regular - free - removed proposalId: type: string format: uuid itemScheduleId: type: string format: uuid startIndex: type: integer format: int32 deprecated: true duration: type: integer format: int32 startDate: type: string format: date endDate: type: string format: date quantity: type: number levels: type: array items: $ref: '#/components/schemas/LineItemLevel' durationDesc: $ref: '#/components/schemas/Duration' baseAmount: $ref: '#/components/schemas/Money' amount: $ref: '#/components/schemas/Money' listAmount: $ref: '#/components/schemas/Money' discount: $ref: '#/components/schemas/Money' discountPercent: type: integer format: int32 prorating: type: number fullDays: type: integer format: int32 proratedDays: type: integer format: int32 proratedAmount: $ref: '#/components/schemas/Money' proratedBaseAmount: $ref: '#/components/schemas/Money' proratedListAmount: $ref: '#/components/schemas/Money' proratedTotalListAmount: $ref: '#/components/schemas/Money' proratedTotalAmount: $ref: '#/components/schemas/Money' unitPricing: $ref: '#/components/schemas/Money' baseUnitPricing: $ref: '#/components/schemas/Money' unitPricingDiscount: $ref: '#/components/schemas/Money' groupId: type: integer format: int32 OrganizationSummary: type: object properties: logoUrl: type: string id: type: string format: uuid name: type: string internalName: type: string billingAddress: $ref: '#/components/schemas/Address' branding: type: object additionalProperties: type: object OverrideRange: required: - billingPeriod type: object properties: billingPeriod: type: string enum: - month - quarter - halfyear - year startIndex: type: integer format: int32 endIndex: type: integer format: int32 Payment: required: - amount - baseAmount - currency - dueDate type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true currency: type: string dueDate: type: string format: date scheduleDate: type: string format: date amount: type: integer format: int64 baseAmount: type: integer format: int64 listAmount: type: integer format: int64 changeProposalId: type: string format: uuid components: type: array items: $ref: '#/components/schemas/PaymentComponent' baseAmountFormatted: type: string amountFormatted: type: string listAmountFormatted: type: string PaymentComponent: required: - amount - baseAmount - currency type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true currency: type: string productId: type: string format: uuid bundleId: type: string format: uuid bundleItemId: type: string format: uuid itemId: type: string format: uuid itemKey: type: string format: uuid name: type: string description: type: string bundleName: type: string bundleDescription: type: string bundleQuantity: type: number amount: type: integer format: int64 baseAmount: type: integer format: int64 listAmount: type: integer format: int64 taxAmount: type: integer format: int64 proration: type: integer format: int32 quantity: type: number taxAmountFormatted: type: string baseAmountFormatted: type: string amountFormatted: type: string listAmountFormatted: type: string PaymentSchedule: required: - currency - payEvery - scheduleType type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true currency: type: string payEvery: type: string enum: - month - quarter - halfyear - year scheduleType: type: string enum: - standard - upfront paymentMethodIds: type: array items: type: string format: uuid total: type: integer format: int64 baseTotal: type: integer format: int64 listTotal: type: integer format: int64 payments: type: array items: $ref: '#/components/schemas/Payment' totalDiscount: type: integer format: int64 totalDiscountPercent: type: integer format: int32 totalFormatted: type: string baseTotalFormatted: type: string listTotalFormatted: type: string totalDiscountFormatted: type: string PricebookEntry: required: - price type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true billingPeriod: type: string enum: - month - quarter - halfyear - year level: type: integer format: int32 price: $ref: '#/components/schemas/Money' Product: required: - billing - consumption - createdAt - customizable - discountable - displayQuantityOnInvoicePdf - entries - extendedScale - hidden - id - listPriceAdjustable - pricing - productType - recurrence - status - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string sources: type: array items: $ref: '#/components/schemas/ExternalSource' hidden: type: boolean rootId: type: string format: uuid productType: type: string enum: - single - bundleTopDown - bundleBottomUp status: type: string enum: - active - inactive name: type: string internalName: type: string description: type: string recurrence: type: string enum: - one_time - recurring - usage pricing: type: string enum: - fixed - graduated - stairstep - volume consumption: type: string enum: - single - multiple billing: type: string enum: - scheduled - fixed unit: $ref: '#/components/schemas/Unit' extendedScale: type: boolean customizable: type: boolean discountable: type: boolean displayQuantityOnInvoicePdf: type: boolean listPriceAdjustable: type: boolean descriptionCustomizable: type: boolean nameCustomizable: type: boolean billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year currencies: type: array items: type: string taxConfig: $ref: '#/components/schemas/ProductTaxConfig' entries: type: array items: $ref: '#/components/schemas/PricebookEntry' levels: type: array items: $ref: '#/components/schemas/ProductLevel' showProductsOnInvoice: type: boolean showProductPricesOnInvoice: type: boolean showProductsOnProposal: type: boolean bundleItems: type: array items: $ref: '#/components/schemas/BundleItem' bundleBottomUpEntries: type: array items: $ref: '#/components/schemas/BundlePriceEntry' bundleGroups: type: array items: type: string ProductLevel: required: - start type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true start: type: integer format: int32 ProductTaxConfig: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true taxMode: type: string enum: - inclusive - exclusive taxCode: $ref: '#/components/schemas/TaxCode' Proposal: required: - amount - amountFormatted - archived - attachments - baseAmount - baseAmountFormatted - billingPeriods - createdAt - currency - deleted - displayStatus - effectiveStartDate - id - legacyCheckout - name - overrideRanges - proposalContacts - proposalItems - proposalType - schedules - signed - status - syncable - termLengthMonths - termQty - termType - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string proposalItems: type: array items: $ref: '#/components/schemas/Item' name: type: string customTerms: type: string externalLink: type: string deleted: type: boolean archived: type: boolean legacyCheckout: type: boolean owner: $ref: '#/components/schemas/User' displayStatus: type: string enum: - draft - active - approved - archived - expired - cancelled - deleted - completed - pending_approval - shared_payment_selection - shared_schedule_selection - shared_active - signed_awaiting_payment amount: type: integer format: int64 proposalContacts: type: array items: $ref: '#/components/schemas/ProposalContact' signingDocument: $ref: '#/components/schemas/SigningDocument' attachments: type: array items: $ref: '#/components/schemas/ProposalAttachment' options: type: object additionalProperties: type: boolean schedules: type: array items: $ref: '#/components/schemas/PaymentSchedule' acceptedScheduleId: type: string format: uuid proposalType: type: string enum: - initial - change - renewal - template contract: $ref: '#/components/schemas/ObjectReference' effectiveStartDate: type: string format: date termType: type: string enum: - month - quarter - year termQty: type: integer format: int32 termLengthMonths: type: integer format: int32 freeMonths: type: integer format: int32 proposalNumber: type: string customer: $ref: '#/components/schemas/Customer' billTo: $ref: '#/components/schemas/Customer' shipFrom: $ref: '#/components/schemas/OrganizationSummary' source: type: string deprecated: true enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout externalId: type: string deprecated: true lastEvent: $ref: '#/components/schemas/ProposalEvent' previous: $ref: '#/components/schemas/ObjectReference' expiresAt: type: string format: date endDate: type: string format: date startDate: type: string format: date previewCode: type: string paymentTerm: type: string enum: - net_15 - net_30 - net_45 - net_60 - net_75 - net_90 - upon_receipt - end_of_month - on_15th acceptedAt: type: string format: date-time defaultBillingPeriod: type: string enum: - month - quarter - halfyear - year billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year selectedScheduleId: type: string format: uuid changes: $ref: '#/components/schemas/ProposalChanges' description: type: string baseAmount: type: integer format: int64 signed: type: boolean currency: type: string coverLetter: type: string sellerEmail: type: string syncable: type: boolean pendingRenewalAt: type: string format: date-time billingMethod: $ref: '#/components/schemas/BillingMethod' renewalConfiguration: $ref: '#/components/schemas/RenewalConfiguration' invoiceConfiguration: $ref: '#/components/schemas/InvoiceConfiguration' isSystemGenerated: type: boolean overrideRanges: type: array items: $ref: '#/components/schemas/OverrideRange' acceptedByContact: $ref: '#/components/schemas/Contact' acceptedByUser: $ref: '#/components/schemas/User' externalSource: $ref: '#/components/schemas/ExternalSource' purchaseOrderNumber: type: string type: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user baseAmountFormatted: type: string referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user status: type: string enum: - draft - pending_approval - approved - schedule_selection - payment_selection - active - pending_renewal - accepted - expired - cancelled - deleted amountFormatted: type: string orderNumber: type: string deprecated: true ProposalAttachment: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true type: type: string enum: - document - link attachmentConfigId: type: string format: uuid documentId: type: string format: uuid documentVersion: $ref: '#/components/schemas/DocumentVersion' inEnvelope: type: boolean name: type: string linkUrl: type: string ProposalChanges: type: object properties: customTermsChange: type: boolean originalAmount: type: integer format: int64 amountChange: type: integer format: int64 itemChanges: type: array items: $ref: '#/components/schemas/ProposalItemChange' termLengthMonthsChange: type: integer format: int32 renewalConfigurationChange: $ref: '#/components/schemas/RenewalConfigurationChange' originalAmountFormatted: type: string amountChangeFormatted: type: string ProposalContact: required: - createdAt - id - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string acceptedAt: type: string format: date-time contact: $ref: '#/components/schemas/Contact' ProposalEvent: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string eventType: type: string enum: - created - updated - archived - restore - activated - started - set_to_draft - contact_added - contact_removed - expired - cancelled - deleted - buyer_downloaded - buyer_printed - seller_downloaded - signing - viewed - unviewable_status - request_new - accepted - invited - created_signing_doc - cancelled_signing_doc - signed - buyer_updated - billing_method_added - renewal_pending - approval_requested - approval_approved - approval_rejected - approval_canceled - items_date_truncated - items_date_cleared user: $ref: '#/components/schemas/User' contact: $ref: '#/components/schemas/_ContactInternal' recipient: $ref: '#/components/schemas/_ContactInternal' details: $ref: '#/components/schemas/ProposalEventDetails' correlationRef: type: string instanceRef: type: string ProposalEventDetails: type: object properties: status: type: string enum: - draft - pending_approval - approved - schedule_selection - payment_selection - active - pending_renewal - accepted - expired - cancelled - deleted message: type: string rules: type: array items: $ref: '#/components/schemas/ApprovalRuleSummary' ProposalItemChange: type: object properties: changeType: type: string enum: - modify - remove - add productId: type: string format: uuid key: type: string format: uuid quantity: type: number deprecated: true originalQuantity: type: number deprecated: true quantityChange: type: number deprecated: true name: type: string upgraded: type: boolean priceOverrideChange: type: boolean quantitiesChange: type: boolean originalItem: $ref: '#/components/schemas/Item' QuantityOverride: required: - billingPeriod - quantity type: object properties: billingPeriod: type: string enum: - month - quarter - halfyear - year quantity: type: number startIndex: type: integer format: int32 duration: type: integer format: int32 RenewalConfiguration: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true termLengthMonths: type: integer format: int32 cancellationDeadlineDays: type: integer format: int32 renewalClause: type: string priceIncrease: minimum: 0 exclusiveMinimum: false type: number renewalClauseDescription: type: string RenewalConfigurationChange: type: object properties: changeType: type: string enum: - modify - remove - add configurationId: type: string format: uuid originalConfigurationId: type: string format: uuid renewalClauseChange: type: boolean renewalTermLengthMonthsChange: type: integer format: int32 removedConfiguration: $ref: '#/components/schemas/RenewalConfiguration' SigningDocument: required: - externalId - provider - signer type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true provider: type: string enum: - docusign externalId: type: string signedAt: type: string format: date-time polledAt: type: string format: date-time signer: $ref: '#/components/schemas/_ContactInternal' SpanGroup: required: - days - durationDesc - endDate - id - listTotal - proposalId - spanType - startDate - total type: object properties: id: type: integer format: int32 spanType: type: string enum: - regular - free - removed proposalId: type: string format: uuid itemScheduleId: type: string format: uuid billingPeriod: type: string enum: - month - quarter - halfyear - year quantity: type: number startDate: type: string format: date endDate: type: string format: date days: type: integer format: int32 durationDesc: $ref: '#/components/schemas/Duration' total: $ref: '#/components/schemas/Money' listTotal: $ref: '#/components/schemas/Money' unitPricing: $ref: '#/components/schemas/Money' amount: $ref: '#/components/schemas/Money' TaxCode: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true code: type: string description: type: string Unit: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string plural: type: string _ContactInternal: required: - email type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true firstName: type: string lastName: type: string email: type: string role: type: string deleted: type: boolean customerReference: $ref: '#/components/schemas/ObjectReference' gdprDeleted: type: boolean _CustomerInternal: required: - defaultCurrency - partner type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string tin: type: string defaultCurrency: type: string billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' billingContact: $ref: '#/components/schemas/_ContactInternal' deleted: type: boolean taxExempt: type: boolean taxUseCode: type: string enum: - A - B - C - D - E - F - G - H - I - J - K - L - M - N - P - Q - R partner: type: boolean CreateProposalFromDealRequest: type: object properties: dealId: type: string templateId: type: string format: uuid expiresAt: type: string format: date options: type: object additionalProperties: type: boolean CrmObjectProperty: required: - description - label - name - type type: object properties: name: type: string label: type: string description: type: string type: type: string enum: - Boolean - String - Number - Integer - Date - Datetime custom: type: boolean CrmPipeline: type: object properties: id: type: string name: type: string isArchived: type: boolean stages: type: array items: $ref: '#/components/schemas/CrmStage' CrmStage: type: object properties: id: type: string name: type: string pipelineId: type: string pipelineName: type: string DomainField: required: - displayName - name - type type: object properties: type: type: string enum: - Boolean - String - Number - Integer - Date - Datetime name: type: string displayName: type: string ExternalCustomer: type: object properties: name: type: string externalId: type: string connectedSourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout ExternalProduct: type: object properties: name: type: string externalId: type: string connectedSourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout externalLink: type: string GroupUsers: type: object properties: userIds: type: array items: type: string format: uuid HubspotAccountLinkedRest: type: object properties: alreadyLinked: type: boolean HubspotWebhookRequest: type: object properties: eventId: type: integer format: int64 subscriptionId: type: integer format: int64 portalId: type: integer format: int64 appId: type: integer format: int64 occurredAt: type: integer format: int64 subscriptionType: type: string attemptNumber: type: integer format: int64 objectId: type: integer format: int64 changeFlag: type: string changeSource: type: string sourceId: type: string ContactUserDetail: type: object allOf: - $ref: '#/components/schemas/ErrorDetail' - type: object properties: contactName: type: string contactEmail: type: string ErrorObject: type: object properties: errorCode: type: string enum: - NOT_FOUND - OBJECT_ALREADY_EXISTS - INVALID_FILTER - VALIDATION_ERROR - CONSTRAINT_ERROR - DUPLICATE_ERROR - SYSTEM_UNCAUGHT - OBJECT_NOT_FOUND - INPUT_CONFLICT - MISSING_REQUIRED_REQUEST_BODY - MISSING_REQUIRED_FIELD - MISSING_QUERY_PARAM - MISSING_ID_IN_URL - CANT_SET_BOTH_IN_INPUT - FIELD_TOO_LONG - FIELD_NOT_NULLABLE - READ_ONLY_FIELD - NOT_AUTHORIZED_TO_ACCESS_ENTITY - MALFORMED_ID_LIST - UNSUPPORTED_TYPE - FEATURE_NOT_ENABLED - BATCH_INPUT_MISMATCH - BATCH_PATCH_INPUT_MISSING_ID - ILLEGAL_STATE - INVALID_QUERY_PARAMS - NULL_LIST_VALUE - GET_ERROR - CREATE_ERROR - SAVE_ERROR - DELETE_ERROR - ARCHIVE_ERROR - UPDATE_ERROR - COPY_ERROR - INVALID_ENDPOINT - AUTH_CODE_INVALID - AUTH_CODE_MAX_ATTEMPTS - ACCOUNT_LEGALNAME_REQUIRED - ACCOUNT_LEGALNAME_INVALID - APIHOOK_INVALID_EVENT_TYPE - APIHOOK_REQUIRES_HTTPS - PLAID_AUTH_ERROR - PLAID_ACCESS_TOKEN_ERROR - PLAID_TRANSFER_ERROR - PLAID_ACCOUNT_ONLY_ONE - STRIPE_CONNECT_ERROR - STRIPE_INVALID_ACCOUNT - STRIPE_INVALID_INTENT - STRIPE_CREATE_ACCOUNT_ERROR - STRIPE_CREATE_CUSTOMER_ERROR - STRIPE_ACCOUNT_ALREADY_CONNECTED - DOCUMENT_STORE_ERROR - DOCUMENT_INVALID_TYPE - DOCUMENT_CORRUPT - DOCUSIGN_ACCOUNT_ALREADY_EXISTS - DOCUSIGN_ACCOUNT_NOT_REGISTERED - DOCUSIGN_USER_ERROR - DOCUSIGN_API_ERROR - DOCUSIGN_AUTH_ERROR - DOCUSIGN_BAD_FILE_TYPE - DOCUSIGN_WEBHOOK_ERROR - DOCUSIGN_HMAC_ERROR - DOCUSIGN_MULTIPLE_SIGNERS - DOCUSIGN_SIGNING_INCOMPLETE - DOCUSIGN_SIGNER_MISMATCH - DOCUSIGN_PROVIDER_EXPECTED - DOCUSIGN_ENVELOPE_ALLOWANCE_EXCEEDED - ORG_ACCOUNT_NOT_ACTIVE - ORG_ACCOUNT_NOT_FUNDING - ORG_ALREADY_EXISTS_FOR_DOMAIN - ORG_KEYS_MISMATCH - CACHEFLOW_FUNDING_ACCOUNT_NOT_FOUND - USER_CANNOT_DELETE_SELF - ROLE_NOT_FOUND - USER_INVALID_DOMAIN - USER_INVALID_ROLE - USER_INVALID_MANAGER_CYCLE - USER_INVALID_MANAGER_ROLE - USER_INVALID_MANAGER_SELF - USER_INVALID_MANAGER_STATUS - USER_NOT_FOUND - USER_DUPLICATE_USERNAME - USER_CANNOT_CHANGE_FROM_ADMIN - USER_IS_PROPOSAL_OWNER - USER_IS_APPROVAL_REQUESTER - USER_IS_APPROVAL_ACTIONER - CUSTOMER_INVALID_EMAIL - CUSTOMER_EMAIL_ALREADY_EXIST - CUSTOMER_HAS_ACTIVE_DOCUMENTS - CUSTOMER_IS_DELETED - CUSTOMER_NAME_REQUIRED - CUSTOMER_NOT_PARTNER - CUSTOMER_ALREADY_EXISTS_FOR_EXTERNAL_SOURCE - CUSTOMER_NOT_FOUND - PROPOSAL_CANT_CHANGE_CUSTOMER_ON_SOURCED_PROPOSAL - PROPOSAL_CANT_CHANGE_CUSTOMER_DUE_TO_PROPOSAL_STATE - PROPOSAL_CANT_CHANGE_CUSTOMER_DUE_TO_PROPOSAL_TYPE - PROPOSAL_NON_SETTABLE_STATUS - PROPOSAL_TEMPLATE_NON_SETTABLE_STATUS - PROPOSAL_STATUS_TRANSITION_ILLEGAL - PROPOSAL_CONTACT_CUSTOMERID_DOESNT_MATCH - PROPOSAL_CONTACT_SET_WITH_NO_CUSTOMER - PROPOSAL_CONTACT_SET_INVALID_CONTACT - PROPOSAL_NOT_VIEWABLE - PROPOSAL_NOT_EDITABLE - PROPOSAL_SUPERSEDED - CONTACT_CANT_ACCESS_PROPOSAL - CONTACT_CANT_ACCESS_CONTRACT - PROPOSAL_EDIT_USER_NOT_AUTHORIZED - CANT_USE_NON_ACTIVE_PRODUCTS - CANT_UPGRADE_PRODUCTS - PROPOSAL_OWNER_NOT_FOUND - PROPOSAL_CANNOT_REMOVE_ACCEPTOR - CONTACT_NOT_ASSOCIATED_WITH_PROPOSAL - PROPOSAL_FIELD_REQUIRED_TO_ACTIVATE - PROPOSAL_ITEM_REQUIRES_PRODUCT - PROPOSAL_ITEM_REQUIRES_QUANTITY - PROPOSAL_ITEM_DOESNT_SUPPORT_QUANTITY - PROPOSAL_ITEM_INCOMPATIBLE_LEVELS - PROPOSAL_ITEM_LEVEL_CUSTOMIZATION_USAGE_ONLY - PRODUCT_ALREADY_IN_PROPOSAL - PROPOSAL_DOES_NOT_REQUIRE_SIGNING - PROPOSAL_REQUIRES_SIGNING_BEFORE_ACCEPT - PROPOSAL_REQUIRES_PAYMENT_METHOD_ACCEPT - PROPOSAL_CANT_CREATE_PAYMENT_INTENT - PROPOSAL_PAYMENT_ERROR - PROPOSAL_CANT_UPDATE_PAYMENT_SCHEDULE - PRODUCT_CAN_ONLY_MODIFY_LATEST - PRODUCT_MISSING_BILLING_PERIOD_PRICES - PRODUCT_MISSING_PROPOSAL_CURRENCY - CHANGE_PROPOSAL_CANT_EDIT_FIELD - RENEWAL_PROPOSAL_CANT_EDIT_FIELD - CHANGE_PROPOSAL_CANT_START_BEFORE_PREVIOUS - CHANGE_PROPOSAL_CANT_START_AFTER_PREVIOUS - PAYMENT_SCHEDULE_ILLEGAL_PAYMENT_METHODS - CHANGE_RENEWAL_PROPOSAL_NEEDS_PREVIOUS_ACCEPTED - PROPOSAL_NEEDS_PRODUCT - CHANGE_PROPOSAL_CANT_REMOVE_ONETIME - CHANGE_PROPOSAL_CANT_DECREASE_ONETIME_QUANTITY - CHANGE_PROPOSAL_CANT_CHANGE_ONETIME - CHANGE_PROPOSAL_CANT_ADD_SCHEDULED_ITEM - CHANGE_PROPOSAL_CANT_CHANGE_SCHEDULED_ITEM - TEMPLATE_PROPOSAL_CANT_USE_SCHEDULED_ITEM - PAYMENT_SCHEDULE_HAS_NO_ACTIVE_PAYMENT_METHODS - PROPOSAL_NO_BILLING_PERIODS_HAVE_PAYMENT_METHODS - PROPOSAL_NO_BILLING_PERIODS_HAVE_ACTIVE_PAYMENT_METHODS - PROPOSAL_PDF_RENDER_TIMEOUT - PROPOSAL_PDF_RENDER_ERROR - PROPOSAL_PDF_ATTACHMENT_ERROR - PROPOSAL_ADD_BILLING_METHOD_ILLEGAL_TYPE - PROPOSAL_RENEWAL_START_DATE_IN_FUTURE - PROPOSAL_START_DATE_IN_PAST - PROPOSAL_ALREADY_ACCEPTED - PROPOSAL_ILLEGAL_FREE_MONTHS - CHANGE_PROPOSAL_CANT_CREATE_FROM_NON_ACTIVE_SUBSCRIPTION - ITEM_SCHEDULE_DATE_NOT_SUPPORTED_FOR_RECURRING - ITEM_SCHEDULE_DATE_NOT_SUPPORTED_FOR_USAGE - ITEM_SCHEDULE_END_DATE_NOT_SUPPORTED_FOR_ONETIME - ITEM_SCHEDULE_START_DATE_AFTER_END_DATE - ITEM_SCHEDULE_ILLEGAL_DATE_COMBINATION - ITEM_SCHEDULE_DATE_PAST_END - ITEM_SCHEDULE_ILLEGAL_MIXED_DATES - ITEM_SCHEDULE_ILLEGAL_INDEX - ITEM_SCHEDULE_MISSING_FIRST_INDEX_FOR_BILLING_PERIOD - ITEM_SCHEDULE_REPEATED_INDEX - ITEM_SCHEDULE_ID_NOT_SUPPORTED - ITEM_SCHEDULE_ONE_TIME_ILLEGAL_INDEX - ITEM_SCHEDULE_PRODUCT_ILLEGAL_ROOT - ITEM_SCHEDULE_ONETIME_WITH_BILLING_PERIOD - ITEM_SCHEDULE_UNSUPPORTED_BILLING_PERIOD - ITEM_SCHEDULE_PRODUCT_DOESNT_MATCH_ITEM - ITEM_SCHEDULE_ILLEGAL_CURRENCY - ITEM_SCHEDULE_ILLEGAL_LEVELS - ITEM_SCHEDULE_ILLEGAL_PRICE - ITEM_SCHEDULE_LEVELS_ILLEGAL_SIZE - ITEM_SCHEDULE_ILLEGAL_START_INDEX - ITEM_SCHEDULE_LEVEL_ILLEGAL_CURRENCY - ITEM_SCHEDULE_QUANTITY_CANNOT_BE_NULL - ITEM_SCHEDULE_QUANTITY_NOT_SUPPORTED - PROPOSAL_ITEM_REQUIRES_ITEM_SCHEDULES - ITEM_MISSING_ITEM_SCHEDULE_BILLING_PERIODS - ITEM_ONE_TIME_NEEDS_ONE_ITEM_SCHEDULE - PROPOSAL_ITEMS_NOT_UPDATEABLE - PROPOSAL_EXTERNAL_SOURCE_NOT_UPDATEABLE - PROPOSAL_ALREADY_EXISTS_FOR_EXTERNAL_SOURCE - PREVIOUS_SCHEDULE_NOT_INVOICED - QUANTITY_MUST_BE_NULL_FOR_SINGLE_CONSUMPTION - ATTACHMENT_MISSING_REQUIRED_FIELD - ATTACHMENT_TYPE_UNSUPPORTED_FIELD - ATTACHMENT_NO_DOCUMENT_INPUT - ATTACHMENT_UNRECOGNIZED_TYPE - ATTACHMENT_CANT_MODIFY_TYPE - ATTACHMENT_SIGNING_NEEDS_FILE_EXT - ATTACHMENT_SIGNING_UNSUPPORTED_FILE_EXT - CONTRACT_PROPOSAL_TYPE_CANT_BE_CREATED - CONTRACT_PROPOSAL_ALREADY_IN_PROGRESS - CONTRACT_CHANGE_ILLEGAL_PROPOSAL_TYPE - CONTRACT_BILLING_METHOD_EXISTS - CONTRACT_NOT_AUTHORIZED_TO_CHANGE_STATUS - CONTRACT_CANNOT_BE_ARCHIVED - CONTRACT_IS_CANCELLED - SIGNING_DOCUMENT_EXISTS - NO_SIGNING_DOCUMENT - CANT_CREATE_SIGNING_DOCUMENT - MISSING_SIGNING_CONTACT - CANT_DELETE_USER_WITH_SIGNATURE - CANNOT_REMOVE_SIGNER - SIGNING_PROVIDER_NOT_AVAILABLE - SIGNING_DOCUMENT_NOT_ACCESSIBLE - SIGNING_DOCUMENT_CANT_CANCEL_SIGNED - ACCOUNT_LEDGER_MANUAL_ONLY - TRANSFER_NOT_FOUND - TRANSFER_WITH_PARENT_NOT_FOUND - TRANSFER_EVENT_CREATION_ERROR - TRANSFER_CREATION_ERROR - NOTHING_RETURNED_FROM_TRIGGER - TRANSFER_EVENT_ILLEGAL_TRANSITION - ACCOUNT_NOT_FOUND - UNSUPPORTED_ACCOUNT_TYPE - PAYMENT_METHOD_NOT_SUPPORTED - PAYMENT_METHOD_NOT_ENABLED - PAYMENT_METHOD_IS_NOT_CONFIGURED - ONLY_CUSTOM_PAYMENT_METHODS_SUPPORTED - CANT_DISABLE_DEFAULT_BILLING_PERIOD - INVOICE_PAYMENT_UPDATE_ERROR - INVOICE_PAYMENT_UPDATE_INVALID_PAYMENT_TYPE - MUST_HAVE_ONE_PAYMENT_TERM - PRODUCT_IN_USE_CANT_DELETE - PRODUCT_IN_USE_CANT_UNLINK - PRODUCT_IN_USE_CANT_EDIT - PRODUCT_IN_USE_READONLY_FIELDS - PRODUCT_CANT_VERSION_INACTIVE - PRODUCT_ONETIME_NO_BILLING_PERIODS - PRODUCT_ONETIME_NO_BILLING_FIXED - PRODUCT_SINGLE_MUST_USE_FIXED - PRODUCT_FIXED_CANT_USE_LEVELS - PRODUCT_TIERED_MUST_INCLUDE_LEVEL - PRODUCT_BATCH_NOT_FOUND - PRODUCT_NOT_IN_EXTERNAL_SOURCE - PRODUCT_USAGE_ONLY_MULTIPLE - PRODUCT_SINGLE_NO_BUNDLE_GROUPS - PRODUCT_SINGLE_NO_BUNDLE_UPGRADES - PRODUCT_FIXED_BILLING_ONE_BILLING_PERIOD - PRODUCT_BUNDLE_NO_UNIT - PRODUCT_BUNDLE_NO_USAGE - PRODUCT_BUNDLE_NO_BILLING_FIXED - PRODUCT_BUNDLE_TOPDOWN_REQUIRES_ITEMS - BUNDLE_PRODUCT_NOT_FOUND - BUNDLE_PRODUCT_CANT_BE_USAGE - BUNDLE_ITEM_TOPDOWN_REQUIRES_PERCENT - BUNDLE_ITEM_BOTTOMUP_NO_PERCENT - BUNDLE_ITEM_INCOMPATIBLE_BILLING - BUNDLE_ITEM_INCOMPATIBLE_BILLING_PERIODS - BUNDLE_ITEM_INCOMPATIBLE_CURRENCIES - BUNDLE_ITEM_INCOMPATIBLE_RECURRENCE - BUNDLE_ITEM_PRODUCT_IS_NOT_ACTIVE - BUNDLE_ITEM_REQUIRES_QUANTITY - BUNDLE_ITEM_DOESNT_SUPPORT_QUANTITY - BUNDLE_PRODUCT_TOPDOWN_PERCENTS_ERROR - PRODUCT_ACTIVATION_MISSING_REQUIRED_PRICE - PRODUCT_ACTIVATION_MISSING_REQUIRED_LEVEL_PRICE - PRODUCT_ACTIVATION_MISSING_REQUIRED_PERIOD_PRICE - PRODUCT_ACTIVATION_MISSING_REQUIRED_PERIOD_AND_LEVEL_PRICE - ITEM_NOT_DISCOUNTABLE - ITEM_NOT_CUSTOMIZABLE - ITEM_NOT_LIST_PRICE_ADJUSTABLE - ITEM_LIST_VISIBILITY_ONLY_NON_FIXED - ITEM_LEVEL_VISIBILITY_REQUIRED - ITEM_LEVEL_VISIBILITY_USAGE_ONLY_ALL - ITEM_LEVEL_VISIBILITY_GRADUATED_NOT_PRIOR - UNIT_ALREADY_EXISTS - PRICEBOOK_ENTRY_LEVEL_REQUIRED - PRICEBOOK_ENTRY_LEVEL_NOT_SUPPORTED - PRICEBOOK_ENTRY_BILLING_PERIOD_NOT_SUPPORTED - PRICEBOOK_ENTRY_CURRENCY_NOT_SUPPORTED - PRICEBOOK_ENTRY_BAD_SCALE - CANT_OVERRIDE_ACCEPTED_BILLING_PERIOD - PRICE_OVERRIDE_CANT_REPEAT_PIVOT - PRICE_OVERRIDE_MISSING_PRICE - PRICE_OVERRIDE_FIXED_WITH_LEVELS - PRICE_OVERRIDE_MISSING_LEVEL - PRICE_OVERRIDE_UNSUPPORTED_LEVEL - PRICE_OVERRIDE_REPEATED_LEVEL - PRICE_OVERRIDE_DISCOUNT_MUST_BE_LOWER - PRICE_OVERRIDE_LEVEL_PRICE_MUST_BE_LOWER - PRICE_OVERRIDE_ONETIME_TIME_BASED - PRICE_OVERRIDE_USAGE_TIME_BASED - PRICE_OVERRIDE_ONETIME_WITH_BILLING_PERIOD - PRICE_OVERRIDE_MISSING_BILLING_PERIOD - PRICE_OVERRIDE_PARTIAL_TIME_BASED - PRICE_OVERRIDE_CONSISTENT_DISCOUNTS_TIME_BASED - QUANTITY_OVERRIDE_ONLY_RECURRING - QUANTITY_OVERRIDE_ONLY_MULTIPLE - QUANTITY_OVERRIDE_MISSING_REQUIRED_FIELD - OVERRIDE_BAD_STARTINDEX_DURATION - OVERRIDE_OVERLAP_TIME_BASED - OVERRIDE_UNSUPPORTED_BILLING_PERIOD - USAGE_DEADLINE_PAST - USAGE_TOO_EARLY - USAGE_PRODUCT_NOT_USAGE - USAGE_INVOICE_EXISTS - APPROVAL_INVALID_USER - APPROVAL_USER_NOT_AUTHORIZED - APPROVAL_INVALID_RULE_CONFIG - APPROVAL_INVALID_TRANSITION - SLACK_WORKSPACE_ALREADY_LINKED - SLACK_USER_ALREADY_LINKED - INTEGRATION_ERROR - SYNC_REFERENCE_INVALID - SYNC_NOT_SUPPORTED - ERROR_WHILE_SYNCING_FROM_EXTERNAL_SOURCE - SFDC_ERROR_SETTING_PRICEBOOK - SFDC_ERROR_UPDATING_LINEITEM - SFDC_ERROR_CREATING_LINEITEM - SFDC_ERROR_MERGING_OPPORTUNITY - SFDC_PRODUCT_NOT_IN_PRICEBOOK - PROPOSAL_EXISTS_FOR_DEAL - EXTERNAL_DEAL_NOT_FOUND - DEAL_HAS_NO_COMPANY - NO_SOURCE_TYPE_FOR_OBJECT - PROPOSAL_MUST_BE_RENEWAL - CONTACT_IS_BILLING_FOR_CUSTOMER - CONTACT_IS_ACTIVE_PROPOSAL_CONTACT - AUTO_RENEWAL_DISABLED - RENEWAL_CONFIGURATION_ASSOCIATED_WITH_MULTIPLE_ENTITIES - RENEWAL_CONFIGURATION_NOT_EDITABLE_PROPOSAL - RENEWAL_CONFIGURATION_INVALID_TERM_LENGTH_MONTHS - CANT_DELETE_DEFAULT_CURRENCY - CURRENCY_NOT_CONFIGURED - TAX_CODE_NOT_FOUND - TAX_CODE_IN_USE - TAX_CALCULATION_ERROR - INVOICE_CONFIGURATION_NOT_EDITABLE_PROPOSAL - INVOICE_CONFIGURATION_ALREADY_EXISTS - INVOICE_CONFIGURATION_INVALID_INVOICE_IN_ADVANCE_DAYS - INVOICE_CONFIGURATION_INVALID_INVOICE_IN_ADVANCE_DATE - INVOICE_CANNOT_BE_ARCHIVED - INVALID_TRANSFER_STATUS_FOR_VOIDING - INVOICE_CANNOT_BE_VOIDED - INVOICE_CLOSED_BOOKS - INVOICE_NOT_VOIDED - INVOICE_CANNOT_BE_UNVOIDED - INVOICE_NOT_FOUND - INVOICE_STATUS_ACTION_NOT_SUPPORTED_YET - INVALID_INVOICE_STATUS_TRANSITION - INVALID_TRANSFER_STATUS_FOR_MARKING_AS_PAID - COMPANY_INFO_DELETE_DEFAULT - COMPANY_INFO_IN_USE - ENTITY_ALREADY_EXISTS_FOR_EXTERNAL_SOURCE - BEACON_NOT_FOUND - TRANSFER_IS_NOT_REFUNDABLE - REFUND_EXISTS - QUICKBOOKS_CUSTOM_TXN_NUMBERS_DISABLED - DOCUMENT_DOWNLOAD_ERROR message: type: string detail: $ref: '#/components/schemas/ErrorDetail' FieldDetail: type: object allOf: - $ref: '#/components/schemas/ErrorDetail' - type: object properties: field: type: string FilterDetail: type: object allOf: - $ref: '#/components/schemas/ErrorDetail' - type: object properties: filterName: type: string ListFieldDetail: type: object allOf: - $ref: '#/components/schemas/ErrorDetail' - type: object properties: listField: type: string listIndex: type: integer format: int32 field: type: string ReferencesDetail: type: object allOf: - $ref: '#/components/schemas/ErrorDetail' - type: object properties: references: type: array items: type: string format: uuid SyncResponse: type: object properties: externalId: type: string syncStatus: type: string enum: - success - error error: $ref: '#/components/schemas/ErrorObject' reference: $ref: '#/components/schemas/ObjectReference' SyncRequest: type: object properties: externalId: type: string referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user InvoiceConfigurationRequest: type: object properties: invoiceInAdvance: type: boolean invoiceInAdvanceDays: type: integer format: int32 invoiceInAdvanceDate: type: string enum: - advance_date - billing_period_start_date BillingItem: required: - amountDue - amountDueFormatted - amountWithoutTax - amountWithoutTaxFormatted - createdAt - currency - id - itemId - product - serviceEndDate - serviceStartDate - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string serviceStartDate: type: string format: date serviceEndDate: type: string format: date currency: type: string amountDue: type: integer format: int64 amountDueFormatted: type: string amountWithoutTax: type: integer format: int64 amountWithoutTaxFormatted: type: string taxAmount: type: integer format: int64 taxAmountFormatted: type: string product: $ref: '#/components/schemas/ObjectReference' itemId: type: string format: uuid name: type: string description: type: string descriptionText: type: string bundle: $ref: '#/components/schemas/ObjectReference' bundleName: type: string bundleDescription: type: string bundleDescriptionText: type: string bundleQuantity: type: number quantity: type: number proration: type: integer format: int32 latestProductUsage: $ref: '#/components/schemas/ProductUsage' displayQuantityOnInvoicePdf: type: boolean BillingSchedule: required: - amountDue - amountWithoutTax - billingItems - contract - createdAt - currency - dueDate - externalInvoiced - id - issueDate - scheduleDate - updatedAt - usageEntryActive type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string sources: type: array items: $ref: '#/components/schemas/ExternalSource' scheduleDate: type: string format: date currency: type: string amountDue: type: integer format: int64 amountWithoutTax: type: integer format: int64 taxAmount: type: integer format: int64 dueDate: type: string format: date issueDate: type: string format: date invoiceDate: type: string format: date invoiceStatus: type: string enum: - draft - open - paid - past_due - voided statementSentAt: type: string format: date-time billingItems: type: array items: $ref: '#/components/schemas/BillingItem' invoiceId: type: string format: uuid transferStatus: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted transfer: $ref: '#/components/schemas/Transfer' contract: $ref: '#/components/schemas/ObjectReference' usageEntryStartTime: type: string format: date-time usageEntryEndTime: type: string format: date-time usageEntryActive: type: boolean externalInvoiced: type: boolean lastSyncEvent: $ref: '#/components/schemas/SyncEvent' source: type: string deprecated: true enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout externalId: type: string deprecated: true amountDueFormatted: type: string amountWithoutTaxFormatted: type: string taxAmountFormatted: type: string externalLink: type: string deprecated: true sourceDisplayId: type: string deprecated: true CompanyInfo: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string internalName: type: string brandingEnabled: type: boolean externalId: type: string source: type: string logoUrl: type: string tin: type: string billingAddress: $ref: '#/components/schemas/Address' branding: type: object additionalProperties: type: object logo: $ref: '#/components/schemas/Document' defaultInfo: type: boolean deleted: type: boolean logoId: type: string format: uuid Contract: required: - baseAmount - baseAmountFormatted - billingPeriod - billingSchedules - buyer - createdAt - currency - endDate - id - items - name - proratingType - startDate - status - termLengthMonths - totalAmount - totalAmountFormatted - updatedAt type: object properties: id: type: string format: uuid paymentTerm: type: string enum: - net_15 - net_30 - net_45 - net_60 - net_75 - net_90 - upon_receipt - end_of_month - on_15th contractNumber: type: string buyer: $ref: '#/components/schemas/Customer' billTo: $ref: '#/components/schemas/Customer' shipFrom: $ref: '#/components/schemas/CompanyInfo' startDate: type: string format: date endDate: type: string format: date name: type: string freeMonths: type: integer format: int32 purchaseOrderNumber: type: string totalAmount: type: integer format: int64 baseAmount: type: integer format: int64 proposalNumber: type: string status: type: string enum: - active - paused - cancelled - ended customTerms: type: string billingPeriod: type: string enum: - month - quarter - halfyear - year billingMethod: $ref: '#/components/schemas/BillingMethod' updatedAt: type: string format: date-time createdAt: type: string format: date-time items: type: array items: $ref: '#/components/schemas/Item' billingSchedules: type: array items: $ref: '#/components/schemas/BillingSchedule' lastEvent: $ref: '#/components/schemas/ContractEvent' nextPaymentDue: $ref: '#/components/schemas/BillingSchedule' currency: type: string renewalNotificationSentAt: type: string format: date-time renewalNotificationSentForEndDate: type: string format: date renewalConfiguration: $ref: '#/components/schemas/RenewalConfiguration' invoiceConfiguration: $ref: '#/components/schemas/InvoiceConfiguration' termLengthMonths: type: integer format: int32 previewCode: type: string primaryContact: $ref: '#/components/schemas/Contact' totalDiscountPercent: type: integer format: int32 totalAmountFormatted: type: string baseAmountFormatted: type: string totalDiscount: $ref: '#/components/schemas/Money' archived: type: boolean proratingType: type: string enum: - daily - monthly ContractEvent: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string user: $ref: '#/components/schemas/User' contact: $ref: '#/components/schemas/_ContactInternal' eventType: type: string enum: - created - billing_added - billing_updated - created_change - created_renewal - accepted_change - accepted_renewal - renewal_applied - renewal_due - cancelled - archived - restored - updated - ended otherId: type: string format: uuid otherType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user correlationRef: type: string instanceRef: type: string Document: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true fileName: type: string latestVersion: $ref: '#/components/schemas/DocumentVersion' Invoice: required: - amount - amountWithoutTax - archived - balance - currency - customer - id - status type: object properties: id: type: string format: uuid status: type: string enum: - draft - open - paid - past_due - voided invoiceNumber: type: string purchaseOrderNumber: type: string sentAt: type: string format: date-time customer: $ref: '#/components/schemas/Customer' currency: type: string amount: type: integer format: int64 amountWithoutTax: type: integer format: int64 taxAmount: type: integer format: int64 balance: type: integer format: int64 archived: type: boolean amountWithoutTaxFormatted: type: string taxAmountFormatted: type: string balanceFormatted: type: string amountFormatted: type: string InvoiceDetail: required: - header - schedule - subscription type: object properties: header: $ref: '#/components/schemas/Invoice' subscription: $ref: '#/components/schemas/Contract' schedule: $ref: '#/components/schemas/BillingSchedule' additionalData: type: string ProductUsage: required: - currency type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true billingItemId: type: string format: uuid quantity: type: number amount: type: integer format: int64 currency: type: string amountFormatted: type: string Transfer: required: - amount - currency type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true processedAt: type: string format: date-time externalId: type: string currency: type: string amount: type: integer format: int64 paidAmount: type: integer format: int64 fromAccount: $ref: '#/components/schemas/Account' referenceTransferId: type: string format: uuid fromAccountId: type: string format: uuid writeOnly: true toAccount: $ref: '#/components/schemas/Account' toAccountId: type: string format: uuid writeOnly: true reason: type: string parentReferenceId: type: string format: uuid parentReferenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted type: type: string enum: - DEBIT - CREDIT processor: type: string enum: - plaid - stripe - manual paymentType: type: string deprecated: true enum: - ach - cc - check - custom - direct_debit - wire - external - manual category: type: string enum: - FEE - PAYMENT - PAYOUT - REFUND - ADJUSTMENT reasonCode: type: string enum: - invalid_account - insufficient_funds - flagged_account - region_not_supported - invalid_address - requires_buyer_approval - transaction_failure paymentMethod: $ref: '#/components/schemas/PaymentMethod' achType: type: string enum: - arc - cbr - ccd - cie - cor - ctx - iat - mte - pbr - pop - pos - ppd - rck - tel - web failures: type: integer format: int32 retryAt: type: string format: date-time referenceNumber: type: string referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user paidAmountFormatted: type: string amountFormatted: type: string deleted: type: boolean MultipleIdRequest: type: object properties: ids: type: array items: type: string format: uuid ActivityActor: type: object properties: id: type: string format: uuid name: type: string system: type: boolean identifier: type: string ActivityDetails: title: ActivityDetails type: object properties: message: type: string type: type: string enum: - base - transaction - notification - integration - field_changes discriminator: propertyName: type mapping: transaction: '#/components/schemas/TransactionActivityDetails' integration: '#/components/schemas/SyncActivityDetails' field_changes: '#/components/schemas/FieldChangeActivityDetails' notification: '#/components/schemas/NotificationActivityDetails' ActivityEvent: type: object properties: id: type: string format: uuid actor: $ref: '#/components/schemas/ActivityActor' eventType: type: string enum: - transfer - integration - notification - record_changed - created eventCode: type: string details: $ref: '#/components/schemas/ActivityDetails' createdAt: type: string format: date-time Change: type: object properties: current: type: object previous: type: object classType: type: string FieldChangeActivityDetails: type: object allOf: - $ref: '#/components/schemas/ActivityDetails' - type: object properties: fields: type: object additionalProperties: $ref: '#/components/schemas/Change' NotificationActivityDetails: type: object allOf: - $ref: '#/components/schemas/ActivityDetails' - type: object properties: success: type: boolean errorMessage: type: string recipients: type: array items: type: string notificationType: type: string enum: - email SyncActivityDetails: type: object allOf: - $ref: '#/components/schemas/ActivityDetails' - type: object properties: direction: type: string enum: - to_cacheflow - from_cacheflow source: $ref: '#/components/schemas/ExternalSource' eventType: type: string enum: - auth - created - updated - deleted action: type: string enum: - create - update - delete - upsert - noop status: type: string enum: - success - error TransactionActivityDetails: type: object allOf: - $ref: '#/components/schemas/ActivityDetails' - type: object properties: processedAt: type: string format: date-time referenceNumber: type: string externalId: type: string status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual processor: type: string enum: - plaid - stripe - manual reasonCode: type: string enum: - invalid_account - insufficient_funds - flagged_account - region_not_supported - invalid_address - requires_buyer_approval - transaction_failure InvoiceWithSyncSummaryRest: required: - id - invoiceNumber - scheduleId - subscriptionId type: object properties: id: type: string format: uuid subscriptionId: type: string format: uuid scheduleId: type: string format: uuid currency: type: string customerName: type: string invoiceNumber: type: string amount: type: integer format: int64 balance: type: integer format: int64 sentAt: type: string format: date-time issueDate: type: string format: date invoiceDate: type: string format: date dueDate: type: string format: date status: type: string enum: - draft - open - paid - past_due - voided displayStatus: type: string enum: - draft - open - paid - past_due - voided archived: type: boolean lastSyncEvent: $ref: '#/components/schemas/SyncEvent' externalSource: $ref: '#/components/schemas/ExternalSource' externalId: type: string deprecated: true sourceType: type: string deprecated: true enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout externalLink: type: string deprecated: true sourceDisplayId: type: string deprecated: true balanceFormatted: type: string amountFormatted: type: string AddressRest: required: - city - country - postalCode - region - streetAddress type: object properties: streetAddress: type: string subAddress: type: string city: type: string region: type: string postalCode: type: string country: type: string ApprovalEmailProps: required: - actor - emailKey - isRequestEmail - proposalContext type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: actionType: type: string enum: - approve - reject - cancel - comment actor: $ref: '#/components/schemas/EmailContact' isRequestEmail: type: boolean message: type: string rules: type: array items: $ref: '#/components/schemas/ApprovalRuleSummary' proposalContext: $ref: '#/components/schemas/ProposalContext' requestEmail: type: boolean writeOnly: true AutoRenewalReminderBuyerEmailProps: required: - cancellationDeadlineDate - documentUrl - emailKey - endDate - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string endDate: type: string format: date cancellationDeadlineDate: type: string format: date documentUrl: type: string BillingInviteEmailProps: required: - buyerName - checkoutUrl - emailKey - inviter - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: inviter: $ref: '#/components/schemas/Contact' sellerName: type: string buyerName: type: string checkoutUrl: type: string BillingMethodUpdatedBuyerProps: required: - contractNumber - emailKey - personWhoChanged - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: personWhoChanged: $ref: '#/components/schemas/EmailContact' contractNumber: type: string sellerName: type: string BillingMethodUpdatedSellerProps: required: - buyerName - contractNumber - emailKey - personWhoChanged type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: personWhoChanged: $ref: '#/components/schemas/EmailContact' contractNumber: type: string buyerName: type: string BillingMethodVerificationBuyerEmailProps: required: - emailKey - sellerName - verificationLink type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string verificationLink: type: string ChangeAcceptedBuyerEmailProps: required: - changeContext - contractContext - currency - documentUrl - emailKey - sellerName - shouldHideTotalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string shouldHideTotalAmount: type: boolean contractContext: $ref: '#/components/schemas/ContractContext' changeContext: $ref: '#/components/schemas/ChangeContext' documentUrl: type: string currency: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual accountMask: type: string ChangeAcceptedSellerEmailProps: required: - buyerBillingAddress - buyerName - changeContext - contractContext - currency - documentUrl - emailKey - shouldHideTotalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: shouldHideTotalAmount: type: boolean contractContext: $ref: '#/components/schemas/ContractContext' currency: type: string changeContext: $ref: '#/components/schemas/ChangeContext' documentUrl: type: string buyerName: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual accountMask: type: string buyerBillingAddress: $ref: '#/components/schemas/AddressRest' billToName: type: string billToBillingAddress: $ref: '#/components/schemas/AddressRest' ChangeContext: required: - changeDate - name - totalChange type: object properties: name: type: string changeDate: type: string totalChange: type: string ContractConfirmationBuyerEmailProps: required: - baseAmount - currency - documentUrl - emailKey - endDate - paymentCadence - sellerName - shouldHideTotal - startDate - totalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string paymentTerms: type: string currency: type: string documentUrl: type: string baseAmount: $ref: '#/components/schemas/Money' totalAmount: $ref: '#/components/schemas/Money' discount: $ref: '#/components/schemas/Money' shouldHideTotal: type: boolean startDate: type: string format: date endDate: type: string format: date paymentCadence: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual nextPaymentAmount: $ref: '#/components/schemas/Money' nextPaymentDueDate: type: string format: date ContractConfirmationSellerEmailProps: required: - acceptDate - baseAmount - buyerName - contractItems - contractName - currency - documentUrl - emailKey - paymentCadence - proposalNumber - startDate - totalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: acceptDate: type: string format: date buyerName: type: string proposalNumber: type: string paymentTerms: type: string contractName: type: string currency: type: string documentUrl: type: string baseAmount: $ref: '#/components/schemas/Money' totalAmount: $ref: '#/components/schemas/Money' discount: $ref: '#/components/schemas/Money' startDate: type: string format: date paymentCadence: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual contractItems: type: array items: $ref: '#/components/schemas/EmailLineItem' buyerBillingAddress: $ref: '#/components/schemas/AddressRest' billToName: type: string billToBillingAddress: $ref: '#/components/schemas/AddressRest' ContractContext: required: - contractNumber - endDateFormatted - paymentCadence - proposalNumber - startDateFormatted - totalAmountFormatted type: object properties: totalAmountFormatted: type: string totalDiscountFormatted: type: string nextPaymentFormatted: type: string nextPaymentDueFormatted: type: string contractNumber: type: string proposalNumber: type: string paymentCadence: type: string paymentTerms: type: string startDateFormatted: type: string endDateFormatted: type: string endsInDays: type: string totalAmountHidden: type: boolean EmailContact: required: - email - firstName - lastName type: object properties: firstName: type: string lastName: type: string email: type: string EmailLineItem: required: - name type: object properties: name: type: string description: type: string EmailProps: title: EmailProps required: - emailKey type: object properties: emailKey: type: string enum: - otp_created - approval - auto_renewal_reminder_buyer - billing_invite - billing_method_updated_buyer - billing_method_updated_seller - change_accepted_buyer - change_accepted_seller - contract_confirmation_buyer - contract_confirmation_seller - invite_created - negative_charge - payment_error_buyer - payment_error_seller - payment_receipt_buyer - renewal_accepted_buyer - renewal_accepted_seller - renewal_upcoming_buyer - renewal_upcoming_seller - subscription_renewed_buyer - subscription_renewed_seller - invoice_pdf - invoice_buyer - billing_method_verification_buyer - items_date_truncated_seller - items_date_cleared_seller discriminator: propertyName: emailKey mapping: otp_created: '#/components/schemas/OtpEmailProps' approval: '#/components/schemas/ApprovalEmailProps' billing_method_updated_seller: '#/components/schemas/BillingMethodUpdatedSellerProps' billing_method_updated_buyer: '#/components/schemas/BillingMethodUpdatedBuyerProps' billing_invite: '#/components/schemas/BillingInviteEmailProps' change_accepted_buyer: '#/components/schemas/ChangeAcceptedBuyerEmailProps' change_accepted_seller: '#/components/schemas/ChangeAcceptedSellerEmailProps' payment_error_buyer: '#/components/schemas/PaymentErrorBuyerEmailProps' payment_error_seller: '#/components/schemas/PaymentErrorSellerEmailProps' invite_created: '#/components/schemas/InviteEmailProps' negative_charge: '#/components/schemas/NegativeChargeEmailProps' renewal_accepted_buyer: '#/components/schemas/RenewalAcceptedBuyerEmailProps' renewal_accepted_seller: '#/components/schemas/RenewalAcceptedSellerEmailProps' renewal_upcoming_buyer: '#/components/schemas/RenewalUpcomingBuyerEmailProps' renewal_upcoming_seller: '#/components/schemas/RenewalUpcomingSellerEmailProps' subscription_renewed_buyer: '#/components/schemas/SubscriptionRenewedBuyerEmailProps' subscription_renewed_seller: '#/components/schemas/SubscriptionRenewedSellerEmailProps' payment_receipt_buyer: '#/components/schemas/PaymentReceiptBuyerEmailProps' contract_confirmation_buyer: '#/components/schemas/ContractConfirmationBuyerEmailProps' contract_confirmation_seller: '#/components/schemas/ContractConfirmationSellerEmailProps' auto_renewal_reminder_buyer: '#/components/schemas/AutoRenewalReminderBuyerEmailProps' invoice_buyer: '#/components/schemas/InvoiceForNonManagedProps' items_date_truncated_seller: '#/components/schemas/ItemsDateTruncatedEmailProps' items_date_cleared_seller: '#/components/schemas/ItemsDateClearedEmailProps' InviteEmailProps: required: - documentUrl - emailKey - inviter - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: inviter: $ref: '#/components/schemas/UserEventSummary' sellerName: type: string documentUrl: type: string InvoiceForNonManagedProps: required: - contractItems - dueDate - emailKey - invoiceDate - invoiceNumber - paid - remaining - sellerName - totalDue type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: contractItems: type: array items: $ref: '#/components/schemas/EmailLineItem' subtotal: $ref: '#/components/schemas/Money' taxAmount: $ref: '#/components/schemas/Money' totalDue: $ref: '#/components/schemas/Money' paid: $ref: '#/components/schemas/Money' remaining: $ref: '#/components/schemas/Money' paymentInstructions: type: string sellerName: type: string invoiceDate: type: string format: date dueDate: type: string format: date invoiceNumber: type: string ItemsDateClearedEmailProps: required: - buyerName - emailKey - itemNames - proposalEffectiveStartDate - proposalLink - proposalNumber - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string buyerName: type: string proposalLink: type: string proposalNumber: type: string itemNames: type: array items: type: string proposalEffectiveStartDate: type: string format: date ItemsDateTruncatedEmailProps: required: - buyerName - emailKey - itemNames - proposalEffectiveStartDate - proposalLink - proposalNumber - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string buyerName: type: string proposalLink: type: string proposalNumber: type: string itemNames: type: array items: type: string proposalEffectiveStartDate: type: string format: date NegativeChargeEmailProps: required: - buyerName - contractNumber - documentUrl - emailKey - negativeChargeAmount - scheduledDate type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: negativeChargeAmount: $ref: '#/components/schemas/Money' buyerName: type: string scheduledDate: type: string format: date contractNumber: type: string documentUrl: type: string Notification: required: - from - id - orgId - orgName - processedAt - recipients - success - type type: object properties: id: type: string format: uuid orgId: $ref: '#/components/schemas/OrgId' orgName: type: string emailKey: type: string enum: - otp_created - approval - auto_renewal_reminder_buyer - billing_invite - billing_method_updated_buyer - billing_method_updated_seller - change_accepted_buyer - change_accepted_seller - contract_confirmation_buyer - contract_confirmation_seller - invite_created - negative_charge - payment_error_buyer - payment_error_seller - payment_receipt_buyer - renewal_accepted_buyer - renewal_accepted_seller - renewal_upcoming_buyer - renewal_upcoming_seller - subscription_renewed_buyer - subscription_renewed_seller - invoice_pdf - invoice_buyer - billing_method_verification_buyer - items_date_truncated_seller - items_date_cleared_seller type: type: string enum: - email recipients: type: array items: type: string emailAlias: type: string from: type: string subject: type: string success: type: boolean processedAt: type: string format: date-time errorMessage: type: string OtpEmailProps: required: - documentUrl - emailKey - otp - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: otp: type: string sellerName: type: string documentUrl: type: string PaymentErrorBuyerEmailProps: required: - contractNumber - emailKey - invoiceNumber - reason - sellerName - transferEventEmailProps type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: transferEventEmailProps: $ref: '#/components/schemas/TransferEventEmailProps' sellerName: type: string reason: type: string enum: - declined - invalid_account - insufficient_funds - flagged_account - invalid_address - requires_buyer_approval - transaction_failure - region_not_supported - other contractNumber: type: string invoiceNumber: type: string PaymentErrorSellerEmailProps: required: - buyerName - contractNumber - emailKey - invoiceNumber - reason - transferEventEmailProps type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: transferEventEmailProps: $ref: '#/components/schemas/TransferEventEmailProps' buyerName: type: string reason: type: string enum: - declined - invalid_account - insufficient_funds - flagged_account - invalid_address - requires_buyer_approval - transaction_failure - region_not_supported - other contractNumber: type: string invoiceNumber: type: string PaymentReceiptBuyerEmailProps: required: - buyerName - currency - emailKey - paymentType - processedAt - totalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: subtotal: $ref: '#/components/schemas/Money' taxAmount: $ref: '#/components/schemas/Money' totalAmount: $ref: '#/components/schemas/Money' processedAt: type: string format: date paymentTerms: type: string currency: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual billingAddress: $ref: '#/components/schemas/AddressRest' paidAmount: type: integer format: int64 balanceAmount: type: integer format: int64 paidItems: type: array items: $ref: '#/components/schemas/SimplePaidItem' buyerName: type: string billToName: type: string billToBillingAddress: $ref: '#/components/schemas/AddressRest' ProposalContext: required: - baseAmount - buyerName - createdAt - currency - effectiveStartDate - hideDiscounts - proposalItems - proposalNumber - proposalType - sellerLink - showTotalContractValue - termQty - termType - totalAmount type: object properties: proposalNumber: type: string effectiveStartDate: type: string format: date paymentTerms: type: string totalAmount: $ref: '#/components/schemas/Money' baseAmount: $ref: '#/components/schemas/Money' discount: $ref: '#/components/schemas/Money' currency: type: string buyerName: type: string proposalType: type: string enum: - initial - change - renewal - template createdAt: type: string format: date-time expiresAt: type: string format: date termQty: type: integer format: int32 termType: type: string enum: - month - quarter - year proposalItems: type: array items: $ref: '#/components/schemas/EmailLineItem' sellerLink: type: string checkoutLink: type: string hideDiscounts: type: boolean showTotalContractValue: type: boolean RenewalAcceptedBuyerEmailProps: required: - emailKey - proposalContext - sellerName type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string proposalContext: $ref: '#/components/schemas/ProposalContext' RenewalAcceptedSellerEmailProps: required: - emailKey - proposalContext type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: proposalContext: $ref: '#/components/schemas/ProposalContext' RenewalUpcomingBuyerEmailProps: required: - baseAmount - currency - documentUrl - emailKey - endDate - sellerName - shouldHideTotal - totalAmount - totalDiscount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string paymentTerms: type: string currency: type: string documentUrl: type: string baseAmount: $ref: '#/components/schemas/Money' shouldHideTotal: type: boolean endDate: type: string format: date totalAmount: $ref: '#/components/schemas/Money' totalDiscount: $ref: '#/components/schemas/Money' RenewalUpcomingSellerEmailProps: required: - baseAmount - buyerName - currency - documentUrl - emailKey - endDate - totalAmount - totalDiscount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: buyerName: type: string paymentTerms: type: string currency: type: string documentUrl: type: string baseAmount: $ref: '#/components/schemas/Money' endDate: type: string format: date totalAmount: $ref: '#/components/schemas/Money' totalDiscount: $ref: '#/components/schemas/Money' SimplePaidItem: type: object properties: name: type: string amountPaid: $ref: '#/components/schemas/Money' quantity: type: number SubscriptionRenewedBuyerEmailProps: required: - currency - documentUrl - emailKey - sellerName - totalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: sellerName: type: string paymentTerms: type: string currency: type: string documentUrl: type: string totalAmount: $ref: '#/components/schemas/Money' SubscriptionRenewedSellerEmailProps: required: - buyerName - currency - documentUrl - emailKey - totalAmount type: object allOf: - $ref: '#/components/schemas/EmailProps' - type: object properties: buyerName: type: string paymentTerms: type: string currency: type: string documentUrl: type: string totalAmount: $ref: '#/components/schemas/Money' TransferEventEmailProps: required: - amount - processedAt type: object properties: amount: $ref: '#/components/schemas/Money' processedAt: type: string format: date-time UserEventSummary: required: - firstName - id - lastName - username type: object properties: id: type: string format: uuid firstName: type: string lastName: type: string username: type: string NotificationRequest: type: object properties: notificationType: type: string enum: - email notificationId: type: string format: uuid UpdateInvoiceRequest: type: object properties: status: type: string enum: - draft - open - paid - past_due - voided purchaseOrderNumber: type: string archived: type: boolean PaymentUpdateRequest: required: - amount - paymentDate type: object properties: paymentDate: type: string format: date-time amount: type: integer format: int64 externalId: type: string reason: type: string Organization: required: - defaultCurrency - domainName - flowDomain - status type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true domainName: type: string name: type: string internalName: type: string flowDomain: type: string options: type: string status: type: string enum: - pending - active - inactive deletedAt: type: string format: date-time defaultCurrency: type: string active: type: boolean orgId: $ref: '#/components/schemas/OrgId' JobDescription: type: object properties: jobName: type: string jobType: type: string enum: - migration - refresh OrganizationAccountRequest: type: object properties: name: type: string fundingAccount: $ref: '#/components/schemas/Account' PayoutTransfer: type: object properties: payoutEvent: $ref: '#/components/schemas/TransferEvent' externalIds: type: array items: type: string TransferEvent: required: - amount - currency - processedAt - processor - status type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string reason: type: string processedAt: type: string format: date-time referenceNumber: type: string externalId: type: string currency: type: string amount: type: integer format: int64 paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual transfer: $ref: '#/components/schemas/Transfer' status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted processor: type: string enum: - plaid - stripe - manual processorCode: type: string correlationRef: type: string instanceRef: type: string transferReference: $ref: '#/components/schemas/ObjectReference' amountFormatted: type: string Refund: required: - amount - amountFormatted - createdAt - id - processDate - status - transfer - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string sources: type: array items: $ref: '#/components/schemas/ExternalSource' amount: type: integer format: int64 amountFormatted: type: string processDate: type: string format: date status: type: string enum: - pending - in_progress - posted - failed - cancelled - reversed transferStatus: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted transfer: $ref: '#/components/schemas/Transfer' customer: $ref: '#/components/schemas/Customer' note: type: string lastSyncEvent: $ref: '#/components/schemas/SyncEvent' CreateRefundRequest: required: - amount - processDate - transferId type: object properties: processDate: type: string format: date amount: type: integer format: int64 transferId: type: string format: uuid note: maxLength: 255 minLength: 0 type: string UserEmail: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true email: type: string status: type: string enum: - pending - active - inactive user: $ref: '#/components/schemas/User' UserProfile: type: object properties: user: $ref: '#/components/schemas/User' roleType: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer invite: type: boolean emails: type: array items: $ref: '#/components/schemas/UserEmail' ForceAccount: type: object properties: Id: type: string Name: type: string BillingStreet: type: string BillingCity: type: string BillingState: type: string BillingCountry: type: string BillingPostalCode: type: string ShippingStreet: type: string ShippingCity: type: string ShippingState: type: string ShippingCountry: type: string ShippingPostalCode: type: string CurrencyIsoCode: type: string OwnerId: type: string ForceOpportunity: type: object properties: Id: type: string Name: type: string Amount: type: number format: double StageName: type: string Account: $ref: '#/components/schemas/ForceAccount' AccountId: type: string HasOpportunityLineItem: type: boolean Pricebook2Id: type: string CurrencyIsoCode: type: string CloseDate: type: string format: date OwnerId: type: string SsoProvider: required: - enabled - id - path type: object properties: id: type: string path: type: string enabled: type: boolean CheckoutPaymentMethod: type: object properties: id: type: string format: uuid name: type: string description: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual customText: type: string configuration: type: object additionalProperties: type: object CheckoutPdfData: required: - checkoutUrl - companyInfo - paymentMethods - proposal - subdomain - timezone type: object properties: subdomain: type: string checkoutUrl: type: string timezone: type: string proposal: $ref: '#/components/schemas/Proposal' companyInfo: $ref: '#/components/schemas/CompanyInfo' paymentMethods: type: array items: $ref: '#/components/schemas/CheckoutPaymentMethod' companyLogo: type: string contract: $ref: '#/components/schemas/Contract' signature: $ref: '#/components/schemas/Signature' itemDeltaSpans: type: array items: $ref: '#/components/schemas/ItemDeltaSpansResponse' ItemDeltaSpansResponse: required: - item - spans type: object properties: item: $ref: '#/components/schemas/Item' spans: type: array items: $ref: '#/components/schemas/LineItemSpan' Signature: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string title: type: string signatureImageData: type: string userId: type: string format: uuid SsrRenderEmailRequest: required: - branding - emailProps - isBrandingEnabled - sellerName type: object properties: emailProps: $ref: '#/components/schemas/EmailProps' branding: type: object additionalProperties: type: object isBrandingEnabled: type: boolean sellerName: type: string logoUrl: type: string address: $ref: '#/components/schemas/Address' tin: type: string InvoiceConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: sendInvoiceEmailNonManaged: type: boolean sendInvoiceEmailManaged: type: boolean attachPdfToInvoiceEmailNonManaged: type: boolean attachPdfToInvoiceEmailManaged: type: boolean sendPaymentReceiptEmailNonManaged: type: boolean attachPdfToPaymentReceiptNonManaged: type: boolean sendPaymentReceiptEmailManaged: type: boolean attachPdfToPaymentReceiptManaged: type: boolean paymentInfo: type: string invoicePrefix: type: string showInvoiceBalances: type: boolean showPaymentTransactions: type: boolean invoiceInAdvanceEnabled: type: boolean invoiceInAdvanceProposalDefault: type: boolean invoiceInAdvanceDays: type: integer format: int32 invoiceInAdvanceDateOption: type: string enum: - advance_date - billing_period_start_date currentDateForBackdatedInvoices: type: boolean proratingType: type: string deprecated: true enum: - daily - monthly InvoicePdfData: required: - invoiceDetail - type type: object allOf: - $ref: '#/components/schemas/PdfData' - type: object properties: invoiceDetail: $ref: '#/components/schemas/InvoiceDetail' tin: type: string invoiceConfig: $ref: '#/components/schemas/InvoiceConfig' PdfData: title: PdfProps required: - type type: object properties: type: type: string enum: - otp_created - approval - auto_renewal_reminder_buyer - billing_invite - billing_method_updated_buyer - billing_method_updated_seller - change_accepted_buyer - change_accepted_seller - contract_confirmation_buyer - contract_confirmation_seller - invite_created - negative_charge - payment_error_buyer - payment_error_seller - payment_receipt_buyer - renewal_accepted_buyer - renewal_accepted_seller - renewal_upcoming_buyer - renewal_upcoming_seller - subscription_renewed_buyer - subscription_renewed_seller - invoice_pdf - invoice_buyer - billing_method_verification_buyer - items_date_truncated_seller - items_date_cleared_seller discriminator: propertyName: type mapping: invoice_pdf: '#/components/schemas/PdfData' SsrRenderPdfRequest: required: - branding - data - isBrandingEnabled - sellerName type: object properties: data: $ref: '#/components/schemas/PdfData' branding: type: object additionalProperties: type: object isBrandingEnabled: type: boolean sellerName: type: string logoUrl: type: string address: $ref: '#/components/schemas/Address' tin: type: string isEnhancedSpan: type: boolean SsrHtmlResponse: required: - success type: object properties: html: type: string success: type: boolean error: type: string Status: type: object properties: name: type: string version: type: string profiles: type: array items: type: string branch: type: string sha: type: string runId: type: string runNumber: type: string fullProperty: type: string error: type: string buildTime: type: string format: date-time startTime: type: string format: date-time features: type: object additionalProperties: type: boolean maintenance: type: boolean orgFeatures: type: object additionalProperties: type: boolean TaxCodeRest: required: - code - description type: object properties: code: type: string description: type: string CreateTaxCodeRequest: required: - code - description type: object properties: code: type: string description: type: string UpdateTaxCodeRequest: required: - description type: object properties: description: type: string Transaction: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time processedAt: type: string format: date-time currency: type: string amount: type: integer format: int64 status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted type: type: string enum: - DEBIT - CREDIT processor: type: string enum: - plaid - stripe - manual fromAccount: $ref: '#/components/schemas/Account' toAccount: $ref: '#/components/schemas/Account' paymentMethod: $ref: '#/components/schemas/PaymentMethod' reason: type: string referenceId: type: string format: uuid deprecated: true altReferenceId: type: string format: uuid deprecated: true referenceType: type: string deprecated: true enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user statementDate: type: string format: date toName: type: string fromName: type: string parentId: type: string format: uuid category: type: string enum: - FEE - PAYMENT - PAYOUT - REFUND - ADJUSTMENT referenceNumber: type: string externalId: type: string amountFormatted: type: string TransferSummaryRest: type: object properties: id: type: string format: uuid currency: type: string amount: type: integer format: int64 status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted processor: type: string enum: - plaid - stripe - manual type: type: string enum: - DEBIT - CREDIT paymentMethod: $ref: '#/components/schemas/PaymentMethod' category: type: string enum: - FEE - PAYMENT - PAYOUT - REFUND - ADJUSTMENT referenceId: type: string format: uuid deprecated: true createdAt: type: string format: date-time referenceType: type: string deprecated: true enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user processedAt: type: string format: date-time fromAccount: $ref: '#/components/schemas/Account' altReferenceId: type: string format: uuid toAccount: $ref: '#/components/schemas/Account' statementDate: type: string format: date companyName: type: string invoiceNumber: type: string amountFormatted: type: string AccountSource: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true itemId: type: string sourceId: type: string sourceStatus: type: string sourceToken: type: string accountSource: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout accountId: type: string format: uuid vaultItemToken: type: string ConnectedEntitySource: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true sourceId: type: string sourceStatus: type: string sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout data: type: object additionalProperties: type: object referenceKey: $ref: '#/components/schemas/ReferenceKey' referenceDeletedAt: type: string format: date-time TransferRequest: type: object properties: requestId: type: string externalId: type: string externalSource: type: string enum: - plaid - stripe - manual paymentMethod: $ref: '#/components/schemas/PaymentMethod' transferId: type: string format: uuid orgId: type: string format: uuid referenceId: type: string format: uuid referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user toAccountId: type: string format: uuid fromAccountId: type: string format: uuid toLegalName: type: string fromLegalName: type: string currency: type: string amount: type: integer format: int64 status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted type: type: string enum: - DEBIT - CREDIT toAccountSources: type: array items: $ref: '#/components/schemas/AccountSource' fromAccountSources: type: array items: $ref: '#/components/schemas/AccountSource' toCustomerSources: type: array items: $ref: '#/components/schemas/ConnectedEntitySource' fromCustomerSources: type: array items: $ref: '#/components/schemas/ConnectedEntitySource' paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual parentExternalId: type: string CheckoutProposalRequest: type: object properties: referenceId: type: string format: uuid contact: $ref: '#/components/schemas/CreateContactRequest' customer: $ref: '#/components/schemas/CustomerRequest' content: type: string BillingMethodRequest: type: object properties: plaidAccounts: $ref: '#/components/schemas/CreateAccountsWithPlaidRequest' stripeAccounts: $ref: '#/components/schemas/CreateAccountsWithStripeRequest' manualRequest: $ref: '#/components/schemas/CreateAccountsWithManualRequest' virtualAccount: $ref: '#/components/schemas/VirtualAccount' paymentMethodId: type: string format: uuid CreateAccountsWithManualRequest: type: object properties: institutionName: type: string legalName: type: string name: type: string type: type: string enum: - depository - credit - manual - external subtype: type: string currency: type: string ownerType: type: string routingNumber: type: string accountNumber: type: string wireNumber: type: string CreateAccountsWithStripeRequest: type: object properties: customerId: type: string paymentMethodId: type: string authorizeAmount: type: integer format: int64 VirtualAccount: type: object properties: name: type: string CreateContractRequest: type: object properties: proposalId: type: string format: uuid contactId: type: string format: uuid paymentMethod: $ref: '#/components/schemas/BillingMethodRequest' status: type: string enum: - active - paused - cancelled - ended ContractUsageSummary: required: - billingPeriod - buyer - contractNumber - currency - id - name - status type: object properties: id: type: string format: uuid name: type: string contractNumber: type: string status: type: string enum: - active - paused - cancelled - ended currency: type: string billingMethod: $ref: '#/components/schemas/BillingMethod' billingPeriod: type: string enum: - month - quarter - halfyear - year buyer: $ref: '#/components/schemas/Customer' currentUsageSchedule: $ref: '#/components/schemas/BillingSchedule' UpdateContractRequest: type: object properties: status: type: string enum: - active - paused - cancelled - ended purchaseOrderNumber: type: string UpdateIssueDatesRequest: type: object properties: gracePeriod: type: integer format: int32 gracePeriodIsSet: type: boolean SelfServiceChangeProposalRequest: type: object properties: productId: type: string format: uuid quantity: type: number addonProductIds: type: array items: type: string format: uuid SelfServiceOptions: type: object properties: products: type: array items: $ref: '#/components/schemas/Product' addons: type: array items: $ref: '#/components/schemas/Product' AttachmentConfig: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true type: type: string enum: - document - link document: $ref: '#/components/schemas/Document' documentId: type: string format: uuid inEnvelope: type: boolean name: type: string linkUrl: type: string autoAdd: type: boolean MetabaseResponse: required: - token type: object properties: token: type: string dashboardHome: type: string MetabaseRequest: type: object properties: username: type: string firstName: type: string lastName: type: string orgId: type: string format: uuid dashboard: type: integer format: int32 question: type: integer format: int32 ItemIntervalMetrics: required: - arr - billingPeriod - contractId - createdAt - endDate - id - itemId - listTcv - mrr - product - recurrence - rootProductId - startDate - tcv - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string contractId: type: string format: uuid itemId: type: string format: uuid rootProductId: type: string format: uuid product: $ref: '#/components/schemas/Product' billingPeriod: type: string enum: - month - quarter - halfyear - year recurrence: type: string enum: - one_time - recurring - usage startDate: type: string format: date endDate: type: string format: date quantity: type: number tcv: $ref: '#/components/schemas/Money' listTcv: $ref: '#/components/schemas/Money' arr: $ref: '#/components/schemas/Money' mrr: $ref: '#/components/schemas/Money' ItemMetrics: required: - acv - contractId - createdAt - deltaAcv - deltaTcv - effectiveDate - id - product - proposal - rootProductId - tcv - termEndDate - termStartDate - updatedAt type: object properties: id: type: string format: uuid createdAt: type: string format: date-time createdBy: type: string updatedAt: type: string format: date-time updatedBy: type: string contractId: type: string format: uuid rootProductId: type: string format: uuid product: $ref: '#/components/schemas/Product' proposal: $ref: '#/components/schemas/Proposal' effectiveDate: type: string format: date termStartDate: type: string format: date termEndDate: type: string format: date acv: $ref: '#/components/schemas/Money' tcv: $ref: '#/components/schemas/Money' deltaAcv: $ref: '#/components/schemas/Money' deltaTcv: $ref: '#/components/schemas/Money' BundleItemRequest: type: object properties: productId: type: string format: uuid quantity: type: number bundlePercent: type: integer format: int32 name: type: string description: type: string LevelRequest: type: object properties: start: type: integer format: int32 PricebookEntryRequest: type: object properties: billingPeriod: type: string enum: - month - quarter - halfyear - year level: type: integer format: int32 price: $ref: '#/components/schemas/Money' ProductRequest: type: object properties: productType: type: string enum: - single - bundleTopDown - bundleBottomUp name: type: string internalName: type: string description: type: string recurrence: type: string enum: - one_time - recurring - usage pricing: type: string enum: - fixed - graduated - stairstep - volume consumption: type: string enum: - single - multiple billing: type: string enum: - scheduled - fixed status: type: string enum: - active - inactive unitId: type: string format: uuid customizable: type: boolean descriptionCustomizable: type: boolean nameCustomizable: type: boolean discountable: type: boolean listPriceAdjustable: type: boolean displayQuantityOnInvoicePdf: type: boolean extendedScale: type: boolean showProductsOnInvoice: type: boolean showProductPricesOnInvoice: type: boolean showProductsOnProposal: type: boolean entries: type: array items: $ref: '#/components/schemas/PricebookEntryRequest' taxConfig: $ref: '#/components/schemas/ProductTaxConfigRequest' levels: type: array items: $ref: '#/components/schemas/LevelRequest' bundleItems: type: array items: $ref: '#/components/schemas/BundleItemRequest' billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year currencies: type: array items: type: string ProductTaxConfigRequest: type: object properties: taxMode: type: string enum: - inclusive - exclusive taxCode: type: string PricebookEntryChange: type: object properties: changeType: type: string enum: - modify - remove - add billingPeriod: type: string enum: - month - quarter - halfyear - year currency: type: object properties: currencyCode: type: string defaultFractionDigits: type: integer format: int32 numericCode: type: integer format: int32 displayName: type: string symbol: type: string numericCodeAsString: type: string level: type: integer format: int32 ProductUpgrade: required: - changedFields - productId - upgrade type: object properties: productId: type: string format: uuid upgrade: $ref: '#/components/schemas/Product' changedFields: type: array items: type: string entryChanges: type: array items: $ref: '#/components/schemas/PricebookEntryChange' ProductStats: required: - anyVersionBundleCount - anyVersionProposalCount - bundleCount - proposalCount type: object properties: proposalCount: type: integer format: int32 bundleCount: type: integer format: int32 anyVersionProposalCount: type: integer format: int32 anyVersionBundleCount: type: integer format: int32 ProductSummary: type: object properties: id: type: string format: uuid rootId: type: string format: uuid name: type: string internalName: type: string productType: type: string enum: - single - bundleTopDown - bundleBottomUp recurrence: type: string enum: - one_time - recurring - usage pricing: type: string enum: - fixed - graduated - stairstep - volume consumption: type: string enum: - single - multiple billing: type: string enum: - scheduled - fixed updatedAt: type: string format: date-time updatedBy: type: string user: $ref: '#/components/schemas/PersonSummary' subscriptionCount: type: integer format: int64 status: type: string enum: - active - inactive currencies: type: array items: type: string billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year TokenResponse: type: object properties: token: type: string actorType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user orgId: type: string userId: type: string redirectUrl: type: string role: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer Identity: type: object properties: id: type: string format: uuid username: type: string identityType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user firstName: type: string lastName: type: string Profile: required: - role type: object properties: user: $ref: '#/components/schemas/User' organizationId: type: string format: uuid domain: type: string organizationName: type: string flowDomain: type: string organizationDefaultCurrency: type: string referenceSet: $ref: '#/components/schemas/ReferenceSet' identity: $ref: '#/components/schemas/Identity' groups: type: array items: $ref: '#/components/schemas/Group' role: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer referenceTypes: type: array items: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user isSysAdmin: type: boolean Reference: type: object properties: type: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user ids: uniqueItems: true type: array items: type: string format: uuid actions: uniqueItems: true type: array items: type: string enum: - none - read - create - update - delete - sign - planset_selection - invite_contact - billing_information - billing_payment - accept ReferenceSet: type: object properties: references: uniqueItems: true type: array items: $ref: '#/components/schemas/Reference' ItemScheduleLevelRequest: type: object properties: price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' description: Level price and discount info. Required for tiered products. ItemScheduleRequest: type: object properties: id: type: string description: ID used to reference an existing schedule in bulk requests. format: uuid billingPeriod: type: string enum: - month - quarter - halfyear - year productId: type: string description: Product id for a specific version of the product. Must have the same root as the parent Item. format: uuid startIndex: type: integer description: Start at regular payment index. Used for relative dates to the start date. format: int32 endIndex: type: integer description: Inclusive end at regular payment index. Used for relative dates to the start date. format: int32 price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' quantity: type: number description: Quantity discount: type: boolean description: Indicates whether the price should be considered a discount. May not be true if price is higher than listPrice. levels: type: array description: Level price and discount info. Required for tiered products. items: $ref: '#/components/schemas/ItemScheduleLevelRequest' ItemLevelOverrideRequest: required: - level - price type: object properties: price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' level: type: integer format: int32 ItemLevelRequest: type: object properties: visibilityOverride: type: boolean start: type: integer format: int32 ItemOverrideRequest: required: - discount type: object properties: price: $ref: '#/components/schemas/Money' listPrice: $ref: '#/components/schemas/Money' discount: type: boolean billingPeriod: type: string enum: - month - quarter - halfyear - year startIndex: type: integer format: int32 duration: type: integer format: int32 levels: type: array items: $ref: '#/components/schemas/ItemLevelOverrideRequest' ProposalItemRequest: type: object properties: id: type: string format: uuid name: type: string description: type: string startDate: type: string format: date endDate: type: string format: date quantity: type: number productId: type: string format: uuid quantityOverrides: type: array deprecated: true items: $ref: '#/components/schemas/QuantityOverride' overrides: type: array deprecated: true items: $ref: '#/components/schemas/ItemOverrideRequest' levels: type: array items: $ref: '#/components/schemas/ItemLevelRequest' schedules: type: array items: $ref: '#/components/schemas/ItemScheduleRequest' levelVisibility: type: string enum: - all - active - active_plus_one - active_plus_three - active_plus_prior_next - active_plus_prior_next_three AcceptRequest: type: object properties: billingMethodRequest: $ref: '#/components/schemas/BillingMethodRequest' AddressRequest: required: - city - country - postalCode - region - streetAddress type: object properties: streetAddress: type: string subAddress: type: string otherAddress: type: string city: type: string region: type: string postalCode: type: string country: type: string OrgRequest: type: object properties: orgId: type: string format: uuid StripePaymentIntentResponse: type: object properties: clientSecret: type: string id: type: string customerId: type: string CreateProposalRequest: type: object properties: source: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout externalId: type: string defaultBillingPeriod: type: string enum: - month - quarter - halfyear - year name: maxLength: 255 minLength: 0 type: string description: maxLength: 255 minLength: 0 type: string proposalType: type: string enum: - initial - change - renewal - template startDate: type: string format: date expiresAt: type: string format: date proposalNumber: type: string contactIds: type: array items: type: string format: uuid proposalItems: type: array items: $ref: '#/components/schemas/ProposalItemRequest' contacts: type: array items: $ref: '#/components/schemas/CreateContactRequest' termType: type: string enum: - month - quarter - year termQty: type: integer format: int32 freeMonths: type: integer format: int32 status: type: string enum: - draft - pending_approval - approved - schedule_selection - payment_selection - active - pending_renewal - accepted - expired - cancelled - deleted customTerms: type: string customerId: type: string format: uuid customer: $ref: '#/components/schemas/CustomerRequest' billToId: type: string format: uuid shipFromId: type: string format: uuid options: type: object additionalProperties: type: boolean attachments: type: array items: $ref: '#/components/schemas/ProposalAttachment' paymentTermType: type: string enum: - net_15 - net_30 - net_45 - net_60 - net_75 - net_90 - upon_receipt - end_of_month - on_15th ownerId: type: string format: uuid billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year currency: type: string autoRenewable: type: boolean autoRenewalTermLength: type: integer format: int32 externalSource: $ref: '#/components/schemas/ExternalSource' purchaseOrderNumber: type: string RenewalConfigurationRequest: type: object properties: termLengthMonths: type: integer format: int32 renewalClause: type: string priceIncrease: type: number cancellationDeadlineDays: type: integer format: int32 SigningDocumentCreateRequest: type: object properties: provider: type: string enum: - docusign signingContactId: type: string format: uuid signingContact: $ref: '#/components/schemas/CreateContactRequest' ApprovalRequest: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true proposalId: type: string format: uuid requester: $ref: '#/components/schemas/User' status: type: string readOnly: true enum: - pending - approved - rejected - canceled strategy: type: string enum: - any message: type: string approvers: type: array items: $ref: '#/components/schemas/Approver' actions: type: array readOnly: true items: $ref: '#/components/schemas/ApprovalAction' rules: type: array items: $ref: '#/components/schemas/ApprovalRuleSummary' Approver: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string userId: type: string format: uuid groupId: type: string format: uuid ApprovalRequirements: type: object properties: requiresApproval: type: boolean currentStatus: type: string enum: - pending - approved - rejected - canceled ruleResults: type: array items: $ref: '#/components/schemas/ApprovalRuleResult' ApprovalRuleResult: type: object properties: id: type: string format: uuid name: type: string description: type: string ruleType: type: string enum: - proposalAmountDecrease - proposalAmount - proposalAttachments - proposalAutoRenewal - proposalBillingPeriods - proposalCountry - proposalCustom - proposalCustomTerms - proposalDiscountPercent - proposalDocusign - proposalDuplicateProducts - proposalExternalCrm - proposalFreeMonths - proposalItemQuantity - proposalPaymentTerms - proposalProductDiscountPercent - proposalProducts - proposalTermLength required: type: boolean groups: type: array items: type: string format: uuid SigningDocumentViewResponse: type: object properties: url: type: string PaymentMethodInitResponse: type: object properties: clientSecret: type: string id: type: string customerId: type: string ProposalApprovalRequest: type: object properties: message: type: string RequestNewProposalRequest: type: object properties: message: type: string BuyerProposalRequest: type: object properties: paymentScheduleId: type: string format: uuid purchaseOrderNumber: type: string CoverLetterRequest: type: object properties: generateLetter: type: boolean deprecated: true action: type: string enum: - enhance - generate - save coverLetter: type: string additionalPrompt: type: string BuyerUpdateCustomerRequest: type: object properties: name: type: string tin: type: string taxUseCode: type: string enum: - A - B - C - D - E - F - G - H - I - J - K - L - M - N - P - Q - R billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' billingContact: $ref: '#/components/schemas/CreateContactRequest' taxExempt: type: boolean VerifyAddressResponse: required: - originalAddress type: object properties: originalAddress: $ref: '#/components/schemas/AddressRest' verifiedAddress: $ref: '#/components/schemas/AddressRest' couldNotBeVerified: type: boolean badCountry: type: boolean wasSaved: type: boolean ProposalTemplateSummary: type: object properties: id: type: string format: uuid orgId: $ref: '#/components/schemas/OrgId' name: type: string amount: type: integer format: int64 proposalNumber: type: string createdBy: type: string termType: type: string enum: - month - quarter - year termQty: type: integer format: int32 updatedAt: type: string format: date-time status: type: string enum: - draft - pending_approval - approved - schedule_selection - payment_selection - active - pending_renewal - accepted - expired - cancelled - deleted owner: $ref: '#/components/schemas/PersonSummary' ContentTemplate: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true content: type: string cssUrl: type: string referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user eventType: type: string enum: - approval_updated - billing_schedule_updated - force_sync_billing_schedule - contact_updated - contract_updated - customer_updated - invite_created - negative_charge - otp_created - proposal_request_new - proposal_unviewable - proposal_updated - product_created - statement_posted - transfer_completed - contract_reminder - invoice_status_changed - billing_method_verification_buyer - sync_error_event - items_date_truncated - items_date_cleared Currency: required: - active - code - reportExchangeRate type: object properties: createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true active: type: boolean code: type: string reportExchangeRate: type: integer format: int64 symbol: type: string defaultScale: type: integer format: int32 extendedScale: type: integer format: int32 CurrencyListing: required: - code - defaultScale - description - extendedScale - symbol type: object properties: code: type: string description: type: string symbol: type: string defaultScale: type: integer format: int32 extendedScale: type: integer format: int32 ApiToken: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true token: type: string name: type: string prefix: type: string writeOnly: true ApiWebhook: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true eventType: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted status: type: string enum: - pending - active - inactive name: type: string url: type: string CreateApiWebhookRequest: required: - eventType - name - url type: object properties: eventType: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted name: type: string url: type: string WebHookData: title: WebHook event data type: object properties: id: type: string format: uuid updatedAt: type: string format: date-time WebHookEvent: type: object properties: orgId: type: string format: uuid id: type: string format: uuid eventType: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user fields: $ref: '#/components/schemas/WebHookData' WebhookResult: type: object properties: createdAt: type: string format: date-time referenceId: type: string format: uuid referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user status: type: string enum: - sent - failed id: type: string format: uuid eventType: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted result: type: string request: $ref: '#/components/schemas/WebHookEvent' UpdateApiWebhookRequest: type: object properties: name: type: string url: type: string DocusignUser: type: object properties: username: type: string DocusignAccount: required: - userId type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true userId: type: string HMACKey: type: string writeOnly: true hmackey: type: string hasHMACKey: type: boolean readOnly: true DocusignEnvelopeQuota: required: - blocked - sent - unlimitedQuota type: object properties: allowed: type: integer format: int32 sent: type: integer format: int32 blocked: type: boolean unlimitedQuota: type: boolean SystemEvent: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true type: type: string enum: - scheduled_job - event_task - migration status: type: string enum: - notready - success - failed name: type: string reason: type: string log: type: string correlationRef: type: string instanceRef: type: string Invite: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true email: type: string code: type: string status: type: string enum: - pending - active - inactive expiresAt: type: string format: date-time source: type: string group: $ref: '#/components/schemas/Group' InviteRequest: type: object properties: email: type: string type: type: string enum: - anonymous - auth_identity - system - admin - user - observer - sales - scope - api - buyer_guest - buyer_preview - buyer LocationRest: type: object properties: iso: type: string name: type: string customName: type: string ApprovableSummary: title: ApprovableSummary type: object properties: id: type: string format: uuid type: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user ownerName: type: string orgId: $ref: '#/components/schemas/OrgId' discriminator: propertyName: type mapping: proposal: '#/components/schemas/ProposalEventSummary' ApprovalActionSummary: type: object properties: id: type: string format: uuid userId: type: string format: uuid type: type: string enum: - approve - reject - cancel - comment message: type: string firstName: type: string lastName: type: string username: type: string ApprovalEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: approvable: $ref: '#/components/schemas/ApprovableSummary' approvalRequest: $ref: '#/components/schemas/ApprovalRequestEventSummary' approvalAction: $ref: '#/components/schemas/ApprovalActionSummary' approvers: type: array items: $ref: '#/components/schemas/UserEventSummary' ApprovalRequestEventSummary: type: object properties: id: type: string format: uuid status: type: string enum: - pending - approved - rejected - canceled message: type: string rules: type: array items: $ref: '#/components/schemas/ApprovalRuleSummary' requesterId: type: string format: uuid firstName: type: string lastName: type: string email: type: string username: type: string BillingMethodVerificationBuyerEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: customer: $ref: '#/components/schemas/Customer' accountId: type: string format: uuid verificationLink: type: string BillingScheduleUpdatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: billingSchedule: $ref: '#/components/schemas/BillingSchedule' ContactUpdatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: entityAction: type: string enum: - created - updated - deleted referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user id: type: string format: uuid ContractReminderEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: contract: $ref: '#/components/schemas/Contract' recipients: type: array items: type: string reminderText: type: string notificationEventType: type: string enum: - auto_renewal_reminder notificationType: type: string enum: - email acceptedProposalId: type: string format: uuid ContractUpdatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: contractEventType: type: string enum: - created - billing_added - billing_updated - created_change - created_renewal - accepted_change - accepted_renewal - renewal_applied - renewal_due - cancelled - archived - restored - updated - ended contract: $ref: '#/components/schemas/Contract' contact: $ref: '#/components/schemas/Contact' sellerEmail: type: string hideTotalAmount: type: boolean hideDiscounts: type: boolean proposalSummary: $ref: '#/components/schemas/ProposalEventSummary' proposalChanges: $ref: '#/components/schemas/ProposalChanges' CustomerUpdatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: entityAction: type: string enum: - created - updated - deleted referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user id: type: string format: uuid Event: title: Event type: object properties: eventType: type: string enum: - approval_updated - billing_schedule_updated - force_sync_billing_schedule - contact_updated - contract_updated - customer_updated - invite_created - negative_charge - otp_created - proposal_request_new - proposal_unviewable - proposal_updated - product_created - statement_posted - transfer_completed - contract_reminder - invoice_status_changed - billing_method_verification_buyer - sync_error_event - items_date_truncated - items_date_cleared orgId: type: string format: uuid notificationsEnabled: type: boolean webhooksEnabled: type: boolean correlationRef: type: string instanceRef: type: string notificationEventId: type: string format: uuid dedupeId: type: string groupId: type: string discriminator: propertyName: eventType mapping: proposal_updated: '#/components/schemas/ProposalUpdatedEvent' proposal_unviewable: '#/components/schemas/ProposalUnviewableEvent' proposal_request_new: '#/components/schemas/ProposalNewRequestEvent' contract_updated: '#/components/schemas/ContractUpdatedEvent' transfer_completed: '#/components/schemas/TransferCompletedEvent' otp_created: '#/components/schemas/OtpCreatedEvent' invite_created: '#/components/schemas/InviteCreatedEvent' invoice_status_changed: '#/components/schemas/InvoiceStatusChangeEvent' approval_updated: '#/components/schemas/ApprovalEvent' negative_charge: '#/components/schemas/NegativeChargeEvent' billing_schedule_updated: '#/components/schemas/BillingScheduleUpdatedEvent' statement_posted: '#/components/schemas/StatementPostedEvent' contact_updated: '#/components/schemas/ContactUpdatedEvent' customer_updated: '#/components/schemas/CustomerUpdatedEvent' contract_reminder: '#/components/schemas/ContractReminderEvent' billing_method_verification_buyer: '#/components/schemas/BillingMethodVerificationBuyerEvent' sync_error_event: '#/components/schemas/SyncErrorEvent' force_sync_billing_schedule: '#/components/schemas/ForceSyncBillingScheduleEvent' product_created: '#/components/schemas/ProductCreatedEvent' items_date_truncated: '#/components/schemas/ItemsDateTruncatedEvent' items_date_cleared: '#/components/schemas/ItemsDateClearedEvent' ForceSyncBillingScheduleEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: billingScheduleId: type: string format: uuid InviteCreatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: otpContext: $ref: '#/components/schemas/OtpContext' admin: $ref: '#/components/schemas/UserEventSummary' InvoiceStatusChangeEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: previousStatus: type: string enum: - draft - open - paid - past_due - voided currentStatus: type: string enum: - draft - open - paid - past_due - voided billingScheduleId: type: string format: uuid contractId: type: string format: uuid invoiceId: type: string format: uuid ItemsDateClearedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: proposalId: type: string format: uuid sellerEmail: type: string customerName: type: string itemNames: type: array items: type: string proposalEffectiveStartDate: type: string format: date proposalNumber: type: string ItemsDateTruncatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: proposalId: type: string format: uuid sellerEmail: type: string customerName: type: string itemNames: type: array items: type: string proposalEffectiveStartDate: type: string format: date proposalNumber: type: string NegativeChargeEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: proposal: $ref: '#/components/schemas/ObjectReference' contract: $ref: '#/components/schemas/ObjectReference' sellerEmail: type: string buyerName: type: string contractNumber: type: string amount: $ref: '#/components/schemas/Money' date: type: string format: date OtpContext: type: object properties: id: type: string code: type: string referenceKey: $ref: '#/components/schemas/ReferenceKey' email: type: string orgId: type: string format: uuid clientDomain: type: string OtpCreatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: otpContext: $ref: '#/components/schemas/OtpContext' ProductCreatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: entityAction: type: string enum: - created - updated - deleted referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user id: type: string format: uuid ProposalEventSummary: type: object allOf: - $ref: '#/components/schemas/ApprovableSummary' - type: object properties: proposalNumber: type: string name: type: string createdAt: type: string format: date-time expiresAt: type: string format: date termQty: type: integer format: int32 termType: type: string enum: - month - quarter - year amount: type: integer format: int64 baseAmount: type: integer format: int64 currency: type: string effectiveStartDate: type: string format: date proposalType: type: string enum: - initial - change - renewal - template paymentTerm: type: string enum: - net_15 - net_30 - net_45 - net_60 - net_75 - net_90 - upon_receipt - end_of_month - on_15th showTotalContractValue: type: boolean hideDiscounts: type: boolean proposalItems: type: array items: $ref: '#/components/schemas/Item' customer: $ref: '#/components/schemas/Customer' ProposalNewRequestEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: proposalEventType: type: string enum: - created - updated - archived - restore - activated - started - set_to_draft - contact_added - contact_removed - expired - cancelled - deleted - buyer_downloaded - buyer_printed - seller_downloaded - signing - viewed - unviewable_status - request_new - accepted - invited - created_signing_doc - cancelled_signing_doc - signed - buyer_updated - billing_method_added - renewal_pending - approval_requested - approval_approved - approval_rejected - approval_canceled - items_date_truncated - items_date_cleared sellerEmail: type: string contact: $ref: '#/components/schemas/Contact' message: type: string ProposalUnviewableEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: proposalEventType: type: string enum: - created - updated - archived - restore - activated - started - set_to_draft - contact_added - contact_removed - expired - cancelled - deleted - buyer_downloaded - buyer_printed - seller_downloaded - signing - viewed - unviewable_status - request_new - accepted - invited - created_signing_doc - cancelled_signing_doc - signed - buyer_updated - billing_method_added - renewal_pending - approval_requested - approval_approved - approval_rejected - approval_canceled - items_date_truncated - items_date_cleared proposalEventSummary: $ref: '#/components/schemas/ProposalEventSummary' sellerEmail: type: string contact: $ref: '#/components/schemas/Contact' ProposalUpdatedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: proposalId: type: string format: uuid proposalEventType: type: string enum: - created - updated - archived - restore - activated - started - set_to_draft - contact_added - contact_removed - expired - cancelled - deleted - buyer_downloaded - buyer_printed - seller_downloaded - signing - viewed - unviewable_status - request_new - accepted - invited - created_signing_doc - cancelled_signing_doc - signed - buyer_updated - billing_method_added - renewal_pending - approval_requested - approval_approved - approval_rejected - approval_canceled - items_date_truncated - items_date_cleared sellerEmail: type: string contact: $ref: '#/components/schemas/Contact' recipient: $ref: '#/components/schemas/Contact' customerId: type: string format: uuid customerName: type: string StatementPostedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: billingScheduleId: type: string format: uuid contractId: type: string format: uuid scheduleDate: type: string format: date invoiceId: type: string format: uuid invoiceStatus: type: string enum: - draft - open - paid - past_due - voided invoiceNumber: type: string purchaseOrderNumber: type: string issueDate: type: string format: date dueDate: type: string format: date currency: type: string totalAmountDue: type: integer format: int64 amountWithoutTax: type: integer format: int64 taxAmount: type: integer format: int64 balance: type: integer format: int64 updatedAt: type: string format: date-time SyncErrorEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: referenceId: type: string format: uuid referenceIssueId: type: string format: uuid TransferCompletedEvent: type: object allOf: - $ref: '#/components/schemas/Event' - type: object properties: eventId: type: string format: uuid transferId: type: string format: uuid parentReferenceId: type: string format: uuid currency: type: string amount: type: integer format: int64 paidAmount: type: integer format: int64 parentReferenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual eventStatus: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted transferStatus: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted processorCode: type: string processedAt: type: string format: date-time contract: $ref: '#/components/schemas/Contract' proposalId: type: string format: uuid WebhookMetadata: type: object properties: eventType: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user WebhooksMetadata: type: object properties: webhooks: type: array items: $ref: '#/components/schemas/WebhookMetadata' AccountingConfig: type: object properties: productAccountCode: type: string taxAccountCode: type: string depositAccountCode: type: string itemType: type: string taxProductName: type: string avalaraTaxCode: type: string lineMappingClass: type: string defaultProductId: type: string format: uuid refundAccountCode: type: string defaultRefundProductId: type: string format: uuid ignoreCountry: type: string sendEmailWithoutPaymentMethod: type: boolean invoiceNote: type: boolean autoSendInvoice: type: boolean splitBundleItems: type: boolean AddressVerificationConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean connectedSourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout AssistantConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: aiModelType: type: string enum: - mistral - openai - titan - claude coverLetterPrompt: type: string AutoRenewalConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: termLengthMonths: type: integer format: int32 cancellationDeadlineDays: type: integer format: int32 renewalClause: type: string enabled: type: boolean renewalReminderEnabled: type: boolean renewalClauseDescription: type: string notificationConfigurations: type: array items: $ref: '#/components/schemas/NotificationEventConfiguration' priceIncrease: minimum: 0 exclusiveMinimum: false type: number AvalaraConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout taxConfig: $ref: '#/components/schemas/TaxConfig' canCalculateOnProposals: type: boolean BillingPeriodConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: newProposalBillingPeriods: uniqueItems: true type: array items: type: string enum: - month - quarter - halfyear - year CloseConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout stageMappings: type: array items: $ref: '#/components/schemas/StageMapping' proposalFieldMappings: type: array items: $ref: '#/components/schemas/ExternalFieldMapping' lineItemFieldMappings: type: array items: $ref: '#/components/schemas/ExternalFieldMapping' syncSignedDocument: type: boolean syncSourceToCacheflow: type: boolean syncLineItems: type: boolean lineItemSyncConfig: $ref: '#/components/schemas/LineItemSyncConfig' renewalDealCreation: type: boolean renewalDealCreationForAutoRenewals: type: boolean renewalDealDaysBeforeEndDate: type: integer format: int32 renewalDealStage: type: string renewalDealCloseDays: type: integer format: int32 apiKey: type: string Config: title: Config type: object properties: configType: type: string enum: - avalaraConfig - addressVerificationConfig - assistantConfig - autoRenewalConfig - billingPeriodConfig - proposalConfig - closeConfig - googleTagConfig - hubspotConfig - invoiceConfig - paymentsGracePeriod - locationCodeMappingConfig - quickbooksConfig - profitwellConfig - purchaseOrderConfig - reportingConfig - salesforceConfig - stripeConfig - taxCountryRulesConfig - warmlyConfig - zapierConfig discriminator: propertyName: configType mapping: addressVerificationConfig: '#/components/schemas/AddressVerificationConfig' assistantConfig: '#/components/schemas/AssistantConfig' autoRenewalConfig: '#/components/schemas/AutoRenewalConfig' avalaraConfig: '#/components/schemas/AvalaraConfig' billingPeriodConfig: '#/components/schemas/BillingPeriodConfig' closeConfig: '#/components/schemas/CloseConfig' googleTagConfig: '#/components/schemas/GoogleTagConfig' hubspotConfig: '#/components/schemas/HubspotConfig' invoiceConfig: '#/components/schemas/InvoiceConfig' locationCodeMappingConfig: '#/components/schemas/LocationCodeMappingConfig' paymentsGracePeriod: '#/components/schemas/PaymentGracePeriodConfig' profitwellConfig: '#/components/schemas/ProfitwellConfig' proposalConfig: '#/components/schemas/ProposalConfig' purchaseOrderConfig: '#/components/schemas/PurchaseOrderConfig' quickbooksConfig: '#/components/schemas/QuickbooksConfig' reportingConfig: '#/components/schemas/ReportingConfig' salesforceConfig: '#/components/schemas/SalesforceConfig' stripeConfig: '#/components/schemas/StripeConfig' taxCountryRulesConfig: '#/components/schemas/TaxCountryRulesConfig' warmlyConfig: '#/components/schemas/WarmlyConfig' zapierConfig: '#/components/schemas/ZapierConfig' ExternalFieldMapping: required: - crmObjectProperty - domainField type: object properties: domainField: $ref: '#/components/schemas/DomainField' crmObjectProperty: $ref: '#/components/schemas/CrmObjectProperty' GoogleTagConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout googleTagManagerId: type: string HubspotConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout stageMappings: type: array items: $ref: '#/components/schemas/StageMapping' proposalFieldMappings: type: array items: $ref: '#/components/schemas/ExternalFieldMapping' lineItemFieldMappings: type: array items: $ref: '#/components/schemas/ExternalFieldMapping' syncSignedDocument: type: boolean syncSourceToCacheflow: type: boolean syncLineItems: type: boolean lineItemSyncConfig: $ref: '#/components/schemas/LineItemSyncConfig' renewalDealCreation: type: boolean renewalDealCreationForAutoRenewals: type: boolean renewalDealDaysBeforeEndDate: type: integer format: int32 renewalDealStage: type: string renewalDealCloseDays: type: integer format: int32 hsAccountId: type: string renewalDealPipelineId: type: string syncProducts: type: boolean LineItemSyncConfig: type: object properties: ignoreQuantityForStairStep: type: boolean LocationCodeMappingConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM NotificationEventConfiguration: type: object properties: beforeDays: type: integer format: int32 notificationType: type: string enum: - email targetGroups: type: array items: type: string enum: - billing_contact - accepting_contact eventType: type: string enum: - auto_renewal_reminder OrgConfig: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true configKey: type: string enum: - assistantConfig - avalaraConfig - acceptOnSigning - approvalExclusionGroup - addressVerificationConfig - areApprovalsEnabled - autoRenewalConfig - billingPeriodConfig - closeConfig - branding - defaultBillingPeriod - defaultCrmSource - defaultPaymentTerm - defaultSignature - docusignAccountId - enableDocusignResponsiveHtml - googleTagConfig - hubspotConfig - invoiceConfig - locationCodeMappingConfig - locationCodeType - paymentErrorContact - paymentsGracePeriod - profitwellConfig - proposalConfig - proposalNumberPrefix - purchaseOrderConfig - quickbooksConfig - reportingConfig - salesforceConfig - staleUsagePeriod - stripeConfig - taxCountryRulesConfig - timezone - warmlyConfig - zapierConfig referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user referenceId: type: string format: uuid intValue: type: integer format: int32 stringValue: type: string configValue: oneOf: - $ref: '#/components/schemas/AddressVerificationConfig' - $ref: '#/components/schemas/AssistantConfig' - $ref: '#/components/schemas/AutoRenewalConfig' - $ref: '#/components/schemas/AvalaraConfig' - $ref: '#/components/schemas/BillingPeriodConfig' - $ref: '#/components/schemas/CloseConfig' - $ref: '#/components/schemas/GoogleTagConfig' - $ref: '#/components/schemas/HubspotConfig' - $ref: '#/components/schemas/InvoiceConfig' - $ref: '#/components/schemas/LocationCodeMappingConfig' - $ref: '#/components/schemas/PaymentGracePeriodConfig' - $ref: '#/components/schemas/ProfitwellConfig' - $ref: '#/components/schemas/ProposalConfig' - $ref: '#/components/schemas/PurchaseOrderConfig' - $ref: '#/components/schemas/QuickbooksConfig' - $ref: '#/components/schemas/ReportingConfig' - $ref: '#/components/schemas/SalesforceConfig' - $ref: '#/components/schemas/StripeConfig' - $ref: '#/components/schemas/TaxCountryRulesConfig' - $ref: '#/components/schemas/WarmlyConfig' - $ref: '#/components/schemas/ZapierConfig' PaymentGracePeriodConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean defaultGracePeriodInDays: type: integer format: int32 ProfitwellConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout name: type: string ProposalConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: changesOnlyViewAsDefault: type: boolean showDiscountViewAsDefault: type: boolean proratingType: type: string enum: - daily - monthly PurchaseOrderConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean QuickbooksConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout accountingConfig: $ref: '#/components/schemas/AccountingConfig' realmId: type: string ReportingConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: dashboardHome: type: string groups: type: array items: type: string SalesforceConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout stageMappings: type: array items: $ref: '#/components/schemas/StageMapping' proposalFieldMappings: type: array items: $ref: '#/components/schemas/ExternalFieldMapping' lineItemFieldMappings: type: array items: $ref: '#/components/schemas/ExternalFieldMapping' syncSignedDocument: type: boolean syncSourceToCacheflow: type: boolean syncLineItems: type: boolean lineItemSyncConfig: $ref: '#/components/schemas/LineItemSyncConfig' renewalDealCreation: type: boolean renewalDealCreationForAutoRenewals: type: boolean renewalDealDaysBeforeEndDate: type: integer format: int32 renewalDealStage: type: string renewalDealCloseDays: type: integer format: int32 syncSubscriptions: type: boolean syncAmount: type: boolean connectedUserId: type: string format: uuid multiCurrency: type: boolean priceBook2Id: type: string createProduct2: type: boolean useRelatedContacts: type: boolean signedProposalLocation: type: string enum: - FILES - ATTACHMENTS StageMapping: type: object properties: proposalType: type: string enum: - initial - change - renewal - template pipeline: type: string proposalEventType: type: string enum: - created - updated - archived - restore - activated - started - set_to_draft - contact_added - contact_removed - expired - cancelled - deleted - buyer_downloaded - buyer_printed - seller_downloaded - signing - viewed - unviewable_status - request_new - accepted - invited - created_signing_doc - cancelled_signing_doc - signed - buyer_updated - billing_method_added - renewal_pending - approval_requested - approval_approved - approval_rejected - approval_canceled - items_date_truncated - items_date_cleared toStage: type: string StripeConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: unmanagedPaymentTypes: uniqueItems: true type: array items: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual paymentRetryEnabled: type: boolean TaxConfig: type: object properties: licenseKey: type: string accountId: type: string enableLogging: type: boolean commitDocuments: type: boolean companyCode: type: string companyId: type: integer format: int32 TaxCountryRulesConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean includedCountriesIso: type: array items: type: string collectTaxIdEnabled: type: boolean WarmlyConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout clientId: type: string ZapierConfig: type: object allOf: - $ref: '#/components/schemas/Config' - type: object properties: enabled: type: boolean gatewayType: type: string enum: - cacheflow - paragon locationCodeType: type: string enum: - NAME - ISO - ISO2 - ISO3 - CUSTOM sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout clientId: type: string CreatePaymentMethodRequest: type: object properties: name: type: string internalName: type: string description: type: string enabled: type: boolean isEnabledSet: type: boolean billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year customText: type: string configuration: type: object additionalProperties: type: object paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual UpdatePaymentMethodRequest: type: object properties: name: type: string internalName: type: string description: type: string enabled: type: boolean isEnabledSet: type: boolean billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year customText: type: string configuration: type: object additionalProperties: type: object PaymentTerm: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string description: type: string enabled: type: boolean termType: type: string enum: - net_15 - net_30 - net_45 - net_60 - net_75 - net_90 - upon_receipt - end_of_month - on_15th days: type: integer format: int32 ApprovalRule: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string description: type: string enabled: type: boolean config: $ref: '#/components/schemas/ProposalApprovalRuleConfig' approvalGroupIds: type: array items: type: string format: uuid ProposalAmountDecreaseRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: foo: type: boolean ProposalAmountRuleConfig: required: - amount - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: amount: $ref: '#/components/schemas/Money' ProposalApprovalRuleConfig: title: ApprovalRuleConfig required: - ruleType type: object properties: ruleType: type: string enum: - proposalAmountDecrease - proposalAmount - proposalAttachments - proposalAutoRenewal - proposalBillingPeriods - proposalCountry - proposalCustom - proposalCustomTerms - proposalDiscountPercent - proposalDocusign - proposalDuplicateProducts - proposalExternalCrm - proposalFreeMonths - proposalItemQuantity - proposalPaymentTerms - proposalProductDiscountPercent - proposalProducts - proposalTermLength proposalType: type: string enum: - initial - change - renewal - template discriminator: propertyName: ruleType mapping: proposalAmountDecrease: '#/components/schemas/ProposalAmountDecreaseRuleConfig' proposalAmount: '#/components/schemas/ProposalAmountRuleConfig' proposalAttachments: '#/components/schemas/ProposalAttachmentsRuleConfig' proposalAutoRenewal: '#/components/schemas/ProposalAutoRenewalRuleConfig' proposalBillingPeriods: '#/components/schemas/ProposalBillingPeriodsRuleConfig' proposalCountry: '#/components/schemas/ProposalCountryRuleConfig' proposalCustom: '#/components/schemas/ProposalCustomRuleConfig' proposalCustomTerms: '#/components/schemas/ProposalCustomTermsRuleConfig' proposalDiscountPercent: '#/components/schemas/ProposalDiscountPercentRuleConfig' proposalDocusign: '#/components/schemas/ProposalDocusignRuleConfig' proposalFreeMonths: '#/components/schemas/ProposalFreeMonthsRuleConfig' proposalPaymentTerms: '#/components/schemas/ProposalPaymentTermsRuleConfig' proposalProductDiscountPercent: '#/components/schemas/ProposalProductDiscountPercentRuleConfig' proposalItemQuantity: '#/components/schemas/ProposalItemQuantityRuleConfig' proposalProducts: '#/components/schemas/ProposalProductsRuleConfig' proposalTermLength: '#/components/schemas/ProposalTermLengthRuleConfig' proposalExternalCrm: '#/components/schemas/ProposalExternalCrmRuleConfig' proposalDuplicateProducts: '#/components/schemas/ProposalDuplicateProductsRuleConfig' ProposalAttachmentsRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: foo: type: boolean ProposalAutoRenewalRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: foo: type: boolean ProposalBillingPeriodsRuleConfig: required: - billingPeriods - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: billingPeriods: type: array items: type: string enum: - month - quarter - halfyear - year ProposalCountryRuleConfig: required: - country - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: country: type: string ProposalCustomRuleConfig: required: - expression - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: expression: type: object ProposalCustomTermsRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: foo: type: boolean ProposalDiscountPercentRuleConfig: required: - discount - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: discount: type: integer format: int64 maxDiscount: type: integer format: int64 ProposalDocusignRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: foo: type: boolean ProposalDuplicateProductsRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: foo: type: boolean ProposalExternalCrmRuleConfig: required: - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: expression: type: object ProposalFreeMonthsRuleConfig: required: - freeMonths - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: freeMonths: type: integer format: int64 ProposalItemQuantityRuleConfig: required: - quantity - rootProductId - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: rootProductId: type: string format: uuid quantity: type: number ProposalPaymentTermsRuleConfig: required: - paymentTerms - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: paymentTerms: type: array items: type: string enum: - net_15 - net_30 - net_45 - net_60 - net_75 - net_90 - upon_receipt - end_of_month - on_15th ProposalProductDiscountPercentRuleConfig: required: - discount - rootProductId - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: rootProductId: type: string format: uuid discount: type: integer format: int64 maxDiscount: type: integer format: int64 ProposalProductsRuleConfig: required: - products - ruleType type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: products: type: array items: type: string format: uuid ProposalTermLengthRuleConfig: required: - ruleType - termLength type: object allOf: - $ref: '#/components/schemas/ProposalApprovalRuleConfig' - type: object properties: termLength: type: integer format: int64 CreateProposalApprovalRuleRequest: type: object properties: name: type: string description: type: string enabled: type: boolean approvalGroupIds: type: array items: type: string format: uuid config: oneOf: - $ref: '#/components/schemas/ProposalAmountDecreaseRuleConfig' - $ref: '#/components/schemas/ProposalAmountRuleConfig' - $ref: '#/components/schemas/ProposalAttachmentsRuleConfig' - $ref: '#/components/schemas/ProposalAutoRenewalRuleConfig' - $ref: '#/components/schemas/ProposalBillingPeriodsRuleConfig' - $ref: '#/components/schemas/ProposalCountryRuleConfig' - $ref: '#/components/schemas/ProposalCustomRuleConfig' - $ref: '#/components/schemas/ProposalCustomTermsRuleConfig' - $ref: '#/components/schemas/ProposalDiscountPercentRuleConfig' - $ref: '#/components/schemas/ProposalDocusignRuleConfig' - $ref: '#/components/schemas/ProposalDuplicateProductsRuleConfig' - $ref: '#/components/schemas/ProposalExternalCrmRuleConfig' - $ref: '#/components/schemas/ProposalFreeMonthsRuleConfig' - $ref: '#/components/schemas/ProposalItemQuantityRuleConfig' - $ref: '#/components/schemas/ProposalPaymentTermsRuleConfig' - $ref: '#/components/schemas/ProposalProductDiscountPercentRuleConfig' - $ref: '#/components/schemas/ProposalProductsRuleConfig' - $ref: '#/components/schemas/ProposalTermLengthRuleConfig' UpdateProposalApprovalRuleRequest: type: object properties: name: type: string description: type: string enabled: type: boolean approvalGroupIds: type: array items: type: string format: uuid config: oneOf: - $ref: '#/components/schemas/ProposalAmountDecreaseRuleConfig' - $ref: '#/components/schemas/ProposalAmountRuleConfig' - $ref: '#/components/schemas/ProposalAttachmentsRuleConfig' - $ref: '#/components/schemas/ProposalAutoRenewalRuleConfig' - $ref: '#/components/schemas/ProposalBillingPeriodsRuleConfig' - $ref: '#/components/schemas/ProposalCountryRuleConfig' - $ref: '#/components/schemas/ProposalCustomRuleConfig' - $ref: '#/components/schemas/ProposalCustomTermsRuleConfig' - $ref: '#/components/schemas/ProposalDiscountPercentRuleConfig' - $ref: '#/components/schemas/ProposalDocusignRuleConfig' - $ref: '#/components/schemas/ProposalDuplicateProductsRuleConfig' - $ref: '#/components/schemas/ProposalExternalCrmRuleConfig' - $ref: '#/components/schemas/ProposalFreeMonthsRuleConfig' - $ref: '#/components/schemas/ProposalItemQuantityRuleConfig' - $ref: '#/components/schemas/ProposalPaymentTermsRuleConfig' - $ref: '#/components/schemas/ProposalProductDiscountPercentRuleConfig' - $ref: '#/components/schemas/ProposalProductsRuleConfig' - $ref: '#/components/schemas/ProposalTermLengthRuleConfig' SlackAppInfo: required: - clientId type: object properties: clientId: type: string teamId: type: string SlackUser: type: object allOf: - $ref: '#/components/schemas/TokenData' - type: object properties: dmChannelId: type: string userToken: type: string subject: type: string readOnly: true CreateSlackResourceRequest: type: object properties: slackAuthCode: type: string stateTokenKey: type: string originalRedirectUri: type: string BasicTokenData: type: object allOf: - $ref: '#/components/schemas/TokenData' - type: object properties: email: type: string HubspotTokenData: type: object allOf: - $ref: '#/components/schemas/TokenData' - type: object properties: externalOrgId: type: string externalUserId: type: string username: type: string subject: type: string readOnly: true IdentityToken: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true user: $ref: '#/components/schemas/User' source: type: string enum: - fakegoogle - google - salesforce - hubspot - systemgoogle - microsoft - quickbooks - close - slack - zendesk sourceId: type: string instanceBaseUrl: type: string tokenData: $ref: '#/components/schemas/TokenData' token: type: string SalesforceUser: type: object allOf: - $ref: '#/components/schemas/TokenData' - type: object properties: externalOrgId: type: string externalUserId: type: string customDomain: type: string username: type: string subject: type: string readOnly: true SlackWorkspace: type: object properties: type: type: string enum: - basic - hubspot - slackUser - slackWorkspace - salesforceUser workspaceBotToken: type: string teamId: type: string subject: type: string readOnly: true TokenData: title: TokenData type: object properties: type: type: string enum: - basic - hubspot - slackUser - slackWorkspace - salesforceUser subject: type: string discriminator: propertyName: type mapping: slackUser: '#/components/schemas/SlackUser' slackWorkspace: '#/components/schemas/SlackWorkspace' salesforceUser: '#/components/schemas/SalesforceUser' hubspot: '#/components/schemas/HubspotTokenData' basic: '#/components/schemas/BasicTokenData' StripeMigrationResponse: type: object properties: subscriptionId: type: string proposal: $ref: '#/components/schemas/ObjectReference' contract: $ref: '#/components/schemas/ObjectReference' customer: $ref: '#/components/schemas/ObjectReference' status: type: string enum: - not_processed - success - failed error: type: string ContractOptions: type: object properties: contractStatus: type: string enum: - active - paused - cancelled - ended markPastSchedulesAsPaid: type: boolean markSchedulesAsInvoiced: type: boolean paymentMethodSource: type: string paymentMethodId: type: string paymentMethodType: type: string ProposalConversionRequest: type: object properties: proposalId: type: string format: uuid contractOptions: $ref: '#/components/schemas/ContractOptions' customerId: type: string format: uuid externalCustomerId: type: string StripeAccount: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true activatedAt: type: string format: date-time connectAccountId: type: string currency: type: string status: type: string connectType: type: string enum: - connected - created accountType: type: string active: type: boolean StripeConnectResponse: type: object properties: url: type: string accountId: type: string currency: type: string StripeConnectRequest: type: object properties: refreshUrl: type: string returnUrl: type: string country: type: string currency: type: string accountId: type: string connectExisting: type: boolean reconnect: type: boolean StripeMigrationRequest: type: object properties: subscriptionId: type: string autoRenewable: type: boolean autoRenewalTermLength: type: integer format: int32 createProposalRequest: $ref: '#/components/schemas/CreateProposalRequest' skipContract: type: boolean contractOptions: $ref: '#/components/schemas/ContractOptions' customerId: type: string format: uuid externalCustomerId: type: string UserConfig: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true configKey: type: string configValue: type: object additionalProperties: type: object userId: type: string format: uuid ProposalSummaryAnalytics: type: object properties: orgId: type: string format: uuid proposalId: type: string format: uuid customerId: type: string format: uuid contractId: type: string format: uuid ownerId: type: string format: uuid billingMethodId: type: string format: uuid customerName: type: string name: type: string orgName: type: string termType: type: string enum: - month - quarter - year termQty: type: integer format: int32 status: type: string enum: - draft - pending_approval - approved - schedule_selection - payment_selection - active - pending_renewal - accepted - expired - cancelled - deleted billingMethodName: type: string paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual timeToClose: type: integer format: int32 updatedAt: type: string format: date-time acceptedAt: type: string format: date-time signedAt: type: string format: date-time viewedAt: type: string format: date-time currency: type: string amount: type: integer format: int64 amountFormatted: type: string OrgLogin: type: object properties: orgId: type: string format: uuid reason: type: string ConnectorInfo: type: object properties: sourceToken: type: string source: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout NotificationEvent: required: - contractId - dateToSend - eventType - recipients type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true contractId: type: string format: uuid dateToSend: type: string format: date sentAt: type: string format: date-time recipients: type: array items: type: string type: type: string enum: - email eventType: type: string enum: - auto_renewal_reminder ResendEmailRequest: required: - emailSentId type: object properties: emailSentId: type: string format: uuid ProvisionOrganizationRequest: type: object properties: domainAliases: type: array items: type: string domainName: type: string name: type: string internalName: type: string flowDomain: type: string expireDate: type: string format: date status: type: string enum: - pending - active - inactive profile: $ref: '#/components/schemas/UserProfile' orgType: type: string enum: - basicTest options: type: object additionalProperties: type: boolean defaultCurrency: type: string OrgResetRequest: type: object properties: strategy: type: string enum: - non_settings - all ContractRenewalSummary: type: object properties: id: type: string format: uuid name: type: string currency: type: string totalAmount: type: integer format: int64 proposalNumber: type: string status: type: string enum: - active - paused - cancelled - ended startDate: type: string format: date endDate: type: string format: date buyer: $ref: '#/components/schemas/CustomerSummary' paymentTerm: type: string renewalNotificationSentAt: type: string format: date-time renewalNotificationSentForEndDate: type: string format: date RenewalRequest: type: object properties: proposalId: type: string format: uuid pendingRenewalAt: type: string format: date-time orgId: type: string format: uuid RenewalsDueResponse: type: object properties: dueRenewals: type: array items: $ref: '#/components/schemas/RenewalRequest' EventResult: type: object properties: id: type: string format: uuid orgId: type: string format: uuid status: type: string enum: - sent - failed eventType: type: string enum: - approval_updated - billing_schedule_updated - force_sync_billing_schedule - contact_updated - contract_updated - customer_updated - invite_created - negative_charge - otp_created - proposal_request_new - proposal_unviewable - proposal_updated - product_created - statement_posted - transfer_completed - contract_reminder - invoice_status_changed - billing_method_verification_buyer - sync_error_event - items_date_truncated - items_date_cleared webhookEventType: type: string enum: - proposal_updated - transfer_completed - contract_updated - billing_schedule_updated - statement_posted results: type: string values: type: object additionalProperties: type: string event: $ref: '#/components/schemas/Event' EventResults: type: object properties: results: type: array items: $ref: '#/components/schemas/EventResult' events: type: array items: $ref: '#/components/schemas/Event' KnexDbMigration: type: object properties: id: type: integer format: int32 name: type: string batch: type: integer format: int32 migrationTime: type: string format: date-time readOnly: true UpcomingBillingResponse: type: object properties: orgId: type: string format: uuid orgName: type: string dueDate: type: string format: date currency: type: string amountDue: type: integer format: int64 contractName: type: string contractId: type: string format: uuid contractStatus: type: string enum: - active - paused - cancelled - ended contractTotalAmount: type: integer format: int64 customerName: type: string billingMethodStatus: type: string enum: - active - inactive - external paymentType: type: string enum: - ach - cc - check - custom - direct_debit - wire - external - manual contractTotalAmountFormatted: type: string amountDueFormatted: type: string AccountLedgerItemResponse: type: object properties: status: type: string enum: - pending - in_progress - failed - posted - cancelled - declined - reversed - receiver_pending - receiver_posted reason: type: string amount: type: integer format: int64 AccountLedgerItemRequest: type: object properties: accountId: type: string format: uuid transferId: type: string format: uuid type: type: string enum: - DEBIT - CREDIT amount: type: integer format: int64 TaxItem: required: - currency type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true billingItemId: type: string format: uuid taxCode: type: string taxDescription: type: string rate: type: number rateType: type: string taxType: type: string jurisdiction: type: string jurisdictionCode: type: string jurisdictionId: type: string sourceType: type: string enum: - manual - close - plaid - stripe - hubspot - salesforce - avalara - quickbooks - profitwell - netsuite - google - warmly - zapier - cacheflow_checkout amount: type: integer format: int64 currency: type: string BillingScheduleRequest: required: - externalInvoiced type: object properties: externalInvoiced: type: boolean ProductUsageRequest: type: object properties: billingItemId: type: string format: uuid quantity: type: number