Skip to content
  • Auto
  • Light
  • Dark
Talk to an expert

Get Edit History

Get contract edit history
client.v2.contracts.getEditHistory(ContractGetEditHistoryParamsbody, RequestOptionsoptions?): dataarrayContractGetEditHistoryResponse
post/v2/contracts/getEditHistory

Get the edit history of a specific contract. Contract editing must be enabled to use this endpoint.

Parameters
bodycontract_idstringcustomer_idstringContractGetEditHistoryParams
Hide ParametersShow Parameters
contract_idstring
formatuuid
customer_idstring
formatuuid
Returns
ContractGetEditHistoryResponse
Hide ParametersShow Parameters
dataarray
Array<Data>
Hide ParametersShow Parameters
idstring
formatuuid
add_commitsarray
optional
Array<AddCommit>
Hide ParametersShow Parameters
idstring
formatuuid
productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
typeunion
"PREPAID" | "POSTPAID"
Hide ParametersShow Parameters
"PREPAID"
"POSTPAID"
access_scheduleschedule_itemsarraycredit_typeCreditTypeDataScheduleDuration
optional

The schedule that the customer will gain access to the credits purposed with this commit.

applicable_product_idsarray
optional
Array<string>
applicable_product_tagsarray
optional
Array<string>
descriptionstring
optional
hierarchy_configurationchild_accessunionHierarchyConfiguration
optional

Optional configuration for commit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
Hide ParametersShow Parameters
CommitHierarchyChildAccessAll
Hide ParametersShow Parameters
type"ALL"
Hide ParametersShow Parameters
"ALL"
CommitHierarchyChildAccessNone
Hide ParametersShow Parameters
type"NONE"
Hide ParametersShow Parameters
"NONE"
CommitHierarchyChildAccessContractIDs
Hide ParametersShow Parameters
contract_idsarray
Array<string>
type"CONTRACT_IDS"
Hide ParametersShow Parameters
"CONTRACT_IDS"
invoice_schedulecredit_typeCreditTypeDatado_not_invoicebooleanschedule_itemsarraySchedulePointInTime
optional

The schedule that the customer will be invoiced for this commit.

namestring
optional
netsuite_sales_order_idstring
optional

This field's availability is dependent on your client's configuration.

prioritynumber
optional

If multiple credits or commits are applicable, the one with the lower priority will apply first.

rate_typeunion
optional
"COMMIT_RATE" | "LIST_RATE"
Hide ParametersShow Parameters
"COMMIT_RATE"
"LIST_RATE"
rollover_fractionnumber
optional
salesforce_opportunity_idstring
optional

This field's availability is dependent on your client's configuration.

specifiersarray
optional
Array<Specifier>

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. Instead, to target usage by product or product tag, pass those values in the body of specifiers.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

add_creditsarray
optional
Array<AddCredit>
Hide ParametersShow Parameters
idstring
formatuuid
productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
type"CREDIT"
Hide ParametersShow Parameters
"CREDIT"
access_scheduleschedule_itemsarraycredit_typeCreditTypeDataScheduleDuration
optional

The schedule that the customer will gain access to the credits.

applicable_product_idsarray
optional
Array<string>
applicable_product_tagsarray
optional
Array<string>
descriptionstring
optional
hierarchy_configurationchild_accessunionHierarchyConfiguration
optional

Optional configuration for recurring credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
Hide ParametersShow Parameters
CommitHierarchyChildAccessAll
Hide ParametersShow Parameters
type"ALL"
Hide ParametersShow Parameters
"ALL"
CommitHierarchyChildAccessNone
Hide ParametersShow Parameters
type"NONE"
Hide ParametersShow Parameters
"NONE"
CommitHierarchyChildAccessContractIDs
Hide ParametersShow Parameters
contract_idsarray
Array<string>
type"CONTRACT_IDS"
Hide ParametersShow Parameters
"CONTRACT_IDS"
namestring
optional
netsuite_sales_order_idstring
optional

This field's availability is dependent on your client's configuration.

prioritynumber
optional

If multiple credits or commits are applicable, the one with the lower priority will apply first.

salesforce_opportunity_idstring
optional

This field's availability is dependent on your client's configuration.

specifiersarray
optional
Array<Specifier>

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. Instead, to target usage by product or product tag, pass those values in the body of specifiers.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

add_discountsarray
optional
Array<idstringproductProductscheduleSchedulePointInTimecustom_fieldsRecord<string, string>namestringnetsuite_sales_order_idstringDiscount>
Hide ParametersShow Parameters
idstring
formatuuid
productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
schedulecredit_typeCreditTypeDatado_not_invoicebooleanschedule_itemsarraySchedulePointInTime
custom_fieldsRecord<string, string>
optional
namestring
optional
minLength1
netsuite_sales_order_idstring
optional

This field's availability is dependent on your client's configuration.

add_overridesarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
starting_atstring
formatdate-time
applicable_product_tagsarray
optional
Array<string>
ending_beforestring
optional
formatdate-time
entitledboolean
optional
is_commit_specificboolean
optional
multipliernumber
optional
override_specifiersarray
optional
Hide ParametersShow Parameters
billing_frequencyunion
optional
"MONTHLY" | "QUARTERLY" | "ANNUAL" | "WEEKLY"
Hide ParametersShow Parameters
"MONTHLY"
"QUARTERLY"
"ANNUAL"
"WEEKLY"
commit_idsarray
optional
Array<string>
presentation_group_valuesRecord<string, string | null>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional
formatuuid
product_tagsarray
optional
Array<string>
recurring_commit_idsarray
optional
Array<string>
recurring_credit_idsarray
optional
Array<string>
override_tiersarray
optional
Hide ParametersShow Parameters
multipliernumber
sizenumber
optional
overwrite_raterate_typeunioncredit_typeCreditTypeDatacustom_rateRecord<string, unknown>is_proratedbooleanpricenumberquantitynumbertiersarrayOverwriteRate
optional
Hide ParametersShow Parameters
rate_typeunion
"FLAT" | "PERCENTAGE" | "SUBSCRIPTION" | 2 more
Hide ParametersShow Parameters
"FLAT"
"PERCENTAGE"
"SUBSCRIPTION"
"TIERED"
"CUSTOM"
credit_typeidstringnamestringCreditTypeData
optional
custom_rateRecord<string, unknown>
optional

