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

Retrieve

Get a contract (v2)
v2.contracts.retrieve(**kwargs) -> dataobjectContractRetrieveResponse
post/v2/contracts/get

Get a specific contract. New clients should use this endpoint rather than the v1 endpoint.

Parameters
contract_idString
formatuuid
customer_idString
formatuuid
as_of_dateTime
optional

Optional RFC 3339 timestamp. Return the contract as of this date. Cannot be used with include_ledgers parameter.

formatdate-time
include_balancebool
optional

Include the balance of credits and commits in the response. Setting this flag may cause the query to be slower.

include_ledgersbool
optional

Include commit/credit ledgers in the response. Setting this flag may cause the query to be slower. Cannot be used with as_of_date parameter.

Returns
ContractRetrieveResponseclass
Hide ParametersShow Parameters
dataobject
{ id, commits, created_at, 33 more}
Hide ParametersShow Parameters
idString
formatuuid
commitsarray
Array[{ id, product, type, 21 more}]
Hide ParametersShow Parameters
idString
formatuuid
productobject
{ id, name}
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_contract_idsarray
optional
Array[String]
applicable_product_idsarray
optional
Array[String]
applicable_product_tagsarray
optional
Array[String]
archived_atTime
optional
formatdate-time
balanceFloat
optional

The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries.

contractobject
optional
{ id}
Hide ParametersShow Parameters
idString
formatuuid
custom_fieldshash
optional
Hash[Symbol, String]
descriptionString
optional
hierarchy_configurationobject
optional
{ child_access}

Optional configuration for commit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
{ type} | { type} | { contract_ids, type}
Hide ParametersShow Parameters
CommitHierarchyChildAccessAllclass
Hide ParametersShow Parameters
typeunion
:ALL
Hide ParametersShow Parameters
:ALL
CommitHierarchyChildAccessNoneclass
Hide ParametersShow Parameters
typeunion
:NONE
Hide ParametersShow Parameters
:NONE
CommitHierarchyChildAccessContractIDsclass
Hide ParametersShow Parameters
contract_idsarray
Array[String]
typeunion
:CONTRACT_IDS
Hide ParametersShow Parameters
:CONTRACT_IDS
invoice_contractobject
optional
{ id}

The contract that this commit will be billed on.

Hide ParametersShow Parameters
idString
formatuuid
invoice_schedulecredit_typeCreditTypeDatado_not_invoiceboolschedule_itemsarraySchedulePointInTime
optional

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

ledgerarray
optional
Array[{ amount, segment_id, timestamp, type} | { amount, invoice_id, segment_id, 3 more} | { amount, new_contract_id, segment_id, 2 more} | 11 more]

A list of ordered events that impact the balance of a commit. For example, an invoice deduction or a rollover.

