# Shared ## Domain Types ### Base Usage Filter - Not supported - **GroupKey:** `string` - **GroupValues:** `[]string` - **StartingAt:** `Time` ### Commit - Not supported - **ID:** `string` - **Product:** `CommitProduct` - **ID:** `string` - **Name:** `string` - **Type:** `CommitType` - `CommitType` - `CommitType` - **AccessSchedule:** `ScheduleDuration` The schedule that the customer will gain access to the credits purposed with this commit. - **Amount:** `float64` (DEPRECATED) Use access_schedule + invoice_schedule instead. - **ApplicableContractIDs:** `[]string` - **ApplicableProductIDs:** `[]string` - **ApplicableProductTags:** `[]string` - **ArchivedAt:** `Time` RFC 3339 timestamp indicating when the commit was archived. If not provided, the commit is not archived. - **Balance:** `float64` The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries. - **Contract:** `CommitContract` - **ID:** `string` - **CustomFields:** `map[string, string]` - **Description:** `string` - **HierarchyConfiguration:** `CommitHierarchyConfiguration` Optional configuration for commit hierarchy access control - **ChildAccess:** `CommitHierarchyConfigurationChildAccess` - Not supported - **Type:** `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - Not supported - **Type:** `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - Not supported - **ContractIDs:** `[]string` - **Type:** `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - **InvoiceContract:** `CommitInvoiceContract` The contract that this commit will be billed on. - **ID:** `string` - **InvoiceSchedule:** `SchedulePointInTime` The schedule that the customer will be invoiced for this commit. - **Ledger:** `[]CommitLedger` A list of ordered events that impact the balance of a commit. For example, an invoice deduction or a rollover. - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitSegmentStartLedgerEntryType` - `CommitLedgerPrepaidCommitSegmentStartLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitAutomatedInvoiceDeductionLedgerEntryType` - `CommitLedgerPrepaidCommitAutomatedInvoiceDeductionLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **NewContractID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitRolloverLedgerEntryType` - `CommitLedgerPrepaidCommitRolloverLedgerEntryType` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitExpirationLedgerEntryType` - `CommitLedgerPrepaidCommitExpirationLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitCanceledLedgerEntryType` - `CommitLedgerPrepaidCommitCanceledLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitCreditedLedgerEntryType` - `CommitLedgerPrepaidCommitCreditedLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitSeatBasedAdjustmentLedgerEntryType` - `CommitLedgerPrepaidCommitSeatBasedAdjustmentLedgerEntryType` - Not supported - **Amount:** `float64` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitInitialBalanceLedgerEntryType` - `CommitLedgerPostpaidCommitInitialBalanceLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitAutomatedInvoiceDeductionLedgerEntryType` - `CommitLedgerPostpaidCommitAutomatedInvoiceDeductionLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **NewContractID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitRolloverLedgerEntryType` - `CommitLedgerPostpaidCommitRolloverLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitTrueupLedgerEntryType` - `CommitLedgerPostpaidCommitTrueupLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **Reason:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitManualLedgerEntryType` - `CommitLedgerPrepaidCommitManualLedgerEntryType` - Not supported - **Amount:** `float64` - **Reason:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitManualLedgerEntryType` - `CommitLedgerPostpaidCommitManualLedgerEntryType` - Not supported - **Amount:** `float64` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitExpirationLedgerEntryType` - `CommitLedgerPostpaidCommitExpirationLedgerEntryType` - **Name:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **Priority:** `float64` If multiple credits or commits are applicable, the one with the lower priority will apply first. - **RateType:** `CommitRateType` - `CommitRateType` - `CommitRateType` - **RolledOverFrom:** `CommitRolledOverFrom` - **CommitID:** `string` - **ContractID:** `string` - **RolloverFraction:** `float64` - **SalesforceOpportunityID:** `string` This field's availability is dependent on your client's configuration. - **Specifiers:** `[]CommitSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **UniquenessKey:** `string` Prevents the creation of duplicates. If a request to create a commit or credit is made with a uniqueness key that was previously used to create a commit or credit, a new record will not be created and the request will fail with a 409 error. ### Contract Without Amendments - Not supported - **Commits:** `[]Commit` - **ID:** `string` - **Product:** `CommitProduct` - **ID:** `string` - **Name:** `string` - **Type:** `CommitType` - `CommitType` - `CommitType` - **AccessSchedule:** `ScheduleDuration` The schedule that the customer will gain access to the credits purposed with this commit. - **Amount:** `float64` (DEPRECATED) Use access_schedule + invoice_schedule instead. - **ApplicableContractIDs:** `[]string` - **ApplicableProductIDs:** `[]string` - **ApplicableProductTags:** `[]string` - **ArchivedAt:** `Time` RFC 3339 timestamp indicating when the commit was archived. If not provided, the commit is not archived. - **Balance:** `float64` The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries. - **Contract:** `CommitContract` - **ID:** `string` - **CustomFields:** `map[string, string]` - **Description:** `string` - **HierarchyConfiguration:** `CommitHierarchyConfiguration` Optional configuration for commit hierarchy access control - **ChildAccess:** `CommitHierarchyConfigurationChildAccess` - Not supported - **Type:** `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - Not supported - **Type:** `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - Not supported - **ContractIDs:** `[]string` - **Type:** `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - `CommitHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - **InvoiceContract:** `CommitInvoiceContract` The contract that this commit will be billed on. - **ID:** `string` - **InvoiceSchedule:** `SchedulePointInTime` The schedule that the customer will be invoiced for this commit. - **Ledger:** `[]CommitLedger` A list of ordered events that impact the balance of a commit. For example, an invoice deduction or a rollover. - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitSegmentStartLedgerEntryType` - `CommitLedgerPrepaidCommitSegmentStartLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitAutomatedInvoiceDeductionLedgerEntryType` - `CommitLedgerPrepaidCommitAutomatedInvoiceDeductionLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **NewContractID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitRolloverLedgerEntryType` - `CommitLedgerPrepaidCommitRolloverLedgerEntryType` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitExpirationLedgerEntryType` - `CommitLedgerPrepaidCommitExpirationLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitCanceledLedgerEntryType` - `CommitLedgerPrepaidCommitCanceledLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitCreditedLedgerEntryType` - `CommitLedgerPrepaidCommitCreditedLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitSeatBasedAdjustmentLedgerEntryType` - `CommitLedgerPrepaidCommitSeatBasedAdjustmentLedgerEntryType` - Not supported - **Amount:** `float64` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitInitialBalanceLedgerEntryType` - `CommitLedgerPostpaidCommitInitialBalanceLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitAutomatedInvoiceDeductionLedgerEntryType` - `CommitLedgerPostpaidCommitAutomatedInvoiceDeductionLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **NewContractID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitRolloverLedgerEntryType` - `CommitLedgerPostpaidCommitRolloverLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitTrueupLedgerEntryType` - `CommitLedgerPostpaidCommitTrueupLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **Reason:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPrepaidCommitManualLedgerEntryType` - `CommitLedgerPrepaidCommitManualLedgerEntryType` - Not supported - **Amount:** `float64` - **Reason:** `string` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitManualLedgerEntryType` - `CommitLedgerPostpaidCommitManualLedgerEntryType` - Not supported - **Amount:** `float64` - **Timestamp:** `Time` - **Type:** `CommitLedgerPostpaidCommitExpirationLedgerEntryType` - `CommitLedgerPostpaidCommitExpirationLedgerEntryType` - **Name:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **Priority:** `float64` If multiple credits or commits are applicable, the one with the lower priority will apply first. - **RateType:** `CommitRateType` - `CommitRateType` - `CommitRateType` - **RolledOverFrom:** `CommitRolledOverFrom` - **CommitID:** `string` - **ContractID:** `string` - **RolloverFraction:** `float64` - **SalesforceOpportunityID:** `string` This field's availability is dependent on your client's configuration. - **Specifiers:** `[]CommitSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **UniquenessKey:** `string` Prevents the creation of duplicates. If a request to create a commit or credit is made with a uniqueness key that was previously used to create a commit or credit, a new record will not be created and the request will fail with a 409 error. - **CreatedAt:** `Time` - **CreatedBy:** `string` - **Overrides:** `[]Override` - **ID:** `string` - **StartingAt:** `Time` - **ApplicableProductTags:** `[]string` - **CreditType:** `CreditTypeData` - **EndingBefore:** `Time` - **Entitled:** `bool` - **IsCommitSpecific:** `bool` - **IsProrated:** `bool` Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true. - **Multiplier:** `float64` - **OverrideSpecifiers:** `[]OverrideOverrideSpecifier` - **BillingFrequency:** `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - **CommitIDs:** `[]string` - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` - **ProductTags:** `[]string` - **RecurringCommitIDs:** `[]string` - **RecurringCreditIDs:** `[]string` - **OverrideTiers:** `[]OverrideOverrideTier` - **Multiplier:** `float64` - **Size:** `float64` - **OverwriteRate:** `OverrideOverwriteRate` - **RateType:** `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - **CreditType:** `CreditTypeData` - **CustomRate:** `map[string, unknown]` Only set for CUSTOM rate_type. This field is interpreted by custom rate processors. - **IsProrated:** `bool` Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true. - **Price:** `float64` Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1. - **Quantity:** `float64` Default quantity. For SUBSCRIPTION rate_type, this must be >=0. - **Tiers:** `[]Tier` Only set for TIERED rate_type. - **Price:** `float64` - **Size:** `float64` - **Price:** `float64` Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1. - **Priority:** `float64` - **Product:** `OverrideProduct` - **ID:** `string` - **Name:** `string` - **Quantity:** `float64` Default quantity. For SUBSCRIPTION rate_type, this must be >=0. - **RateType:** `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - **Target:** `OverrideTarget` - `OverrideTarget` - `OverrideTarget` - **Tiers:** `[]Tier` Only set for TIERED rate_type. - **Price:** `float64` - **Size:** `float64` - **Type:** `OverrideType` - `OverrideType` - `OverrideType` - `OverrideType` - **Value:** `map[string, unknown]` Only set for CUSTOM rate_type. This field is interpreted by custom rate processors. - **ScheduledCharges:** `[]ScheduledCharge` - **ID:** `string` - **Product:** `ScheduledChargeProduct` - **ID:** `string` - **Name:** `string` - **Schedule:** `SchedulePointInTime` - **ArchivedAt:** `Time` - **CustomFields:** `map[string, string]` - **Name:** `string` displayed on invoices - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **StartingAt:** `Time` - **Transitions:** `[]ContractWithoutAmendmentsTransition` - **FromContractID:** `string` - **ToContractID:** `string` - **Type:** `ContractWithoutAmendmentsTransitionsType` - `ContractWithoutAmendmentsTransitionsType` - `ContractWithoutAmendmentsTransitionsType` - **UsageStatementSchedule:** `ContractWithoutAmendmentsUsageStatementSchedule` - **BillingAnchorDate:** `Time` Contract usage statements follow a selected cadence based on this date. - **Frequency:** `ContractWithoutAmendmentsUsageStatementScheduleFrequency` - `ContractWithoutAmendmentsUsageStatementScheduleFrequency` - `ContractWithoutAmendmentsUsageStatementScheduleFrequency` - `ContractWithoutAmendmentsUsageStatementScheduleFrequency` - `ContractWithoutAmendmentsUsageStatementScheduleFrequency` - **Credits:** `[]Credit` - **ID:** `string` - **Product:** `CreditProduct` - **ID:** `string` - **Name:** `string` - **Type:** `CreditType` - `CreditType` - **AccessSchedule:** `ScheduleDuration` The schedule that the customer will gain access to the credits. - **ApplicableContractIDs:** `[]string` - **ApplicableProductIDs:** `[]string` - **ApplicableProductTags:** `[]string` - **Balance:** `float64` The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries. - **Contract:** `CreditContract` - **ID:** `string` - **CustomFields:** `map[string, string]` - **Description:** `string` - **HierarchyConfiguration:** `CreditHierarchyConfiguration` Optional configuration for credit hierarchy access control - **ChildAccess:** `CreditHierarchyConfigurationChildAccess` - Not supported - **Type:** `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - Not supported - **Type:** `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - Not supported - **ContractIDs:** `[]string` - **Type:** `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - **Ledger:** `[]CreditLedger` A list of ordered events that impact the balance of a credit. For example, an invoice deduction or an expiration. - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditSegmentStartLedgerEntryType` - `CreditLedgerCreditSegmentStartLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditAutomatedInvoiceDeductionLedgerEntryType` - `CreditLedgerCreditAutomatedInvoiceDeductionLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditExpirationLedgerEntryType` - `CreditLedgerCreditExpirationLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditCanceledLedgerEntryType` - `CreditLedgerCreditCanceledLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditCreditedLedgerEntryType` - `CreditLedgerCreditCreditedLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **Reason:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditManualLedgerEntryType` - `CreditLedgerCreditManualLedgerEntryType` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditSeatBasedAdjustmentLedgerEntryType` - `CreditLedgerCreditSeatBasedAdjustmentLedgerEntryType` - **Name:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **Priority:** `float64` If multiple credits or commits are applicable, the one with the lower priority will apply first. - **RateType:** `CreditRateType` - `CreditRateType` - `CreditRateType` - **SalesforceOpportunityID:** `string` This field's availability is dependent on your client's configuration. - **Specifiers:** `[]CreditSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **UniquenessKey:** `string` Prevents the creation of duplicates. If a request to create a commit or credit is made with a uniqueness key that was previously used to create a commit or credit, a new record will not be created and the request will fail with a 409 error. - **Discounts:** `[]Discount` This field's availability is dependent on your client's configuration. - **ID:** `string` - **Product:** `DiscountProduct` - **ID:** `string` - **Name:** `string` - **Schedule:** `SchedulePointInTime` - **CustomFields:** `map[string, string]` - **Name:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **EndingBefore:** `Time` - **HierarchyConfiguration:** `ContractWithoutAmendmentsHierarchyConfiguration` Either a **parent** configuration with a list of children or a **child** configuration with a single parent. - Not supported - **Children:** `[]ContractWithoutAmendmentsHierarchyConfigurationParentHierarchyConfigurationChild` List of contracts that belong to this parent. - **ContractID:** `string` - **CustomerID:** `string` - Not supported - **Parent:** `ContractWithoutAmendmentsHierarchyConfigurationChildHierarchyConfigurationParent` The single parent contract/customer for this child. - **ContractID:** `string` - **CustomerID:** `string` - **Name:** `string` - **NetPaymentTermsDays:** `float64` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **PrepaidBalanceThresholdConfiguration:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfiguration` - **Commit:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationCommit` - **ProductID:** `string` The commit product that will be used to generate the line item for commit payment. - **ApplicableProductIDs:** `[]string` Which products the threshold commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products. - **ApplicableProductTags:** `[]string` Which tags the threshold commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products. - **Description:** `string` - **Name:** `string` Specify the name of the line item for the threshold charge. If left blank, it will default to the commit product name. - **Specifiers:** `[]ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationCommitSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. This field cannot be used together with `applicable_product_ids` or `applicable_product_tags`. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **IsEnabled:** `bool` When set to false, the contract will not be evaluated against the threshold_amount. Toggling to true will result an immediate evaluation, regardless of prior state. - **PaymentGateConfig:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfig` - **PaymentGateType:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigPaymentGateType` Gate access to the commit balance based on successful collection of payment. Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to facilitate payment using your own payment integration. Select NONE if you do not wish to payment gate the commit balance. - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigPaymentGateType` - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigPaymentGateType` - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigPaymentGateType` - **PrecalculatedTaxConfig:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigPrecalculatedTaxConfig` Only applicable if using PRECALCULATED as your tax type. - **TaxAmount:** `float64` Amount of tax to be applied. This should be in the same currency and denomination as the commit's invoice schedule - **TaxName:** `string` Name of the tax to be applied. This may be used in an invoice line item description. - **StripeConfig:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigStripeConfig` Only applicable if using STRIPE as your payment gate type. - **PaymentType:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigStripeConfigPaymentType` If left blank, will default to INVOICE - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigStripeConfigPaymentType` - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigStripeConfigPaymentType` - **InvoiceMetadata:** `map[string, string]` Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as your payment type. - **TaxType:** `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigTaxType` Stripe tax is only supported for Stripe payment gateway. Select NONE if you do not wish Metronome to calculate tax on your behalf. Leaving this field blank will default to NONE. - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigTaxType` - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigTaxType` - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigTaxType` - `ContractWithoutAmendmentsPrepaidBalanceThresholdConfigurationPaymentGateConfigTaxType` - **RechargeToAmount:** `float64` Specify the amount the balance should be recharged to. - **ThresholdAmount:** `float64` Specify the threshold amount for the contract. Each time the contract's prepaid balance lowers to this amount, a threshold charge will be initiated. - **CustomCreditTypeID:** `string` If provided, the threshold, recharge-to amount, and the resulting threshold commit amount will be in terms of this credit type instead of the fiat currency. - **ProfessionalServices:** `[]ProService` This field's availability is dependent on your client's configuration. - **ID:** `string` - **MaxAmount:** `float64` Maximum amount for the term. - **ProductID:** `string` - **Quantity:** `float64` Quantity for the charge. Will be multiplied by unit_price to determine the amount. - **UnitPrice:** `float64` Unit price for the charge. Will be multiplied by quantity to determine the amount and must be specified. - **CustomFields:** `map[string, string]` - **Description:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **RateCardID:** `string` - **RecurringCommits:** `[]ContractWithoutAmendmentsRecurringCommit` - **ID:** `string` - **AccessAmount:** `ContractWithoutAmendmentsRecurringCommitsAccessAmount` The amount of commit to grant. - **CreditTypeID:** `string` - **UnitPrice:** `float64` - **Quantity:** `float64` - **CommitDuration:** `ContractWithoutAmendmentsRecurringCommitsCommitDuration` The amount of time the created commits will be valid for - **Value:** `float64` - **Unit:** `ContractWithoutAmendmentsRecurringCommitsCommitDurationUnit` - `ContractWithoutAmendmentsRecurringCommitsCommitDurationUnit` - **Priority:** `float64` Will be passed down to the individual commits - **Product:** `ContractWithoutAmendmentsRecurringCommitsProduct` - **ID:** `string` - **Name:** `string` - **RateType:** `ContractWithoutAmendmentsRecurringCommitsRateType` Whether the created commits will use the commit rate or list rate - `ContractWithoutAmendmentsRecurringCommitsRateType` - `ContractWithoutAmendmentsRecurringCommitsRateType` - **StartingAt:** `Time` Determines the start time for the first commit - **ApplicableProductIDs:** `[]string` Will be passed down to the individual commits - **ApplicableProductTags:** `[]string` Will be passed down to the individual commits - **Contract:** `ContractWithoutAmendmentsRecurringCommitsContract` - **ID:** `string` - **Description:** `string` Will be passed down to the individual commits - **EndingBefore:** `Time` Determines when the contract will stop creating recurring commits. Optional - **HierarchyConfiguration:** `ContractWithoutAmendmentsRecurringCommitsHierarchyConfiguration` Optional configuration for recurring commit/credit hierarchy access control - **ChildAccess:** `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccess` - Not supported - **Type:** `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - Not supported - **Type:** `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - Not supported - **ContractIDs:** `[]string` - **Type:** `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - `ContractWithoutAmendmentsRecurringCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - **InvoiceAmount:** `ContractWithoutAmendmentsRecurringCommitsInvoiceAmount` The amount the customer should be billed for the commit. Not required. - **CreditTypeID:** `string` - **Quantity:** `float64` - **UnitPrice:** `float64` - **Name:** `string` Displayed on invoices. Will be passed through to the individual commits - **NetsuiteSalesOrderID:** `string` Will be passed down to the individual commits - **Proration:** `ContractWithoutAmendmentsRecurringCommitsProration` Determines whether the first and last commit will be prorated. If not provided, the default is FIRST_AND_LAST (i.e. prorate both the first and last commits). - `ContractWithoutAmendmentsRecurringCommitsProration` - `ContractWithoutAmendmentsRecurringCommitsProration` - `ContractWithoutAmendmentsRecurringCommitsProration` - `ContractWithoutAmendmentsRecurringCommitsProration` - **RecurrenceFrequency:** `ContractWithoutAmendmentsRecurringCommitsRecurrenceFrequency` The frequency at which the recurring commits will be created. If not provided: - The commits will be created on the usage invoice frequency. If provided: - The period defined in the duration will correspond to this frequency. - Commits will be created aligned with the recurring commit's starting_at rather than the usage invoice dates. - `ContractWithoutAmendmentsRecurringCommitsRecurrenceFrequency` - `ContractWithoutAmendmentsRecurringCommitsRecurrenceFrequency` - `ContractWithoutAmendmentsRecurringCommitsRecurrenceFrequency` - `ContractWithoutAmendmentsRecurringCommitsRecurrenceFrequency` - **RolloverFraction:** `float64` Will be passed down to the individual commits. This controls how much of an individual unexpired commit will roll over upon contract transition. Must be between 0 and 1. - **Specifiers:** `[]ContractWithoutAmendmentsRecurringCommitsSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **SubscriptionConfig:** `ContractWithoutAmendmentsRecurringCommitsSubscriptionConfig` Attach a subscription to the recurring commit/credit. - **Allocation:** `ContractWithoutAmendmentsRecurringCommitsSubscriptionConfigAllocation` - `ContractWithoutAmendmentsRecurringCommitsSubscriptionConfigAllocation` - `ContractWithoutAmendmentsRecurringCommitsSubscriptionConfigAllocation` - **ApplySeatIncreaseConfig:** `ContractWithoutAmendmentsRecurringCommitsSubscriptionConfigApplySeatIncreaseConfig` - **IsProrated:** `bool` Indicates whether a mid-period seat increase should be prorated. - **SubscriptionID:** `string` - **RecurringCredits:** `[]ContractWithoutAmendmentsRecurringCredit` - **ID:** `string` - **AccessAmount:** `ContractWithoutAmendmentsRecurringCreditsAccessAmount` The amount of commit to grant. - **CreditTypeID:** `string` - **UnitPrice:** `float64` - **Quantity:** `float64` - **CommitDuration:** `ContractWithoutAmendmentsRecurringCreditsCommitDuration` The amount of time the created commits will be valid for - **Value:** `float64` - **Unit:** `ContractWithoutAmendmentsRecurringCreditsCommitDurationUnit` - `ContractWithoutAmendmentsRecurringCreditsCommitDurationUnit` - **Priority:** `float64` Will be passed down to the individual commits - **Product:** `ContractWithoutAmendmentsRecurringCreditsProduct` - **ID:** `string` - **Name:** `string` - **RateType:** `ContractWithoutAmendmentsRecurringCreditsRateType` Whether the created commits will use the commit rate or list rate - `ContractWithoutAmendmentsRecurringCreditsRateType` - `ContractWithoutAmendmentsRecurringCreditsRateType` - **StartingAt:** `Time` Determines the start time for the first commit - **ApplicableProductIDs:** `[]string` Will be passed down to the individual commits - **ApplicableProductTags:** `[]string` Will be passed down to the individual commits - **Contract:** `ContractWithoutAmendmentsRecurringCreditsContract` - **ID:** `string` - **Description:** `string` Will be passed down to the individual commits - **EndingBefore:** `Time` Determines when the contract will stop creating recurring commits. Optional - **HierarchyConfiguration:** `ContractWithoutAmendmentsRecurringCreditsHierarchyConfiguration` Optional configuration for recurring commit/credit hierarchy access control - **ChildAccess:** `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccess` - Not supported - **Type:** `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - Not supported - **Type:** `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - Not supported - **ContractIDs:** `[]string` - **Type:** `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - `ContractWithoutAmendmentsRecurringCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - **Name:** `string` Displayed on invoices. Will be passed through to the individual commits - **NetsuiteSalesOrderID:** `string` Will be passed down to the individual commits - **Proration:** `ContractWithoutAmendmentsRecurringCreditsProration` Determines whether the first and last commit will be prorated. If not provided, the default is FIRST_AND_LAST (i.e. prorate both the first and last commits). - `ContractWithoutAmendmentsRecurringCreditsProration` - `ContractWithoutAmendmentsRecurringCreditsProration` - `ContractWithoutAmendmentsRecurringCreditsProration` - `ContractWithoutAmendmentsRecurringCreditsProration` - **RecurrenceFrequency:** `ContractWithoutAmendmentsRecurringCreditsRecurrenceFrequency` The frequency at which the recurring commits will be created. If not provided: - The commits will be created on the usage invoice frequency. If provided: - The period defined in the duration will correspond to this frequency. - Commits will be created aligned with the recurring commit's starting_at rather than the usage invoice dates. - `ContractWithoutAmendmentsRecurringCreditsRecurrenceFrequency` - `ContractWithoutAmendmentsRecurringCreditsRecurrenceFrequency` - `ContractWithoutAmendmentsRecurringCreditsRecurrenceFrequency` - `ContractWithoutAmendmentsRecurringCreditsRecurrenceFrequency` - **RolloverFraction:** `float64` Will be passed down to the individual commits. This controls how much of an individual unexpired commit will roll over upon contract transition. Must be between 0 and 1. - **Specifiers:** `[]ContractWithoutAmendmentsRecurringCreditsSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **SubscriptionConfig:** `ContractWithoutAmendmentsRecurringCreditsSubscriptionConfig` Attach a subscription to the recurring commit/credit. - **Allocation:** `ContractWithoutAmendmentsRecurringCreditsSubscriptionConfigAllocation` - `ContractWithoutAmendmentsRecurringCreditsSubscriptionConfigAllocation` - `ContractWithoutAmendmentsRecurringCreditsSubscriptionConfigAllocation` - **ApplySeatIncreaseConfig:** `ContractWithoutAmendmentsRecurringCreditsSubscriptionConfigApplySeatIncreaseConfig` - **IsProrated:** `bool` Indicates whether a mid-period seat increase should be prorated. - **SubscriptionID:** `string` - **ResellerRoyalties:** `[]ContractWithoutAmendmentsResellerRoyalty` This field's availability is dependent on your client's configuration. - **Fraction:** `float64` - **NetsuiteResellerID:** `string` - **ResellerType:** `ContractWithoutAmendmentsResellerRoyaltiesResellerType` - `ContractWithoutAmendmentsResellerRoyaltiesResellerType` - `ContractWithoutAmendmentsResellerRoyaltiesResellerType` - `ContractWithoutAmendmentsResellerRoyaltiesResellerType` - `ContractWithoutAmendmentsResellerRoyaltiesResellerType` - **StartingAt:** `Time` - **ApplicableProductIDs:** `[]string` - **ApplicableProductTags:** `[]string` - **AwsAccountNumber:** `string` - **AwsOfferID:** `string` - **AwsPayerReferenceID:** `string` - **EndingBefore:** `Time` - **GcpAccountID:** `string` - **GcpOfferID:** `string` - **ResellerContractValue:** `float64` - **SalesforceOpportunityID:** `string` This field's availability is dependent on your client's configuration. - **ScheduledChargesOnUsageInvoices:** `ContractWithoutAmendmentsScheduledChargesOnUsageInvoices` Determines which scheduled and commit charges to consolidate onto the Contract's usage invoice. The charge's `timestamp` must match the usage invoice's `ending_before` date for consolidation to occur. This field cannot be modified after a Contract has been created. If this field is omitted, charges will appear on a separate invoice from usage charges. - `ContractWithoutAmendmentsScheduledChargesOnUsageInvoices` - **SpendThresholdConfiguration:** `ContractWithoutAmendmentsSpendThresholdConfiguration` - **Commit:** `ContractWithoutAmendmentsSpendThresholdConfigurationCommit` - **ProductID:** `string` The commit product that will be used to generate the line item for commit payment. - **Description:** `string` - **Name:** `string` Specify the name of the line item for the threshold charge. If left blank, it will default to the commit product name. - **IsEnabled:** `bool` When set to false, the contract will not be evaluated against the threshold_amount. Toggling to true will result an immediate evaluation, regardless of prior state. - **PaymentGateConfig:** `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfig` - **PaymentGateType:** `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigPaymentGateType` Gate access to the commit balance based on successful collection of payment. Select STRIPE for Metronome to facilitate payment via Stripe. Select EXTERNAL to facilitate payment using your own payment integration. Select NONE if you do not wish to payment gate the commit balance. - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigPaymentGateType` - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigPaymentGateType` - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigPaymentGateType` - **PrecalculatedTaxConfig:** `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigPrecalculatedTaxConfig` Only applicable if using PRECALCULATED as your tax type. - **TaxAmount:** `float64` Amount of tax to be applied. This should be in the same currency and denomination as the commit's invoice schedule - **TaxName:** `string` Name of the tax to be applied. This may be used in an invoice line item description. - **StripeConfig:** `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigStripeConfig` Only applicable if using STRIPE as your payment gate type. - **PaymentType:** `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigStripeConfigPaymentType` If left blank, will default to INVOICE - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigStripeConfigPaymentType` - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigStripeConfigPaymentType` - **InvoiceMetadata:** `map[string, string]` Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as your payment type. - **TaxType:** `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigTaxType` Stripe tax is only supported for Stripe payment gateway. Select NONE if you do not wish Metronome to calculate tax on your behalf. Leaving this field blank will default to NONE. - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigTaxType` - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigTaxType` - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigTaxType` - `ContractWithoutAmendmentsSpendThresholdConfigurationPaymentGateConfigTaxType` - **ThresholdAmount:** `float64` Specify the threshold amount for the contract. Each time the contract's usage hits this amount, a threshold charge will be initiated. - **TotalContractValue:** `float64` This field's availability is dependent on your client's configuration. - **UsageFilter:** `ContractWithoutAmendmentsUsageFilter` - **Current:** `BaseUsageFilter` - **Initial:** `BaseUsageFilter` - **Updates:** `[]ContractWithoutAmendmentsUsageFilterUpdate` - **GroupKey:** `string` - **GroupValues:** `[]string` - **StartingAt:** `Time` ### Credit - Not supported - **ID:** `string` - **Product:** `CreditProduct` - **ID:** `string` - **Name:** `string` - **Type:** `CreditType` - `CreditType` - **AccessSchedule:** `ScheduleDuration` The schedule that the customer will gain access to the credits. - **ApplicableContractIDs:** `[]string` - **ApplicableProductIDs:** `[]string` - **ApplicableProductTags:** `[]string` - **Balance:** `float64` The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries. - **Contract:** `CreditContract` - **ID:** `string` - **CustomFields:** `map[string, string]` - **Description:** `string` - **HierarchyConfiguration:** `CreditHierarchyConfiguration` Optional configuration for credit hierarchy access control - **ChildAccess:** `CreditHierarchyConfigurationChildAccess` - Not supported - **Type:** `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllType` - Not supported - **Type:** `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneType` - Not supported - **ContractIDs:** `[]string` - **Type:** `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - `CreditHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsType` - **Ledger:** `[]CreditLedger` A list of ordered events that impact the balance of a credit. For example, an invoice deduction or an expiration. - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditSegmentStartLedgerEntryType` - `CreditLedgerCreditSegmentStartLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditAutomatedInvoiceDeductionLedgerEntryType` - `CreditLedgerCreditAutomatedInvoiceDeductionLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditExpirationLedgerEntryType` - `CreditLedgerCreditExpirationLedgerEntryType` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditCanceledLedgerEntryType` - `CreditLedgerCreditCanceledLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **InvoiceID:** `string` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditCreditedLedgerEntryType` - `CreditLedgerCreditCreditedLedgerEntryType` - **ContractID:** `string` - Not supported - **Amount:** `float64` - **Reason:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditManualLedgerEntryType` - `CreditLedgerCreditManualLedgerEntryType` - Not supported - **Amount:** `float64` - **SegmentID:** `string` - **Timestamp:** `Time` - **Type:** `CreditLedgerCreditSeatBasedAdjustmentLedgerEntryType` - `CreditLedgerCreditSeatBasedAdjustmentLedgerEntryType` - **Name:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. - **Priority:** `float64` If multiple credits or commits are applicable, the one with the lower priority will apply first. - **RateType:** `CreditRateType` - `CreditRateType` - `CreditRateType` - **SalesforceOpportunityID:** `string` This field's availability is dependent on your client's configuration. - **Specifiers:** `[]CreditSpecifier` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` If provided, the specifier will only apply to the product with the specified ID. - **ProductTags:** `[]string` If provided, the specifier will only apply to products with all the specified tags. - **UniquenessKey:** `string` Prevents the creation of duplicates. If a request to create a commit or credit is made with a uniqueness key that was previously used to create a commit or credit, a new record will not be created and the request will fail with a 409 error. ### Credit Type Data - Not supported - **ID:** `string` - **Name:** `string` ### Discount - Not supported - **ID:** `string` - **Product:** `DiscountProduct` - **ID:** `string` - **Name:** `string` - **Schedule:** `SchedulePointInTime` - **CustomFields:** `map[string, string]` - **Name:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. ### Event Type Filter - Not supported An optional filtering rule to match the 'event_type' property of an event. - **InValues:** `[]string` A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present. - **NotInValues:** `[]string` A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present. ### ID - Not supported - **ID:** `string` ### Override - Not supported - **ID:** `string` - **StartingAt:** `Time` - **ApplicableProductTags:** `[]string` - **CreditType:** `CreditTypeData` - **EndingBefore:** `Time` - **Entitled:** `bool` - **IsCommitSpecific:** `bool` - **IsProrated:** `bool` Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true. - **Multiplier:** `float64` - **OverrideSpecifiers:** `[]OverrideOverrideSpecifier` - **BillingFrequency:** `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - `OverrideOverrideSpecifiersBillingFrequency` - **CommitIDs:** `[]string` - **PresentationGroupValues:** `map[string, string]` - **PricingGroupValues:** `map[string, string]` - **ProductID:** `string` - **ProductTags:** `[]string` - **RecurringCommitIDs:** `[]string` - **RecurringCreditIDs:** `[]string` - **OverrideTiers:** `[]OverrideOverrideTier` - **Multiplier:** `float64` - **Size:** `float64` - **OverwriteRate:** `OverrideOverwriteRate` - **RateType:** `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - `OverrideOverwriteRateRateType` - **CreditType:** `CreditTypeData` - **CustomRate:** `map[string, unknown]` Only set for CUSTOM rate_type. This field is interpreted by custom rate processors. - **IsProrated:** `bool` Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true. - **Price:** `float64` Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1. - **Quantity:** `float64` Default quantity. For SUBSCRIPTION rate_type, this must be >=0. - **Tiers:** `[]Tier` Only set for TIERED rate_type. - **Price:** `float64` - **Size:** `float64` - **Price:** `float64` Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1. - **Priority:** `float64` - **Product:** `OverrideProduct` - **ID:** `string` - **Name:** `string` - **Quantity:** `float64` Default quantity. For SUBSCRIPTION rate_type, this must be >=0. - **RateType:** `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - `OverrideRateType` - **Target:** `OverrideTarget` - `OverrideTarget` - `OverrideTarget` - **Tiers:** `[]Tier` Only set for TIERED rate_type. - **Price:** `float64` - **Size:** `float64` - **Type:** `OverrideType` - `OverrideType` - `OverrideType` - `OverrideType` - **Value:** `map[string, unknown]` Only set for CUSTOM rate_type. This field is interpreted by custom rate processors. ### Property Filter - Not supported - **Name:** `string` The name of the event property. - **Exists:** `bool` Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional. - **InValues:** `[]string` Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present. - **NotInValues:** `[]string` Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present. ### Pro Service - Not supported - **ID:** `string` - **MaxAmount:** `float64` Maximum amount for the term. - **ProductID:** `string` - **Quantity:** `float64` Quantity for the charge. Will be multiplied by unit_price to determine the amount. - **UnitPrice:** `float64` Unit price for the charge. Will be multiplied by quantity to determine the amount and must be specified. - **CustomFields:** `map[string, string]` - **Description:** `string` - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. ### Rate - Not supported - **RateType:** `RateRateType` - `RateRateType` - `RateRateType` - `RateRateType` - `RateRateType` - `RateRateType` - **CreditType:** `CreditTypeData` - **CustomRate:** `map[string, unknown]` Only set for CUSTOM rate_type. This field is interpreted by custom rate processors. - **IsProrated:** `bool` Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true. - **Price:** `float64` Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1. - **PricingGroupValues:** `map[string, string]` if pricing groups are used, this will contain the values used to calculate the price - **Quantity:** `float64` Default quantity. For SUBSCRIPTION rate_type, this must be >=0. - **Tiers:** `[]Tier` Only set for TIERED rate_type. - **Price:** `float64` - **Size:** `float64` - **UseListPrices:** `bool` Only set for PERCENTAGE rate_type. Defaults to false. If true, rate is computed using list prices rather than the standard rates for this product on the contract. ### Scheduled Charge - Not supported - **ID:** `string` - **Product:** `ScheduledChargeProduct` - **ID:** `string` - **Name:** `string` - **Schedule:** `SchedulePointInTime` - **ArchivedAt:** `Time` - **CustomFields:** `map[string, string]` - **Name:** `string` displayed on invoices - **NetsuiteSalesOrderID:** `string` This field's availability is dependent on your client's configuration. ### Schedule Duration - Not supported - **ScheduleItems:** `[]ScheduleDurationScheduleItem` - **ID:** `string` - **Amount:** `float64` - **EndingBefore:** `Time` - **StartingAt:** `Time` - **CreditType:** `CreditTypeData` ### Schedule Point In Time - Not supported - **CreditType:** `CreditTypeData` - **DoNotInvoice:** `bool` This field is only applicable to commit invoice schedules. If true, this schedule will not generate an invoice. - **ScheduleItems:** `[]SchedulePointInTimeScheduleItem` - **ID:** `string` - **Amount:** `float64` - **Quantity:** `float64` - **Timestamp:** `Time` - **UnitPrice:** `float64` - **InvoiceID:** `string` ### Tier - Not supported - **Price:** `float64` - **Size:** `float64`