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

Amend

Amend a contract
client.V1.Contracts.Amend(ctx, body) (*DataIDV1ContractAmendResponse, error)
post/v1/contracts/amend

Amendments will be replaced by Contract editing. New clients should implement using the editContract endpoint. Read more about the migration to contract editing here and reach out to your Metronome representative for more details. Once contract editing is enabled, access to this endpoint will be removed.

Parameters
bodyContractIDfieldCustomerIDfieldStartingAtfieldCommitsfieldCreditsfieldCustomFieldsfieldDiscountsfieldNetsuiteSalesOrderIDfieldOverridesfieldProfessionalServicesfieldResellerRoyaltiesfieldSalesforceOpportunityIDfieldScheduledChargesfieldTotalContractValuefieldV1ContractAmendParams
Hide ParametersShow Parameters
ContractIDfield
param.Field[string]

ID of the contract to amend

formatuuid
CustomerIDfield
param.Field[string]

ID of the customer whose contract is to be amended

formatuuid
StartingAtfield
param.Field[Time]

inclusive start time for the amendment

formatdate-time
Commitsfield
optional
Hide ParametersShow Parameters
ProductIDstring
formatuuid
TypeV1ContractAmendParamsCommitsTypePrepaidV1ContractAmendParamsCommitsTypeV1ContractAmendParamsCommitsTypePostpaidV1ContractAmendParamsCommitsTypeV1ContractAmendParamsCommitsType
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsTypePrepaidconst
V1ContractAmendParamsCommitsTypePrepaidV1ContractAmendParamsCommitsTypeV1ContractAmendParamsCommitsTypePostpaidV1ContractAmendParamsCommitsTypeV1ContractAmendParamsCommitsType
"PREPAID"
V1ContractAmendParamsCommitsTypePostpaidconst
V1ContractAmendParamsCommitsTypePrepaidV1ContractAmendParamsCommitsTypeV1ContractAmendParamsCommitsTypePostpaidV1ContractAmendParamsCommitsTypeV1ContractAmendParamsCommitsType
"POSTPAID"
AccessScheduleScheduleItemsarrayCreditTypeIDstringV1ContractAmendParamsCommitsAccessSchedule
optional

Required: Schedule for distributing the commit to the customer. For "POSTPAID" commits only one schedule item is allowed and amount must match invoice_schedule total.

Hide ParametersShow Parameters
Hide ParametersShow Parameters
Amountfloat64
EndingBeforeTime

RFC 3339 timestamp (exclusive)

formatdate-time
StartingAtTime

RFC 3339 timestamp (inclusive)

formatdate-time
CreditTypeIDstring
optional

Defaults to USD (cents) if not passed

formatuuid
Amountfloat64
optional

(DEPRECATED) Use access_schedule and invoice_schedule instead.

ApplicableProductIDsarray
optional
[]string

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

ApplicableProductTagsarray
optional
[]string

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

CustomFieldsmap
optional
map[string, string]
Descriptionstring
optional

Used only in UI/API. It is not exposed to end customers.

Optional configuration for commit hierarchy access control

Hide ParametersShow Parameters
ChildAccessV1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllstruct{…}V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNonestruct{…}V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsstruct{…}V1ContractAmendParamsCommitsHierarchyConfigurationChildAccess
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllstruct
Hide ParametersShow Parameters
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllTypeAllconst
"ALL"
V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNonestruct
Hide ParametersShow Parameters
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneTypeNoneconst
"NONE"
V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsstruct
Hide ParametersShow Parameters
ContractIDsarray
[]string
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsTypeContractIDsconst
"CONTRACT_IDS"
InvoiceScheduleCreditTypeIDstringDoNotInvoiceboolRecurringScheduleV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleScheduleItemsarrayV1ContractAmendParamsCommitsInvoiceSchedule
optional

Required for "POSTPAID" commits: the true up invoice will be generated at this time and only one schedule item is allowed; the total must match access_schedule amount. Optional for "PREPAID" commits: if not provided, this will be a "complimentary" commit with no invoice.

Hide ParametersShow Parameters
CreditTypeIDstring
optional

Defaults to USD (cents) if not passed.

formatuuid
DoNotInvoicebool
optional

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

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
AmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistribution
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistribution
"DIVIDED"
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedRoundedconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistribution
"DIVIDED_ROUNDED"
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionEachconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleAmountDistribution
"EACH"
EndingBeforeTime

RFC 3339 timestamp (exclusive).