Hide ParametersShow Parameters
PrepaidCommitSegmentStartLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_SEGMENT_START
Hide ParametersShow Parameters
:PREPAID_COMMIT_SEGMENT_START
PrepaidCommitAutomatedInvoiceDeductionLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
Hide ParametersShow Parameters
:PREPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
contract_idString
optional
formatuuid
PrepaidCommitRolloverLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
new_contract_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_ROLLOVER
Hide ParametersShow Parameters
:PREPAID_COMMIT_ROLLOVER
PrepaidCommitExpirationLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_EXPIRATION
Hide ParametersShow Parameters
:PREPAID_COMMIT_EXPIRATION
PrepaidCommitCanceledLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_CANCELED
Hide ParametersShow Parameters
:PREPAID_COMMIT_CANCELED
contract_idString
optional
formatuuid
PrepaidCommitCreditedLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_CREDITED
Hide ParametersShow Parameters
:PREPAID_COMMIT_CREDITED
contract_idString
optional
formatuuid
PrepaidCommitSeatBasedAdjustmentLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
Hide ParametersShow Parameters
:PREPAID_COMMIT_SEAT_BASED_ADJUSTMENT
PostpaidCommitInitialBalanceLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
timestampTime
formatdate-time
typeunion
:POSTPAID_COMMIT_INITIAL_BALANCE
Hide ParametersShow Parameters
:POSTPAID_COMMIT_INITIAL_BALANCE
PostpaidCommitAutomatedInvoiceDeductionLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
Hide ParametersShow Parameters
:POSTPAID_COMMIT_AUTOMATED_INVOICE_DEDUCTION
contract_idString
optional
formatuuid
PostpaidCommitRolloverLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
new_contract_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:POSTPAID_COMMIT_ROLLOVER
Hide ParametersShow Parameters
:POSTPAID_COMMIT_ROLLOVER
PostpaidCommitTrueupLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
timestampTime
formatdate-time
typeunion
:POSTPAID_COMMIT_TRUEUP
Hide ParametersShow Parameters
:POSTPAID_COMMIT_TRUEUP
contract_idString
optional
formatuuid
PrepaidCommitManualLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
reasonString
timestampTime
formatdate-time
typeunion
:PREPAID_COMMIT_MANUAL
Hide ParametersShow Parameters
:PREPAID_COMMIT_MANUAL
PostpaidCommitManualLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
reasonString
timestampTime
formatdate-time
typeunion
:POSTPAID_COMMIT_MANUAL
Hide ParametersShow Parameters
:POSTPAID_COMMIT_MANUAL
PostpaidCommitExpirationLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
timestampTime
formatdate-time
typeunion
:POSTPAID_COMMIT_EXPIRATION
Hide ParametersShow Parameters
:POSTPAID_COMMIT_EXPIRATION
nameString
optional
netsuite_sales_order_idString
optional

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

priorityFloat
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
rolled_over_fromobject
optional
{ commit_id, contract_id}
Hide ParametersShow Parameters
commit_idString
formatuuid
contract_idString
formatuuid
rollover_fractionFloat
optional
salesforce_opportunity_idString
optional

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

specifiersarray
optional
Array[{ presentation_group_values, pricing_group_values, product_id, product_tags}]

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_valueshash
optional
Hash[Symbol, String]
pricing_group_valueshash
optional
Hash[Symbol, String]
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.

created_atTime
formatdate-time
created_byString
customer_idString
formatuuid
overridesarray
Array[{ id, starting_at, applicable_product_tags, 11 more}]
Hide ParametersShow Parameters
idString
formatuuid
starting_atTime
formatdate-time
applicable_product_tagsarray
optional
Array[String]
ending_beforeTime
optional
formatdate-time
entitledbool
optional
is_commit_specificbool
optional
multiplierFloat
optional
override_specifiersarray
optional
Array[{ billing_frequency, commit_ids, presentation_group_values, 5 more}]
Hide ParametersShow Parameters
billing_frequencyunion
optional
:MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
Hide ParametersShow Parameters
:MONTHLY
:QUARTERLY
:ANNUAL
:WEEKLY
commit_idsarray
optional
Array[String]
presentation_group_valueshash
optional
Hash[Symbol, String]
pricing_group_valueshash
optional
Hash[Symbol, String]
product_idString
optional
formatuuid
product_tagsarray
optional
Array[String]
recurring_commit_idsarray
optional
Array[String]
recurring_credit_idsarray
optional
Array[String]
override_tiersarray
optional
Array[{ multiplier, size}]
Hide ParametersShow Parameters
multiplierFloat
sizeFloat
optional
overwrite_rateobject
optional
{ rate_type, credit_type, custom_rate, 4 more}
Hide ParametersShow Parameters
rate_typeunion
:FLAT | :PERCENTAGE | :SUBSCRIPTION | 2 more
Hide ParametersShow Parameters
:FLAT
:PERCENTAGE
:SUBSCRIPTION
:TIERED
:CUSTOM
credit_typeidStringnameStringCreditTypeData
optional
custom_ratehash
optional
Hash[Symbol, untyped]

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