Only set for CUSTOM rate_type. This field is interpreted by custom rate processors.

is_proratedboolean
optional

Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be set to true.

pricenumber
optional

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.

quantitynumber
optional

Default quantity. For SUBSCRIPTION rate_type, this must be >=0.

tiersarray
optional
Array<pricenumbersizenumberTier>

Only set for TIERED rate_type.

Hide ParametersShow Parameters
pricenumber
sizenumber
optional
prioritynumber
optional
productidstringnamestringProduct
optional
Hide ParametersShow Parameters
idstring
formatuuid
namestring
targetunion
optional
"COMMIT_RATE" | "LIST_RATE"
Hide ParametersShow Parameters
"COMMIT_RATE"
"LIST_RATE"
typeunion
optional
"OVERWRITE" | "MULTIPLIER" | "TIERED"
Hide ParametersShow Parameters
"OVERWRITE"
"MULTIPLIER"
"TIERED"
add_prepaid_balance_threshold_configurationcommitCommitis_enabledbooleanpayment_gate_configPaymentGateConfigrecharge_to_amountnumberthreshold_amountnumbercustom_credit_type_idstringAddPrepaidBalanceThresholdConfiguration
optional
Hide ParametersShow Parameters
commitproduct_idstringapplicable_product_idsarrayapplicable_product_tagsarraydescriptionstringnamestringspecifiersarrayCommit
Hide ParametersShow Parameters
product_idstring

The commit product that will be used to generate the line item for commit payment.

applicable_product_idsarray
optional
Array<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.

applicable_product_tagsarray
optional
Array<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.

descriptionstring
optional
namestring
optional

Specify the name of the line item for the threshold charge. If left blank, it will default to the commit product name.

specifiersarray
optional
Array<Specifier>

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. Instead, to target usage by product or product tag, pass those values in the body of specifiers.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

is_enabledboolean

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.

payment_gate_configpayment_gate_typeunionprecalculated_tax_configPrecalculatedTaxConfigstripe_configStripeConfigtax_typeunionPaymentGateConfig
Hide ParametersShow Parameters
payment_gate_typeunion
"NONE" | "STRIPE" | "EXTERNAL"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"EXTERNAL"
precalculated_tax_configtax_amountnumbertax_namestringPrecalculatedTaxConfig
optional

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
tax_amountnumber

Amount of tax to be applied. This should be in the same currency and denomination as the commit's invoice schedule

tax_namestring
optional

Name of the tax to be applied. This may be used in an invoice line item description.

stripe_configpayment_typeunioninvoice_metadataRecord<string, string>StripeConfig
optional

Only applicable if using STRIPE as your payment gateway type.

Hide ParametersShow Parameters
payment_typeunion
"INVOICE" | "PAYMENT_INTENT"

If left blank, will default to INVOICE

Hide ParametersShow Parameters
"INVOICE"
"PAYMENT_INTENT"
invoice_metadataRecord<string, string>
optional

Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as your payment type.

tax_typeunion
optional
"NONE" | "STRIPE" | "ANROK" | "PRECALCULATED"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"ANROK"
"PRECALCULATED"
recharge_to_amountnumber

Specify the amount the balance should be recharged to.

threshold_amountnumber

Specify the threshold amount for the contract. Each time the contract's balance lowers to this amount, a threshold charge will be initiated.

custom_credit_type_idstring
optional

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.

formatuuid
add_pro_servicesarray
optional
Array<idstringmax_amountnumberproduct_idstringquantitynumberunit_pricenumbercustom_fieldsRecord<string, string>descriptionstringnetsuite_sales_order_idstringProService>
Hide ParametersShow Parameters
idstring
formatuuid
max_amountnumber

Maximum amount for the term.

product_idstring
formatuuid
quantitynumber

Quantity for the charge. Will be multiplied by unit_price to determine the amount.

unit_pricenumber

Unit price for the charge. Will be multiplied by quantity to determine the amount and must be specified.

custom_fieldsRecord<string, string>
optional
descriptionstring
optional
netsuite_sales_order_idstring
optional

This field's availability is dependent on your client's configuration.

add_recurring_commitsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
access_amountcredit_type_idstringunit_pricenumberquantitynumberAccessAmount

The amount of commit to grant.

Hide ParametersShow Parameters
credit_type_idstring
formatuuid
unit_pricenumber
quantitynumber
optional
commit_durationvaluenumberunit"PERIODS"CommitDuration

The amount of time the created commits will be valid for

Hide ParametersShow Parameters
valuenumber
unit"PERIODS"
optional
Hide ParametersShow Parameters
"PERIODS"
prioritynumber

Will be passed down to the individual commits

productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
rate_typeunion
"COMMIT_RATE" | "LIST_RATE"

Whether the created commits will use the commit rate or list rate

Hide ParametersShow Parameters
"COMMIT_RATE"
"LIST_RATE"
starting_atstring

Determines the start time for the first commit

formatdate-time
applicable_product_idsarray
optional
Array<string>

Will be passed down to the individual commits

applicable_product_tagsarray
optional
Array<string>

Will be passed down to the individual commits

contractidstringContract
optional
Hide ParametersShow Parameters
idstring
formatuuid
descriptionstring
optional

Will be passed down to the individual commits

ending_beforestring
optional

Determines when the contract will stop creating recurring commits. Optional

formatdate-time
hierarchy_configurationchild_accessunionHierarchyConfiguration
optional

Optional configuration for recurring credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
Hide ParametersShow Parameters
CommitHierarchyChildAccessAll
Hide ParametersShow Parameters
type"ALL"
Hide ParametersShow Parameters
"ALL"
CommitHierarchyChildAccessNone
Hide ParametersShow Parameters
type"NONE"
Hide ParametersShow Parameters
"NONE"
CommitHierarchyChildAccessContractIDs
Hide ParametersShow Parameters
contract_idsarray
Array<string>
type"CONTRACT_IDS"
Hide ParametersShow Parameters
"CONTRACT_IDS"
invoice_amountcredit_type_idstringquantitynumberunit_pricenumberInvoiceAmount
optional

The amount the customer should be billed for the commit. Not required.

