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

Contracts

Contracts

Contracts

Add a manual balance entry
v1.contracts.add_manual_balance_entry(**kwargs) -> void
post/v1/contracts/addManualBalanceLedgerEntry
Amend a contract
v1.contracts.amend(**kwargs) -> dataIDContractAmendResponse
post/v1/contracts/amend
Archive a contract
v1.contracts.archive(**kwargs) -> dataIDContractArchiveResponse
post/v1/contracts/archive
Create a contract
v1.contracts.create(**kwargs) -> dataIDContractCreateResponse
post/v1/contracts/create
Create historical invoices
v1.contracts.create_historical_invoices(**kwargs) -> dataarrayContractCreateHistoricalInvoicesResponse
post/v1/contracts/createHistoricalInvoices
List customer contracts (v1)
v1.contracts.list(**kwargs) -> dataarrayContractListResponse
post/v1/contracts/list
List balances
v1.contracts.list_balances(**kwargs) -> dataarraynext_pageStringContractListBalancesResponse
post/v1/contracts/customerBalances/list
Get a contract (v1)
v1.contracts.retrieve(**kwargs) -> dataobjectContractRetrieveResponse
post/v1/contracts/get
Get the rate schedule for a contract
v1.contracts.retrieve_rate_schedule(**kwargs) -> dataarraynext_pageStringContractRetrieveRateScheduleResponse
post/v1/contracts/getContractRateSchedule
Get subscription quantity history
v1.contracts.retrieve_subscription_quantity_history(**kwargs) -> dataobjectContractRetrieveSubscriptionQuantityHistoryResponse
post/v1/contracts/getSubscriptionQuantityHistory
Schedule ProService invoice
v1.contracts.schedule_pro_services_invoice(**kwargs) -> dataarrayContractScheduleProServicesInvoiceResponse
post/v1/contracts/scheduleProServicesInvoice
Set a contract usage filter
v1.contracts.set_usage_filter(**kwargs) -> void
post/v1/contracts/setUsageFilter
Update the contract end date
v1.contracts.update_end_date(**kwargs) -> dataIDContractUpdateEndDateResponse
post/v1/contracts/updateEndDate

ContractsNamed Schedules

Get a rate card's named schedule
v1.contracts.named_schedules.retrieve(**kwargs) -> dataarrayNamedScheduleRetrieveResponse
post/v1/contract-pricing/rate-cards/getNamedSchedule
Update a rate card's named schedule
v1.contracts.named_schedules.update(**kwargs) -> void
post/v1/contract-pricing/rate-cards/updateNamedSchedule

ContractsProducts

Archive a product
v1.contracts.products.archive(**kwargs) -> dataIDProductArchiveResponse
post/v1/contract-pricing/products/archive
Create a product
v1.contracts.products.create(**kwargs) -> dataIDProductCreateResponse
post/v1/contract-pricing/products/create
List products
v1.contracts.products.list(**kwargs) -> CursorPage<idStringcurrentProductListItemStateinitialProductListItemStatetypeunionupdatesarrayarchived_atTimecustom_fieldshashProductListResponse>
post/v1/contract-pricing/products/list
Get a product
v1.contracts.products.retrieve(**kwargs) -> dataobjectProductRetrieveResponse
post/v1/contract-pricing/products/get
Update a product
v1.contracts.products.update(**kwargs) -> dataIDProductUpdateResponse
post/v1/contract-pricing/products/update
Product List Item State
ProductListItemStateclass
ShowShow
created_atTime
formatdate-time
created_byString
nameString
billable_metric_idString
optional
composite_product_idsarray
optional
Array[String]
composite_tagsarray
optional
Array[String]
exclude_free_usagebool
optional
is_refundablebool
optional

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

netsuite_internal_item_idString
optional

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

netsuite_overage_item_idString
optional

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

presentation_group_keyarray
optional
Array[String]

For USAGE products only. Groups usage line items on invoices. The superset of values in the pricing group key and presentation group key must be set as one compound group key on the billable metric.

pricing_group_keyarray
optional
Array[String]

For USAGE products only. If set, pricing for this product will be determined for each pricing_group_key value, as opposed to the product as a whole. The superset of values in the pricing group key and presentation group key must be set as one compound group key on the billable metric.

quantity_conversionconversion_factorFloatoperationunionnameStringQuantityConversion
optional

Optional. Only valid for USAGE products. If provided, the quantity will be converted using the provided conversion factor and operation. For example, if the operation is "multiply" and the conversion factor is 100, then the quantity will be multiplied by 100. This can be used in cases where data is sent in one unit and priced in another. For example, data could be sent in MB and priced in GB. In this case, the conversion factor would be 1024 and the operation would be "divide".