is_proratedbool
optional

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

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

quantityFloat
optional

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

tiersarray
optional
Array[priceFloatsizeFloatTier]

Only set for TIERED rate_type.

Hide ParametersShow Parameters
priceFloat
sizeFloat
optional
priorityFloat
optional
productobject
optional
{ id, name}
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
scheduled_chargesarray
Array[idStringproductobjectscheduleSchedulePointInTimearchived_atTimecustom_fieldshashnameStringnetsuite_sales_order_idStringScheduledCharge]
Hide ParametersShow Parameters
idString
formatuuid
productobject
{ id, name}
Hide ParametersShow Parameters
idString
formatuuid
nameString
schedulecredit_typeCreditTypeDatado_not_invoiceboolschedule_itemsarraySchedulePointInTime
archived_atTime
optional
formatdate-time
custom_fieldshash
optional
Hash[Symbol, String]
nameString
optional

displayed on invoices

minLength1
netsuite_sales_order_idString
optional

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

starting_atTime
formatdate-time
transitionsarray
Array[{ from_contract_id, to_contract_id, type}]
Hide ParametersShow Parameters
from_contract_idString
formatuuid
to_contract_idString
formatuuid
typeunion
:SUPERSEDE | :RENEWAL
Hide ParametersShow Parameters
:SUPERSEDE
:RENEWAL
usage_filterarray
Array[{ group_key, group_values, starting_at, ending_before}]
Hide ParametersShow Parameters
group_keyString
group_valuesarray
Array[String]
starting_atTime

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

formatdate-time
ending_beforeTime
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
usage_statement_scheduleobject
{ billing_anchor_date, frequency}
Hide ParametersShow Parameters
billing_anchor_dateTime

Contract usage statements follow a selected cadence based on this date.

formatdate-time
frequencyunion
:MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
Hide ParametersShow Parameters
:MONTHLY
:QUARTERLY
:ANNUAL
:WEEKLY
archived_atTime
optional
formatdate-time
creditsarray
optional
Array[{ id, product, type, 15 more}]
Hide ParametersShow Parameters
idString
formatuuid
productobject
{ id, name}
Hide ParametersShow Parameters
idString
formatuuid
nameString
typeunion
:CREDIT
Hide ParametersShow Parameters
:CREDIT
access_scheduleschedule_itemsarraycredit_typeCreditTypeDataScheduleDuration
optional

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

applicable_contract_idsarray
optional
Array[String]
applicable_product_idsarray
optional
Array[String]
applicable_product_tagsarray
optional
Array[String]
balanceFloat
optional

The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, expired and upcoming credit or commit segments contribute 0 to the balance. The balance will match the sum of all ledger entries with the exception of the case where the sum of negative manual ledger entries exceeds the positive amount remaining on the credit or commit - in that case, the balance will be 0. All manual ledger entries associated with active credit or commit segments are included in the balance, including future-dated manual ledger entries.

contractobject
optional
{ id}
Hide ParametersShow Parameters
idString
formatuuid
custom_fieldshash
optional
Hash[Symbol, String]
descriptionString
optional
hierarchy_configurationobject
optional
{ child_access}

Optional configuration for credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
{ type} | { type} | { contract_ids, type}
Hide ParametersShow Parameters
CommitHierarchyChildAccessAllclass
Hide ParametersShow Parameters
typeunion
:ALL
Hide ParametersShow Parameters
:ALL
CommitHierarchyChildAccessNoneclass
Hide ParametersShow Parameters
typeunion
:NONE
Hide ParametersShow Parameters
:NONE
CommitHierarchyChildAccessContractIDsclass
Hide ParametersShow Parameters
contract_idsarray
Array[String]
typeunion
:CONTRACT_IDS
Hide ParametersShow Parameters
:CONTRACT_IDS
ledgerarray
optional
Array[{ amount, segment_id, timestamp, type} | { amount, invoice_id, segment_id, 3 more} | { amount, segment_id, timestamp, type} | 4 more]