formatdate-time
FrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequency
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyMonthlyconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequency
"MONTHLY"
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyQuarterlyconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequency
"QUARTERLY"
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencySemiAnnualconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequency
"SEMI_ANNUAL"
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyAnnualconst
V1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequencyV1ContractAmendParamsCommitsInvoiceScheduleRecurringScheduleFrequency
"ANNUAL"
StartingAtTime

RFC 3339 timestamp (inclusive).

formatdate-time
Amountfloat64
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.

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

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

ScheduleItemsarray
optional

Either provide amount or provide both unit_price and quantity.

Hide ParametersShow Parameters
TimestampTime

timestamp of the scheduled event

formatdate-time
Amountfloat64
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.

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

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

Namestring
optional

displayed on invoices

minLength1
NetsuiteSalesOrderIDstring
optional

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

Hide ParametersShow Parameters
PaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeExternalV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateType

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
V1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeNoneconst
V1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeExternalV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateType
"NONE"
V1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeStripeconst
V1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeExternalV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateType
"STRIPE"
V1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeExternalconst
V1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeExternalV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateTypeV1ContractAmendParamsCommitsPaymentGateConfigPaymentGateType
"EXTERNAL"
PrecalculatedTaxConfigTaxAmountfloat64TaxNamestringV1ContractAmendParamsCommitsPaymentGateConfigPrecalculatedTaxConfig
optional

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
TaxAmountfloat64

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

TaxNamestring
optional

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

Only applicable if using STRIPE as your payment gate type.

Hide ParametersShow Parameters
PaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeInvoiceV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypePaymentIntentV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentType

If left blank, will default to INVOICE

Hide ParametersShow Parameters
V1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeInvoiceconst
V1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeInvoiceV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypePaymentIntentV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentType
"INVOICE"
V1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypePaymentIntentconst
V1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeInvoiceV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypePaymentIntentV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentTypeV1ContractAmendParamsCommitsPaymentGateConfigStripeConfigPaymentType
"PAYMENT_INTENT"
InvoiceMetadatamap
optional
map[string, string]

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

TaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeAnrokV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypePrecalculatedV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxType
optional

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
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeNoneconst
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeAnrokV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypePrecalculatedV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxType
"NONE"
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeStripeconst
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeAnrokV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypePrecalculatedV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxType
"STRIPE"
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeAnrokconst
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeAnrokV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypePrecalculatedV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxType
"ANROK"
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypePrecalculatedconst
V1ContractAmendParamsCommitsPaymentGateConfigTaxTypeNoneV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeStripeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeAnrokV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxTypePrecalculatedV1ContractAmendParamsCommitsPaymentGateConfigTaxTypeV1ContractAmendParamsCommitsPaymentGateConfigTaxType
"PRECALCULATED"
Priorityfloat64
optional

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

RateTypeV1ContractAmendParamsCommitsRateTypeCommitRateV1ContractAmendParamsCommitsRateTypeV1ContractAmendParamsCommitsRateTypeListRateV1ContractAmendParamsCommitsRateTypeV1ContractAmendParamsCommitsRateType
optional
Hide ParametersShow Parameters
V1ContractAmendParamsCommitsRateTypeCommitRateconst
V1ContractAmendParamsCommitsRateTypeCommitRateV1ContractAmendParamsCommitsRateTypeV1ContractAmendParamsCommitsRateTypeListRateV1ContractAmendParamsCommitsRateTypeV1ContractAmendParamsCommitsRateType
"COMMIT_RATE"
V1ContractAmendParamsCommitsRateTypeListRateconst
V1ContractAmendParamsCommitsRateTypeCommitRateV1ContractAmendParamsCommitsRateTypeV1ContractAmendParamsCommitsRateTypeListRateV1ContractAmendParamsCommitsRateTypeV1ContractAmendParamsCommitsRateType
"LIST_RATE"
RolloverFractionfloat64
optional

Fraction of unused segments that will be rolled over. Must be between 0 and 1.

Specifiersarray
optional

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.

Hide ParametersShow Parameters
PresentationGroupValuesmap
optional
map[string, string]
PricingGroupValuesmap
optional
map[string, string]
ProductIDstring
optional

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

formatuuid
ProductTagsarray
optional
[]string

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

TemporaryIDstring
optional

A temporary ID for the commit that can be used to reference the commit for commit specific overrides.