Hide ParametersShow Parameters
credit_type_idstring
formatuuid
quantitynumber
unit_pricenumber
namestring
optional

Displayed on invoices. Will be passed through to the individual commits

netsuite_sales_order_idstring
optional

Will be passed down to the individual commits

prorationunion
optional
"NONE" | "FIRST" | "LAST" | "FIRST_AND_LAST"

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).

Hide ParametersShow Parameters
"NONE"
"FIRST"
"LAST"
"FIRST_AND_LAST"
recurrence_frequencyunion
optional
"MONTHLY" | "QUARTERLY" | "ANNUAL" | "WEEKLY"

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.

Hide ParametersShow Parameters
"MONTHLY"
"QUARTERLY"
"ANNUAL"
"WEEKLY"
rollover_fractionnumber
optional

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.

specifiersarray
optional
Array<Specifier>

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.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

subscription_configallocationunionapply_seat_increase_configApplySeatIncreaseConfigsubscription_idstringSubscriptionConfig
optional

Attach a subscription to the recurring commit/credit.

Hide ParametersShow Parameters
allocationunion
"INDIVIDUAL" | "POOLED"
Hide ParametersShow Parameters
"INDIVIDUAL"
"POOLED"
apply_seat_increase_configis_proratedbooleanApplySeatIncreaseConfig
Hide ParametersShow Parameters
is_proratedboolean

Indicates whether a mid-period seat increase should be prorated.

subscription_idstring
formatuuid
add_recurring_creditsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
access_amountcredit_type_idstringunit_pricenumberquantitynumberAccessAmount

The amount of commit to grant.

Hide ParametersShow Parameters
credit_type_idstring
formatuuid
unit_pricenumber
quantitynumber
optional
commit_durationvaluenumberunit"PERIODS"CommitDuration

The amount of time the created commits will be valid for

Hide ParametersShow Parameters
valuenumber
unit"PERIODS"
optional
Hide ParametersShow Parameters
"PERIODS"
prioritynumber

Will be passed down to the individual commits

productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
rate_typeunion
"COMMIT_RATE" | "LIST_RATE"

Whether the created commits will use the commit rate or list rate

Hide ParametersShow Parameters
"COMMIT_RATE"
"LIST_RATE"
starting_atstring

Determines the start time for the first commit

formatdate-time
applicable_product_idsarray
optional
Array<string>

Will be passed down to the individual commits

applicable_product_tagsarray
optional
Array<string>

Will be passed down to the individual commits

contractidstringContract
optional
Hide ParametersShow Parameters
idstring
formatuuid
descriptionstring
optional

Will be passed down to the individual commits

ending_beforestring
optional

Determines when the contract will stop creating recurring commits. Optional

formatdate-time
hierarchy_configurationchild_accessunionHierarchyConfiguration
optional

Optional configuration for recurring credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
Hide ParametersShow Parameters
CommitHierarchyChildAccessAll
Hide ParametersShow Parameters
type"ALL"
Hide ParametersShow Parameters
"ALL"
CommitHierarchyChildAccessNone
Hide ParametersShow Parameters
type"NONE"
Hide ParametersShow Parameters
"NONE"
CommitHierarchyChildAccessContractIDs
Hide ParametersShow Parameters
contract_idsarray
Array<string>
type"CONTRACT_IDS"
Hide ParametersShow Parameters
"CONTRACT_IDS"
namestring
optional

Displayed on invoices. Will be passed through to the individual commits

netsuite_sales_order_idstring
optional

Will be passed down to the individual commits

prorationunion
optional
"NONE" | "FIRST" | "LAST" | "FIRST_AND_LAST"

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).

Hide ParametersShow Parameters
"NONE"
"FIRST"
"LAST"
"FIRST_AND_LAST"
recurrence_frequencyunion
optional
"MONTHLY" | "QUARTERLY" | "ANNUAL" | "WEEKLY"

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.

Hide ParametersShow Parameters
"MONTHLY"
"QUARTERLY"
"ANNUAL"
"WEEKLY"
rollover_fractionnumber
optional

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.

specifiersarray
optional
Array<Specifier>

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.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

subscription_configallocationunionapply_seat_increase_configApplySeatIncreaseConfigsubscription_idstringSubscriptionConfig
optional

Attach a subscription to the recurring commit/credit.

Hide ParametersShow Parameters
allocationunion
"INDIVIDUAL" | "POOLED"
Hide ParametersShow Parameters
"INDIVIDUAL"
"POOLED"
apply_seat_increase_configis_proratedbooleanApplySeatIncreaseConfig
Hide ParametersShow Parameters
is_proratedboolean

Indicates whether a mid-period seat increase should be prorated.

subscription_idstring
formatuuid
add_reseller_royaltiesarray
optional
Hide ParametersShow Parameters
reseller_typeunion
"AWS" | "AWS_PRO_SERVICE" | "GCP" | "GCP_PRO_SERVICE"
Hide ParametersShow Parameters
"AWS"
"AWS_PRO_SERVICE"
"GCP"
"GCP_PRO_SERVICE"
applicable_product_idsarray
optional
Array<string>
applicable_product_tagsarray
optional
Array<string>
aws_account_numberstring
optional
aws_offer_idstring
optional
aws_payer_reference_idstring
optional
ending_beforeunion
optional
string | null
formatdate-time
fractionnumber
optional
gcp_account_idstring
optional
gcp_offer_idstring
optional
netsuite_reseller_idstring
optional
reseller_contract_valuenumber
optional
starting_atstring
optional
formatdate-time
add_scheduled_chargesarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
schedulecredit_typeCreditTypeDatado_not_invoicebooleanschedule_itemsarraySchedulePointInTime
namestring
optional

displayed on invoices

minLength1
netsuite_sales_order_idstring
optional

This field's availability is dependent on your client's configuration.

add_spend_threshold_configurationcommitCommitis_enabledbooleanpayment_gate_configPaymentGateConfigthreshold_amountnumberAddSpendThresholdConfiguration
optional
Hide ParametersShow Parameters
commitproduct_idstringdescriptionstringnamestringCommit
Hide ParametersShow Parameters
product_idstring

The commit product that will be used to generate the line item for commit payment.

descriptionstring
optional
namestring
optional

Specify the name of the line item for the threshold charge. If left blank, it will default to the commit product name.

