Create a package
Create a package that defines a set of reusable, time-relative contract terms that can be used across cohorts of customers. Packages provide an abstraction layer on top of rate cards to provide an easy way to provision customers with standard pricing.
Use this endpoint to:
- Model standard pay-as-you-go pricing packages that can be easily reused across customers
- Define standardized contract terms and discounting for sales-led motions
- Set aliases for the package to facilitate easy package transition. Aliases are human-readable names that you can use in the place of the id of the package when provisioning a customer’s contract. By using an alias, you can easily create a contract and provision a customer by choosing the “Starter Plan” package, without storing the package ID in your internal systems. This is helpful when launching terms for a package, as you can create a new package with the “Starter Plan” alias scheduled to be assigned without updating your provisioning code.
Key input fields:
starting_at_offset: Starting date relative to contract start. Generates thestarting_atdate when a contract is provisioned using a package.duration: Duration starting fromstarting_at_offset. Generates theending_beforedate when a contract is provisioned using a package.date_offset: Date relative to contract start. Used for point-in-time dates without a duration.aliases: Human-readable name to use when provisioning contracts with a package.
Usage guidelines:
- Use packages for standard self-serve use cases where customers have consistent terms. For customers with negotiated custom contract terms, use the
createContractendpoint for maximum flexibility. - Billing provider configuration can be set when creating a package by using
billing_provideranddelivery_method. To provision a customer successfully with a package, the customer must have one and only one billing provider configuration that matches the billing provider configuration set on the package. - A package alias can only be used by one package at a time. If you create a new package with an alias that is already in use by another package, the original package’s alias schedule will be updated. The alias will reference the package to which it was most recently assigned.
- Terms can only be specified using times relative to the contract start date. Supported granularities are:
days,weeks,months,years - Packages cannot be edited once created. Use the rate card to easily add new rates across all of your customers or make direct edits to a contract after provisioning with a package. Edited contracts will still be associated with the package used during provisioning.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Create a new package
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.
1 - 128Selects the rate card linked to the specified alias as of the contract's start date.
Reference this alias when creating a contract. If the same alias is assigned to multiple packages, it will reference the package to which it was most recently assigned. It is not exposed to end customers.
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. If tiered overrides are used, prioritization must be explicit.
LOWEST_MULTIPLIER, lowest_multiplier, EXPLICIT, explicit 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.
ALL aws_marketplace, azure_marketplace, gcp_marketplace, stripe, netsuite direct_to_billing_provider, aws_sqs, tackle, aws_sns Response
Success