A list of ordered events that impact the balance of a credit. For example, an invoice deduction or an expiration.

Hide ParametersShow Parameters
CreditSegmentStartLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:CREDIT_SEGMENT_START
Hide ParametersShow Parameters
:CREDIT_SEGMENT_START
CreditAutomatedInvoiceDeductionLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:CREDIT_AUTOMATED_INVOICE_DEDUCTION
Hide ParametersShow Parameters
:CREDIT_AUTOMATED_INVOICE_DEDUCTION
contract_idString
optional
formatuuid
CreditExpirationLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:CREDIT_EXPIRATION
Hide ParametersShow Parameters
:CREDIT_EXPIRATION
CreditCanceledLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:CREDIT_CANCELED
Hide ParametersShow Parameters
:CREDIT_CANCELED
contract_idString
optional
formatuuid
CreditCreditedLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
invoice_idString
formatuuid
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:CREDIT_CREDITED
Hide ParametersShow Parameters
:CREDIT_CREDITED
contract_idString
optional
formatuuid
CreditManualLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
reasonString
timestampTime
formatdate-time
typeunion
:CREDIT_MANUAL
Hide ParametersShow Parameters
:CREDIT_MANUAL
CreditSeatBasedAdjustmentLedgerEntryclass
Hide ParametersShow Parameters
amountFloat
segment_idString
formatuuid
timestampTime
formatdate-time
typeunion
:CREDIT_SEAT_BASED_ADJUSTMENT
Hide ParametersShow Parameters
:CREDIT_SEAT_BASED_ADJUSTMENT
nameString
optional
netsuite_sales_order_idString
optional

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

priorityFloat
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[{ presentation_group_values, pricing_group_values, product_id, product_tags}]

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_valueshash
optional
Hash[Symbol, String]
pricing_group_valueshash
optional
Hash[Symbol, String]
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_fieldshash
optional
Hash[Symbol, String]
customer_billing_provider_configurationobject
optional
{ id, billing_provider, delivery_method}

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

Hide ParametersShow Parameters
idString

ID of Customer's billing provider configuration.

formatuuid
billing_providerunion
:aws_marketplace | :stripe | :netsuite | 5 more
Hide ParametersShow Parameters
:aws_marketplace
:stripe
:netsuite
:custom
:azure_marketplace
:quickbooks_online
:workday
:gcp_marketplace
delivery_methodunion
:direct_to_billing_provider | :aws_sqs | :tackle | :aws_sns
Hide ParametersShow Parameters
:direct_to_billing_provider
:aws_sqs
:tackle
:aws_sns
discountsarray
optional
Array[idStringproductobjectscheduleSchedulePointInTimecustom_fieldshashnameStringnetsuite_sales_order_idStringDiscount]

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

Hide ParametersShow Parameters
idString
formatuuid
productobject
{ id, name}
Hide ParametersShow Parameters
idString
formatuuid
nameString
schedulecredit_typeCreditTypeDatado_not_invoiceboolschedule_itemsarraySchedulePointInTime
custom_fieldshash
optional
Hash[Symbol, String]
nameString
optional
minLength1
netsuite_sales_order_idString
optional

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

ending_beforeTime
optional
formatdate-time
has_moreobject
optional
{ commits, credits}

Indicates whether there are more items than the limit for this endpoint. Use the respective list endpoints to get the full lists.

Hide ParametersShow Parameters
commitsbool

Whether there are more commits on this contract than the limit for this endpoint. Use the /contracts/customerCommits/list endpoint to get the full list of commits.

creditsbool

Whether there are more credits on this contract than the limit for this endpoint. Use the /contracts/customerCredits/list endpoint to get the full list of credits.

hierarchy_configurationunion
optional
{ children} | { parent}

Either a parent configuration with a list of children or a child configuration with a single parent.