is_enabledboolean

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.

payment_gate_configpayment_gate_typeunionprecalculated_tax_configPrecalculatedTaxConfigstripe_configStripeConfigtax_typeunionPaymentGateConfig
Hide ParametersShow Parameters
payment_gate_typeunion
"NONE" | "STRIPE" | "EXTERNAL"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"EXTERNAL"
precalculated_tax_configtax_amountnumbertax_namestringPrecalculatedTaxConfig
optional

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
tax_amountnumber

Amount of tax to be applied. This should be in the same currency and denomination as the commit's invoice schedule

tax_namestring
optional

Name of the tax to be applied. This may be used in an invoice line item description.

stripe_configpayment_typeunioninvoice_metadataRecord<string, string>StripeConfig
optional

Only applicable if using STRIPE as your payment gateway type.

Hide ParametersShow Parameters
payment_typeunion
"INVOICE" | "PAYMENT_INTENT"

If left blank, will default to INVOICE

Hide ParametersShow Parameters
"INVOICE"
"PAYMENT_INTENT"
invoice_metadataRecord<string, string>
optional

Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as your payment type.

tax_typeunion
optional
"NONE" | "STRIPE" | "ANROK" | "PRECALCULATED"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"ANROK"
"PRECALCULATED"
threshold_amountnumber

Specify the threshold amount for the contract. Each time the contract's usage hits this amount, a threshold charge will be initiated.

add_subscriptionsarray
optional

List of subscriptions on the contract.

Hide ParametersShow Parameters
collection_scheduleunion
"ADVANCE" | "ARREARS"
Hide ParametersShow Parameters
"ADVANCE"
"ARREARS"
prorationinvoice_behaviorunionis_proratedbooleanProration
Hide ParametersShow Parameters
invoice_behaviorunion
"BILL_IMMEDIATELY" | "BILL_ON_NEXT_COLLECTION_DATE"
Hide ParametersShow Parameters
"BILL_IMMEDIATELY"
"BILL_ON_NEXT_COLLECTION_DATE"
is_proratedboolean
quantity_schedulearray

List of quantity schedule items for the subscription. Only includes the current quantity and future quantity changes.

Hide ParametersShow Parameters
quantitynumber
starting_atstring
formatdate-time
ending_beforestring
optional
formatdate-time
starting_atstring
formatdate-time
subscription_ratebilling_frequencyunionproductProductSubscriptionRate
Hide ParametersShow Parameters
billing_frequencyunion
"MONTHLY" | "QUARTERLY" | "ANNUAL" | "WEEKLY"
Hide ParametersShow Parameters
"MONTHLY"
"QUARTERLY"
"ANNUAL"
"WEEKLY"
productidstringnamestringProduct
Hide ParametersShow Parameters
idstring
formatuuid
namestring
idstring
optional
formatuuid
custom_fieldsRecord<string, string>
optional
descriptionstring
optional
ending_beforestring
optional
formatdate-time
fiat_credit_type_idstring
optional
formatuuid
namestring
optional
add_usage_filtersarray
optional
Hide ParametersShow Parameters
group_keystring
group_valuesarray
Array<string>
starting_atstring

This will match contract starting_at value if usage filter is active from the beginning of the contract.

formatdate-time
ending_beforestring
optional

This will match contract ending_before value if usage filter is active until the end of the contract. It will be undefined if the contract is open-ended.

formatdate-time
archive_commitsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
archive_creditsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
archive_scheduled_chargesarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
remove_overridesarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
timestampstring
optional
formatdate-time
update_commitsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
access_scheduleadd_schedule_itemsarrayremove_schedule_itemsarrayupdate_schedule_itemsarrayAccessSchedule
optional
Hide ParametersShow Parameters
add_schedule_itemsarray
optional
Hide ParametersShow Parameters
amountnumber
ending_beforestring

RFC 3339 timestamp (exclusive)

formatdate-time
starting_atstring

RFC 3339 timestamp (inclusive)

formatdate-time
remove_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
update_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
amountnumber
optional
ending_beforestring
optional

RFC 3339 timestamp (exclusive)

formatdate-time
starting_atstring
optional

RFC 3339 timestamp (inclusive)

formatdate-time
applicable_product_idsunion
optional
Array<string> | null

Which products the commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products.

applicable_product_tagsunion
optional
Array<string> | null

Which tags the commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products.

hierarchy_configurationchild_accessunionHierarchyConfiguration
optional

Optional configuration for commit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
Hide ParametersShow Parameters
CommitHierarchyChildAccessAll
Hide ParametersShow Parameters
type"ALL"
Hide ParametersShow Parameters
"ALL"
CommitHierarchyChildAccessNone
Hide ParametersShow Parameters
type"NONE"
Hide ParametersShow Parameters
"NONE"
CommitHierarchyChildAccessContractIDs
Hide ParametersShow Parameters
contract_idsarray
Array<string>
type"CONTRACT_IDS"
Hide ParametersShow Parameters
"CONTRACT_IDS"
invoice_scheduleadd_schedule_itemsarrayremove_schedule_itemsarrayupdate_schedule_itemsarrayInvoiceSchedule
optional
Hide ParametersShow Parameters
add_schedule_itemsarray
optional
Hide ParametersShow Parameters
timestampstring
formatdate-time
amountnumber
optional
quantitynumber
optional
unit_pricenumber
optional
remove_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
update_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
amountnumber
optional
quantitynumber
optional
timestampstring
optional
formatdate-time
unit_pricenumber
optional
namestring
optional
netsuite_sales_order_idunion
optional
string | null
priorityunion
optional
number | null

If multiple commits are applicable, the one with the lower priority will apply first.

product_idstring
optional
formatuuid
rollover_fractionunion
optional
number | null
specifiersunion
optional
Array<Specifier> | null

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. Instead, to target usage by product or product tag, pass those values in the body of specifiers.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

update_contract_end_datestring
optional
formatdate-time
update_contract_nameunion
optional
string | null

Value to update the contract name to. If not provided, the contract name will remain unchanged.

update_creditsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
access_scheduleadd_schedule_itemsarrayremove_schedule_itemsarrayupdate_schedule_itemsarrayAccessSchedule
optional
Hide ParametersShow Parameters
add_schedule_itemsarray
optional
Hide ParametersShow Parameters
amountnumber
ending_beforestring