Creditsfield
optional
Hide ParametersShow Parameters
AccessScheduleScheduleItemsarrayCreditTypeIDstringV1ContractAmendParamsCreditsAccessSchedule

Schedule for distributing the credit to the customer.

Hide ParametersShow Parameters
Hide ParametersShow Parameters
Amountfloat64
EndingBeforeTime

RFC 3339 timestamp (exclusive)

formatdate-time
StartingAtTime

RFC 3339 timestamp (inclusive)

formatdate-time
CreditTypeIDstring
optional

Defaults to USD (cents) if not passed

formatuuid
ProductIDstring
formatuuid
ApplicableProductIDsarray
optional
[]string

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

ApplicableProductTagsarray
optional
[]string

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

CustomFieldsmap
optional
map[string, string]
Descriptionstring
optional

Used only in UI/API. It is not exposed to end customers.

Optional configuration for credit hierarchy access control

Hide ParametersShow Parameters
ChildAccessV1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllstruct{…}V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNonestruct{…}V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsstruct{…}V1ContractAmendParamsCreditsHierarchyConfigurationChildAccess
Hide ParametersShow Parameters
V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllstruct
Hide ParametersShow Parameters
Hide ParametersShow Parameters
V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessAllTypeAllconst
"ALL"
V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNonestruct
Hide ParametersShow Parameters
Hide ParametersShow Parameters
V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessNoneTypeNoneconst
"NONE"
V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsstruct
Hide ParametersShow Parameters
ContractIDsarray
[]string
Hide ParametersShow Parameters
V1ContractAmendParamsCreditsHierarchyConfigurationChildAccessCommitHierarchyChildAccessContractIDsTypeContractIDsconst
"CONTRACT_IDS"
Namestring
optional

displayed on invoices

minLength1
NetsuiteSalesOrderIDstring
optional

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

Priorityfloat64
optional

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

RateTypeV1ContractAmendParamsCreditsRateTypeCommitRateV1ContractAmendParamsCreditsRateTypeV1ContractAmendParamsCreditsRateTypeListRateV1ContractAmendParamsCreditsRateTypeV1ContractAmendParamsCreditsRateType
optional
Hide ParametersShow Parameters
V1ContractAmendParamsCreditsRateTypeCommitRateconst
V1ContractAmendParamsCreditsRateTypeCommitRateV1ContractAmendParamsCreditsRateTypeV1ContractAmendParamsCreditsRateTypeListRateV1ContractAmendParamsCreditsRateTypeV1ContractAmendParamsCreditsRateType
"COMMIT_RATE"
V1ContractAmendParamsCreditsRateTypeListRateconst
V1ContractAmendParamsCreditsRateTypeCommitRateV1ContractAmendParamsCreditsRateTypeV1ContractAmendParamsCreditsRateTypeListRateV1ContractAmendParamsCreditsRateTypeV1ContractAmendParamsCreditsRateType
"LIST_RATE"
Specifiersarray
optional

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.

Hide ParametersShow Parameters
PresentationGroupValuesmap
optional
map[string, string]
PricingGroupValuesmap
optional
map[string, string]
ProductIDstring
optional

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

formatuuid
ProductTagsarray
optional
[]string

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

CustomFieldsfield
optional
param.Field[map[string, string]]
Discountsfield
optional

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

Hide ParametersShow Parameters
ProductIDstring
formatuuid
ScheduleCreditTypeIDstringDoNotInvoiceboolRecurringScheduleV1ContractAmendParamsDiscountsScheduleRecurringScheduleScheduleItemsarrayV1ContractAmendParamsDiscountsSchedule

Must provide either schedule_items or recurring_schedule.

Hide ParametersShow Parameters
CreditTypeIDstring
optional

Defaults to USD (cents) if not passed.

formatuuid
DoNotInvoicebool
optional

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

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
AmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistribution
Hide ParametersShow Parameters
V1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistribution
"DIVIDED"
V1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedRoundedconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistribution
"DIVIDED_ROUNDED"
V1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionEachconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsDiscountsScheduleRecurringScheduleAmountDistribution
"EACH"
EndingBeforeTime

RFC 3339 timestamp (exclusive).

formatdate-time
FrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequency
Hide ParametersShow Parameters
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyMonthlyconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequency
"MONTHLY"
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyQuarterlyconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequency
"QUARTERLY"
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencySemiAnnualconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequency
"SEMI_ANNUAL"
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyAnnualconst
V1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequencyV1ContractAmendParamsDiscountsScheduleRecurringScheduleFrequency
"ANNUAL"
StartingAtTime