Hide ParametersShow Parameters
ParentHierarchyConfigurationclass
Hide ParametersShow Parameters
childrenarray
Array[{ contract_id, customer_id}]

List of contracts that belong to this parent.

Hide ParametersShow Parameters
contract_idString
formatuuid
customer_idString
formatuuid
ChildHierarchyConfigurationclass
Hide ParametersShow Parameters
parentobject
{ contract_id, customer_id}

The single parent contract/customer for this child.

Hide ParametersShow Parameters
contract_idString
formatuuid
customer_idString
formatuuid
multiplier_override_prioritizationunion
optional
:LOWEST_MULTIPLIER | :EXPLICIT

Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list prices automatically. EXPLICIT prioritization requires specifying priorities for each multiplier; the one with the lowest priority value will be prioritized first.

Hide ParametersShow Parameters
:LOWEST_MULTIPLIER
:EXPLICIT
nameString
optional
net_payment_terms_daysFloat
optional
netsuite_sales_order_idString
optional

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

prepaid_balance_threshold_configurationobject
optional
{ commit, is_enabled, payment_gate_config, 3 more}
Hide ParametersShow Parameters
commitobject
{ product_id, applicable_product_ids, applicable_product_tags, 3 more}
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[{ presentation_group_values, pricing_group_values, product_id, product_tags}]

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_valueshash
optional
Hash[Symbol, String]
pricing_group_valueshash
optional
Hash[Symbol, String]
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_enabledbool

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_configobject
{ payment_gate_type, precalculated_tax_config, stripe_config, tax_type}
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_configobject
optional
{ tax_amount, tax_name}

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
tax_amountFloat

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_configobject
optional
{ payment_type, invoice_metadata}

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_metadatahash
optional
Hash[Symbol, String]

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_amountFloat

Specify the amount the balance should be recharged to.

threshold_amountFloat

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
priorityFloat
optional

Priority of the contract.

professional_servicesarray
optional
Array[idStringmax_amountFloatproduct_idStringquantityFloatunit_priceFloatcustom_fieldshashdescriptionStringnetsuite_sales_order_idStringProService]

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

Hide ParametersShow Parameters
idString
formatuuid
max_amountFloat

Maximum amount for the term.

product_idString
formatuuid
quantityFloat

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

unit_priceFloat

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

custom_fieldshash
optional
Hash[Symbol, String]
descriptionString
optional
netsuite_sales_order_idString
optional

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

rate_card_idString
optional
formatuuid
recurring_commitsarray
optional
Array[{ id, access_amount, commit_duration, 18 more}]
Hide ParametersShow Parameters
idString
formatuuid
access_amountobject
{ credit_type_id, unit_price, quantity}

The amount of commit to grant.

Hide ParametersShow Parameters
credit_type_idString
formatuuid
unit_priceFloat
quantityFloat
optional
commit_durationobject
{ value, unit}

The amount of time the created commits will be valid for

Hide ParametersShow Parameters
valueFloat
unitunion
optional
:PERIODS
Hide ParametersShow Parameters
:PERIODS
priorityFloat

Will be passed down to the individual commits

productobject
{ id, name}
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_atTime

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

contractobject
optional
{ id}
Hide ParametersShow Parameters
idString
formatuuid
descriptionString
optional

Will be passed down to the individual commits

ending_beforeTime
optional

Determines when the contract will stop creating recurring commits. Optional

formatdate-time
hierarchy_configurationobject
optional
{ child_access}

Optional configuration for recurring credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
{ type} | { type} | { contract_ids, type}
Hide ParametersShow Parameters
CommitHierarchyChildAccessAllclass
Hide ParametersShow Parameters
typeunion
:ALL
Hide ParametersShow Parameters
:ALL
CommitHierarchyChildAccessNoneclass
Hide ParametersShow Parameters
typeunion
:NONE
Hide ParametersShow Parameters
:NONE
CommitHierarchyChildAccessContractIDsclass
Hide ParametersShow Parameters
contract_idsarray
Array[String]
typeunion
:CONTRACT_IDS
Hide ParametersShow Parameters
:CONTRACT_IDS
invoice_amountobject
optional
{ credit_type_id, quantity, unit_price}

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