RFC 3339 timestamp (exclusive)

formatdate-time
starting_atstring

RFC 3339 timestamp (inclusive)

formatdate-time
remove_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
update_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
amountnumber
optional
ending_beforestring
optional

RFC 3339 timestamp (exclusive)

formatdate-time
starting_atstring
optional

RFC 3339 timestamp (inclusive)

formatdate-time
hierarchy_configurationchild_accessunionHierarchyConfiguration
optional

Optional configuration for credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
Hide ParametersShow Parameters
CommitHierarchyChildAccessAll
Hide ParametersShow Parameters
type"ALL"
Hide ParametersShow Parameters
"ALL"
CommitHierarchyChildAccessNone
Hide ParametersShow Parameters
type"NONE"
Hide ParametersShow Parameters
"NONE"
CommitHierarchyChildAccessContractIDs
Hide ParametersShow Parameters
contract_idsarray
Array<string>
type"CONTRACT_IDS"
Hide ParametersShow Parameters
"CONTRACT_IDS"
namestring
optional
netsuite_sales_order_idunion
optional
string | null
priorityunion
optional
number | null

If multiple credits are applicable, the one with the lower priority will apply first.

rollover_fractionunion
optional
number | null
update_discountsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
custom_fieldsRecord<string, string>
optional
namestring
optional
netsuite_sales_order_idstring
optional
schedulecredit_type_idstringdo_not_invoicebooleanrecurring_scheduleRecurringScheduleschedule_itemsarraySchedule
optional

Must provide either schedule_items or recurring_schedule.

Hide ParametersShow Parameters
credit_type_idstring
optional

Defaults to USD (cents) if not passed.

formatuuid
do_not_invoiceboolean
optional

This field is only applicable to commit invoice schedules. If true, this schedule will not generate an invoice.

recurring_scheduleamount_distributionunionending_beforestringfrequencyunionstarting_atstringamountnumberquantitynumberunit_pricenumberRecurringSchedule
optional

Enter the unit price and quantity for the charge or instead only send the amount. If amount is sent, the unit price is assumed to be the amount and quantity is inferred to be 1.

Hide ParametersShow Parameters
amount_distributionunion
"DIVIDED" | "DIVIDED_ROUNDED" | "EACH"
Hide ParametersShow Parameters
"DIVIDED"
"DIVIDED_ROUNDED"
"EACH"
ending_beforestring

RFC 3339 timestamp (exclusive).

formatdate-time
frequencyunion
"MONTHLY" | "QUARTERLY" | "SEMI_ANNUAL" | 2 more
Hide ParametersShow Parameters
"MONTHLY"
"QUARTERLY"
"SEMI_ANNUAL"
"ANNUAL"
"WEEKLY"
starting_atstring

RFC 3339 timestamp (inclusive).

formatdate-time
amountnumber
optional

Amount for the charge. Can be provided instead of unit_price and quantity. If amount is sent, the unit_price is assumed to be the amount and quantity is inferred to be 1.

quantitynumber
optional

Quantity for the charge. Will be multiplied by unit_price to determine the amount and must be specified with unit_price. If specified amount cannot be provided.

unit_pricenumber
optional

Unit price for the charge. Will be multiplied by quantity to determine the amount and must be specified with quantity. If specified amount cannot be provided.

schedule_itemsarray
optional

Either provide amount or provide both unit_price and quantity.

Hide ParametersShow Parameters
timestampstring

timestamp of the scheduled event

formatdate-time
amountnumber
optional

Amount for the charge. Can be provided instead of unit_price and quantity. If amount is sent, the unit_price is assumed to be the amount and quantity is inferred to be 1.

quantitynumber
optional

Quantity for the charge. Will be multiplied by unit_price to determine the amount and must be specified with unit_price. If specified amount cannot be provided.

unit_pricenumber
optional

Unit price for the charge. Will be multiplied by quantity to determine the amount and must be specified with quantity. If specified amount cannot be provided.

update_prepaid_balance_threshold_configurationcommitCommitcustom_credit_type_idunionis_enabledbooleanpayment_gate_configPaymentGateConfigrecharge_to_amountnumberthreshold_amountnumberUpdatePrepaidBalanceThresholdConfiguration
optional
Hide ParametersShow Parameters
commitapplicable_product_idsunionapplicable_product_tagsuniondescriptionstringnamestringproduct_idstringspecifiersunionCommit
optional
Hide ParametersShow Parameters
applicable_product_idsunion
optional
Array<string> | null

Which products the threshold commit applies to. If both applicable_product_ids and applicable_product_tags are not provided, the commit applies to all products.

applicable_product_tagsunion
optional
Array<string> | null

Which tags the threshold commit applies to. If both applicable_product_ids and applicable_product_tags are not provided, the commit applies to all products.

descriptionstring
optional
namestring
optional

Specify the name of the line item for the threshold charge. If left blank, it will default to the commit product name.

product_idstring
optional

The commit product that will be used to generate the line item for commit payment.

specifiersunion
optional
Array<Specifier> | null

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. Instead, to target usage by product or product tag, pass those values in the body of specifiers.

Hide ParametersShow Parameters
presentation_group_valuesRecord<string, string>
optional
pricing_group_valuesRecord<string, string>
optional
product_idstring
optional

If provided, the specifier will only apply to the product with the specified ID.

formatuuid
product_tagsarray
optional
Array<string>

If provided, the specifier will only apply to products with all the specified tags.

custom_credit_type_idunion
optional
string | null

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.

formatuuid
is_enabledboolean
optional

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.

payment_gate_configpayment_gate_typeunionprecalculated_tax_configPrecalculatedTaxConfigstripe_configStripeConfigtax_typeunionPaymentGateConfig
optional
Hide ParametersShow Parameters
payment_gate_typeunion
"NONE" | "STRIPE" | "EXTERNAL"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"EXTERNAL"
precalculated_tax_configtax_amountnumbertax_namestringPrecalculatedTaxConfig
optional

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
tax_amountnumber

Amount of tax to be applied. This should be in the same currency and denomination as the commit's invoice schedule

tax_namestring
optional

Name of the tax to be applied. This may be used in an invoice line item description.