RFC 3339 timestamp (inclusive).

formatdate-time
Amountfloat64
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.

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

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

ScheduleItemsarray
optional

Either provide amount or provide both unit_price and quantity.

Hide ParametersShow Parameters
TimestampTime

timestamp of the scheduled event

formatdate-time
Amountfloat64
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.

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

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

CustomFieldsmap
optional
map[string, string]
Namestring
optional

displayed on invoices

minLength1
NetsuiteSalesOrderIDstring
optional

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

NetsuiteSalesOrderIDfield
optional
param.Field[string]

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

Overridesfield
optional
Hide ParametersShow Parameters
StartingAtTime

RFC 3339 timestamp indicating when the override will start applying (inclusive)

formatdate-time
ApplicableProductTagsarray
optional
[]string

tags identifying products whose rates are being overridden. Cannot be used in conjunction with override_specifiers.

EndingBeforeTime
optional

RFC 3339 timestamp indicating when the override will stop applying (exclusive)

formatdate-time
Entitledbool
optional
IsCommitSpecificbool
optional

Indicates whether the override should only apply to commits. Defaults to false. If true, you can specify relevant commits in override_specifiers by passing commit_ids. if you do not specify commit_ids, then the override will apply when consuming any prepaid or postpaid commit.

Multiplierfloat64
optional

Required for MULTIPLIER type. Must be >=0.

OverrideSpecifiersarray
optional

Cannot be used in conjunction with product_id or applicable_product_tags. If provided, the override will apply to all products with the specified specifiers.

Hide ParametersShow Parameters
BillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyMonthlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyQuarterlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyAnnualV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyWeeklyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequency
optional
Hide ParametersShow Parameters
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyMonthlyconst
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyMonthlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyQuarterlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyAnnualV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyWeeklyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequency
"MONTHLY"
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyQuarterlyconst
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyMonthlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyQuarterlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyAnnualV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyWeeklyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequency
"QUARTERLY"
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyAnnualconst
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyMonthlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyQuarterlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyAnnualV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyWeeklyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequency
"ANNUAL"
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyWeeklyconst
V1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyMonthlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyQuarterlyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyAnnualV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyWeeklyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequencyV1ContractAmendParamsOverridesOverrideSpecifiersBillingFrequency
"WEEKLY"
CommitIDsarray
optional
[]string

Can only be used for commit specific overrides. Must be used in conjunction with one of product_id, product_tags, pricing_group_values, or presentation_group_values. If provided, the override will only apply to the specified commits. If not provided, the override will apply to all commits.

PresentationGroupValuesmap
optional
map[string, string]

A map of group names to values. The override will only apply to line items with the specified presentation group values.

PricingGroupValuesmap
optional
map[string, string]

A map of pricing group names to values. The override will only apply to products with the specified pricing group values.

ProductIDstring
optional

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

formatuuid
ProductTagsarray
optional
[]string

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

RecurringCommitIDsarray
optional
[]string

Can only be used for commit specific overrides. Must be used in conjunction with one of product_id, product_tags, pricing_group_values, or presentation_group_values. If provided, the override will only apply to commits created by the specified recurring commit ids.

RecurringCreditIDsarray
optional
[]string

Can only be used for commit specific overrides. Must be used in conjunction with one of product_id, product_tags, pricing_group_values, or presentation_group_values. If provided, the override will only apply to credits created by the specified recurring credit ids.

OverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCreditTypeIDstringCustomRatemapIsProratedboolPricefloat64Quantityfloat64TiersarrayV1ContractAmendParamsOverridesOverwriteRate
optional

Required for OVERWRITE type.