Hide ParametersShow Parameters
credit_type_idString
formatuuid
quantityFloat
unit_priceFloat
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_fractionFloat
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[{ presentation_group_values, pricing_group_values, product_id, product_tags}]

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_valueshash
optional
Hash[Symbol, String]
pricing_group_valueshash
optional
Hash[Symbol, String]
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_configobject
optional
{ allocation, apply_seat_increase_config, subscription_id}

Attach a subscription to the recurring commit/credit.

Hide ParametersShow Parameters
allocationunion
:INDIVIDUAL | :POOLED
Hide ParametersShow Parameters
:INDIVIDUAL
:POOLED
apply_seat_increase_configobject
{ is_prorated}
Hide ParametersShow Parameters
is_proratedbool

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

subscription_idString
formatuuid
recurring_creditsarray
optional
Array[{ id, access_amount, commit_duration, 17 more}]
Hide ParametersShow Parameters
idString
formatuuid
access_amountobject
{ credit_type_id, unit_price, quantity}

The amount of commit to grant.

Hide ParametersShow Parameters
credit_type_idString
formatuuid
unit_priceFloat
quantityFloat
optional
commit_durationobject
{ value, unit}

The amount of time the created commits will be valid for

Hide ParametersShow Parameters
valueFloat
unitunion
optional
:PERIODS
Hide ParametersShow Parameters
:PERIODS
priorityFloat

Will be passed down to the individual commits

productobject
{ id, name}
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_atTime

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

contractobject
optional
{ id}
Hide ParametersShow Parameters
idString
formatuuid
descriptionString
optional

Will be passed down to the individual commits

ending_beforeTime
optional

Determines when the contract will stop creating recurring commits. Optional

formatdate-time
hierarchy_configurationobject
optional
{ child_access}

Optional configuration for recurring credit hierarchy access control

Hide ParametersShow Parameters
child_accessunion
{ type} | { type} | { contract_ids, type}
Hide ParametersShow Parameters
CommitHierarchyChildAccessAllclass
Hide ParametersShow Parameters
typeunion
:ALL
Hide ParametersShow Parameters
:ALL
CommitHierarchyChildAccessNoneclass
Hide ParametersShow Parameters
typeunion
:NONE
Hide ParametersShow Parameters
:NONE
CommitHierarchyChildAccessContractIDsclass
Hide ParametersShow Parameters
contract_idsarray
Array[String]
typeunion
: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_fractionFloat
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[{ presentation_group_values, pricing_group_values, product_id, product_tags}]

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_valueshash
optional
Hash[Symbol, String]
pricing_group_valueshash
optional
Hash[Symbol, String]
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_configobject
optional
{ allocation, apply_seat_increase_config, subscription_id}

Attach a subscription to the recurring commit/credit.

Hide ParametersShow Parameters
allocationunion
:INDIVIDUAL | :POOLED
Hide ParametersShow Parameters
:INDIVIDUAL
:POOLED
apply_seat_increase_configobject
{ is_prorated}
Hide ParametersShow Parameters
is_proratedbool

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

subscription_idString
formatuuid
reseller_royaltiesarray
optional
Array[{ reseller_type, segments}]

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

Hide ParametersShow Parameters
reseller_typeunion
:AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
Hide ParametersShow Parameters
:AWS
:AWS_PRO_SERVICE
:GCP
:GCP_PRO_SERVICE
segmentsarray
Array[{ fraction, netsuite_reseller_id, reseller_type, 10 more}]
Hide ParametersShow Parameters
fractionFloat
netsuite_reseller_idString
reseller_typeunion
:AWS | :AWS_PRO_SERVICE | :GCP | :GCP_PRO_SERVICE
Hide ParametersShow Parameters
:AWS
:AWS_PRO_SERVICE
:GCP
:GCP_PRO_SERVICE
starting_atTime
formatdate-time
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_beforeTime
optional
formatdate-time
gcp_account_idString
optional
gcp_offer_idString
optional
reseller_contract_valueFloat
optional
salesforce_opportunity_idString
optional

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