stripe_configpayment_typeunioninvoice_metadataRecord<string, string>StripeConfig
optional

Only applicable if using STRIPE as your payment gateway type.

Hide ParametersShow Parameters
payment_typeunion
"INVOICE" | "PAYMENT_INTENT"

If left blank, will default to INVOICE

Hide ParametersShow Parameters
"INVOICE"
"PAYMENT_INTENT"
invoice_metadataRecord<string, string>
optional

Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as your payment type.

tax_typeunion
optional
"NONE" | "STRIPE" | "ANROK" | "PRECALCULATED"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"ANROK"
"PRECALCULATED"
recharge_to_amountnumber
optional

Specify the amount the balance should be recharged to.

threshold_amountnumber
optional

Specify the threshold amount for the contract. Each time the contract's balance lowers to this amount, a threshold charge will be initiated.

update_recurring_commitsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
access_amountquantitynumberunit_pricenumberAccessAmount
optional
Hide ParametersShow Parameters
quantitynumber
optional
unit_pricenumber
optional
ending_beforestring
optional
formatdate-time
invoice_amountquantitynumberunit_pricenumberInvoiceAmount
optional
Hide ParametersShow Parameters
quantitynumber
optional
unit_pricenumber
optional
update_recurring_creditsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
access_amountquantitynumberunit_pricenumberAccessAmount
optional
Hide ParametersShow Parameters
quantitynumber
optional
unit_pricenumber
optional
ending_beforestring
optional
formatdate-time
update_refund_invoicesarray
optional
Hide ParametersShow Parameters
datestring
formatdate-time
invoice_idstring
formatuuid
update_scheduled_chargesarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
invoice_scheduleadd_schedule_itemsarrayremove_schedule_itemsarrayupdate_schedule_itemsarrayInvoiceSchedule
optional
Hide ParametersShow Parameters
add_schedule_itemsarray
optional
Hide ParametersShow Parameters
timestampstring
formatdate-time
amountnumber
optional
quantitynumber
optional
unit_pricenumber
optional
remove_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
update_schedule_itemsarray
optional
Hide ParametersShow Parameters
idstring
formatuuid
amountnumber
optional
quantitynumber
optional
timestampstring
optional
formatdate-time
unit_pricenumber
optional
namestring
optional
netsuite_sales_order_idunion
optional
string | null
update_spend_threshold_configurationcommitCommitis_enabledbooleanpayment_gate_configPaymentGateConfigthreshold_amountnumberUpdateSpendThresholdConfiguration
optional
Hide ParametersShow Parameters
commitdescriptionstringnamestringproduct_idstringCommit
optional
Hide ParametersShow Parameters
descriptionstring
optional
namestring
optional

Specify the name of the line item for the threshold charge. If left blank, it will default to the commit product name.

product_idstring
optional

The commit product that will be used to generate the line item for commit payment.

is_enabledboolean
optional

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.

payment_gate_configpayment_gate_typeunionprecalculated_tax_configPrecalculatedTaxConfigstripe_configStripeConfigtax_typeunionPaymentGateConfig
optional
Hide ParametersShow Parameters
payment_gate_typeunion
"NONE" | "STRIPE" | "EXTERNAL"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"EXTERNAL"
precalculated_tax_configtax_amountnumbertax_namestringPrecalculatedTaxConfig
optional

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
tax_amountnumber

Amount of tax to be applied. This should be in the same currency and denomination as the commit's invoice schedule

tax_namestring
optional

Name of the tax to be applied. This may be used in an invoice line item description.

stripe_configpayment_typeunioninvoice_metadataRecord<string, string>StripeConfig
optional

Only applicable if using STRIPE as your payment gateway type.

Hide ParametersShow Parameters
payment_typeunion
"INVOICE" | "PAYMENT_INTENT"

If left blank, will default to INVOICE

Hide ParametersShow Parameters
"INVOICE"
"PAYMENT_INTENT"
invoice_metadataRecord<string, string>
optional

Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as your payment type.

tax_typeunion
optional
"NONE" | "STRIPE" | "ANROK" | "PRECALCULATED"

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.

Hide ParametersShow Parameters
"NONE"
"STRIPE"
"ANROK"
"PRECALCULATED"
threshold_amountnumber
optional

Specify the threshold amount for the contract. Each time the contract's usage hits this amount, a threshold charge will be initiated.

update_subscriptionsarray
optional

Optional list of subscriptions to update.

Hide ParametersShow Parameters
idstring
formatuuid
ending_beforestring
optional
formatdate-time
quantity_updatesarray
optional
Hide ParametersShow Parameters
starting_atstring
formatdate-time
quantitynumber
optional
quantity_deltanumber
optional
import Metronome from '@metronome/sdk';

const client = new Metronome({
  bearerToken: 'My Bearer Token',
});

const response = await client.v2.contracts.getEditHistory({
  contract_id: 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc',
  customer_id: '13117714-3f05-48e5-a6e9-a66093f13b4d',
});