Hide ParametersShow Parameters
RateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeFlatV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypePercentageV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeTieredV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCustomV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateType
Hide ParametersShow Parameters
V1ContractAmendParamsOverridesOverwriteRateRateTypeFlatconst
V1ContractAmendParamsOverridesOverwriteRateRateTypeFlatV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypePercentageV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeTieredV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCustomV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateType
"FLAT"
V1ContractAmendParamsOverridesOverwriteRateRateTypePercentageconst
V1ContractAmendParamsOverridesOverwriteRateRateTypeFlatV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypePercentageV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeTieredV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCustomV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateType
"PERCENTAGE"
V1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionconst
V1ContractAmendParamsOverridesOverwriteRateRateTypeFlatV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypePercentageV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeTieredV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCustomV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateType
"SUBSCRIPTION"
V1ContractAmendParamsOverridesOverwriteRateRateTypeTieredconst
V1ContractAmendParamsOverridesOverwriteRateRateTypeFlatV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypePercentageV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeTieredV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCustomV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateType
"TIERED"
V1ContractAmendParamsOverridesOverwriteRateRateTypeCustomconst
V1ContractAmendParamsOverridesOverwriteRateRateTypeFlatV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypePercentageV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeSubscriptionV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeTieredV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateTypeCustomV1ContractAmendParamsOverridesOverwriteRateRateTypeV1ContractAmendParamsOverridesOverwriteRateRateType
"CUSTOM"
CreditTypeIDstring
optional
formatuuid
CustomRatemap
optional
map[string, unknown]

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

IsProratedbool
optional

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

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

Quantityfloat64
optional

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

Tiersarray
optional
[]Pricefloat64Sizefloat64Tier

Only set for TIERED rate_type.

Hide ParametersShow Parameters
Pricefloat64
Sizefloat64
optional
Priorityfloat64
optional

Required for EXPLICIT multiplier prioritization scheme and all TIERED overrides. Under EXPLICIT prioritization, overwrites are prioritized first, and then tiered and multiplier overrides are prioritized by their priority value (lowest first). Must be > 0.

ProductIDstring
optional

ID of the product whose rate is being overridden. Cannot be used in conjunction with override_specifiers.

formatuuid
TargetV1ContractAmendParamsOverridesTargetCommitRateV1ContractAmendParamsOverridesTargetV1ContractAmendParamsOverridesTargetListRateV1ContractAmendParamsOverridesTargetV1ContractAmendParamsOverridesTarget
optional

Indicates whether the override applies to commit rates or list rates. Can only be used for overrides that have is_commit_specific set to true. Defaults to "LIST_RATE".

Hide ParametersShow Parameters
V1ContractAmendParamsOverridesTargetCommitRateconst
V1ContractAmendParamsOverridesTargetCommitRateV1ContractAmendParamsOverridesTargetV1ContractAmendParamsOverridesTargetListRateV1ContractAmendParamsOverridesTargetV1ContractAmendParamsOverridesTarget
"COMMIT_RATE"
V1ContractAmendParamsOverridesTargetListRateconst
V1ContractAmendParamsOverridesTargetCommitRateV1ContractAmendParamsOverridesTargetV1ContractAmendParamsOverridesTargetListRateV1ContractAmendParamsOverridesTargetV1ContractAmendParamsOverridesTarget
"LIST_RATE"
Tiersarray
optional

Required for TIERED type. Must have at least one tier.

Hide ParametersShow Parameters
Multiplierfloat64
Sizefloat64
optional
TypeV1ContractAmendParamsOverridesTypeOverwriteV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeMultiplierV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeTieredV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesType
optional

Overwrites are prioritized over multipliers and tiered overrides.

Hide ParametersShow Parameters
V1ContractAmendParamsOverridesTypeOverwriteconst
V1ContractAmendParamsOverridesTypeOverwriteV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeMultiplierV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeTieredV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesType
"OVERWRITE"
V1ContractAmendParamsOverridesTypeMultiplierconst
V1ContractAmendParamsOverridesTypeOverwriteV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeMultiplierV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeTieredV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesType
"MULTIPLIER"
V1ContractAmendParamsOverridesTypeTieredconst
V1ContractAmendParamsOverridesTypeOverwriteV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeMultiplierV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesTypeTieredV1ContractAmendParamsOverridesTypeV1ContractAmendParamsOverridesType
"TIERED"
ProfessionalServicesfield
optional

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

Hide ParametersShow Parameters
MaxAmountfloat64

Maximum amount for the term.

ProductIDstring
formatuuid
Quantityfloat64

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

UnitPricefloat64

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

CustomFieldsmap
optional
map[string, string]
Descriptionstring
optional
NetsuiteSalesOrderIDstring
optional

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

ResellerRoyaltiesfield
optional

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