scheduled_charges_on_usage_invoicesunion
optional
:ALL

Determines which scheduled and commit charges to consolidate onto the Contract's usage invoice. The charge's timestamp must match the usage invoice's ending_before date for consolidation to occur. This field cannot be modified after a Contract has been created. If this field is omitted, charges will appear on a separate invoice from usage charges.

Hide ParametersShow Parameters
:ALL
spend_threshold_configurationobject
optional
{ commit, is_enabled, payment_gate_config, threshold_amount}
Hide ParametersShow Parameters
commitobject
{ product_id, description, name}
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_enabledbool

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_configobject
{ payment_gate_type, precalculated_tax_config, stripe_config, tax_type}
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_configobject
optional
{ tax_amount, tax_name}

Only applicable if using PRECALCULATED as your tax type.

Hide ParametersShow Parameters
tax_amountFloat

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_configobject
optional
{ payment_type, invoice_metadata}

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_metadatahash
optional
Hash[Symbol, String]

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_amountFloat

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

subscriptionsarray
optional
Array[{ collection_schedule, proration, quantity_schedule, 8 more}]

List of subscriptions on the contract.

Hide ParametersShow Parameters
collection_scheduleunion
:ADVANCE | :ARREARS
Hide ParametersShow Parameters
:ADVANCE
:ARREARS
prorationobject
{ invoice_behavior, is_prorated}
Hide ParametersShow Parameters
invoice_behaviorunion
:BILL_IMMEDIATELY | :BILL_ON_NEXT_COLLECTION_DATE
Hide ParametersShow Parameters
:BILL_IMMEDIATELY
:BILL_ON_NEXT_COLLECTION_DATE
is_proratedbool
quantity_schedulearray
Array[{ quantity, starting_at, ending_before}]

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

Hide ParametersShow Parameters
quantityFloat
starting_atTime
formatdate-time
ending_beforeTime
optional
formatdate-time
starting_atTime
formatdate-time
subscription_rateobject
{ billing_frequency, product}
Hide ParametersShow Parameters
billing_frequencyunion
:MONTHLY | :QUARTERLY | :ANNUAL | :WEEKLY
Hide ParametersShow Parameters
:MONTHLY
:QUARTERLY
:ANNUAL
:WEEKLY
productobject
{ id, name}
Hide ParametersShow Parameters
idString
formatuuid
nameString
idString
optional
formatuuid
custom_fieldshash
optional
Hash[Symbol, String]
descriptionString
optional
ending_beforeTime
optional
formatdate-time
fiat_credit_type_idString
optional
formatuuid
nameString
optional
total_contract_valueFloat
optional
uniqueness_keyString
optional

Prevents the creation of duplicates. If a request to create a record is made with a previously used uniqueness key, a new record will not be created and the request will fail with a 409 error.

minLength1
maxLength128
require "metronome_sdk"

metronome = MetronomeSDK::Client.new(bearer_token: "My Bearer Token")

contract = metronome.v2.contracts.retrieve(
  contract_id: "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
  customer_id: "13117714-3f05-48e5-a6e9-a66093f13b4d"
)