console.log(response.data);
200 Example
{
  "data": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "add_commits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "type": "PREPAID",
          "access_schedule": {
            "schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "ending_before": "2019-12-27T18:11:19.117Z",
                "starting_at": "2019-12-27T18:11:19.117Z"
              }
            ],
            "credit_type": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            }
          },
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "description": "description",
          "hierarchy_configuration": {
            "child_access": {
              "type": "ALL"
            }
          },
          "invoice_schedule": {
            "credit_type": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            },
            "do_not_invoice": true,
            "schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "quantity": 0,
                "timestamp": "2019-12-27T18:11:19.117Z",
                "unit_price": 0,
                "invoice_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ]
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "priority": 0,
          "rate_type": "COMMIT_RATE",
          "rollover_fraction": 0,
          "salesforce_opportunity_id": "salesforce_opportunity_id",
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ]
        }
      ],
      "add_credits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "type": "CREDIT",
          "access_schedule": {
            "schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "ending_before": "2019-12-27T18:11:19.117Z",
                "starting_at": "2019-12-27T18:11:19.117Z"
              }
            ],
            "credit_type": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            }
          },
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "description": "description",
          "hierarchy_configuration": {
            "child_access": {
              "type": "ALL"
            }
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "priority": 0,
          "salesforce_opportunity_id": "salesforce_opportunity_id",
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ]
        }
      ],
      "add_discounts": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "schedule": {
            "credit_type": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            },
            "do_not_invoice": true,
            "schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "quantity": 0,
                "timestamp": "2019-12-27T18:11:19.117Z",
                "unit_price": 0,
                "invoice_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ]
          },
          "custom_fields": {
            "foo": "string"
          },
          "name": "x",
          "netsuite_sales_order_id": "netsuite_sales_order_id"
        }
      ],
      "add_overrides": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "starting_at": "2019-12-27T18:11:19.117Z",
          "applicable_product_tags": [
            "string"
          ],
          "ending_before": "2019-12-27T18:11:19.117Z",
          "entitled": true,
          "is_commit_specific": true,
          "multiplier": 0,
          "override_specifiers": [
            {
              "billing_frequency": "MONTHLY",
              "commit_ids": [
                "string"
              ],
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ],
              "recurring_commit_ids": [
                "string"
              ],
              "recurring_credit_ids": [
                "string"
              ]
            }
          ],
          "override_tiers": [
            {
              "multiplier": 0,
              "size": 0
            }
          ],
          "overwrite_rate": {
            "rate_type": "FLAT",
            "credit_type": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            },
            "custom_rate": {
              "foo": "bar"
            },
            "is_prorated": true,
            "price": 0,
            "quantity": 0,
            "tiers": [
              {
                "price": 0,
                "size": 0
              }
            ]
          },
          "priority": 0,
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "target": "COMMIT_RATE",
          "type": "OVERWRITE"
        }
      ],
      "add_prepaid_balance_threshold_configuration": {
        "commit": {
          "product_id": "product_id",
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "description": "description",
          "name": "name",
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ]
        },
        "is_enabled": true,
        "payment_gate_config": {
          "payment_gate_type": "NONE",
          "precalculated_tax_config": {
            "tax_amount": 0,
            "tax_name": "tax_name"
          },
          "stripe_config": {
            "payment_type": "INVOICE",
            "invoice_metadata": {
              "foo": "string"
            }
          },
          "tax_type": "NONE"
        },
        "recharge_to_amount": 0,
        "threshold_amount": 0,
        "custom_credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
      },
      "add_pro_services": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "max_amount": 0,
          "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "quantity": 0,
          "unit_price": 0,
          "custom_fields": {
            "foo": "string"
          },
          "description": "description",
          "netsuite_sales_order_id": "netsuite_sales_order_id"
        }
      ],
      "add_recurring_commits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "access_amount": {
            "credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "unit_price": 0,
            "quantity": 0
          },
          "commit_duration": {
            "value": 0,
            "unit": "PERIODS"
          },
          "priority": 0,
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "rate_type": "COMMIT_RATE",
          "starting_at": "2019-12-27T18:11:19.117Z",
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "contract": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          },
          "description": "description",
          "ending_before": "2019-12-27T18:11:19.117Z",
          "hierarchy_configuration": {
            "child_access": {
              "type": "ALL"
            }
          },
          "invoice_amount": {
            "credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "quantity": 0,
            "unit_price": 0
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "proration": "NONE",
          "recurrence_frequency": "MONTHLY",
          "rollover_fraction": 0,
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ],
          "subscription_config": {
            "allocation": "INDIVIDUAL",
            "apply_seat_increase_config": {
              "is_prorated": true
            },
            "subscription_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          }
        }
      ],
      "add_recurring_credits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "access_amount": {
            "credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "unit_price": 0,
            "quantity": 0
          },
          "commit_duration": {
            "value": 0,
            "unit": "PERIODS"
          },
          "priority": 0,
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "rate_type": "COMMIT_RATE",
          "starting_at": "2019-12-27T18:11:19.117Z",
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "contract": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          },
          "description": "description",
          "ending_before": "2019-12-27T18:11:19.117Z",
          "hierarchy_configuration": {
            "child_access": {
              "type": "ALL"
            }
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "proration": "NONE",
          "recurrence_frequency": "MONTHLY",
          "rollover_fraction": 0,
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ],
          "subscription_config": {
            "allocation": "INDIVIDUAL",
            "apply_seat_increase_config": {
              "is_prorated": true
            },
            "subscription_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          }
        }
      ],
      "add_reseller_royalties": [
        {
          "reseller_type": "AWS",
          "applicable_product_ids": [
            "string"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "aws_account_number": "aws_account_number",
          "aws_offer_id": "aws_offer_id",
          "aws_payer_reference_id": "aws_payer_reference_id",
          "ending_before": "2019-12-27T18:11:19.117Z",
          "fraction": 0,
          "gcp_account_id": "gcp_account_id",
          "gcp_offer_id": "gcp_offer_id",
          "netsuite_reseller_id": "netsuite_reseller_id",
          "reseller_contract_value": 0,
          "starting_at": "2019-12-27T18:11:19.117Z"
        }
      ],
      "add_scheduled_charges": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "product": {
            "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "name": "name"
          },
          "schedule": {
            "credit_type": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            },
            "do_not_invoice": true,
            "schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "quantity": 0,
                "timestamp": "2019-12-27T18:11:19.117Z",
                "unit_price": 0,
                "invoice_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ]
          },
          "name": "x",
          "netsuite_sales_order_id": "netsuite_sales_order_id"
        }
      ],
      "add_spend_threshold_configuration": {
        "commit": {
          "product_id": "product_id",
          "description": "description",
          "name": "name"
        },
        "is_enabled": true,
        "payment_gate_config": {
          "payment_gate_type": "NONE",
          "precalculated_tax_config": {
            "tax_amount": 0,
            "tax_name": "tax_name"
          },
          "stripe_config": {
            "payment_type": "INVOICE",
            "invoice_metadata": {
              "foo": "string"
            }
          },
          "tax_type": "NONE"
        },
        "threshold_amount": 0
      },
      "add_subscriptions": [
        {
          "collection_schedule": "ADVANCE",
          "proration": {
            "invoice_behavior": "BILL_IMMEDIATELY",
            "is_prorated": true
          },
          "quantity_schedule": [
            {
              "quantity": 0,
              "starting_at": "2019-12-27T18:11:19.117Z",
              "ending_before": "2019-12-27T18:11:19.117Z"
            }
          ],
          "starting_at": "2019-12-27T18:11:19.117Z",
          "subscription_rate": {
            "billing_frequency": "MONTHLY",
            "product": {
              "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "name": "name"
            }
          },
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "custom_fields": {
            "foo": "string"
          },
          "description": "description",
          "ending_before": "2019-12-27T18:11:19.117Z",
          "fiat_credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "name": "name"
        }
      ],
      "add_usage_filters": [
        {
          "group_key": "group_key",
          "group_values": [
            "string"
          ],
          "starting_at": "2019-12-27T18:11:19.117Z",
          "ending_before": "2019-12-27T18:11:19.117Z"
        }
      ],
      "archive_commits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        }
      ],
      "archive_credits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        }
      ],
      "archive_scheduled_charges": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        }
      ],
      "remove_overrides": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        }
      ],
      "timestamp": "2019-12-27T18:11:19.117Z",
      "update_commits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "access_schedule": {
            "add_schedule_items": [
              {
                "amount": 0,
                "ending_before": "2019-12-27T18:11:19.117Z",
                "starting_at": "2019-12-27T18:11:19.117Z"
              }
            ],
            "remove_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ],
            "update_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "ending_before": "2019-12-27T18:11:19.117Z",
                "starting_at": "2019-12-27T18:11:19.117Z"
              }
            ]
          },
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "hierarchy_configuration": {
            "child_access": {
              "type": "ALL"
            }
          },
          "invoice_schedule": {
            "add_schedule_items": [
              {
                "timestamp": "2019-12-27T18:11:19.117Z",
                "amount": 0,
                "quantity": 0,
                "unit_price": 0
              }
            ],
            "remove_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ],
            "update_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "quantity": 0,
                "timestamp": "2019-12-27T18:11:19.117Z",
                "unit_price": 0
              }
            ]
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "priority": 0,
          "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "rollover_fraction": 0,
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ]
        }
      ],
      "update_contract_end_date": "2019-12-27T18:11:19.117Z",
      "update_contract_name": "update_contract_name",
      "update_credits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "access_schedule": {
            "add_schedule_items": [
              {
                "amount": 0,
                "ending_before": "2019-12-27T18:11:19.117Z",
                "starting_at": "2019-12-27T18:11:19.117Z"
              }
            ],
            "remove_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ],
            "update_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "ending_before": "2019-12-27T18:11:19.117Z",
                "starting_at": "2019-12-27T18:11:19.117Z"
              }
            ]
          },
          "hierarchy_configuration": {
            "child_access": {
              "type": "ALL"
            }
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "priority": 0,
          "rollover_fraction": 0
        }
      ],
      "update_discounts": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "custom_fields": {
            "foo": "string"
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id",
          "schedule": {
            "credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "do_not_invoice": true,
            "recurring_schedule": {
              "amount_distribution": "DIVIDED",
              "ending_before": "2019-12-27T18:11:19.117Z",
              "frequency": "MONTHLY",
              "starting_at": "2019-12-27T18:11:19.117Z",
              "amount": 0,
              "quantity": 0,
              "unit_price": 0
            },
            "schedule_items": [
              {
                "timestamp": "2019-12-27T18:11:19.117Z",
                "amount": 0,
                "quantity": 0,
                "unit_price": 0
              }
            ]
          }
        }
      ],
      "update_prepaid_balance_threshold_configuration": {
        "commit": {
          "applicable_product_ids": [
            "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
          ],
          "applicable_product_tags": [
            "string"
          ],
          "description": "description",
          "name": "name",
          "product_id": "product_id",
          "specifiers": [
            {
              "presentation_group_values": {
                "foo": "string"
              },
              "pricing_group_values": {
                "foo": "string"
              },
              "product_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
              "product_tags": [
                "string"
              ]
            }
          ]
        },
        "custom_credit_type_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "is_enabled": true,
        "payment_gate_config": {
          "payment_gate_type": "NONE",
          "precalculated_tax_config": {
            "tax_amount": 0,
            "tax_name": "tax_name"
          },
          "stripe_config": {
            "payment_type": "INVOICE",
            "invoice_metadata": {
              "foo": "string"
            }
          },
          "tax_type": "NONE"
        },
        "recharge_to_amount": 0,
        "threshold_amount": 0
      },
      "update_recurring_commits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "access_amount": {
            "quantity": 0,
            "unit_price": 0
          },
          "ending_before": "2019-12-27T18:11:19.117Z",
          "invoice_amount": {
            "quantity": 0,
            "unit_price": 0
          }
        }
      ],
      "update_recurring_credits": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "access_amount": {
            "quantity": 0,
            "unit_price": 0
          },
          "ending_before": "2019-12-27T18:11:19.117Z"
        }
      ],
      "update_refund_invoices": [
        {
          "date": "2019-12-27T18:11:19.117Z",
          "invoice_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        }
      ],
      "update_scheduled_charges": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "invoice_schedule": {
            "add_schedule_items": [
              {
                "timestamp": "2019-12-27T18:11:19.117Z",
                "amount": 0,
                "quantity": 0,
                "unit_price": 0
              }
            ],
            "remove_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
              }
            ],
            "update_schedule_items": [
              {
                "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
                "amount": 0,
                "quantity": 0,
                "timestamp": "2019-12-27T18:11:19.117Z",
                "unit_price": 0
              }
            ]
          },
          "name": "name",
          "netsuite_sales_order_id": "netsuite_sales_order_id"
        }
      ],
      "update_spend_threshold_configuration": {
        "commit": {
          "description": "description",
          "name": "name",
          "product_id": "product_id"
        },
        "is_enabled": true,
        "payment_gate_config": {
          "payment_gate_type": "NONE",
          "precalculated_tax_config": {
            "tax_amount": 0,
            "tax_name": "tax_name"
          },
          "stripe_config": {
            "payment_type": "INVOICE",
            "invoice_metadata": {
              "foo": "string"
            }
          },
          "tax_type": "NONE"
        },
        "threshold_amount": 0
      },
      "update_subscriptions": [
        {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "ending_before": "2019-12-27T18:11:19.117Z",
          "quantity_updates": [
            {
              "starting_at": "2019-12-27T18:11:19.117Z",
              "quantity": 0,
              "quantity_delta": 0
            }
          ]
        }
      ]
    }
  ]
}