Hide ParametersShow Parameters
ResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeAwsV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeAwsProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerType
Hide ParametersShow Parameters
V1ContractAmendParamsResellerRoyaltiesResellerTypeAwsconst
V1ContractAmendParamsResellerRoyaltiesResellerTypeAwsV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeAwsProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerType
"AWS"
V1ContractAmendParamsResellerRoyaltiesResellerTypeAwsProServiceconst
V1ContractAmendParamsResellerRoyaltiesResellerTypeAwsV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeAwsProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerType
"AWS_PRO_SERVICE"
V1ContractAmendParamsResellerRoyaltiesResellerTypeGcpconst
V1ContractAmendParamsResellerRoyaltiesResellerTypeAwsV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeAwsProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerType
"GCP"
V1ContractAmendParamsResellerRoyaltiesResellerTypeGcpProServiceconst
V1ContractAmendParamsResellerRoyaltiesResellerTypeAwsV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeAwsProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerTypeGcpProServiceV1ContractAmendParamsResellerRoyaltiesResellerTypeV1ContractAmendParamsResellerRoyaltiesResellerType
"GCP_PRO_SERVICE"
ApplicableProductIDsarray
optional
[]string

Must provide at least one of applicable_product_ids or applicable_product_tags.

ApplicableProductTagsarray
optional
[]string

Must provide at least one of applicable_product_ids or applicable_product_tags.

AwsOptionsAwsAccountNumberstringAwsOfferIDstringAwsPayerReferenceIDstringV1ContractAmendParamsResellerRoyaltiesAwsOptions
optional
Hide ParametersShow Parameters
AwsAccountNumberstring
optional
AwsOfferIDstring
optional
AwsPayerReferenceIDstring
optional
EndingBeforeTime
optional

Use null to indicate that the existing end timestamp should be removed.

formatdate-time
Fractionfloat64
optional
GcpOptionsGcpAccountIDstringGcpOfferIDstringV1ContractAmendParamsResellerRoyaltiesGcpOptions
optional
Hide ParametersShow Parameters
GcpAccountIDstring
optional
GcpOfferIDstring
optional
NetsuiteResellerIDstring
optional
ResellerContractValuefloat64
optional
StartingAtTime
optional
formatdate-time
SalesforceOpportunityIDfield
optional
param.Field[string]

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

ScheduledChargesfield
optional
Hide ParametersShow Parameters
ProductIDstring
formatuuid
ScheduleCreditTypeIDstringDoNotInvoiceboolRecurringScheduleV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleScheduleItemsarrayV1ContractAmendParamsScheduledChargesSchedule

Must provide either schedule_items or recurring_schedule.

Hide ParametersShow Parameters
CreditTypeIDstring
optional

Defaults to USD (cents) if not passed.

formatuuid
DoNotInvoicebool
optional

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

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
AmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistribution
Hide ParametersShow Parameters
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistribution
"DIVIDED"
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedRoundedconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistribution
"DIVIDED_ROUNDED"
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionEachconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionDividedRoundedV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionEachV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistributionV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleAmountDistribution
"EACH"
EndingBeforeTime

RFC 3339 timestamp (exclusive).

formatdate-time
FrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequency
Hide ParametersShow Parameters
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyMonthlyconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequency
"MONTHLY"
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyQuarterlyconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequency
"QUARTERLY"
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencySemiAnnualconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequency
"SEMI_ANNUAL"
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyAnnualconst
V1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyMonthlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyQuarterlyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencySemiAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyAnnualV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequencyV1ContractAmendParamsScheduledChargesScheduleRecurringScheduleFrequency
"ANNUAL"
StartingAtTime

RFC 3339 timestamp (inclusive).

formatdate-time
Amountfloat64
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.

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

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

ScheduleItemsarray
optional

Either provide amount or provide both unit_price and quantity.

Hide ParametersShow Parameters
TimestampTime

timestamp of the scheduled event

formatdate-time
Amountfloat64
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.

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

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

Namestring
optional

displayed on invoices

minLength1
NetsuiteSalesOrderIDstring
optional

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

TotalContractValuefield
optional
param.Field[float64]

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

Returns
V1ContractAmendResponsestruct
Hide ParametersShow Parameters
DataIDstringID
package main

import (
  "context"
  "fmt"
  "time"

  "github.com/Metronome-Industries/metronome-go"
  "github.com/Metronome-Industries/metronome-go/option"
)

func main() {
  client := metronome.NewClient(
    option.WithBearerToken("My Bearer Token"),
  )
  response, err := client.V1.Contracts.Amend(context.TODO(), metronome.V1ContractAmendParams{
    ContractID: metronome.F("d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc"),
    CustomerID: metronome.F("13117714-3f05-48e5-a6e9-a66093f13b4d"),
    StartingAt: metronome.F(time.Now()),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Data)
}
200 Example
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  }
}