puts(contract)
200 Example
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "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_contract_ids": [
          "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        ],
        "applicable_product_ids": [
          "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        ],
        "applicable_product_tags": [
          "string"
        ],
        "archived_at": "2019-12-27T18:11:19.117Z",
        "balance": 0,
        "contract": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        },
        "custom_fields": {
          "foo": "string"
        },
        "description": "description",
        "hierarchy_configuration": {
          "child_access": {
            "type": "ALL"
          }
        },
        "invoice_contract": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        },
        "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"
            }
          ]
        },
        "ledger": [
          {
            "amount": 0,
            "segment_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "timestamp": "2019-12-27T18:11:19.117Z",
            "type": "PREPAID_COMMIT_SEGMENT_START"
          }
        ],
        "name": "name",
        "netsuite_sales_order_id": "netsuite_sales_order_id",
        "priority": 0,
        "rate_type": "COMMIT_RATE",
        "rolled_over_from": {
          "commit_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "contract_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        },
        "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"
            ]
          }
        ]
      }
    ],
    "created_at": "2019-12-27T18:11:19.117Z",
    "created_by": "created_by",
    "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "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"
      }
    ],
    "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"
            }
          ]
        },
        "archived_at": "2019-12-27T18:11:19.117Z",
        "custom_fields": {
          "foo": "string"
        },
        "name": "x",
        "netsuite_sales_order_id": "netsuite_sales_order_id"
      }
    ],
    "starting_at": "2019-12-27T18:11:19.117Z",
    "transitions": [
      {
        "from_contract_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "to_contract_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "type": "SUPERSEDE"
      }
    ],
    "usage_filter": [
      {
        "group_key": "group_key",
        "group_values": [
          "string"
        ],
        "starting_at": "2019-12-27T18:11:19.117Z",
        "ending_before": "2019-12-27T18:11:19.117Z"
      }
    ],
    "usage_statement_schedule": {
      "billing_anchor_date": "2019-12-27T18:11:19.117Z",
      "frequency": "MONTHLY"
    },
    "archived_at": "2019-12-27T18:11:19.117Z",
    "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_contract_ids": [
          "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        ],
        "applicable_product_ids": [
          "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        ],
        "applicable_product_tags": [
          "string"
        ],
        "balance": 0,
        "contract": {
          "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        },
        "custom_fields": {
          "foo": "string"
        },
        "description": "description",
        "hierarchy_configuration": {
          "child_access": {
            "type": "ALL"
          }
        },
        "ledger": [
          {
            "amount": 0,
            "segment_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
            "timestamp": "2019-12-27T18:11:19.117Z",
            "type": "CREDIT_SEGMENT_START"
          }
        ],
        "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"
            ]
          }
        ]
      }
    ],
    "custom_fields": {
      "foo": "string"
    },
    "customer_billing_provider_configuration": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "billing_provider": "aws_marketplace",
      "delivery_method": "direct_to_billing_provider"
    },
    "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"
      }
    ],
    "ending_before": "2019-12-27T18:11:19.117Z",
    "has_more": {
      "commits": true,
      "credits": true
    },
    "hierarchy_configuration": {
      "children": [
        {
          "contract_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
          "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
        }
      ]
    },
    "multiplier_override_prioritization": "LOWEST_MULTIPLIER",
    "name": "name",
    "net_payment_terms_days": 0,
    "netsuite_sales_order_id": "netsuite_sales_order_id",
    "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"
    },
    "priority": 0,
    "professional_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"
      }
    ],
    "rate_card_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "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"
        }
      }
    ],
    "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"
        }
      }
    ],
    "reseller_royalties": [
      {
        "reseller_type": "AWS",
        "segments": [
          {
            "fraction": 0,
            "netsuite_reseller_id": "netsuite_reseller_id",
            "reseller_type": "AWS",
            "starting_at": "2019-12-27T18:11:19.117Z",
            "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",
            "gcp_account_id": "gcp_account_id",
            "gcp_offer_id": "gcp_offer_id",
            "reseller_contract_value": 0
          }
        ]
      }
    ],
    "salesforce_opportunity_id": "salesforce_opportunity_id",
    "scheduled_charges_on_usage_invoices": "ALL",
    "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
    },
    "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"
      }
    ],
    "total_contract_value": 0,
    "uniqueness_key": "x"
  }
}