quantity_roundingdecimal_placesFloatrounding_methodunionQuantityRounding
optional

Optional. Only valid for USAGE products. If provided, the quantity will be rounded using the provided rounding method and decimal places. For example, if the method is "round up" and the decimal places is 0, then the quantity will be rounded up to the nearest integer.

starting_atTime
optional
formatdate-time
tagsarray
optional
Array[String]
Quantity Conversion
QuantityConversionclass

Optional. Only valid for USAGE products. If provided, the quantity will be converted using the provided conversion factor and operation. For example, if the operation is "multiply" and the conversion factor is 100, then the quantity will be multiplied by 100. This can be used in cases where data is sent in one unit and priced in another. For example, data could be sent in MB and priced in GB. In this case, the conversion factor would be 1024 and the operation would be "divide".

ShowShow
conversion_factorFloat

The factor to multiply or divide the quantity by.

operationunion
:MULTIPLY | :DIVIDE

The operation to perform on the quantity

Hide ParametersShow Parameters
:MULTIPLY
:DIVIDE
nameString
optional

Optional name for this conversion.

Quantity Rounding
QuantityRoundingclass

Optional. Only valid for USAGE products. If provided, the quantity will be rounded using the provided rounding method and decimal places. For example, if the method is "round up" and the decimal places is 0, then the quantity will be rounded up to the nearest integer.

ShowShow
decimal_placesFloat
minimum0
rounding_methodunion
:ROUND_UP | :ROUND_DOWN | :ROUND_HALF_UP
Hide ParametersShow Parameters
:ROUND_UP
:ROUND_DOWN
:ROUND_HALF_UP

ContractsRate Cards

Archive a rate card
v1.contracts.rate_cards.archive(**kwargs) -> dataIDRateCardArchiveResponse
post/v1/contract-pricing/rate-cards/archive
Create a rate card
v1.contracts.rate_cards.create(**kwargs) -> dataIDRateCardCreateResponse
post/v1/contract-pricing/rate-cards/create
List rate cards
v1.contracts.rate_cards.list(**kwargs) -> CursorPage<idStringcreated_atTimecreated_byStringnameStringaliasesarraycredit_type_conversionsarraycustom_fieldshashdescriptionStringfiat_credit_typeCreditTypeDataRateCardListResponse>
post/v1/contract-pricing/rate-cards/list
Get a rate card
v1.contracts.rate_cards.retrieve(**kwargs) -> dataobjectRateCardRetrieveResponse
post/v1/contract-pricing/rate-cards/get
Get a rate schedule
v1.contracts.rate_cards.retrieve_rate_schedule(**kwargs) -> dataarraynext_pageStringRateCardRetrieveRateScheduleResponse
post/v1/contract-pricing/rate-cards/getRateSchedule
Update a rate card
v1.contracts.rate_cards.update(**kwargs) -> dataIDRateCardUpdateResponse
post/v1/contract-pricing/rate-cards/update

ContractsRate CardsNamed Schedules

Get a contract's named schedule
v1.contracts.rate_cards.named_schedules.retrieve(**kwargs) -> dataarrayNamedScheduleRetrieveResponse
post/v1/contracts/getNamedSchedule
Update a contract's named schedule
v1.contracts.rate_cards.named_schedules.update(**kwargs) -> void
post/v1/contracts/updateNamedSchedule

ContractsRate CardsProduct Orders

Set the rate card products order
v1.contracts.rate_cards.product_orders.set(**kwargs) -> dataIDProductOrderSetResponse
post/v1/contract-pricing/rate-cards/setRateCardProductsOrder
Update the rate card products order
v1.contracts.rate_cards.product_orders.update(**kwargs) -> dataIDProductOrderUpdateResponse
post/v1/contract-pricing/rate-cards/moveRateCardProducts

ContractsRate CardsRates

Add a rate
v1.contracts.rate_cards.rates.add(**kwargs) -> dataobjectRateAddResponse
post/v1/contract-pricing/rate-cards/addRate
Add rates
v1.contracts.rate_cards.rates.add_many(**kwargs) -> dataIDRateAddManyResponse
post/v1/contract-pricing/rate-cards/addRates
Get rates
v1.contracts.rate_cards.rates.list(**kwargs) -> CursorPage<entitledboolproduct_custom_fieldshashproduct_idStringproduct_nameStringproduct_tagsarrayrateRatestarting_atTimebilling_frequencyunioncommit_rateobjectending_beforeTimepricing_group_valueshashRateListResponse>
post/v1/contract-pricing/rate-cards/getRates