orb

package module
v0.103.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 5, 2025 License: Apache-2.0 Imports: 22 Imported by: 1

README

Orb Go API Library

Go Reference

The Orb Go library provides convenient access to the Orb REST API from applications written in Go. The full API of this library can be found in api.md.

Installation

import (
	"github.com/orbcorp/orb-go" // imported as orb
)

Or to pin the version:

go get -u 'github.com/orbcorp/orb-go@v0.103.0'

Requirements

This library requires Go 1.18+.

Usage

The full API of this library can be found in api.md.

package main

import (
	"context"
	"fmt"

	"github.com/orbcorp/orb-go"
	"github.com/orbcorp/orb-go/option"
)

func main() {
	client := orb.NewClient(
		option.WithAPIKey("My API Key"), // defaults to os.LookupEnv("ORB_API_KEY")
	)
	customerModel, err := client.Customers.New(context.TODO(), orb.CustomerNewParams{
		Email: orb.F("example-customer@withorb.com"),
		Name:  orb.F("My Customer"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", customerModel.ID)
}

Request fields

All request parameters are wrapped in a generic Field type, which we use to distinguish zero values from null or omitted fields.

This prevents accidentally sending a zero value if you forget a required parameter, and enables explicitly sending null, false, '', or 0 on optional parameters. Any field not specified is not sent.

To construct fields with values, use the helpers String(), Int(), Float(), or most commonly, the generic F[T](). To send a null, use Null[T](), and to send a nonconforming value, use Raw[T](any). For example:

params := FooParams{
	Name: orb.F("hello"),

	// Explicitly send `"description": null`
	Description: orb.Null[string](),

	Point: orb.F(orb.Point{
		X: orb.Int(0),
		Y: orb.Int(1),

		// In cases where the API specifies a given type,
		// but you want to send something else, use `Raw`:
		Z: orb.Raw[int64](0.01), // sends a float
	}),
}
Response objects

All fields in response structs are value types (not pointers or wrappers).

If a given field is null, not present, or invalid, the corresponding field will simply be its zero value.

All response structs also include a special JSON field, containing more detailed information about each property, which you can use like so:

if res.Name == "" {
	// true if `"name"` is either not present or explicitly null
	res.JSON.Name.IsNull()

	// true if the `"name"` key was not present in the response JSON at all
	res.JSON.Name.IsMissing()

	// When the API returns data that cannot be coerced to the expected type:
	if res.JSON.Name.IsInvalid() {
		raw := res.JSON.Name.Raw()

		legacyName := struct{
			First string `json:"first"`
			Last  string `json:"last"`
		}{}
		json.Unmarshal([]byte(raw), &legacyName)
		name = legacyName.First + " " + legacyName.Last
	}
}

These .JSON structs also include an Extras map containing any properties in the json response that were not specified in the struct. This can be useful for API features not yet present in the SDK.

body := res.JSON.ExtraFields["my_unexpected_field"].Raw()
RequestOptions

This library uses the functional options pattern. Functions defined in the option package return a RequestOption, which is a closure that mutates a RequestConfig. These options can be supplied to the client or at individual requests. For example:

client := orb.NewClient(
	// Adds a header to every request made by the client
	option.WithHeader("X-Some-Header", "custom_header_info"),
)

client.Customers.New(context.TODO(), ...,
	// Override the header
	option.WithHeader("X-Some-Header", "some_other_custom_header_info"),
	// Add an undocumented field to the request body, using sjson syntax
	option.WithJSONSet("some.json.path", map[string]string{"my": "object"}),
)

See the full list of request options.

Pagination

This library provides some conveniences for working with paginated list endpoints.

You can use .ListAutoPaging() methods to iterate through items across all pages:

iter := client.Coupons.ListAutoPaging(context.TODO(), orb.CouponListParams{})
// Automatically fetches more pages as needed.
for iter.Next() {
	couponModel := iter.Current()
	fmt.Printf("%+v\n", couponModel)
}
if err := iter.Err(); err != nil {
	panic(err.Error())
}

Or you can use simple .List() methods to fetch a single page and receive a standard response object with additional helper methods like .GetNextPage(), e.g.:

page, err := client.Coupons.List(context.TODO(), orb.CouponListParams{})
for page != nil {
	for _, coupon := range page.Data {
		fmt.Printf("%+v\n", coupon)
	}
	page, err = page.GetNextPage()
}
if err != nil {
	panic(err.Error())
}
Errors

When the API returns a non-success status code, we return an error with type *orb.Error. This contains the StatusCode, *http.Request, and *http.Response values of the request, as well as the JSON of the error body (much like other response objects in the SDK).

To handle errors, we recommend that you use the errors.As pattern:

_, err := client.Customers.New(context.TODO(), orb.CustomerNewParams{
	Email: orb.F("example-customer@withorb.com"),
	Name:  orb.F("My Customer"),
})
if err != nil {
	var apierr *orb.Error
	if errors.As(err, &apierr) {
		println(string(apierr.DumpRequest(true)))  // Prints the serialized HTTP request
		println(string(apierr.DumpResponse(true))) // Prints the serialized HTTP response
	}
	panic(err.Error()) // GET "/customers": 400 Bad Request { ... }
}

When other errors occur, they are returned unwrapped; for example, if HTTP transport fails, you might receive *url.Error wrapping *net.OpError.

Timeouts

Requests do not time out by default; use context to configure a timeout for a request lifecycle.

Note that if a request is retried, the context timeout does not start over. To set a per-retry timeout, use option.WithRequestTimeout().

// This sets the timeout for the request, including all the retries.
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
defer cancel()
client.Customers.New(
	ctx,
	orb.CustomerNewParams{
		Email: orb.F("example-customer@withorb.com"),
		Name:  orb.F("My Customer"),
	},
	// This sets the per-retry timeout
	option.WithRequestTimeout(20*time.Second),
)
File uploads

Request parameters that correspond to file uploads in multipart requests are typed as param.Field[io.Reader]. The contents of the io.Reader will by default be sent as a multipart form part with the file name of "anonymous_file" and content-type of "application/octet-stream".

The file name and content-type can be customized by implementing Name() string or ContentType() string on the run-time type of io.Reader. Note that os.File implements Name() string, so a file returned by os.Open will be sent with the file name on disk.

We also provide a helper orb.FileParam(reader io.Reader, filename string, contentType string) which can be used to wrap any io.Reader with the appropriate file name and content type.

Retries

Certain errors will be automatically retried 2 times by default, with a short exponential backoff. We retry by default all connection errors, 408 Request Timeout, 409 Conflict, 429 Rate Limit, and >=500 Internal errors.

You can use the WithMaxRetries option to configure or disable this:

// Configure the default for all requests:
client := orb.NewClient(
	option.WithMaxRetries(0), // default is 2
)

// Override per-request:
client.Customers.New(
	context.TODO(),
	orb.CustomerNewParams{
		Email: orb.F("example-customer@withorb.com"),
		Name:  orb.F("My Customer"),
	},
	option.WithMaxRetries(5),
)
Middleware

We provide option.WithMiddleware which applies the given middleware to requests.

func Logger(req *http.Request, next option.MiddlewareNext) (res *http.Response, err error) {
	// Before the request
	start := time.Now()
	LogReq(req)

	// Forward the request to the next handler
	res, err = next(req)

	// Handle stuff after the request
	end := time.Now()
	LogRes(res, err, start - end)

    return res, err
}

client := orb.NewClient(
	option.WithMiddleware(Logger),
)

When multiple middlewares are provided as variadic arguments, the middlewares are applied left to right. If option.WithMiddleware is given multiple times, for example first in the client then the method, the middleware in the client will run first and the middleware given in the method will run next.

You may also replace the default http.Client with option.WithHTTPClient(client). Only one http client is accepted (this overwrites any previous client) and receives requests after any middleware has been applied.

Webhook Verification

We provide the method orb.Webhooks.VerifySignature(payload []byte, headers http.Header, secret string, now time.Time) for verifying that a webhook request came from Orb, and not a malicious third party.

Note that the payload parameter must be the raw JSON string sent from the server (do not parse it first). To use the webhook secret defined at the client level pass an empty string as the secret parameter.

func handler(w http.ResponseWriter, r *http.Request) {
    if r.Method != http.MethodPost {
        http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
        return
    }

    body, err := ioutil.ReadAll(r.Body)
    if err != nil {
        http.Error(w, "Error reading request body", http.StatusInternalServerError)
        return
    }
    defer r.Body.Close()

    secret := os.Getenv("ORB_WEBHOOK_SECRET") // env var used by default; explicit here.
    now := time.Now()

    err = orb.Webhooks.VerifySignature(body, r.Header, secret, now)
    if err != nil {
        http.Error(w, `{"error": "invalid signature"}`, http.StatusBadRequest)
        return
    }

    w.Header().Set("Content-Type", "application/json")
    w.Write([]byte(`{"ok": true}`))
}

Semantic versioning

This package generally follows SemVer conventions, though certain backwards-incompatible changes may be released as minor versions:

  1. Changes to library internals which are technically public but not intended or documented for external use. (Please open a GitHub issue to let us know if you are relying on such internals.)
  2. Changes that we do not expect to impact the vast majority of users in practice.

We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.

We are keen for your feedback; please open an issue with questions, bugs, or suggestions.

Contributing

See the contributing documentation.

Documentation

Index

Constants

View Source
const AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryTypeAmendment = shared.AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryTypeAmendment

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryTypeDecrement = shared.AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryTypeDecrement

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryTypeExpirationChange = shared.AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryTypeExpirationChange

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement = shared.AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryTypeVoid = shared.AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryTypeVoid

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReasonRefund = shared.AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReasonRefund

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestEntryTypeAmendment = shared.AddCreditLedgerEntryRequestEntryTypeAmendment

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestEntryTypeDecrement = shared.AddCreditLedgerEntryRequestEntryTypeDecrement

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestEntryTypeExpirationChange = shared.AddCreditLedgerEntryRequestEntryTypeExpirationChange

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestEntryTypeIncrement = shared.AddCreditLedgerEntryRequestEntryTypeIncrement

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestEntryTypeVoid = shared.AddCreditLedgerEntryRequestEntryTypeVoid

This is an alias to an internal value.

View Source
const AddCreditLedgerEntryRequestVoidReasonRefund = shared.AddCreditLedgerEntryRequestVoidReasonRefund

This is an alias to an internal value.

View Source
const AdjustmentModelAdjustmentTypeAmountDiscount = shared.AdjustmentModelAdjustmentTypeAmountDiscount

This is an alias to an internal value.

View Source
const AdjustmentModelAdjustmentTypeMaximum = shared.AdjustmentModelAdjustmentTypeMaximum

This is an alias to an internal value.

View Source
const AdjustmentModelAdjustmentTypeMinimum = shared.AdjustmentModelAdjustmentTypeMinimum

This is an alias to an internal value.

View Source
const AdjustmentModelAdjustmentTypePercentageDiscount = shared.AdjustmentModelAdjustmentTypePercentageDiscount

This is an alias to an internal value.

View Source
const AdjustmentModelAdjustmentTypeUsageDiscount = shared.AdjustmentModelAdjustmentTypeUsageDiscount

This is an alias to an internal value.

View Source
const AdjustmentModelPlanPhaseAmountDiscountAdjustmentAdjustmentTypeAmountDiscount = shared.AdjustmentModelPlanPhaseAmountDiscountAdjustmentAdjustmentTypeAmountDiscount

This is an alias to an internal value.

View Source
const AdjustmentModelPlanPhaseMaximumAdjustmentAdjustmentTypeMaximum = shared.AdjustmentModelPlanPhaseMaximumAdjustmentAdjustmentTypeMaximum

This is an alias to an internal value.

View Source
const AdjustmentModelPlanPhaseMinimumAdjustmentAdjustmentTypeMinimum = shared.AdjustmentModelPlanPhaseMinimumAdjustmentAdjustmentTypeMinimum

This is an alias to an internal value.

View Source
const AdjustmentModelPlanPhasePercentageDiscountAdjustmentAdjustmentTypePercentageDiscount = shared.AdjustmentModelPlanPhasePercentageDiscountAdjustmentAdjustmentTypePercentageDiscount

This is an alias to an internal value.

View Source
const AdjustmentModelPlanPhaseUsageDiscountAdjustmentAdjustmentTypeUsageDiscount = shared.AdjustmentModelPlanPhaseUsageDiscountAdjustmentAdjustmentTypeUsageDiscount

This is an alias to an internal value.

View Source
const AlertModelTypeCostExceeded = shared.AlertModelTypeCostExceeded

This is an alias to an internal value.

View Source
const AlertModelTypeCreditBalanceDepleted = shared.AlertModelTypeCreditBalanceDepleted

This is an alias to an internal value.

View Source
const AlertModelTypeCreditBalanceDropped = shared.AlertModelTypeCreditBalanceDropped

This is an alias to an internal value.

View Source
const AlertModelTypeCreditBalanceRecovered = shared.AlertModelTypeCreditBalanceRecovered

This is an alias to an internal value.

View Source
const AlertModelTypeUsageExceeded = shared.AlertModelTypeUsageExceeded

This is an alias to an internal value.

View Source
const AmountDiscountDiscountTypeAmount = shared.AmountDiscountDiscountTypeAmount

This is an alias to an internal value.

View Source
const AmountDiscountIntervalModelDiscountTypeAmount = shared.AmountDiscountIntervalModelDiscountTypeAmount

This is an alias to an internal value.

View Source
const BackfillModelStatusPending = shared.BackfillModelStatusPending

This is an alias to an internal value.

View Source
const BackfillModelStatusPendingRevert = shared.BackfillModelStatusPendingRevert

This is an alias to an internal value.

View Source
const BackfillModelStatusReflected = shared.BackfillModelStatusReflected

This is an alias to an internal value.

View Source
const BackfillModelStatusReverted = shared.BackfillModelStatusReverted

This is an alias to an internal value.

View Source
const BillableMetricModelStatusActive = shared.BillableMetricModelStatusActive

This is an alias to an internal value.

View Source
const BillableMetricModelStatusArchived = shared.BillableMetricModelStatusArchived

This is an alias to an internal value.

View Source
const BillableMetricModelStatusDraft = shared.BillableMetricModelStatusDraft

This is an alias to an internal value.

View Source
const BillingCycleConfigurationModelDurationUnitDay = shared.BillingCycleConfigurationModelDurationUnitDay

This is an alias to an internal value.

View Source
const BillingCycleConfigurationModelDurationUnitMonth = shared.BillingCycleConfigurationModelDurationUnitMonth

This is an alias to an internal value.

View Source
const BillingCycleRelativeDateEndOfTerm = shared.BillingCycleRelativeDateEndOfTerm

This is an alias to an internal value.

View Source
const BillingCycleRelativeDateStartOfTerm = shared.BillingCycleRelativeDateStartOfTerm

This is an alias to an internal value.

View Source
const CouponModelDiscountDiscountTypeAmount = shared.CouponModelDiscountDiscountTypeAmount

This is an alias to an internal value.

View Source
const CouponModelDiscountDiscountTypePercentage = shared.CouponModelDiscountDiscountTypePercentage

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelAmendmentLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelAmendmentLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelAmendmentLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelAmendmentLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelAmendmentLedgerEntryEntryTypeAmendment = shared.CreditLedgerEntryModelAmendmentLedgerEntryEntryTypeAmendment

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryTypeCreditBlockExpiry = shared.CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryTypeCreditBlockExpiry

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelDecrementLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelDecrementLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelDecrementLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelDecrementLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelDecrementLedgerEntryEntryTypeDecrement = shared.CreditLedgerEntryModelDecrementLedgerEntryEntryTypeDecrement

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryStatusCommitted = shared.CreditLedgerEntryModelEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryStatusPending = shared.CreditLedgerEntryModelEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeAmendment = shared.CreditLedgerEntryModelEntryTypeAmendment

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeCreditBlockExpiry = shared.CreditLedgerEntryModelEntryTypeCreditBlockExpiry

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeDecrement = shared.CreditLedgerEntryModelEntryTypeDecrement

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeExpirationChange = shared.CreditLedgerEntryModelEntryTypeExpirationChange

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeIncrement = shared.CreditLedgerEntryModelEntryTypeIncrement

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeVoid = shared.CreditLedgerEntryModelEntryTypeVoid

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelEntryTypeVoidInitiated = shared.CreditLedgerEntryModelEntryTypeVoidInitiated

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelExpirationChangeLedgerEntryEntryTypeExpirationChange = shared.CreditLedgerEntryModelExpirationChangeLedgerEntryEntryTypeExpirationChange

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelIncrementLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelIncrementLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelIncrementLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelIncrementLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelIncrementLedgerEntryEntryTypeIncrement = shared.CreditLedgerEntryModelIncrementLedgerEntryEntryTypeIncrement

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryTypeVoidInitiated = shared.CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryTypeVoidInitiated

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelVoidLedgerEntryEntryStatusCommitted = shared.CreditLedgerEntryModelVoidLedgerEntryEntryStatusCommitted

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelVoidLedgerEntryEntryStatusPending = shared.CreditLedgerEntryModelVoidLedgerEntryEntryStatusPending

This is an alias to an internal value.

View Source
const CreditLedgerEntryModelVoidLedgerEntryEntryTypeVoid = shared.CreditLedgerEntryModelVoidLedgerEntryEntryTypeVoid

This is an alias to an internal value.

View Source
const CreditNoteDiscountModelDiscountTypePercentage = shared.CreditNoteDiscountModelDiscountTypePercentage

This is an alias to an internal value.

View Source
const CreditNoteModelLineItemsDiscountsDiscountTypeAmount = shared.CreditNoteModelLineItemsDiscountsDiscountTypeAmount

This is an alias to an internal value.

View Source
const CreditNoteModelLineItemsDiscountsDiscountTypePercentage = shared.CreditNoteModelLineItemsDiscountsDiscountTypePercentage

This is an alias to an internal value.

View Source
const CreditNoteModelReasonDuplicate = shared.CreditNoteModelReasonDuplicate

This is an alias to an internal value.

View Source
const CreditNoteModelReasonFraudulent = shared.CreditNoteModelReasonFraudulent

This is an alias to an internal value.

View Source
const CreditNoteModelReasonOrderChange = shared.CreditNoteModelReasonOrderChange

This is an alias to an internal value.

View Source
const CreditNoteModelReasonProductUnsatisfactory = shared.CreditNoteModelReasonProductUnsatisfactory

This is an alias to an internal value.

View Source
const CreditNoteModelTypeAdjustment = shared.CreditNoteModelTypeAdjustment

This is an alias to an internal value.

View Source
const CreditNoteModelTypeRefund = shared.CreditNoteModelTypeRefund

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionAppliedToInvoice = shared.CustomerBalanceTransactionModelActionAppliedToInvoice

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionCreditNoteApplied = shared.CustomerBalanceTransactionModelActionCreditNoteApplied

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionCreditNoteVoided = shared.CustomerBalanceTransactionModelActionCreditNoteVoided

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionExternalPayment = shared.CustomerBalanceTransactionModelActionExternalPayment

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionManualAdjustment = shared.CustomerBalanceTransactionModelActionManualAdjustment

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionOverpaymentRefund = shared.CustomerBalanceTransactionModelActionOverpaymentRefund

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionProratedRefund = shared.CustomerBalanceTransactionModelActionProratedRefund

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionReturnFromVoiding = shared.CustomerBalanceTransactionModelActionReturnFromVoiding

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelActionRevertProratedRefund = shared.CustomerBalanceTransactionModelActionRevertProratedRefund

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelTypeDecrement = shared.CustomerBalanceTransactionModelTypeDecrement

This is an alias to an internal value.

View Source
const CustomerBalanceTransactionModelTypeIncrement = shared.CustomerBalanceTransactionModelTypeIncrement

This is an alias to an internal value.

View Source
const CustomerCreditBalancesModelDataStatusActive = shared.CustomerCreditBalancesModelDataStatusActive

This is an alias to an internal value.

View Source
const CustomerCreditBalancesModelDataStatusPendingPayment = shared.CustomerCreditBalancesModelDataStatusPendingPayment

This is an alias to an internal value.

View Source
const CustomerModelAccountingSyncConfigurationAccountingProvidersProviderTypeNetsuite = shared.CustomerModelAccountingSyncConfigurationAccountingProvidersProviderTypeNetsuite

This is an alias to an internal value.

View Source
const CustomerModelAccountingSyncConfigurationAccountingProvidersProviderTypeQuickbooks = shared.CustomerModelAccountingSyncConfigurationAccountingProvidersProviderTypeQuickbooks

This is an alias to an internal value.

View Source
const CustomerModelPaymentProviderBillCom = shared.CustomerModelPaymentProviderBillCom

This is an alias to an internal value.

View Source
const CustomerModelPaymentProviderNetsuite = shared.CustomerModelPaymentProviderNetsuite

This is an alias to an internal value.

View Source
const CustomerModelPaymentProviderQuickbooks = shared.CustomerModelPaymentProviderQuickbooks

This is an alias to an internal value.

View Source
const CustomerModelPaymentProviderStripeCharge = shared.CustomerModelPaymentProviderStripeCharge

This is an alias to an internal value.

View Source
const CustomerModelPaymentProviderStripeInvoice = shared.CustomerModelPaymentProviderStripeInvoice

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryAd = shared.CustomerTaxIDModelCountryAd

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryAe = shared.CustomerTaxIDModelCountryAe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryAr = shared.CustomerTaxIDModelCountryAr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryAt = shared.CustomerTaxIDModelCountryAt

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryAu = shared.CustomerTaxIDModelCountryAu

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryBe = shared.CustomerTaxIDModelCountryBe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryBg = shared.CustomerTaxIDModelCountryBg

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryBh = shared.CustomerTaxIDModelCountryBh

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryBo = shared.CustomerTaxIDModelCountryBo

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryBr = shared.CustomerTaxIDModelCountryBr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCa = shared.CustomerTaxIDModelCountryCa

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCh = shared.CustomerTaxIDModelCountryCh

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCl = shared.CustomerTaxIDModelCountryCl

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCn = shared.CustomerTaxIDModelCountryCn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCo = shared.CustomerTaxIDModelCountryCo

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCr = shared.CustomerTaxIDModelCountryCr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCy = shared.CustomerTaxIDModelCountryCy

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryCz = shared.CustomerTaxIDModelCountryCz

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryDe = shared.CustomerTaxIDModelCountryDe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryDk = shared.CustomerTaxIDModelCountryDk

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryDo = shared.CustomerTaxIDModelCountryDo

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryEc = shared.CustomerTaxIDModelCountryEc

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryEe = shared.CustomerTaxIDModelCountryEe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryEg = shared.CustomerTaxIDModelCountryEg

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryEs = shared.CustomerTaxIDModelCountryEs

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryEu = shared.CustomerTaxIDModelCountryEu

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryFi = shared.CustomerTaxIDModelCountryFi

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryFr = shared.CustomerTaxIDModelCountryFr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryGB = shared.CustomerTaxIDModelCountryGB

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryGe = shared.CustomerTaxIDModelCountryGe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryGr = shared.CustomerTaxIDModelCountryGr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryHk = shared.CustomerTaxIDModelCountryHk

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryHr = shared.CustomerTaxIDModelCountryHr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryHu = shared.CustomerTaxIDModelCountryHu

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryID = shared.CustomerTaxIDModelCountryID

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryIe = shared.CustomerTaxIDModelCountryIe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryIl = shared.CustomerTaxIDModelCountryIl

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryIn = shared.CustomerTaxIDModelCountryIn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryIs = shared.CustomerTaxIDModelCountryIs

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryIt = shared.CustomerTaxIDModelCountryIt

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryJp = shared.CustomerTaxIDModelCountryJp

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryKe = shared.CustomerTaxIDModelCountryKe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryKr = shared.CustomerTaxIDModelCountryKr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryKz = shared.CustomerTaxIDModelCountryKz

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryLi = shared.CustomerTaxIDModelCountryLi

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryLt = shared.CustomerTaxIDModelCountryLt

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryLu = shared.CustomerTaxIDModelCountryLu

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryLv = shared.CustomerTaxIDModelCountryLv

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryMt = shared.CustomerTaxIDModelCountryMt

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryMx = shared.CustomerTaxIDModelCountryMx

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryMy = shared.CustomerTaxIDModelCountryMy

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryNg = shared.CustomerTaxIDModelCountryNg

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryNl = shared.CustomerTaxIDModelCountryNl

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryNo = shared.CustomerTaxIDModelCountryNo

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryNz = shared.CustomerTaxIDModelCountryNz

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryOm = shared.CustomerTaxIDModelCountryOm

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryPe = shared.CustomerTaxIDModelCountryPe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryPh = shared.CustomerTaxIDModelCountryPh

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryPl = shared.CustomerTaxIDModelCountryPl

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryPt = shared.CustomerTaxIDModelCountryPt

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryRo = shared.CustomerTaxIDModelCountryRo

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryRs = shared.CustomerTaxIDModelCountryRs

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryRu = shared.CustomerTaxIDModelCountryRu

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountrySa = shared.CustomerTaxIDModelCountrySa

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountrySe = shared.CustomerTaxIDModelCountrySe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountrySg = shared.CustomerTaxIDModelCountrySg

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountrySi = shared.CustomerTaxIDModelCountrySi

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountrySk = shared.CustomerTaxIDModelCountrySk

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountrySv = shared.CustomerTaxIDModelCountrySv

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryTh = shared.CustomerTaxIDModelCountryTh

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryTr = shared.CustomerTaxIDModelCountryTr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryTw = shared.CustomerTaxIDModelCountryTw

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryUa = shared.CustomerTaxIDModelCountryUa

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryUs = shared.CustomerTaxIDModelCountryUs

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryUy = shared.CustomerTaxIDModelCountryUy

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryVe = shared.CustomerTaxIDModelCountryVe

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryVn = shared.CustomerTaxIDModelCountryVn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelCountryZa = shared.CustomerTaxIDModelCountryZa

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeAdNrt = shared.CustomerTaxIDModelTypeAdNrt

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeAeTrn = shared.CustomerTaxIDModelTypeAeTrn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeArCuit = shared.CustomerTaxIDModelTypeArCuit

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeAuAbn = shared.CustomerTaxIDModelTypeAuAbn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeAuArn = shared.CustomerTaxIDModelTypeAuArn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeBgUic = shared.CustomerTaxIDModelTypeBgUic

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeBhVat = shared.CustomerTaxIDModelTypeBhVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeBoTin = shared.CustomerTaxIDModelTypeBoTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeBrCnpj = shared.CustomerTaxIDModelTypeBrCnpj

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeBrCpf = shared.CustomerTaxIDModelTypeBrCpf

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCaBn = shared.CustomerTaxIDModelTypeCaBn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCaGstHst = shared.CustomerTaxIDModelTypeCaGstHst

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCaPstBc = shared.CustomerTaxIDModelTypeCaPstBc

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCaPstMB = shared.CustomerTaxIDModelTypeCaPstMB

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCaPstSk = shared.CustomerTaxIDModelTypeCaPstSk

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCaQst = shared.CustomerTaxIDModelTypeCaQst

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeChVat = shared.CustomerTaxIDModelTypeChVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeClTin = shared.CustomerTaxIDModelTypeClTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCnTin = shared.CustomerTaxIDModelTypeCnTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCoNit = shared.CustomerTaxIDModelTypeCoNit

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeCrTin = shared.CustomerTaxIDModelTypeCrTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeDoRcn = shared.CustomerTaxIDModelTypeDoRcn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeEcRuc = shared.CustomerTaxIDModelTypeEcRuc

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeEgTin = shared.CustomerTaxIDModelTypeEgTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeEsCif = shared.CustomerTaxIDModelTypeEsCif

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeEuOssVat = shared.CustomerTaxIDModelTypeEuOssVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeEuVat = shared.CustomerTaxIDModelTypeEuVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeGBVat = shared.CustomerTaxIDModelTypeGBVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeGeVat = shared.CustomerTaxIDModelTypeGeVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeHkBr = shared.CustomerTaxIDModelTypeHkBr

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeHuTin = shared.CustomerTaxIDModelTypeHuTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeIDNpwp = shared.CustomerTaxIDModelTypeIDNpwp

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeIlVat = shared.CustomerTaxIDModelTypeIlVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeInGst = shared.CustomerTaxIDModelTypeInGst

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeIsVat = shared.CustomerTaxIDModelTypeIsVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeJpCn = shared.CustomerTaxIDModelTypeJpCn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeJpRn = shared.CustomerTaxIDModelTypeJpRn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeJpTrn = shared.CustomerTaxIDModelTypeJpTrn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeKePin = shared.CustomerTaxIDModelTypeKePin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeKrBrn = shared.CustomerTaxIDModelTypeKrBrn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeKzBin = shared.CustomerTaxIDModelTypeKzBin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeLiUid = shared.CustomerTaxIDModelTypeLiUid

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeMxRfc = shared.CustomerTaxIDModelTypeMxRfc

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeMyFrp = shared.CustomerTaxIDModelTypeMyFrp

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeMyItn = shared.CustomerTaxIDModelTypeMyItn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeMySst = shared.CustomerTaxIDModelTypeMySst

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeNgTin = shared.CustomerTaxIDModelTypeNgTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeNoVat = shared.CustomerTaxIDModelTypeNoVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeNoVoec = shared.CustomerTaxIDModelTypeNoVoec

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeNzGst = shared.CustomerTaxIDModelTypeNzGst

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeOmVat = shared.CustomerTaxIDModelTypeOmVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypePeRuc = shared.CustomerTaxIDModelTypePeRuc

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypePhTin = shared.CustomerTaxIDModelTypePhTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeRoTin = shared.CustomerTaxIDModelTypeRoTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeRsPib = shared.CustomerTaxIDModelTypeRsPib

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeRuInn = shared.CustomerTaxIDModelTypeRuInn

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeRuKpp = shared.CustomerTaxIDModelTypeRuKpp

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeSaVat = shared.CustomerTaxIDModelTypeSaVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeSgGst = shared.CustomerTaxIDModelTypeSgGst

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeSgUen = shared.CustomerTaxIDModelTypeSgUen

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeSiTin = shared.CustomerTaxIDModelTypeSiTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeSvNit = shared.CustomerTaxIDModelTypeSvNit

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeThVat = shared.CustomerTaxIDModelTypeThVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeTrTin = shared.CustomerTaxIDModelTypeTrTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeTwVat = shared.CustomerTaxIDModelTypeTwVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeUaVat = shared.CustomerTaxIDModelTypeUaVat

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeUsEin = shared.CustomerTaxIDModelTypeUsEin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeUyRuc = shared.CustomerTaxIDModelTypeUyRuc

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeVeRif = shared.CustomerTaxIDModelTypeVeRif

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeVnTin = shared.CustomerTaxIDModelTypeVnTin

This is an alias to an internal value.

View Source
const CustomerTaxIDModelTypeZaVat = shared.CustomerTaxIDModelTypeZaVat

This is an alias to an internal value.

View Source
const DiscountDiscountTypeAmount = shared.DiscountDiscountTypeAmount

This is an alias to an internal value.

View Source
const DiscountDiscountTypePercentage = shared.DiscountDiscountTypePercentage

This is an alias to an internal value.

View Source
const DiscountDiscountTypeTrial = shared.DiscountDiscountTypeTrial

This is an alias to an internal value.

View Source
const DiscountDiscountTypeUsage = shared.DiscountDiscountTypeUsage

This is an alias to an internal value.

View Source
const DiscountOverrideModelDiscountTypeAmount = shared.DiscountOverrideModelDiscountTypeAmount

This is an alias to an internal value.

View Source
const DiscountOverrideModelDiscountTypePercentage = shared.DiscountOverrideModelDiscountTypePercentage

This is an alias to an internal value.

View Source
const DiscountOverrideModelDiscountTypeUsage = shared.DiscountOverrideModelDiscountTypeUsage

This is an alias to an internal value.

View Source
const DiscountUsageDiscountDiscountTypeUsage = shared.DiscountUsageDiscountDiscountTypeUsage

This is an alias to an internal value.

View Source
const ErrorStatus400 = apierror.ErrorStatus400
View Source
const ErrorStatus401 = apierror.ErrorStatus401
View Source
const ErrorStatus404 = apierror.ErrorStatus404
View Source
const ErrorStatus409 = apierror.ErrorStatus409
View Source
const ErrorStatus413 = apierror.ErrorStatus413
View Source
const ErrorStatus429 = apierror.ErrorStatus429
View Source
const ErrorStatus500 = apierror.ErrorStatus500
View Source
const ErrorTypeConstraintViolation = apierror.ErrorTypeConstraintViolation
View Source
const ErrorTypeDuplicateResourceCreation = apierror.ErrorTypeDuplicateResourceCreation
View Source
const ErrorTypeFeatureNotAvailable = apierror.ErrorTypeFeatureNotAvailable
View Source
const ErrorTypeOrbAuthenticationError = apierror.ErrorTypeOrbAuthenticationError
View Source
const ErrorTypeOrbInternalServerError = apierror.ErrorTypeOrbInternalServerError
View Source
const ErrorTypeRequestTooLarge = apierror.ErrorTypeRequestTooLarge
View Source
const ErrorTypeRequestValidationError = apierror.ErrorTypeRequestValidationError
View Source
const ErrorTypeResourceConflict = apierror.ErrorTypeResourceConflict
View Source
const ErrorTypeResourceNotFound = apierror.ErrorTypeResourceNotFound
View Source
const ErrorTypeResourceTooLarge = apierror.ErrorTypeResourceTooLarge
View Source
const ErrorTypeTooManyRequests = apierror.ErrorTypeTooManyRequests
View Source
const ErrorTypeURLNotFound = apierror.ErrorTypeURLNotFound
View Source
const InvoiceLevelDiscountDiscountTypeAmount = shared.InvoiceLevelDiscountDiscountTypeAmount

This is an alias to an internal value.

View Source
const InvoiceLevelDiscountDiscountTypePercentage = shared.InvoiceLevelDiscountDiscountTypePercentage

This is an alias to an internal value.

View Source
const InvoiceLevelDiscountDiscountTypeTrial = shared.InvoiceLevelDiscountDiscountTypeTrial

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsAdjustmentTypeAmountDiscount = shared.InvoiceLineItemModelAdjustmentsAdjustmentTypeAmountDiscount

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsAdjustmentTypeMaximum = shared.InvoiceLineItemModelAdjustmentsAdjustmentTypeMaximum

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsAdjustmentTypeMinimum = shared.InvoiceLineItemModelAdjustmentsAdjustmentTypeMinimum

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsAdjustmentTypePercentageDiscount = shared.InvoiceLineItemModelAdjustmentsAdjustmentTypePercentageDiscount

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsAdjustmentTypeUsageDiscount = shared.InvoiceLineItemModelAdjustmentsAdjustmentTypeUsageDiscount

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustmentAdjustmentTypeAmountDiscount = shared.InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustmentAdjustmentTypeAmountDiscount

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustmentAdjustmentTypeMaximum = shared.InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustmentAdjustmentTypeMaximum

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustmentAdjustmentTypeMinimum = shared.InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustmentAdjustmentTypeMinimum

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustmentAdjustmentTypePercentageDiscount = shared.InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustmentAdjustmentTypePercentageDiscount

This is an alias to an internal value.

View Source
const InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustmentAdjustmentTypeUsageDiscount = shared.InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustmentAdjustmentTypeUsageDiscount

This is an alias to an internal value.

View Source
const InvoiceLineItemModelSubLineItemsMatrixSubLineItemTypeMatrix = shared.InvoiceLineItemModelSubLineItemsMatrixSubLineItemTypeMatrix

This is an alias to an internal value.

View Source
const InvoiceLineItemModelSubLineItemsOtherSubLineItemTypeNull = shared.InvoiceLineItemModelSubLineItemsOtherSubLineItemTypeNull

This is an alias to an internal value.

View Source
const InvoiceLineItemModelSubLineItemsTierSubLineItemTypeTier = shared.InvoiceLineItemModelSubLineItemsTierSubLineItemTypeTier

This is an alias to an internal value.

View Source
const InvoiceLineItemModelSubLineItemsTypeMatrix = shared.InvoiceLineItemModelSubLineItemsTypeMatrix

This is an alias to an internal value.

View Source
const InvoiceLineItemModelSubLineItemsTypeNull = shared.InvoiceLineItemModelSubLineItemsTypeNull

This is an alias to an internal value.

View Source
const InvoiceLineItemModelSubLineItemsTypeTier = shared.InvoiceLineItemModelSubLineItemsTypeTier

This is an alias to an internal value.

View Source
const InvoiceModelInvoiceSourceOneOff = shared.InvoiceModelInvoiceSourceOneOff

This is an alias to an internal value.

View Source
const InvoiceModelInvoiceSourcePartial = shared.InvoiceModelInvoiceSourcePartial

This is an alias to an internal value.

View Source
const InvoiceModelInvoiceSourceSubscription = shared.InvoiceModelInvoiceSourceSubscription

This is an alias to an internal value.

View Source
const InvoiceModelStatusDraft = shared.InvoiceModelStatusDraft

This is an alias to an internal value.

View Source
const InvoiceModelStatusIssued = shared.InvoiceModelStatusIssued

This is an alias to an internal value.

View Source
const InvoiceModelStatusPaid = shared.InvoiceModelStatusPaid

This is an alias to an internal value.

View Source
const InvoiceModelStatusSynced = shared.InvoiceModelStatusSynced

This is an alias to an internal value.

View Source
const InvoiceModelStatusVoid = shared.InvoiceModelStatusVoid

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameAnrok = shared.ItemExternalConnectionModelExternalConnectionNameAnrok

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameAvalara = shared.ItemExternalConnectionModelExternalConnectionNameAvalara

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameBillCom = shared.ItemExternalConnectionModelExternalConnectionNameBillCom

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameNetsuite = shared.ItemExternalConnectionModelExternalConnectionNameNetsuite

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameQuickbooks = shared.ItemExternalConnectionModelExternalConnectionNameQuickbooks

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameStripe = shared.ItemExternalConnectionModelExternalConnectionNameStripe

This is an alias to an internal value.

View Source
const ItemExternalConnectionModelExternalConnectionNameTaxjar = shared.ItemExternalConnectionModelExternalConnectionNameTaxjar

This is an alias to an internal value.

View Source
const MutatedSubscriptionModelDiscountIntervalsDiscountTypeAmount = shared.MutatedSubscriptionModelDiscountIntervalsDiscountTypeAmount

This is an alias to an internal value.

View Source
const MutatedSubscriptionModelDiscountIntervalsDiscountTypePercentage = shared.MutatedSubscriptionModelDiscountIntervalsDiscountTypePercentage

This is an alias to an internal value.

View Source
const MutatedSubscriptionModelDiscountIntervalsDiscountTypeUsage = shared.MutatedSubscriptionModelDiscountIntervalsDiscountTypeUsage

This is an alias to an internal value.

View Source
const MutatedSubscriptionModelStatusActive = shared.MutatedSubscriptionModelStatusActive

This is an alias to an internal value.

View Source
const MutatedSubscriptionModelStatusEnded = shared.MutatedSubscriptionModelStatusEnded

This is an alias to an internal value.

View Source
const MutatedSubscriptionModelStatusUpcoming = shared.MutatedSubscriptionModelStatusUpcoming

This is an alias to an internal value.

View Source
const NewAdjustmentModelAdjustmentTypeAmountDiscount = shared.NewAdjustmentModelAdjustmentTypeAmountDiscount

This is an alias to an internal value.

View Source
const NewAdjustmentModelAdjustmentTypeMaximum = shared.NewAdjustmentModelAdjustmentTypeMaximum

This is an alias to an internal value.

View Source
const NewAdjustmentModelAdjustmentTypeMinimum = shared.NewAdjustmentModelAdjustmentTypeMinimum

This is an alias to an internal value.

View Source
const NewAdjustmentModelAdjustmentTypePercentageDiscount = shared.NewAdjustmentModelAdjustmentTypePercentageDiscount

This is an alias to an internal value.

View Source
const NewAdjustmentModelAdjustmentTypeUsageDiscount = shared.NewAdjustmentModelAdjustmentTypeUsageDiscount

This is an alias to an internal value.

View Source
const NewAdjustmentModelNewAmountDiscountAdjustmentTypeAmountDiscount = shared.NewAdjustmentModelNewAmountDiscountAdjustmentTypeAmountDiscount

This is an alias to an internal value.

View Source
const NewAdjustmentModelNewMaximumAdjustmentTypeMaximum = shared.NewAdjustmentModelNewMaximumAdjustmentTypeMaximum

This is an alias to an internal value.

View Source
const NewAdjustmentModelNewMinimumAdjustmentTypeMinimum = shared.NewAdjustmentModelNewMinimumAdjustmentTypeMinimum

This is an alias to an internal value.

View Source
const NewAdjustmentModelNewPercentageDiscountAdjustmentTypePercentageDiscount = shared.NewAdjustmentModelNewPercentageDiscountAdjustmentTypePercentageDiscount

This is an alias to an internal value.

View Source
const NewAdjustmentModelNewUsageDiscountAdjustmentTypeUsageDiscount = shared.NewAdjustmentModelNewUsageDiscountAdjustmentTypeUsageDiscount

This is an alias to an internal value.

View Source
const NewAllocationPriceModelCadenceAnnual = shared.NewAllocationPriceModelCadenceAnnual

This is an alias to an internal value.

View Source
const NewAllocationPriceModelCadenceCustom = shared.NewAllocationPriceModelCadenceCustom

This is an alias to an internal value.

View Source
const NewAllocationPriceModelCadenceMonthly = shared.NewAllocationPriceModelCadenceMonthly

This is an alias to an internal value.

View Source
const NewAllocationPriceModelCadenceOneTime = shared.NewAllocationPriceModelCadenceOneTime

This is an alias to an internal value.

View Source
const NewAllocationPriceModelCadenceQuarterly = shared.NewAllocationPriceModelCadenceQuarterly

This is an alias to an internal value.

View Source
const NewAllocationPriceModelCadenceSemiAnnual = shared.NewAllocationPriceModelCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewBillingCycleConfigurationModelDurationUnitDay = shared.NewBillingCycleConfigurationModelDurationUnitDay

This is an alias to an internal value.

View Source
const NewBillingCycleConfigurationModelDurationUnitMonth = shared.NewBillingCycleConfigurationModelDurationUnitMonth

This is an alias to an internal value.

View Source
const NewFloatingPriceModelCadenceAnnual = shared.NewFloatingPriceModelCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelCadenceCustom = shared.NewFloatingPriceModelCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelCadenceMonthly = shared.NewFloatingPriceModelCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelCadenceOneTime = shared.NewFloatingPriceModelCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelCadenceQuarterly = shared.NewFloatingPriceModelCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelCadenceSemiAnnual = shared.NewFloatingPriceModelCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeBps = shared.NewFloatingPriceModelModelTypeBps

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeBulk = shared.NewFloatingPriceModelModelTypeBulk

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeBulkBps = shared.NewFloatingPriceModelModelTypeBulkBps

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeBulkWithProration = shared.NewFloatingPriceModelModelTypeBulkWithProration

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeCumulativeGroupedBulk = shared.NewFloatingPriceModelModelTypeCumulativeGroupedBulk

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeGroupedAllocation = shared.NewFloatingPriceModelModelTypeGroupedAllocation

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeGroupedTiered = shared.NewFloatingPriceModelModelTypeGroupedTiered

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeGroupedTieredPackage = shared.NewFloatingPriceModelModelTypeGroupedTieredPackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeGroupedWithMeteredMinimum = shared.NewFloatingPriceModelModelTypeGroupedWithMeteredMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeGroupedWithProratedMinimum = shared.NewFloatingPriceModelModelTypeGroupedWithProratedMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeMatrix = shared.NewFloatingPriceModelModelTypeMatrix

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeMatrixWithAllocation = shared.NewFloatingPriceModelModelTypeMatrixWithAllocation

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeMatrixWithDisplayName = shared.NewFloatingPriceModelModelTypeMatrixWithDisplayName

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeMaxGroupTieredPackage = shared.NewFloatingPriceModelModelTypeMaxGroupTieredPackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypePackage = shared.NewFloatingPriceModelModelTypePackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypePackageWithAllocation = shared.NewFloatingPriceModelModelTypePackageWithAllocation

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeScalableMatrixWithTieredPricing = shared.NewFloatingPriceModelModelTypeScalableMatrixWithTieredPricing

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeScalableMatrixWithUnitPricing = shared.NewFloatingPriceModelModelTypeScalableMatrixWithUnitPricing

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeThresholdTotalAmount = shared.NewFloatingPriceModelModelTypeThresholdTotalAmount

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeTiered = shared.NewFloatingPriceModelModelTypeTiered

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeTieredBps = shared.NewFloatingPriceModelModelTypeTieredBps

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeTieredPackage = shared.NewFloatingPriceModelModelTypeTieredPackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeTieredPackageWithMinimum = shared.NewFloatingPriceModelModelTypeTieredPackageWithMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeTieredWithMinimum = shared.NewFloatingPriceModelModelTypeTieredWithMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeTieredWithProration = shared.NewFloatingPriceModelModelTypeTieredWithProration

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeUnit = shared.NewFloatingPriceModelModelTypeUnit

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeUnitWithPercent = shared.NewFloatingPriceModelModelTypeUnitWithPercent

This is an alias to an internal value.

View Source
const NewFloatingPriceModelModelTypeUnitWithProration = shared.NewFloatingPriceModelModelTypeUnitWithProration

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBpsPriceModelTypeBps = shared.NewFloatingPriceModelNewFloatingBpsPriceModelTypeBps

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkBpsPriceModelTypeBulkBps = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceModelTypeBulkBps

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingBulkPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingBulkPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingBulkPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingBulkPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingBulkPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingBulkPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkPriceModelTypeBulk = shared.NewFloatingPriceModelNewFloatingBulkPriceModelTypeBulk

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingBulkWithProrationPriceModelTypeBulkWithProration = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceModelTypeBulkWithProration

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedAllocationPriceModelTypeGroupedAllocation = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceModelTypeGroupedAllocation

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceModelTypeGroupedTieredPackage = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceModelTypeGroupedTieredPackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedTieredPriceModelTypeGroupedTiered = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceModelTypeGroupedTiered

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixPriceModelTypeMatrix = shared.NewFloatingPriceModelNewFloatingMatrixPriceModelTypeMatrix

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceModelTypeMatrixWithAllocation = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceModelTypeMatrixWithAllocation

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackagePriceModelTypePackage = shared.NewFloatingPriceModelNewFloatingPackagePriceModelTypePackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingPackageWithAllocationPriceModelTypePackageWithAllocation = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceModelTypePackageWithAllocation

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceModelTypeThresholdTotalAmount = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceModelTypeThresholdTotalAmount

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredBpsPriceModelTypeTieredBps = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceModelTypeTieredBps

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackagePriceModelTypeTieredPackage = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceModelTypeTieredPackage

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingTieredPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingTieredPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingTieredPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingTieredPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingTieredPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingTieredPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredPriceModelTypeTiered = shared.NewFloatingPriceModelNewFloatingTieredPriceModelTypeTiered

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithMinimumPriceModelTypeTieredWithMinimum = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceModelTypeTieredWithMinimum

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingTieredWithProrationPriceModelTypeTieredWithProration = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceModelTypeTieredWithProration

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingUnitPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingUnitPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingUnitPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingUnitPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingUnitPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingUnitPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitPriceModelTypeUnit = shared.NewFloatingPriceModelNewFloatingUnitPriceModelTypeUnit

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithPercentPriceModelTypeUnitWithPercent = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceModelTypeUnitWithPercent

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceAnnual = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceCustom = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceMonthly = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceOneTime = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceQuarterly = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceSemiAnnual = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewFloatingPriceModelNewFloatingUnitWithProrationPriceModelTypeUnitWithProration = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceModelTypeUnitWithProration

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelCadenceAnnual = shared.NewSubscriptionPriceModelCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelCadenceCustom = shared.NewSubscriptionPriceModelCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelCadenceMonthly = shared.NewSubscriptionPriceModelCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelCadenceOneTime = shared.NewSubscriptionPriceModelCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelCadenceQuarterly = shared.NewSubscriptionPriceModelCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelCadenceSemiAnnual = shared.NewSubscriptionPriceModelCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeBps = shared.NewSubscriptionPriceModelModelTypeBps

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeBulk = shared.NewSubscriptionPriceModelModelTypeBulk

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeBulkBps = shared.NewSubscriptionPriceModelModelTypeBulkBps

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeBulkWithProration = shared.NewSubscriptionPriceModelModelTypeBulkWithProration

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeCumulativeGroupedBulk = shared.NewSubscriptionPriceModelModelTypeCumulativeGroupedBulk

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeGroupedAllocation = shared.NewSubscriptionPriceModelModelTypeGroupedAllocation

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeGroupedTieredPackage = shared.NewSubscriptionPriceModelModelTypeGroupedTieredPackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeGroupedWithMeteredMinimum = shared.NewSubscriptionPriceModelModelTypeGroupedWithMeteredMinimum

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeGroupedWithProratedMinimum = shared.NewSubscriptionPriceModelModelTypeGroupedWithProratedMinimum

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeMatrix = shared.NewSubscriptionPriceModelModelTypeMatrix

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeMatrixWithDisplayName = shared.NewSubscriptionPriceModelModelTypeMatrixWithDisplayName

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeMaxGroupTieredPackage = shared.NewSubscriptionPriceModelModelTypeMaxGroupTieredPackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypePackage = shared.NewSubscriptionPriceModelModelTypePackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypePackageWithAllocation = shared.NewSubscriptionPriceModelModelTypePackageWithAllocation

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeScalableMatrixWithTieredPricing = shared.NewSubscriptionPriceModelModelTypeScalableMatrixWithTieredPricing

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeScalableMatrixWithUnitPricing = shared.NewSubscriptionPriceModelModelTypeScalableMatrixWithUnitPricing

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeThresholdTotalAmount = shared.NewSubscriptionPriceModelModelTypeThresholdTotalAmount

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeTiered = shared.NewSubscriptionPriceModelModelTypeTiered

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeTieredBps = shared.NewSubscriptionPriceModelModelTypeTieredBps

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeTieredPackage = shared.NewSubscriptionPriceModelModelTypeTieredPackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeTieredWithMinimum = shared.NewSubscriptionPriceModelModelTypeTieredWithMinimum

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeTieredWithProration = shared.NewSubscriptionPriceModelModelTypeTieredWithProration

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeUnit = shared.NewSubscriptionPriceModelModelTypeUnit

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeUnitWithPercent = shared.NewSubscriptionPriceModelModelTypeUnitWithPercent

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelModelTypeUnitWithProration = shared.NewSubscriptionPriceModelModelTypeUnitWithProration

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBpsPriceModelTypeBps = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceModelTypeBps

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceModelTypeBulkBps = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceModelTypeBulkBps

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkPriceModelTypeBulk = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceModelTypeBulk

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceModelTypeBulkWithProration = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceModelTypeBulkWithProration

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceModelTypeGroupedAllocation = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceModelTypeGroupedAllocation

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceModelTypeGroupedTieredPackage = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceModelTypeGroupedTieredPackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixPriceModelTypeMatrix = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceModelTypeMatrix

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackagePriceModelTypePackage = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceModelTypePackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceModelTypePackageWithAllocation = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceModelTypePackageWithAllocation

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceModelTypeThresholdTotalAmount = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceModelTypeThresholdTotalAmount

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceModelTypeTieredWithProration = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceModelTypeTieredWithProration

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceModelTypeTieredBps = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceModelTypeTieredBps

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceModelTypeTieredPackage = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceModelTypeTieredPackage

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredPriceModelTypeTiered = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceModelTypeTiered

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceModelTypeTieredWithMinimum = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceModelTypeTieredWithMinimum

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitPriceModelTypeUnit = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceModelTypeUnit

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceModelTypeUnitWithPercent = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceModelTypeUnitWithPercent

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceAnnual = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceCustom = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceMonthly = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceOneTime = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceQuarterly = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceSemiAnnual = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceModelTypeUnitWithProration = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceModelTypeUnitWithProration

This is an alias to an internal value.

View Source
const NewTaxConfigurationModelNewAvalaraTaxConfigurationTaxProviderAvalara = shared.NewTaxConfigurationModelNewAvalaraTaxConfigurationTaxProviderAvalara

This is an alias to an internal value.

View Source
const NewTaxConfigurationModelNewTaxJarConfigurationTaxProviderTaxjar = shared.NewTaxConfigurationModelNewTaxJarConfigurationTaxProviderTaxjar

This is an alias to an internal value.

View Source
const NewTaxConfigurationModelTaxProviderAvalara = shared.NewTaxConfigurationModelTaxProviderAvalara

This is an alias to an internal value.

View Source
const NewTaxConfigurationModelTaxProviderTaxjar = shared.NewTaxConfigurationModelTaxProviderTaxjar

This is an alias to an internal value.

View Source
const PaymentAttemptModelPaymentProviderStripe = shared.PaymentAttemptModelPaymentProviderStripe

This is an alias to an internal value.

View Source
const PercentageDiscountDiscountTypePercentage = shared.PercentageDiscountDiscountTypePercentage

This is an alias to an internal value.

View Source
const PercentageDiscountIntervalModelDiscountTypePercentage = shared.PercentageDiscountIntervalModelDiscountTypePercentage

This is an alias to an internal value.

View Source
const PlanModelPlanPhasesDurationUnitAnnual = shared.PlanModelPlanPhasesDurationUnitAnnual

This is an alias to an internal value.

View Source
const PlanModelPlanPhasesDurationUnitDaily = shared.PlanModelPlanPhasesDurationUnitDaily

This is an alias to an internal value.

View Source
const PlanModelPlanPhasesDurationUnitMonthly = shared.PlanModelPlanPhasesDurationUnitMonthly

This is an alias to an internal value.

View Source
const PlanModelPlanPhasesDurationUnitQuarterly = shared.PlanModelPlanPhasesDurationUnitQuarterly

This is an alias to an internal value.

View Source
const PlanModelPlanPhasesDurationUnitSemiAnnual = shared.PlanModelPlanPhasesDurationUnitSemiAnnual

This is an alias to an internal value.

View Source
const PlanModelStatusActive = shared.PlanModelStatusActive

This is an alias to an internal value.

View Source
const PlanModelStatusArchived = shared.PlanModelStatusArchived

This is an alias to an internal value.

View Source
const PlanModelStatusDraft = shared.PlanModelStatusDraft

This is an alias to an internal value.

View Source
const PlanModelTrialConfigTrialPeriodUnitDays = shared.PlanModelTrialConfigTrialPeriodUnitDays

This is an alias to an internal value.

View Source
const PriceModelBpsPriceCadenceAnnual = shared.PriceModelBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelBpsPriceCadenceCustom = shared.PriceModelBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelBpsPriceCadenceMonthly = shared.PriceModelBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelBpsPriceCadenceOneTime = shared.PriceModelBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelBpsPriceCadenceQuarterly = shared.PriceModelBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelBpsPriceCadenceSemiAnnual = shared.PriceModelBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelBpsPriceModelTypeBps = shared.PriceModelBpsPriceModelTypeBps

This is an alias to an internal value.

View Source
const PriceModelBpsPricePriceTypeFixedPrice = shared.PriceModelBpsPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelBpsPricePriceTypeUsagePrice = shared.PriceModelBpsPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceCadenceAnnual = shared.PriceModelBulkBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceCadenceCustom = shared.PriceModelBulkBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceCadenceMonthly = shared.PriceModelBulkBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceCadenceOneTime = shared.PriceModelBulkBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceCadenceQuarterly = shared.PriceModelBulkBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceCadenceSemiAnnual = shared.PriceModelBulkBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPriceModelTypeBulkBps = shared.PriceModelBulkBpsPriceModelTypeBulkBps

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPricePriceTypeFixedPrice = shared.PriceModelBulkBpsPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelBulkBpsPricePriceTypeUsagePrice = shared.PriceModelBulkBpsPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelBulkPriceCadenceAnnual = shared.PriceModelBulkPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelBulkPriceCadenceCustom = shared.PriceModelBulkPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelBulkPriceCadenceMonthly = shared.PriceModelBulkPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelBulkPriceCadenceOneTime = shared.PriceModelBulkPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelBulkPriceCadenceQuarterly = shared.PriceModelBulkPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelBulkPriceCadenceSemiAnnual = shared.PriceModelBulkPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelBulkPriceModelTypeBulk = shared.PriceModelBulkPriceModelTypeBulk

This is an alias to an internal value.

View Source
const PriceModelBulkPricePriceTypeFixedPrice = shared.PriceModelBulkPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelBulkPricePriceTypeUsagePrice = shared.PriceModelBulkPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceCadenceAnnual = shared.PriceModelBulkWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceCadenceCustom = shared.PriceModelBulkWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceCadenceMonthly = shared.PriceModelBulkWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceCadenceOneTime = shared.PriceModelBulkWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceCadenceQuarterly = shared.PriceModelBulkWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceCadenceSemiAnnual = shared.PriceModelBulkWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPriceModelTypeBulkWithProration = shared.PriceModelBulkWithProrationPriceModelTypeBulkWithProration

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPricePriceTypeFixedPrice = shared.PriceModelBulkWithProrationPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelBulkWithProrationPricePriceTypeUsagePrice = shared.PriceModelBulkWithProrationPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelCadenceAnnual = shared.PriceModelCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelCadenceCustom = shared.PriceModelCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelCadenceMonthly = shared.PriceModelCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelCadenceOneTime = shared.PriceModelCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelCadenceQuarterly = shared.PriceModelCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelCadenceSemiAnnual = shared.PriceModelCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceCadenceAnnual = shared.PriceModelCumulativeGroupedBulkPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceCadenceCustom = shared.PriceModelCumulativeGroupedBulkPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceCadenceMonthly = shared.PriceModelCumulativeGroupedBulkPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceCadenceOneTime = shared.PriceModelCumulativeGroupedBulkPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceCadenceQuarterly = shared.PriceModelCumulativeGroupedBulkPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceCadenceSemiAnnual = shared.PriceModelCumulativeGroupedBulkPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk = shared.PriceModelCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPricePriceTypeFixedPrice = shared.PriceModelCumulativeGroupedBulkPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelCumulativeGroupedBulkPricePriceTypeUsagePrice = shared.PriceModelCumulativeGroupedBulkPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceCadenceAnnual = shared.PriceModelGroupedAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceCadenceCustom = shared.PriceModelGroupedAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceCadenceMonthly = shared.PriceModelGroupedAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceCadenceOneTime = shared.PriceModelGroupedAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceCadenceQuarterly = shared.PriceModelGroupedAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceCadenceSemiAnnual = shared.PriceModelGroupedAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPriceModelTypeGroupedAllocation = shared.PriceModelGroupedAllocationPriceModelTypeGroupedAllocation

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPricePriceTypeFixedPrice = shared.PriceModelGroupedAllocationPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelGroupedAllocationPricePriceTypeUsagePrice = shared.PriceModelGroupedAllocationPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceCadenceAnnual = shared.PriceModelGroupedTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceCadenceCustom = shared.PriceModelGroupedTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceCadenceMonthly = shared.PriceModelGroupedTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceCadenceOneTime = shared.PriceModelGroupedTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceCadenceQuarterly = shared.PriceModelGroupedTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceCadenceSemiAnnual = shared.PriceModelGroupedTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePriceModelTypeGroupedTieredPackage = shared.PriceModelGroupedTieredPackagePriceModelTypeGroupedTieredPackage

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePricePriceTypeFixedPrice = shared.PriceModelGroupedTieredPackagePricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPackagePricePriceTypeUsagePrice = shared.PriceModelGroupedTieredPackagePricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceCadenceAnnual = shared.PriceModelGroupedTieredPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceCadenceCustom = shared.PriceModelGroupedTieredPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceCadenceMonthly = shared.PriceModelGroupedTieredPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceCadenceOneTime = shared.PriceModelGroupedTieredPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceCadenceQuarterly = shared.PriceModelGroupedTieredPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceCadenceSemiAnnual = shared.PriceModelGroupedTieredPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPriceModelTypeGroupedTiered = shared.PriceModelGroupedTieredPriceModelTypeGroupedTiered

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPricePriceTypeFixedPrice = shared.PriceModelGroupedTieredPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelGroupedTieredPricePriceTypeUsagePrice = shared.PriceModelGroupedTieredPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceCadenceAnnual = shared.PriceModelGroupedWithMeteredMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceCadenceCustom = shared.PriceModelGroupedWithMeteredMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceCadenceMonthly = shared.PriceModelGroupedWithMeteredMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceCadenceOneTime = shared.PriceModelGroupedWithMeteredMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceCadenceQuarterly = shared.PriceModelGroupedWithMeteredMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceCadenceSemiAnnual = shared.PriceModelGroupedWithMeteredMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum = shared.PriceModelGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPricePriceTypeFixedPrice = shared.PriceModelGroupedWithMeteredMinimumPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelGroupedWithMeteredMinimumPricePriceTypeUsagePrice = shared.PriceModelGroupedWithMeteredMinimumPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceCadenceAnnual = shared.PriceModelGroupedWithProratedMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceCadenceCustom = shared.PriceModelGroupedWithProratedMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceCadenceMonthly = shared.PriceModelGroupedWithProratedMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceCadenceOneTime = shared.PriceModelGroupedWithProratedMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceCadenceQuarterly = shared.PriceModelGroupedWithProratedMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceCadenceSemiAnnual = shared.PriceModelGroupedWithProratedMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum = shared.PriceModelGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPricePriceTypeFixedPrice = shared.PriceModelGroupedWithProratedMinimumPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelGroupedWithProratedMinimumPricePriceTypeUsagePrice = shared.PriceModelGroupedWithProratedMinimumPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceCadenceAnnual = shared.PriceModelMatrixPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceCadenceCustom = shared.PriceModelMatrixPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceCadenceMonthly = shared.PriceModelMatrixPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceCadenceOneTime = shared.PriceModelMatrixPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceCadenceQuarterly = shared.PriceModelMatrixPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceCadenceSemiAnnual = shared.PriceModelMatrixPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelMatrixPriceModelTypeMatrix = shared.PriceModelMatrixPriceModelTypeMatrix

This is an alias to an internal value.

View Source
const PriceModelMatrixPricePriceTypeFixedPrice = shared.PriceModelMatrixPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelMatrixPricePriceTypeUsagePrice = shared.PriceModelMatrixPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceCadenceAnnual = shared.PriceModelMatrixWithAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceCadenceCustom = shared.PriceModelMatrixWithAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceCadenceMonthly = shared.PriceModelMatrixWithAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceCadenceOneTime = shared.PriceModelMatrixWithAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceCadenceQuarterly = shared.PriceModelMatrixWithAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceCadenceSemiAnnual = shared.PriceModelMatrixWithAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPriceModelTypeMatrixWithAllocation = shared.PriceModelMatrixWithAllocationPriceModelTypeMatrixWithAllocation

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPricePriceTypeFixedPrice = shared.PriceModelMatrixWithAllocationPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelMatrixWithAllocationPricePriceTypeUsagePrice = shared.PriceModelMatrixWithAllocationPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceCadenceAnnual = shared.PriceModelMatrixWithDisplayNamePriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceCadenceCustom = shared.PriceModelMatrixWithDisplayNamePriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceCadenceMonthly = shared.PriceModelMatrixWithDisplayNamePriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceCadenceOneTime = shared.PriceModelMatrixWithDisplayNamePriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceCadenceQuarterly = shared.PriceModelMatrixWithDisplayNamePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceCadenceSemiAnnual = shared.PriceModelMatrixWithDisplayNamePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName = shared.PriceModelMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePricePriceTypeFixedPrice = shared.PriceModelMatrixWithDisplayNamePricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelMatrixWithDisplayNamePricePriceTypeUsagePrice = shared.PriceModelMatrixWithDisplayNamePricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceCadenceAnnual = shared.PriceModelMaxGroupTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceCadenceCustom = shared.PriceModelMaxGroupTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceCadenceMonthly = shared.PriceModelMaxGroupTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceCadenceOneTime = shared.PriceModelMaxGroupTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceCadenceQuarterly = shared.PriceModelMaxGroupTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceCadenceSemiAnnual = shared.PriceModelMaxGroupTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage = shared.PriceModelMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePricePriceTypeFixedPrice = shared.PriceModelMaxGroupTieredPackagePricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelMaxGroupTieredPackagePricePriceTypeUsagePrice = shared.PriceModelMaxGroupTieredPackagePricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelModelTypeBps = shared.PriceModelModelTypeBps

This is an alias to an internal value.

View Source
const PriceModelModelTypeBulk = shared.PriceModelModelTypeBulk

This is an alias to an internal value.

View Source
const PriceModelModelTypeBulkBps = shared.PriceModelModelTypeBulkBps

This is an alias to an internal value.

View Source
const PriceModelModelTypeBulkWithProration = shared.PriceModelModelTypeBulkWithProration

This is an alias to an internal value.

View Source
const PriceModelModelTypeCumulativeGroupedBulk = shared.PriceModelModelTypeCumulativeGroupedBulk

This is an alias to an internal value.

View Source
const PriceModelModelTypeGroupedAllocation = shared.PriceModelModelTypeGroupedAllocation

This is an alias to an internal value.

View Source
const PriceModelModelTypeGroupedTiered = shared.PriceModelModelTypeGroupedTiered

This is an alias to an internal value.

View Source
const PriceModelModelTypeGroupedTieredPackage = shared.PriceModelModelTypeGroupedTieredPackage

This is an alias to an internal value.

View Source
const PriceModelModelTypeGroupedWithMeteredMinimum = shared.PriceModelModelTypeGroupedWithMeteredMinimum

This is an alias to an internal value.

View Source
const PriceModelModelTypeGroupedWithProratedMinimum = shared.PriceModelModelTypeGroupedWithProratedMinimum

This is an alias to an internal value.

View Source
const PriceModelModelTypeMatrix = shared.PriceModelModelTypeMatrix

This is an alias to an internal value.

View Source
const PriceModelModelTypeMatrixWithAllocation = shared.PriceModelModelTypeMatrixWithAllocation

This is an alias to an internal value.

View Source
const PriceModelModelTypeMatrixWithDisplayName = shared.PriceModelModelTypeMatrixWithDisplayName

This is an alias to an internal value.

View Source
const PriceModelModelTypeMaxGroupTieredPackage = shared.PriceModelModelTypeMaxGroupTieredPackage

This is an alias to an internal value.

View Source
const PriceModelModelTypePackage = shared.PriceModelModelTypePackage

This is an alias to an internal value.

View Source
const PriceModelModelTypePackageWithAllocation = shared.PriceModelModelTypePackageWithAllocation

This is an alias to an internal value.

View Source
const PriceModelModelTypeScalableMatrixWithTieredPricing = shared.PriceModelModelTypeScalableMatrixWithTieredPricing

This is an alias to an internal value.

View Source
const PriceModelModelTypeScalableMatrixWithUnitPricing = shared.PriceModelModelTypeScalableMatrixWithUnitPricing

This is an alias to an internal value.

View Source
const PriceModelModelTypeThresholdTotalAmount = shared.PriceModelModelTypeThresholdTotalAmount

This is an alias to an internal value.

View Source
const PriceModelModelTypeTiered = shared.PriceModelModelTypeTiered

This is an alias to an internal value.

View Source
const PriceModelModelTypeTieredBps = shared.PriceModelModelTypeTieredBps

This is an alias to an internal value.

View Source
const PriceModelModelTypeTieredPackage = shared.PriceModelModelTypeTieredPackage

This is an alias to an internal value.

View Source
const PriceModelModelTypeTieredPackageWithMinimum = shared.PriceModelModelTypeTieredPackageWithMinimum

This is an alias to an internal value.

View Source
const PriceModelModelTypeTieredWithMinimum = shared.PriceModelModelTypeTieredWithMinimum

This is an alias to an internal value.

View Source
const PriceModelModelTypeTieredWithProration = shared.PriceModelModelTypeTieredWithProration

This is an alias to an internal value.

View Source
const PriceModelModelTypeUnit = shared.PriceModelModelTypeUnit

This is an alias to an internal value.

View Source
const PriceModelModelTypeUnitWithPercent = shared.PriceModelModelTypeUnitWithPercent

This is an alias to an internal value.

View Source
const PriceModelModelTypeUnitWithProration = shared.PriceModelModelTypeUnitWithProration

This is an alias to an internal value.

View Source
const PriceModelPackagePriceCadenceAnnual = shared.PriceModelPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelPackagePriceCadenceCustom = shared.PriceModelPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelPackagePriceCadenceMonthly = shared.PriceModelPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelPackagePriceCadenceOneTime = shared.PriceModelPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelPackagePriceCadenceQuarterly = shared.PriceModelPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelPackagePriceCadenceSemiAnnual = shared.PriceModelPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelPackagePriceModelTypePackage = shared.PriceModelPackagePriceModelTypePackage

This is an alias to an internal value.

View Source
const PriceModelPackagePricePriceTypeFixedPrice = shared.PriceModelPackagePricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelPackagePricePriceTypeUsagePrice = shared.PriceModelPackagePricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceCadenceAnnual = shared.PriceModelPackageWithAllocationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceCadenceCustom = shared.PriceModelPackageWithAllocationPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceCadenceMonthly = shared.PriceModelPackageWithAllocationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceCadenceOneTime = shared.PriceModelPackageWithAllocationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceCadenceQuarterly = shared.PriceModelPackageWithAllocationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceCadenceSemiAnnual = shared.PriceModelPackageWithAllocationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPriceModelTypePackageWithAllocation = shared.PriceModelPackageWithAllocationPriceModelTypePackageWithAllocation

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPricePriceTypeFixedPrice = shared.PriceModelPackageWithAllocationPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelPackageWithAllocationPricePriceTypeUsagePrice = shared.PriceModelPackageWithAllocationPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelPriceTypeFixedPrice = shared.PriceModelPriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelPriceTypeUsagePrice = shared.PriceModelPriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceCadenceAnnual = shared.PriceModelScalableMatrixWithTieredPricingPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceCadenceCustom = shared.PriceModelScalableMatrixWithTieredPricingPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceCadenceMonthly = shared.PriceModelScalableMatrixWithTieredPricingPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceCadenceOneTime = shared.PriceModelScalableMatrixWithTieredPricingPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceCadenceQuarterly = shared.PriceModelScalableMatrixWithTieredPricingPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceCadenceSemiAnnual = shared.PriceModelScalableMatrixWithTieredPricingPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing = shared.PriceModelScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPricePriceTypeFixedPrice = shared.PriceModelScalableMatrixWithTieredPricingPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithTieredPricingPricePriceTypeUsagePrice = shared.PriceModelScalableMatrixWithTieredPricingPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceCadenceAnnual = shared.PriceModelScalableMatrixWithUnitPricingPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceCadenceCustom = shared.PriceModelScalableMatrixWithUnitPricingPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceCadenceMonthly = shared.PriceModelScalableMatrixWithUnitPricingPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceCadenceOneTime = shared.PriceModelScalableMatrixWithUnitPricingPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceCadenceQuarterly = shared.PriceModelScalableMatrixWithUnitPricingPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceCadenceSemiAnnual = shared.PriceModelScalableMatrixWithUnitPricingPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing = shared.PriceModelScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPricePriceTypeFixedPrice = shared.PriceModelScalableMatrixWithUnitPricingPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelScalableMatrixWithUnitPricingPricePriceTypeUsagePrice = shared.PriceModelScalableMatrixWithUnitPricingPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceCadenceAnnual = shared.PriceModelThresholdTotalAmountPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceCadenceCustom = shared.PriceModelThresholdTotalAmountPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceCadenceMonthly = shared.PriceModelThresholdTotalAmountPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceCadenceOneTime = shared.PriceModelThresholdTotalAmountPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceCadenceQuarterly = shared.PriceModelThresholdTotalAmountPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceCadenceSemiAnnual = shared.PriceModelThresholdTotalAmountPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPriceModelTypeThresholdTotalAmount = shared.PriceModelThresholdTotalAmountPriceModelTypeThresholdTotalAmount

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPricePriceTypeFixedPrice = shared.PriceModelThresholdTotalAmountPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelThresholdTotalAmountPricePriceTypeUsagePrice = shared.PriceModelThresholdTotalAmountPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceCadenceAnnual = shared.PriceModelTieredBpsPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceCadenceCustom = shared.PriceModelTieredBpsPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceCadenceMonthly = shared.PriceModelTieredBpsPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceCadenceOneTime = shared.PriceModelTieredBpsPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceCadenceQuarterly = shared.PriceModelTieredBpsPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceCadenceSemiAnnual = shared.PriceModelTieredBpsPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPriceModelTypeTieredBps = shared.PriceModelTieredBpsPriceModelTypeTieredBps

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPricePriceTypeFixedPrice = shared.PriceModelTieredBpsPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelTieredBpsPricePriceTypeUsagePrice = shared.PriceModelTieredBpsPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceCadenceAnnual = shared.PriceModelTieredPackagePriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceCadenceCustom = shared.PriceModelTieredPackagePriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceCadenceMonthly = shared.PriceModelTieredPackagePriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceCadenceOneTime = shared.PriceModelTieredPackagePriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceCadenceQuarterly = shared.PriceModelTieredPackagePriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceCadenceSemiAnnual = shared.PriceModelTieredPackagePriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePriceModelTypeTieredPackage = shared.PriceModelTieredPackagePriceModelTypeTieredPackage

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePricePriceTypeFixedPrice = shared.PriceModelTieredPackagePricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelTieredPackagePricePriceTypeUsagePrice = shared.PriceModelTieredPackagePricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceCadenceAnnual = shared.PriceModelTieredPackageWithMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceCadenceCustom = shared.PriceModelTieredPackageWithMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceCadenceMonthly = shared.PriceModelTieredPackageWithMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceCadenceOneTime = shared.PriceModelTieredPackageWithMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceCadenceQuarterly = shared.PriceModelTieredPackageWithMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceCadenceSemiAnnual = shared.PriceModelTieredPackageWithMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum = shared.PriceModelTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPricePriceTypeFixedPrice = shared.PriceModelTieredPackageWithMinimumPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelTieredPackageWithMinimumPricePriceTypeUsagePrice = shared.PriceModelTieredPackageWithMinimumPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelTieredPriceCadenceAnnual = shared.PriceModelTieredPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredPriceCadenceCustom = shared.PriceModelTieredPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelTieredPriceCadenceMonthly = shared.PriceModelTieredPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelTieredPriceCadenceOneTime = shared.PriceModelTieredPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelTieredPriceCadenceQuarterly = shared.PriceModelTieredPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelTieredPriceCadenceSemiAnnual = shared.PriceModelTieredPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredPriceModelTypeTiered = shared.PriceModelTieredPriceModelTypeTiered

This is an alias to an internal value.

View Source
const PriceModelTieredPricePriceTypeFixedPrice = shared.PriceModelTieredPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelTieredPricePriceTypeUsagePrice = shared.PriceModelTieredPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceCadenceAnnual = shared.PriceModelTieredWithMinimumPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceCadenceCustom = shared.PriceModelTieredWithMinimumPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceCadenceMonthly = shared.PriceModelTieredWithMinimumPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceCadenceOneTime = shared.PriceModelTieredWithMinimumPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceCadenceQuarterly = shared.PriceModelTieredWithMinimumPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceCadenceSemiAnnual = shared.PriceModelTieredWithMinimumPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPriceModelTypeTieredWithMinimum = shared.PriceModelTieredWithMinimumPriceModelTypeTieredWithMinimum

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPricePriceTypeFixedPrice = shared.PriceModelTieredWithMinimumPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelTieredWithMinimumPricePriceTypeUsagePrice = shared.PriceModelTieredWithMinimumPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceCadenceAnnual = shared.PriceModelTieredWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceCadenceCustom = shared.PriceModelTieredWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceCadenceMonthly = shared.PriceModelTieredWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceCadenceOneTime = shared.PriceModelTieredWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceCadenceQuarterly = shared.PriceModelTieredWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceCadenceSemiAnnual = shared.PriceModelTieredWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPriceModelTypeTieredWithProration = shared.PriceModelTieredWithProrationPriceModelTypeTieredWithProration

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPricePriceTypeFixedPrice = shared.PriceModelTieredWithProrationPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelTieredWithProrationPricePriceTypeUsagePrice = shared.PriceModelTieredWithProrationPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelUnitPriceCadenceAnnual = shared.PriceModelUnitPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelUnitPriceCadenceCustom = shared.PriceModelUnitPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelUnitPriceCadenceMonthly = shared.PriceModelUnitPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelUnitPriceCadenceOneTime = shared.PriceModelUnitPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelUnitPriceCadenceQuarterly = shared.PriceModelUnitPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelUnitPriceCadenceSemiAnnual = shared.PriceModelUnitPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelUnitPriceModelTypeUnit = shared.PriceModelUnitPriceModelTypeUnit

This is an alias to an internal value.

View Source
const PriceModelUnitPricePriceTypeFixedPrice = shared.PriceModelUnitPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelUnitPricePriceTypeUsagePrice = shared.PriceModelUnitPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceCadenceAnnual = shared.PriceModelUnitWithPercentPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceCadenceCustom = shared.PriceModelUnitWithPercentPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceCadenceMonthly = shared.PriceModelUnitWithPercentPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceCadenceOneTime = shared.PriceModelUnitWithPercentPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceCadenceQuarterly = shared.PriceModelUnitWithPercentPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceCadenceSemiAnnual = shared.PriceModelUnitWithPercentPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPriceModelTypeUnitWithPercent = shared.PriceModelUnitWithPercentPriceModelTypeUnitWithPercent

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPricePriceTypeFixedPrice = shared.PriceModelUnitWithPercentPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelUnitWithPercentPricePriceTypeUsagePrice = shared.PriceModelUnitWithPercentPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceCadenceAnnual = shared.PriceModelUnitWithProrationPriceCadenceAnnual

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceCadenceCustom = shared.PriceModelUnitWithProrationPriceCadenceCustom

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceCadenceMonthly = shared.PriceModelUnitWithProrationPriceCadenceMonthly

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceCadenceOneTime = shared.PriceModelUnitWithProrationPriceCadenceOneTime

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceCadenceQuarterly = shared.PriceModelUnitWithProrationPriceCadenceQuarterly

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceCadenceSemiAnnual = shared.PriceModelUnitWithProrationPriceCadenceSemiAnnual

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPriceModelTypeUnitWithProration = shared.PriceModelUnitWithProrationPriceModelTypeUnitWithProration

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPricePriceTypeFixedPrice = shared.PriceModelUnitWithProrationPricePriceTypeFixedPrice

This is an alias to an internal value.

View Source
const PriceModelUnitWithProrationPricePriceTypeUsagePrice = shared.PriceModelUnitWithProrationPricePriceTypeUsagePrice

This is an alias to an internal value.

View Source
const SubscriptionModelDiscountIntervalsDiscountTypeAmount = shared.SubscriptionModelDiscountIntervalsDiscountTypeAmount

This is an alias to an internal value.

View Source
const SubscriptionModelDiscountIntervalsDiscountTypePercentage = shared.SubscriptionModelDiscountIntervalsDiscountTypePercentage

This is an alias to an internal value.

View Source
const SubscriptionModelDiscountIntervalsDiscountTypeUsage = shared.SubscriptionModelDiscountIntervalsDiscountTypeUsage

This is an alias to an internal value.

View Source
const SubscriptionModelStatusActive = shared.SubscriptionModelStatusActive

This is an alias to an internal value.

View Source
const SubscriptionModelStatusEnded = shared.SubscriptionModelStatusEnded

This is an alias to an internal value.

View Source
const SubscriptionModelStatusUpcoming = shared.SubscriptionModelStatusUpcoming

This is an alias to an internal value.

View Source
const TopUpModelExpiresAfterUnitDay = shared.TopUpModelExpiresAfterUnitDay

This is an alias to an internal value.

View Source
const TopUpModelExpiresAfterUnitMonth = shared.TopUpModelExpiresAfterUnitMonth

This is an alias to an internal value.

View Source
const TrialDiscountDiscountTypeTrial = shared.TrialDiscountDiscountTypeTrial

This is an alias to an internal value.

View Source
const UsageDiscountIntervalModelDiscountTypeUsage = shared.UsageDiscountIntervalModelDiscountTypeUsage

This is an alias to an internal value.

View Source
const WebhookHeaderTimestampFormat = "2006-01-02T15:04:05.999999999"

WebhookHeaderTimestampFormat is the format of the header X-Orb-Timestamp for webhook requests sent by Orb.

Variables

This section is empty.

Functions

func Bool

func Bool(value bool) param.Field[bool]

Bool is a param field helper which helps specify bools.

func F

func F[T any](value T) param.Field[T]

F is a param field helper used to initialize a param.Field generic struct. This helps specify null, zero values, and overrides, as well as normal values. You can read more about this in our README.

func FileParam added in v0.24.0

func FileParam(reader io.Reader, filename string, contentType string) param.Field[io.Reader]

FileParam is a param field helper which helps files with a mime content-type.

func Float

func Float(value float64) param.Field[float64]

Float is a param field helper which helps specify floats.

func Int

func Int(value int64) param.Field[int64]

Int is a param field helper which helps specify integers. This is particularly helpful when specifying integer constants for fields.

func Null

func Null[T any]() param.Field[T]

Null is a param field helper which explicitly sends null to the API.

func Raw

func Raw[T any](value any) param.Field[T]

Raw is a param field helper for specifying values for fields when the type you are looking to send is different from the type that is specified in the SDK. For example, if the type of the field is an integer, but you want to send a float, you could do that by setting the corresponding field with Raw[int](0.5).

func String

func String(value string) param.Field[string]

String is a param field helper which helps specify strings.

Types

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType = shared.AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsParam = shared.AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsParam

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType = shared.AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsParam = shared.AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsParam

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType = shared.AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsParam = shared.AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsParam

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType = shared.AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam = shared.AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam

Passing `invoice_settings` automatically generates an invoice for the newly added credits. If `invoice_settings` is passed, you must specify per_unit_cost_basis, as the calculation of the invoice total is done on that basis.

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsParam = shared.AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsParam

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType = shared.AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsParam = shared.AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsParam

This is an alias to an internal type.

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason = shared.AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason

Can only be specified when `entry_type=void`. The reason for the void.

This is an alias to an internal type.

type AddCreditLedgerEntryRequestEntryType added in v0.103.0

type AddCreditLedgerEntryRequestEntryType = shared.AddCreditLedgerEntryRequestEntryType

This is an alias to an internal type.

type AddCreditLedgerEntryRequestUnionParam added in v0.103.0

type AddCreditLedgerEntryRequestUnionParam = shared.AddCreditLedgerEntryRequestUnionParam

This is an alias to an internal type.

type AddCreditLedgerEntryRequestVoidReason added in v0.103.0

type AddCreditLedgerEntryRequestVoidReason = shared.AddCreditLedgerEntryRequestVoidReason

Can only be specified when `entry_type=void`. The reason for the void.

This is an alias to an internal type.

type AddSubscriptionAdjustmentParams added in v0.103.0

type AddSubscriptionAdjustmentParams = shared.AddSubscriptionAdjustmentParams

This is an alias to an internal type.

type AddSubscriptionPriceParams added in v0.103.0

type AddSubscriptionPriceParams = shared.AddSubscriptionPriceParams

This is an alias to an internal type.

type AddressInputModelParam added in v0.103.0

type AddressInputModelParam = shared.AddressInputModelParam

This is an alias to an internal type.

type AddressModel added in v0.103.0

type AddressModel = shared.AddressModel

This is an alias to an internal type.

type AdjustmentIntervalModel added in v0.103.0

type AdjustmentIntervalModel = shared.AdjustmentIntervalModel

This is an alias to an internal type.

type AdjustmentModel added in v0.103.0

type AdjustmentModel = shared.AdjustmentModel

This is an alias to an internal type.

type AdjustmentModelAdjustmentType added in v0.103.0

type AdjustmentModelAdjustmentType = shared.AdjustmentModelAdjustmentType

This is an alias to an internal type.

type AdjustmentModelPlanPhaseAmountDiscountAdjustment added in v0.103.0

type AdjustmentModelPlanPhaseAmountDiscountAdjustment = shared.AdjustmentModelPlanPhaseAmountDiscountAdjustment

This is an alias to an internal type.

type AdjustmentModelPlanPhaseAmountDiscountAdjustmentAdjustmentType added in v0.103.0

type AdjustmentModelPlanPhaseAmountDiscountAdjustmentAdjustmentType = shared.AdjustmentModelPlanPhaseAmountDiscountAdjustmentAdjustmentType

This is an alias to an internal type.

type AdjustmentModelPlanPhaseMaximumAdjustment added in v0.103.0

type AdjustmentModelPlanPhaseMaximumAdjustment = shared.AdjustmentModelPlanPhaseMaximumAdjustment

This is an alias to an internal type.

type AdjustmentModelPlanPhaseMaximumAdjustmentAdjustmentType added in v0.103.0

type AdjustmentModelPlanPhaseMaximumAdjustmentAdjustmentType = shared.AdjustmentModelPlanPhaseMaximumAdjustmentAdjustmentType

This is an alias to an internal type.

type AdjustmentModelPlanPhaseMinimumAdjustment added in v0.103.0

type AdjustmentModelPlanPhaseMinimumAdjustment = shared.AdjustmentModelPlanPhaseMinimumAdjustment

This is an alias to an internal type.

type AdjustmentModelPlanPhaseMinimumAdjustmentAdjustmentType added in v0.103.0

type AdjustmentModelPlanPhaseMinimumAdjustmentAdjustmentType = shared.AdjustmentModelPlanPhaseMinimumAdjustmentAdjustmentType

This is an alias to an internal type.

type AdjustmentModelPlanPhasePercentageDiscountAdjustment added in v0.103.0

type AdjustmentModelPlanPhasePercentageDiscountAdjustment = shared.AdjustmentModelPlanPhasePercentageDiscountAdjustment

This is an alias to an internal type.

type AdjustmentModelPlanPhasePercentageDiscountAdjustmentAdjustmentType added in v0.103.0

type AdjustmentModelPlanPhasePercentageDiscountAdjustmentAdjustmentType = shared.AdjustmentModelPlanPhasePercentageDiscountAdjustmentAdjustmentType

This is an alias to an internal type.

type AdjustmentModelPlanPhaseUsageDiscountAdjustment added in v0.103.0

type AdjustmentModelPlanPhaseUsageDiscountAdjustment = shared.AdjustmentModelPlanPhaseUsageDiscountAdjustment

This is an alias to an internal type.

type AdjustmentModelPlanPhaseUsageDiscountAdjustmentAdjustmentType added in v0.103.0

type AdjustmentModelPlanPhaseUsageDiscountAdjustmentAdjustmentType = shared.AdjustmentModelPlanPhaseUsageDiscountAdjustmentAdjustmentType

This is an alias to an internal type.

type AffectedBlockModel added in v0.103.0

type AffectedBlockModel = shared.AffectedBlockModel

This is an alias to an internal type.

type AggregatedCostModel added in v0.103.0

type AggregatedCostModel = shared.AggregatedCostModel

This is an alias to an internal type.

type AggregatedCostModelPerPriceCost added in v0.103.0

type AggregatedCostModelPerPriceCost = shared.AggregatedCostModelPerPriceCost

This is an alias to an internal type.

type AlertDisableParams added in v0.27.0

type AlertDisableParams struct {
	// Used to update the status of a plan alert scoped to this subscription_id
	SubscriptionID param.Field[string] `query:"subscription_id"`
}

func (AlertDisableParams) URLQuery added in v0.27.0

func (r AlertDisableParams) URLQuery() (v url.Values)

URLQuery serializes AlertDisableParams's query parameters as `url.Values`.

type AlertEnableParams added in v0.27.0

type AlertEnableParams struct {
	// Used to update the status of a plan alert scoped to this subscription_id
	SubscriptionID param.Field[string] `query:"subscription_id"`
}

func (AlertEnableParams) URLQuery added in v0.27.0

func (r AlertEnableParams) URLQuery() (v url.Values)

URLQuery serializes AlertEnableParams's query parameters as `url.Values`.

type AlertListParams added in v0.27.0

type AlertListParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// Fetch alerts scoped to this customer_id
	CustomerID param.Field[string] `query:"customer_id"`
	// Fetch alerts scoped to this external_customer_id
	ExternalCustomerID param.Field[string] `query:"external_customer_id"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
	// Fetch alerts scoped to this subscription_id
	SubscriptionID param.Field[string] `query:"subscription_id"`
}

func (AlertListParams) URLQuery added in v0.27.0

func (r AlertListParams) URLQuery() (v url.Values)

URLQuery serializes AlertListParams's query parameters as `url.Values`.

type AlertModel added in v0.103.0

type AlertModel = shared.AlertModel

[Alerts within Orb](/product-catalog/configuring-alerts) monitor spending, usage, or credit balance and trigger webhooks when a threshold is exceeded.

Alerts created through the API can be scoped to either customers or subscriptions.

This is an alias to an internal type.

type AlertModelMetric added in v0.103.0

type AlertModelMetric = shared.AlertModelMetric

The metric the alert applies to.

This is an alias to an internal type.

type AlertModelPlan added in v0.103.0

type AlertModelPlan = shared.AlertModelPlan

The plan the alert applies to.

This is an alias to an internal type.

type AlertModelType added in v0.103.0

type AlertModelType = shared.AlertModelType

The type of alert. This must be a valid alert type.

This is an alias to an internal type.

type AlertNewForCustomerParams added in v0.27.0

type AlertNewForCustomerParams struct {
	// The case sensitive currency or custom pricing unit to use for this alert.
	Currency param.Field[string] `json:"currency,required"`
	// The type of alert to create. This must be a valid alert type.
	Type param.Field[AlertNewForCustomerParamsType] `json:"type,required"`
	// The thresholds that define the values at which the alert will be triggered.
	Thresholds param.Field[[]shared.ThresholdModelParam] `json:"thresholds"`
}

func (AlertNewForCustomerParams) MarshalJSON added in v0.27.0

func (r AlertNewForCustomerParams) MarshalJSON() (data []byte, err error)

type AlertNewForCustomerParamsType added in v0.45.0

type AlertNewForCustomerParamsType string

The type of alert to create. This must be a valid alert type.

const (
	AlertNewForCustomerParamsTypeUsageExceeded          AlertNewForCustomerParamsType = "usage_exceeded"
	AlertNewForCustomerParamsTypeCostExceeded           AlertNewForCustomerParamsType = "cost_exceeded"
	AlertNewForCustomerParamsTypeCreditBalanceDepleted  AlertNewForCustomerParamsType = "credit_balance_depleted"
	AlertNewForCustomerParamsTypeCreditBalanceDropped   AlertNewForCustomerParamsType = "credit_balance_dropped"
	AlertNewForCustomerParamsTypeCreditBalanceRecovered AlertNewForCustomerParamsType = "credit_balance_recovered"
)

func (AlertNewForCustomerParamsType) IsKnown added in v0.45.0

func (r AlertNewForCustomerParamsType) IsKnown() bool

type AlertNewForExternalCustomerParams added in v0.27.0

type AlertNewForExternalCustomerParams struct {
	// The case sensitive currency or custom pricing unit to use for this alert.
	Currency param.Field[string] `json:"currency,required"`
	// The type of alert to create. This must be a valid alert type.
	Type param.Field[AlertNewForExternalCustomerParamsType] `json:"type,required"`
	// The thresholds that define the values at which the alert will be triggered.
	Thresholds param.Field[[]shared.ThresholdModelParam] `json:"thresholds"`
}

func (AlertNewForExternalCustomerParams) MarshalJSON added in v0.27.0

func (r AlertNewForExternalCustomerParams) MarshalJSON() (data []byte, err error)

type AlertNewForExternalCustomerParamsType added in v0.45.0

type AlertNewForExternalCustomerParamsType string

The type of alert to create. This must be a valid alert type.

const (
	AlertNewForExternalCustomerParamsTypeUsageExceeded          AlertNewForExternalCustomerParamsType = "usage_exceeded"
	AlertNewForExternalCustomerParamsTypeCostExceeded           AlertNewForExternalCustomerParamsType = "cost_exceeded"
	AlertNewForExternalCustomerParamsTypeCreditBalanceDepleted  AlertNewForExternalCustomerParamsType = "credit_balance_depleted"
	AlertNewForExternalCustomerParamsTypeCreditBalanceDropped   AlertNewForExternalCustomerParamsType = "credit_balance_dropped"
	AlertNewForExternalCustomerParamsTypeCreditBalanceRecovered AlertNewForExternalCustomerParamsType = "credit_balance_recovered"
)

func (AlertNewForExternalCustomerParamsType) IsKnown added in v0.45.0

type AlertNewForSubscriptionParams added in v0.27.0

type AlertNewForSubscriptionParams struct {
	// The thresholds that define the values at which the alert will be triggered.
	Thresholds param.Field[[]shared.ThresholdModelParam] `json:"thresholds,required"`
	// The type of alert to create. This must be a valid alert type.
	Type param.Field[AlertNewForSubscriptionParamsType] `json:"type,required"`
	// The metric to track usage for.
	MetricID param.Field[string] `json:"metric_id"`
}

func (AlertNewForSubscriptionParams) MarshalJSON added in v0.27.0

func (r AlertNewForSubscriptionParams) MarshalJSON() (data []byte, err error)

type AlertNewForSubscriptionParamsType added in v0.45.0

type AlertNewForSubscriptionParamsType string

The type of alert to create. This must be a valid alert type.

const (
	AlertNewForSubscriptionParamsTypeUsageExceeded          AlertNewForSubscriptionParamsType = "usage_exceeded"
	AlertNewForSubscriptionParamsTypeCostExceeded           AlertNewForSubscriptionParamsType = "cost_exceeded"
	AlertNewForSubscriptionParamsTypeCreditBalanceDepleted  AlertNewForSubscriptionParamsType = "credit_balance_depleted"
	AlertNewForSubscriptionParamsTypeCreditBalanceDropped   AlertNewForSubscriptionParamsType = "credit_balance_dropped"
	AlertNewForSubscriptionParamsTypeCreditBalanceRecovered AlertNewForSubscriptionParamsType = "credit_balance_recovered"
)

func (AlertNewForSubscriptionParamsType) IsKnown added in v0.45.0

type AlertService added in v0.26.0

type AlertService struct {
	Options []option.RequestOption
}

AlertService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAlertService method instead.

func NewAlertService added in v0.26.0

func NewAlertService(opts ...option.RequestOption) (r *AlertService)

NewAlertService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*AlertService) Disable added in v0.27.0

func (r *AlertService) Disable(ctx context.Context, alertConfigurationID string, body AlertDisableParams, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint allows you to disable an alert. To disable a plan-level alert for a specific subscription, you must include the `subscription_id`. The `subscription_id` is not required for customer or subscription level alerts.

func (*AlertService) Enable added in v0.26.0

func (r *AlertService) Enable(ctx context.Context, alertConfigurationID string, body AlertEnableParams, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint allows you to enable an alert. To enable a plan-level alert for a specific subscription, you must include the `subscription_id`. The `subscription_id` is not required for customer or subscription level alerts.

func (*AlertService) Get added in v0.27.0

func (r *AlertService) Get(ctx context.Context, alertID string, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint retrieves an alert by its ID.

func (*AlertService) List added in v0.27.0

This endpoint returns a list of alerts within Orb.

The request must specify one of `customer_id`, `external_customer_id`, or `subscription_id`.

If querying by subscripion_id, the endpoint will return the subscription level alerts as well as the plan level alerts associated with the subscription.

The list of alerts is ordered starting from the most recently created alert. This endpoint follows Orb's [standardized pagination format](/api-reference/pagination).

func (*AlertService) ListAutoPaging added in v0.27.0

This endpoint returns a list of alerts within Orb.

The request must specify one of `customer_id`, `external_customer_id`, or `subscription_id`.

If querying by subscripion_id, the endpoint will return the subscription level alerts as well as the plan level alerts associated with the subscription.

The list of alerts is ordered starting from the most recently created alert. This endpoint follows Orb's [standardized pagination format](/api-reference/pagination).

func (*AlertService) NewForCustomer added in v0.27.0

func (r *AlertService) NewForCustomer(ctx context.Context, customerID string, body AlertNewForCustomerParams, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint creates a new alert to monitor a customer's credit balance. There are three types of alerts that can be scoped to customers: `credit_balance_depleted`, `credit_balance_dropped`, and `credit_balance_recovered`. Customers can have a maximum of one of each type of alert per [credit balance currency](/product-catalog/prepurchase). `credit_balance_dropped` alerts require a list of thresholds to be provided while `credit_balance_depleted` and `credit_balance_recovered` alerts do not require thresholds.

func (*AlertService) NewForExternalCustomer added in v0.27.0

func (r *AlertService) NewForExternalCustomer(ctx context.Context, externalCustomerID string, body AlertNewForExternalCustomerParams, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint creates a new alert to monitor a customer's credit balance. There are three types of alerts that can be scoped to customers: `credit_balance_depleted`, `credit_balance_dropped`, and `credit_balance_recovered`. Customers can have a maximum of one of each type of alert per [credit balance currency](/product-catalog/prepurchase). `credit_balance_dropped` alerts require a list of thresholds to be provided while `credit_balance_depleted` and `credit_balance_recovered` alerts do not require thresholds.

func (*AlertService) NewForSubscription added in v0.27.0

func (r *AlertService) NewForSubscription(ctx context.Context, subscriptionID string, body AlertNewForSubscriptionParams, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint is used to create alerts at the subscription level.

Subscription level alerts can be one of two types: `usage_exceeded` or `cost_exceeded`. A `usage_exceeded` alert is scoped to a particular metric and is triggered when the usage of that metric exceeds predefined thresholds during the current billing cycle. A `cost_exceeded` alert is triggered when the total amount due during the current billing cycle surpasses predefined thresholds. `cost_exceeded` alerts do not include burndown of pre-purchase credits. Each subscription can have one `cost_exceeded` alert and one `usage_exceeded` alert per metric that is a part of the subscription. Alerts are triggered based on usage or cost conditions met during the current billing cycle.

func (*AlertService) Update added in v0.50.0

func (r *AlertService) Update(ctx context.Context, alertConfigurationID string, body AlertUpdateParams, opts ...option.RequestOption) (res *shared.AlertModel, err error)

This endpoint updates the thresholds of an alert.

type AlertUpdateParams added in v0.50.0

type AlertUpdateParams struct {
	// The thresholds that define the values at which the alert will be triggered.
	Thresholds param.Field[[]shared.ThresholdModelParam] `json:"thresholds,required"`
}

func (AlertUpdateParams) MarshalJSON added in v0.50.0

func (r AlertUpdateParams) MarshalJSON() (data []byte, err error)

type AllocationModel added in v0.103.0

type AllocationModel = shared.AllocationModel

This is an alias to an internal type.

type AmountDiscount added in v0.67.0

type AmountDiscount = shared.AmountDiscount

This is an alias to an internal type.

type AmountDiscountDiscountType added in v0.67.0

type AmountDiscountDiscountType = shared.AmountDiscountDiscountType

This is an alias to an internal type.

type AmountDiscountIntervalModel added in v0.103.0

type AmountDiscountIntervalModel = shared.AmountDiscountIntervalModel

This is an alias to an internal type.

type AmountDiscountIntervalModelDiscountType added in v0.103.0

type AmountDiscountIntervalModelDiscountType = shared.AmountDiscountIntervalModelDiscountType

This is an alias to an internal type.

type AmountDiscountParam added in v0.67.0

type AmountDiscountParam = shared.AmountDiscountParam

This is an alias to an internal type.

type AutoCollectionModel added in v0.103.0

type AutoCollectionModel = shared.AutoCollectionModel

This is an alias to an internal type.

type BackfillModel added in v0.103.0

type BackfillModel = shared.BackfillModel

A backfill represents an update to historical usage data, adding or replacing events in a timeframe.

This is an alias to an internal type.

type BackfillModelStatus added in v0.103.0

type BackfillModelStatus = shared.BackfillModelStatus

The status of the backfill.

This is an alias to an internal type.

type BillableMetricModel added in v0.103.0

type BillableMetricModel = shared.BillableMetricModel

The Metric resource represents a calculation of a quantity based on events. Metrics are defined by the query that transforms raw usage events into meaningful values for your customers.

This is an alias to an internal type.

type BillableMetricModelStatus added in v0.103.0

type BillableMetricModelStatus = shared.BillableMetricModelStatus

This is an alias to an internal type.

type BillableMetricSimpleModel added in v0.103.0

type BillableMetricSimpleModel = shared.BillableMetricSimpleModel

This is an alias to an internal type.

type BillableMetricTinyModel added in v0.103.0

type BillableMetricTinyModel = shared.BillableMetricTinyModel

This is an alias to an internal type.

type BillingCycleAnchorConfigurationModel added in v0.103.0

type BillingCycleAnchorConfigurationModel = shared.BillingCycleAnchorConfigurationModel

This is an alias to an internal type.

type BillingCycleAnchorConfigurationModelParam added in v0.103.0

type BillingCycleAnchorConfigurationModelParam = shared.BillingCycleAnchorConfigurationModelParam

This is an alias to an internal type.

type BillingCycleConfigurationModel added in v0.103.0

type BillingCycleConfigurationModel = shared.BillingCycleConfigurationModel

This is an alias to an internal type.

type BillingCycleConfigurationModelDurationUnit added in v0.103.0

type BillingCycleConfigurationModelDurationUnit = shared.BillingCycleConfigurationModelDurationUnit

This is an alias to an internal type.

type BillingCycleRelativeDate added in v0.25.0

type BillingCycleRelativeDate = shared.BillingCycleRelativeDate

This is an alias to an internal type.

type BpsConfigModel added in v0.103.0

type BpsConfigModel = shared.BpsConfigModel

This is an alias to an internal type.

type BpsConfigModelParam added in v0.103.0

type BpsConfigModelParam = shared.BpsConfigModelParam

This is an alias to an internal type.

type BulkBpsConfigModel added in v0.103.0

type BulkBpsConfigModel = shared.BulkBpsConfigModel

This is an alias to an internal type.

type BulkBpsConfigModelParam added in v0.103.0

type BulkBpsConfigModelParam = shared.BulkBpsConfigModelParam

This is an alias to an internal type.

type BulkBpsConfigModelTier added in v0.103.0

type BulkBpsConfigModelTier = shared.BulkBpsConfigModelTier

This is an alias to an internal type.

type BulkBpsConfigModelTierParam added in v0.103.0

type BulkBpsConfigModelTierParam = shared.BulkBpsConfigModelTierParam

This is an alias to an internal type.

type BulkConfigModel added in v0.103.0

type BulkConfigModel = shared.BulkConfigModel

This is an alias to an internal type.

type BulkConfigModelParam added in v0.103.0

type BulkConfigModelParam = shared.BulkConfigModelParam

This is an alias to an internal type.

type BulkConfigModelTier added in v0.103.0

type BulkConfigModelTier = shared.BulkConfigModelTier

This is an alias to an internal type.

type BulkConfigModelTierParam added in v0.103.0

type BulkConfigModelTierParam = shared.BulkConfigModelTierParam

This is an alias to an internal type.

type Client

type Client struct {
	Options                []option.RequestOption
	TopLevel               *TopLevelService
	Coupons                *CouponService
	CreditNotes            *CreditNoteService
	Customers              *CustomerService
	Events                 *EventService
	InvoiceLineItems       *InvoiceLineItemService
	Invoices               *InvoiceService
	Items                  *ItemService
	Metrics                *MetricService
	Plans                  *PlanService
	Prices                 *PriceService
	Subscriptions          *SubscriptionService
	Alerts                 *AlertService
	DimensionalPriceGroups *DimensionalPriceGroupService

	Webhooks *WebhookService
}

Client creates a struct with services and top level methods that help with interacting with the orb API. You should not instantiate this client directly, and instead use the NewClient method instead.

func NewClient

func NewClient(opts ...option.RequestOption) (r *Client)

NewClient generates a new client with the default option read from the environment (ORB_API_KEY, ORB_WEBHOOK_SECRET). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.

func (*Client) Delete added in v0.25.0

func (r *Client) Delete(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Execute added in v0.25.0

func (r *Client) Execute(ctx context.Context, method string, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.

If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.

The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned url.Values will be used as query strings to the url.

If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.

Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.

The response body will be deserialized into the res variable, depending on its type:

  • A pointer to a *http.Response is populated by the raw response.
  • A pointer to a byte array will be populated with the contents of the request body.
  • A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
  • A nil value will not read the response body.

For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.

func (*Client) Get added in v0.25.0

func (r *Client) Get(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Patch added in v0.25.0

func (r *Client) Patch(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Post added in v0.25.0

func (r *Client) Post(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Post makes a POST request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

func (*Client) Put added in v0.25.0

func (r *Client) Put(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error

Put makes a PUT request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.

type CouponListParams

type CouponListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
	// Filter to coupons matching this redemption code.
	RedemptionCode param.Field[string] `query:"redemption_code"`
	// Show archived coupons as well (by default, this endpoint only returns active
	// coupons).
	ShowArchived param.Field[bool] `query:"show_archived"`
}

func (CouponListParams) URLQuery

func (r CouponListParams) URLQuery() (v url.Values)

URLQuery serializes CouponListParams's query parameters as `url.Values`.

type CouponModel added in v0.103.0

type CouponModel = shared.CouponModel

A coupon represents a reusable discount configuration that can be applied either as a fixed or percentage amount to an invoice or subscription. Coupons are activated using a redemption code, which applies the discount to a subscription or invoice. The duration of a coupon determines how long it remains available for use by end users.

This is an alias to an internal type.

type CouponModelDiscount added in v0.103.0

type CouponModelDiscount = shared.CouponModelDiscount

This is an alias to an internal type.

type CouponModelDiscountDiscountType added in v0.103.0

type CouponModelDiscountDiscountType = shared.CouponModelDiscountDiscountType

This is an alias to an internal type.

type CouponNewParams

type CouponNewParams struct {
	Discount param.Field[CouponNewParamsDiscountUnion] `json:"discount,required"`
	// This string can be used to redeem this coupon for a given subscription.
	RedemptionCode param.Field[string] `json:"redemption_code,required"`
	// This allows for a coupon's discount to apply for a limited time (determined in
	// months); a `null` value here means "unlimited time".
	DurationInMonths param.Field[int64] `json:"duration_in_months"`
	// The maximum number of redemptions allowed for this coupon before it is
	// exhausted;`null` here means "unlimited".
	MaxRedemptions param.Field[int64] `json:"max_redemptions"`
}

func (CouponNewParams) MarshalJSON

func (r CouponNewParams) MarshalJSON() (data []byte, err error)

type CouponNewParamsDiscount added in v0.2.0

type CouponNewParamsDiscount struct {
	DiscountType       param.Field[CouponNewParamsDiscountDiscountType] `json:"discount_type,required"`
	AmountDiscount     param.Field[string]                              `json:"amount_discount"`
	PercentageDiscount param.Field[float64]                             `json:"percentage_discount"`
}

func (CouponNewParamsDiscount) MarshalJSON added in v0.25.0

func (r CouponNewParamsDiscount) MarshalJSON() (data []byte, err error)

type CouponNewParamsDiscountDiscountType added in v0.25.0

type CouponNewParamsDiscountDiscountType string
const (
	CouponNewParamsDiscountDiscountTypePercentage CouponNewParamsDiscountDiscountType = "percentage"
	CouponNewParamsDiscountDiscountTypeAmount     CouponNewParamsDiscountDiscountType = "amount"
)

func (CouponNewParamsDiscountDiscountType) IsKnown added in v0.25.0

type CouponNewParamsDiscountNewCouponAmountDiscount added in v0.25.0

type CouponNewParamsDiscountNewCouponAmountDiscount struct {
	AmountDiscount param.Field[string]                                                     `json:"amount_discount,required"`
	DiscountType   param.Field[CouponNewParamsDiscountNewCouponAmountDiscountDiscountType] `json:"discount_type,required"`
}

func (CouponNewParamsDiscountNewCouponAmountDiscount) MarshalJSON added in v0.25.0

func (r CouponNewParamsDiscountNewCouponAmountDiscount) MarshalJSON() (data []byte, err error)

type CouponNewParamsDiscountNewCouponAmountDiscountDiscountType added in v0.25.0

type CouponNewParamsDiscountNewCouponAmountDiscountDiscountType string
const (
	CouponNewParamsDiscountNewCouponAmountDiscountDiscountTypeAmount CouponNewParamsDiscountNewCouponAmountDiscountDiscountType = "amount"
)

func (CouponNewParamsDiscountNewCouponAmountDiscountDiscountType) IsKnown added in v0.25.0

type CouponNewParamsDiscountNewCouponPercentageDiscount added in v0.25.0

type CouponNewParamsDiscountNewCouponPercentageDiscount struct {
	DiscountType       param.Field[CouponNewParamsDiscountNewCouponPercentageDiscountDiscountType] `json:"discount_type,required"`
	PercentageDiscount param.Field[float64]                                                        `json:"percentage_discount,required"`
}

func (CouponNewParamsDiscountNewCouponPercentageDiscount) MarshalJSON added in v0.25.0

func (r CouponNewParamsDiscountNewCouponPercentageDiscount) MarshalJSON() (data []byte, err error)

type CouponNewParamsDiscountNewCouponPercentageDiscountDiscountType added in v0.25.0

type CouponNewParamsDiscountNewCouponPercentageDiscountDiscountType string
const (
	CouponNewParamsDiscountNewCouponPercentageDiscountDiscountTypePercentage CouponNewParamsDiscountNewCouponPercentageDiscountDiscountType = "percentage"
)

func (CouponNewParamsDiscountNewCouponPercentageDiscountDiscountType) IsKnown added in v0.25.0

type CouponNewParamsDiscountUnion added in v0.25.0

type CouponNewParamsDiscountUnion interface {
	// contains filtered or unexported methods
}

Satisfied by CouponNewParamsDiscountNewCouponPercentageDiscount, CouponNewParamsDiscountNewCouponAmountDiscount, CouponNewParamsDiscount.

type CouponRedemptionModel added in v0.103.0

type CouponRedemptionModel = shared.CouponRedemptionModel

This is an alias to an internal type.

type CouponService

type CouponService struct {
	Options       []option.RequestOption
	Subscriptions *CouponSubscriptionService
}

CouponService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCouponService method instead.

func NewCouponService

func NewCouponService(opts ...option.RequestOption) (r *CouponService)

NewCouponService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CouponService) Archive

func (r *CouponService) Archive(ctx context.Context, couponID string, opts ...option.RequestOption) (res *shared.CouponModel, err error)

This endpoint allows a coupon to be archived. Archived coupons can no longer be redeemed, and will be hidden from lists of active coupons. Additionally, once a coupon is archived, its redemption code can be reused for a different coupon.

func (*CouponService) Fetch

func (r *CouponService) Fetch(ctx context.Context, couponID string, opts ...option.RequestOption) (res *shared.CouponModel, err error)

This endpoint retrieves a coupon by its ID. To fetch coupons by their redemption code, use the [List coupons](list-coupons) endpoint with the redemption_code parameter.

func (*CouponService) List

This endpoint returns a list of all coupons for an account in a list format.

The list of coupons is ordered starting from the most recently created coupon. The response also includes `pagination_metadata`, which lets the caller retrieve the next page of results if they exist. More information about pagination can be found in the Pagination-metadata schema.

func (*CouponService) ListAutoPaging

This endpoint returns a list of all coupons for an account in a list format.

The list of coupons is ordered starting from the most recently created coupon. The response also includes `pagination_metadata`, which lets the caller retrieve the next page of results if they exist. More information about pagination can be found in the Pagination-metadata schema.

func (*CouponService) New

func (r *CouponService) New(ctx context.Context, body CouponNewParams, opts ...option.RequestOption) (res *shared.CouponModel, err error)

This endpoint allows the creation of coupons, which can then be redeemed at subscription creation or plan change.

type CouponSubscriptionListParams

type CouponSubscriptionListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CouponSubscriptionListParams) URLQuery

func (r CouponSubscriptionListParams) URLQuery() (v url.Values)

URLQuery serializes CouponSubscriptionListParams's query parameters as `url.Values`.

type CouponSubscriptionService

type CouponSubscriptionService struct {
	Options []option.RequestOption
}

CouponSubscriptionService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCouponSubscriptionService method instead.

func NewCouponSubscriptionService

func NewCouponSubscriptionService(opts ...option.RequestOption) (r *CouponSubscriptionService)

NewCouponSubscriptionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CouponSubscriptionService) List

This endpoint returns a list of all subscriptions that have redeemed a given coupon as a [paginated](/api-reference/pagination) list, ordered starting from the most recently created subscription. For a full discussion of the subscription resource, see [Subscription](/core-concepts#subscription).

func (*CouponSubscriptionService) ListAutoPaging

This endpoint returns a list of all subscriptions that have redeemed a given coupon as a [paginated](/api-reference/pagination) list, ordered starting from the most recently created subscription. For a full discussion of the subscription resource, see [Subscription](/core-concepts#subscription).

type CreditLedgerEntriesModel added in v0.103.0

type CreditLedgerEntriesModel = shared.CreditLedgerEntriesModel

This is an alias to an internal type.

type CreditLedgerEntryModel added in v0.103.0

type CreditLedgerEntryModel = shared.CreditLedgerEntryModel

The [Credit Ledger Entry resource](/product-catalog/prepurchase) models prepaid credits within Orb.

This is an alias to an internal type.

type CreditLedgerEntryModelAmendmentLedgerEntry added in v0.103.0

type CreditLedgerEntryModelAmendmentLedgerEntry = shared.CreditLedgerEntryModelAmendmentLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelAmendmentLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelAmendmentLedgerEntryEntryStatus = shared.CreditLedgerEntryModelAmendmentLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelAmendmentLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelAmendmentLedgerEntryEntryType = shared.CreditLedgerEntryModelAmendmentLedgerEntryEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelCreditBlockExpiryLedgerEntry added in v0.103.0

type CreditLedgerEntryModelCreditBlockExpiryLedgerEntry = shared.CreditLedgerEntryModelCreditBlockExpiryLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatus = shared.CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryType = shared.CreditLedgerEntryModelCreditBlockExpiryLedgerEntryEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelDecrementLedgerEntry added in v0.103.0

type CreditLedgerEntryModelDecrementLedgerEntry = shared.CreditLedgerEntryModelDecrementLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelDecrementLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelDecrementLedgerEntryEntryStatus = shared.CreditLedgerEntryModelDecrementLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelDecrementLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelDecrementLedgerEntryEntryType = shared.CreditLedgerEntryModelDecrementLedgerEntryEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelEntryStatus added in v0.103.0

type CreditLedgerEntryModelEntryStatus = shared.CreditLedgerEntryModelEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelEntryType added in v0.103.0

type CreditLedgerEntryModelEntryType = shared.CreditLedgerEntryModelEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelExpirationChangeLedgerEntry added in v0.103.0

type CreditLedgerEntryModelExpirationChangeLedgerEntry = shared.CreditLedgerEntryModelExpirationChangeLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatus = shared.CreditLedgerEntryModelExpirationChangeLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelExpirationChangeLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelExpirationChangeLedgerEntryEntryType = shared.CreditLedgerEntryModelExpirationChangeLedgerEntryEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelIncrementLedgerEntry added in v0.103.0

type CreditLedgerEntryModelIncrementLedgerEntry = shared.CreditLedgerEntryModelIncrementLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelIncrementLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelIncrementLedgerEntryEntryStatus = shared.CreditLedgerEntryModelIncrementLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelIncrementLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelIncrementLedgerEntryEntryType = shared.CreditLedgerEntryModelIncrementLedgerEntryEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelVoidInitiatedLedgerEntry added in v0.103.0

type CreditLedgerEntryModelVoidInitiatedLedgerEntry = shared.CreditLedgerEntryModelVoidInitiatedLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatus = shared.CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryType = shared.CreditLedgerEntryModelVoidInitiatedLedgerEntryEntryType

This is an alias to an internal type.

type CreditLedgerEntryModelVoidLedgerEntry added in v0.103.0

type CreditLedgerEntryModelVoidLedgerEntry = shared.CreditLedgerEntryModelVoidLedgerEntry

This is an alias to an internal type.

type CreditLedgerEntryModelVoidLedgerEntryEntryStatus added in v0.103.0

type CreditLedgerEntryModelVoidLedgerEntryEntryStatus = shared.CreditLedgerEntryModelVoidLedgerEntryEntryStatus

This is an alias to an internal type.

type CreditLedgerEntryModelVoidLedgerEntryEntryType added in v0.103.0

type CreditLedgerEntryModelVoidLedgerEntryEntryType = shared.CreditLedgerEntryModelVoidLedgerEntryEntryType

This is an alias to an internal type.

type CreditNoteDiscountModel added in v0.103.0

type CreditNoteDiscountModel = shared.CreditNoteDiscountModel

This is an alias to an internal type.

type CreditNoteDiscountModelAppliesToPrice added in v0.103.0

type CreditNoteDiscountModelAppliesToPrice = shared.CreditNoteDiscountModelAppliesToPrice

This is an alias to an internal type.

type CreditNoteDiscountModelDiscountType added in v0.103.0

type CreditNoteDiscountModelDiscountType = shared.CreditNoteDiscountModelDiscountType

This is an alias to an internal type.

type CreditNoteListParams

type CreditNoteListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CreditNoteListParams) URLQuery

func (r CreditNoteListParams) URLQuery() (v url.Values)

URLQuery serializes CreditNoteListParams's query parameters as `url.Values`.

type CreditNoteModel added in v0.103.0

type CreditNoteModel = shared.CreditNoteModel

The [Credit Note](/invoicing/credit-notes) resource represents a credit that has been applied to a particular invoice.

This is an alias to an internal type.

type CreditNoteModelLineItem added in v0.103.0

type CreditNoteModelLineItem = shared.CreditNoteModelLineItem

This is an alias to an internal type.

type CreditNoteModelLineItemsDiscount added in v0.103.0

type CreditNoteModelLineItemsDiscount = shared.CreditNoteModelLineItemsDiscount

This is an alias to an internal type.

type CreditNoteModelLineItemsDiscountsDiscountType added in v0.103.0

type CreditNoteModelLineItemsDiscountsDiscountType = shared.CreditNoteModelLineItemsDiscountsDiscountType

This is an alias to an internal type.

type CreditNoteModelReason added in v0.103.0

type CreditNoteModelReason = shared.CreditNoteModelReason

This is an alias to an internal type.

type CreditNoteModelType added in v0.103.0

type CreditNoteModelType = shared.CreditNoteModelType

This is an alias to an internal type.

type CreditNoteNewParams added in v0.80.0

type CreditNoteNewParams struct {
	LineItems param.Field[[]CreditNoteNewParamsLineItem] `json:"line_items,required"`
	// An optional memo to attach to the credit note.
	Memo param.Field[string] `json:"memo"`
	// An optional reason for the credit note.
	Reason param.Field[CreditNoteNewParamsReason] `json:"reason"`
}

func (CreditNoteNewParams) MarshalJSON added in v0.80.0

func (r CreditNoteNewParams) MarshalJSON() (data []byte, err error)

type CreditNoteNewParamsLineItem added in v0.80.0

type CreditNoteNewParamsLineItem struct {
	// The total amount in the invoice's currency to credit this line item.
	Amount param.Field[string] `json:"amount,required"`
	// The ID of the line item to credit.
	InvoiceLineItemID param.Field[string] `json:"invoice_line_item_id,required"`
}

func (CreditNoteNewParamsLineItem) MarshalJSON added in v0.80.0

func (r CreditNoteNewParamsLineItem) MarshalJSON() (data []byte, err error)

type CreditNoteNewParamsReason added in v0.80.0

type CreditNoteNewParamsReason string

An optional reason for the credit note.

const (
	CreditNoteNewParamsReasonDuplicate             CreditNoteNewParamsReason = "duplicate"
	CreditNoteNewParamsReasonFraudulent            CreditNoteNewParamsReason = "fraudulent"
	CreditNoteNewParamsReasonOrderChange           CreditNoteNewParamsReason = "order_change"
	CreditNoteNewParamsReasonProductUnsatisfactory CreditNoteNewParamsReason = "product_unsatisfactory"
)

func (CreditNoteNewParamsReason) IsKnown added in v0.80.0

func (r CreditNoteNewParamsReason) IsKnown() bool

type CreditNoteService

type CreditNoteService struct {
	Options []option.RequestOption
}

CreditNoteService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCreditNoteService method instead.

func NewCreditNoteService

func NewCreditNoteService(opts ...option.RequestOption) (r *CreditNoteService)

NewCreditNoteService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CreditNoteService) Fetch

func (r *CreditNoteService) Fetch(ctx context.Context, creditNoteID string, opts ...option.RequestOption) (res *shared.CreditNoteModel, err error)

This endpoint is used to fetch a single [`Credit Note`](/invoicing/credit-notes) given an identifier.

func (*CreditNoteService) List

Get a paginated list of CreditNotes. Users can also filter by customer_id, subscription_id, or external_customer_id. The credit notes will be returned in reverse chronological order by `creation_time`.

func (*CreditNoteService) ListAutoPaging

Get a paginated list of CreditNotes. Users can also filter by customer_id, subscription_id, or external_customer_id. The credit notes will be returned in reverse chronological order by `creation_time`.

func (*CreditNoteService) New added in v0.80.0

This endpoint is used to create a single [`Credit Note`](/invoicing/credit-notes).

type CreditNoteSummaryModel added in v0.103.0

type CreditNoteSummaryModel = shared.CreditNoteSummaryModel

This is an alias to an internal type.

type CustomRatingFunctionConfigModel added in v0.103.0

type CustomRatingFunctionConfigModel = shared.CustomRatingFunctionConfigModel

This is an alias to an internal type.

type CustomRatingFunctionConfigModelParam added in v0.103.0

type CustomRatingFunctionConfigModelParam = shared.CustomRatingFunctionConfigModelParam

This is an alias to an internal type.

type CustomerBalanceTransactionListParams

type CustomerBalanceTransactionListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit            param.Field[int64]     `query:"limit"`
	OperationTimeGt  param.Field[time.Time] `query:"operation_time[gt]" format:"date-time"`
	OperationTimeGte param.Field[time.Time] `query:"operation_time[gte]" format:"date-time"`
	OperationTimeLt  param.Field[time.Time] `query:"operation_time[lt]" format:"date-time"`
	OperationTimeLte param.Field[time.Time] `query:"operation_time[lte]" format:"date-time"`
}

func (CustomerBalanceTransactionListParams) URLQuery

URLQuery serializes CustomerBalanceTransactionListParams's query parameters as `url.Values`.

type CustomerBalanceTransactionModel added in v0.103.0

type CustomerBalanceTransactionModel = shared.CustomerBalanceTransactionModel

This is an alias to an internal type.

type CustomerBalanceTransactionModelAction added in v0.103.0

type CustomerBalanceTransactionModelAction = shared.CustomerBalanceTransactionModelAction

This is an alias to an internal type.

type CustomerBalanceTransactionModelCreditNote added in v0.103.0

type CustomerBalanceTransactionModelCreditNote = shared.CustomerBalanceTransactionModelCreditNote

This is an alias to an internal type.

type CustomerBalanceTransactionModelInvoice added in v0.103.0

type CustomerBalanceTransactionModelInvoice = shared.CustomerBalanceTransactionModelInvoice

This is an alias to an internal type.

type CustomerBalanceTransactionModelType added in v0.103.0

type CustomerBalanceTransactionModelType = shared.CustomerBalanceTransactionModelType

This is an alias to an internal type.

type CustomerBalanceTransactionNewParams

type CustomerBalanceTransactionNewParams struct {
	Amount param.Field[string]                                  `json:"amount,required"`
	Type   param.Field[CustomerBalanceTransactionNewParamsType] `json:"type,required"`
	// An optional description that can be specified around this entry.
	Description param.Field[string] `json:"description"`
}

func (CustomerBalanceTransactionNewParams) MarshalJSON

func (r CustomerBalanceTransactionNewParams) MarshalJSON() (data []byte, err error)

type CustomerBalanceTransactionNewParamsType

type CustomerBalanceTransactionNewParamsType string
const (
	CustomerBalanceTransactionNewParamsTypeIncrement CustomerBalanceTransactionNewParamsType = "increment"
	CustomerBalanceTransactionNewParamsTypeDecrement CustomerBalanceTransactionNewParamsType = "decrement"
)

func (CustomerBalanceTransactionNewParamsType) IsKnown added in v0.24.0

type CustomerBalanceTransactionService

type CustomerBalanceTransactionService struct {
	Options []option.RequestOption
}

CustomerBalanceTransactionService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCustomerBalanceTransactionService method instead.

func NewCustomerBalanceTransactionService

func NewCustomerBalanceTransactionService(opts ...option.RequestOption) (r *CustomerBalanceTransactionService)

NewCustomerBalanceTransactionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CustomerBalanceTransactionService) List

## The customer balance

The customer balance is an amount in the customer's currency, which Orb automatically applies to subsequent invoices. This balance can be adjusted manually via Orb's webapp on the customer details page. You can use this balance to provide a fixed mid-period credit to the customer. Commonly, this is done due to system downtime/SLA violation, or an adhoc adjustment discussed with the customer.

If the balance is a positive value at the time of invoicing, it represents that the customer has credit that should be used to offset the amount due on the next issued invoice. In this case, Orb will automatically reduce the next invoice by the balance amount, and roll over any remaining balance if the invoice is fully discounted.

If the balance is a negative value at the time of invoicing, Orb will increase the invoice's amount due with a positive adjustment, and reset the balance to 0.

This endpoint retrieves all customer balance transactions in reverse chronological order for a single customer, providing a complete audit trail of all adjustments and invoice applications.

## Eligibility

The customer balance can only be applied to invoices or adjusted manually if invoices are not synced to a separate invoicing provider. If a payment gateway such as Stripe is used, the balance will be applied to the invoice before forwarding payment to the gateway.

func (*CustomerBalanceTransactionService) ListAutoPaging

## The customer balance

The customer balance is an amount in the customer's currency, which Orb automatically applies to subsequent invoices. This balance can be adjusted manually via Orb's webapp on the customer details page. You can use this balance to provide a fixed mid-period credit to the customer. Commonly, this is done due to system downtime/SLA violation, or an adhoc adjustment discussed with the customer.

If the balance is a positive value at the time of invoicing, it represents that the customer has credit that should be used to offset the amount due on the next issued invoice. In this case, Orb will automatically reduce the next invoice by the balance amount, and roll over any remaining balance if the invoice is fully discounted.

If the balance is a negative value at the time of invoicing, Orb will increase the invoice's amount due with a positive adjustment, and reset the balance to 0.

This endpoint retrieves all customer balance transactions in reverse chronological order for a single customer, providing a complete audit trail of all adjustments and invoice applications.

## Eligibility

The customer balance can only be applied to invoices or adjusted manually if invoices are not synced to a separate invoicing provider. If a payment gateway such as Stripe is used, the balance will be applied to the invoice before forwarding payment to the gateway.

func (*CustomerBalanceTransactionService) New

Creates an immutable balance transaction that updates the customer's balance and returns back the newly created transaction.

type CustomerCostListByExternalIDParams

type CustomerCostListByExternalIDParams struct {
	// The currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Costs returned are exclusive of `timeframe_end`.
	TimeframeEnd param.Field[time.Time] `query:"timeframe_end" format:"date-time"`
	// Costs returned are inclusive of `timeframe_start`.
	TimeframeStart param.Field[time.Time] `query:"timeframe_start" format:"date-time"`
	// Controls whether Orb returns cumulative costs since the start of the billing
	// period, or incremental day-by-day costs. If your customer has minimums or
	// discounts, it's strongly recommended that you use the default cumulative
	// behavior.
	ViewMode param.Field[CustomerCostListByExternalIDParamsViewMode] `query:"view_mode"`
}

func (CustomerCostListByExternalIDParams) URLQuery

URLQuery serializes CustomerCostListByExternalIDParams's query parameters as `url.Values`.

type CustomerCostListByExternalIDParamsViewMode

type CustomerCostListByExternalIDParamsViewMode string

Controls whether Orb returns cumulative costs since the start of the billing period, or incremental day-by-day costs. If your customer has minimums or discounts, it's strongly recommended that you use the default cumulative behavior.

const (
	CustomerCostListByExternalIDParamsViewModePeriodic   CustomerCostListByExternalIDParamsViewMode = "periodic"
	CustomerCostListByExternalIDParamsViewModeCumulative CustomerCostListByExternalIDParamsViewMode = "cumulative"
)

func (CustomerCostListByExternalIDParamsViewMode) IsKnown added in v0.24.0

type CustomerCostListParams

type CustomerCostListParams struct {
	// The currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Costs returned are exclusive of `timeframe_end`.
	TimeframeEnd param.Field[time.Time] `query:"timeframe_end" format:"date-time"`
	// Costs returned are inclusive of `timeframe_start`.
	TimeframeStart param.Field[time.Time] `query:"timeframe_start" format:"date-time"`
	// Controls whether Orb returns cumulative costs since the start of the billing
	// period, or incremental day-by-day costs. If your customer has minimums or
	// discounts, it's strongly recommended that you use the default cumulative
	// behavior.
	ViewMode param.Field[CustomerCostListParamsViewMode] `query:"view_mode"`
}

func (CustomerCostListParams) URLQuery

func (r CustomerCostListParams) URLQuery() (v url.Values)

URLQuery serializes CustomerCostListParams's query parameters as `url.Values`.

type CustomerCostListParamsViewMode

type CustomerCostListParamsViewMode string

Controls whether Orb returns cumulative costs since the start of the billing period, or incremental day-by-day costs. If your customer has minimums or discounts, it's strongly recommended that you use the default cumulative behavior.

const (
	CustomerCostListParamsViewModePeriodic   CustomerCostListParamsViewMode = "periodic"
	CustomerCostListParamsViewModeCumulative CustomerCostListParamsViewMode = "cumulative"
)

func (CustomerCostListParamsViewMode) IsKnown added in v0.24.0

type CustomerCostService

type CustomerCostService struct {
	Options []option.RequestOption
}

CustomerCostService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCustomerCostService method instead.

func NewCustomerCostService

func NewCustomerCostService(opts ...option.RequestOption) (r *CustomerCostService)

NewCustomerCostService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CustomerCostService) List

This endpoint is used to fetch a day-by-day snapshot of a customer's costs in Orb, calculated by applying pricing information to the underlying usage (see the [subscription usage endpoint](/api-reference/subscription/fetch-subscription-usage) to fetch usage per metric, in usage units rather than a currency).

This endpoint can be leveraged for internal tooling and to provide a more transparent billing experience for your end users:

  1. Understand the cost breakdown per line item historically and in real-time for the current billing period.
  2. Provide customer visibility into how different services are contributing to the overall invoice with a per-day timeseries (as compared to the [upcoming invoice](/api-reference/invoice/fetch-upcoming-invoice) resource, which represents a snapshot for the current period).
  3. Assess how minimums and discounts affect your customers by teasing apart costs directly as a result of usage, as opposed to minimums and discounts at the plan and price level.
  4. Gain insight into key customer health metrics, such as the percent utilization of the minimum committed spend.

## Fetching subscriptions

By default, this endpoint fetches the currently active subscription for the customer, and returns cost information for the subscription's current billing period, broken down by each participating price. If there are no currently active subscriptions, this will instead default to the most recently active subscription or return an empty series if none are found. For example, if your plan charges for compute hours, job runs, and data syncs, then this endpoint would provide a daily breakdown of your customer's cost for each of those axes.

If timeframe bounds are specified, Orb fetches all subscriptions that were active in that timeframe. If two subscriptions overlap on a single day, costs from each price will be summed, and prices for both subscriptions will be included in the breakdown.

## Prepaid plans

For plans that include prices which deduct credits rather than accrue in-arrears charges in a billable currency, this endpoint will return the total deduction amount, in credits, for the specified timeframe.

## Cumulative subtotals and totals

Since the subtotal and total must factor in any billing-period level discounts and minimums, it's most meaningful to consider costs relative to the start of the subscription's billing period. As a result, by default this endpoint returns cumulative totals since the beginning of the billing period. In particular, the `timeframe_start` of a returned timeframe window is _always_ the beginning of the billing period and `timeframe_end` is incremented one day at a time to build the result.

A customer that uses a few API calls a day but has a minimum commitment might exhibit the following pattern for their subtotal and total in the first few days of the month. Here, we assume that each API call is $2.50, the customer's plan has a monthly minimum of $50 for this price, and that the subscription's billing period bounds are aligned to the first of the month:

| timeframe_start | timeframe_end | Cumulative usage | Subtotal | Total (incl. commitment) | | --------------- | ------------- | ---------------- | -------- | ------------------------ | | 2023-02-01 | 2023-02-02 | 9 | $22.50 | $50.00 | | 2023-02-01 | 2023-02-03 | 19 | $47.50 | $50.00 | | 2023-02-01 | 2023-02-04 | 20 | $50.00 | $50.00 | | 2023-02-01 | 2023-02-05 | 28 | $70.00 | $70.00 | | 2023-02-01 | 2023-02-06 | 36 | $90.00 | $90.00 |

### Periodic values

When the query parameter `view_mode=periodic` is specified, Orb will return an incremental day-by-day view of costs. In this case, there will always be a one-day difference between `timeframe_start` and `timeframe_end` for the timeframes returned. This is a transform on top of the cumulative costs, calculated by taking the difference of each timeframe with the last. Note that in the above example, the `Total` value would be 0 for the second two data points, since the minimum commitment has not yet been hit and each day is not contributing anything to the total cost.

## Timeframe bounds

For an active subscription, both timeframes should be specified in the request. If a subscription starts or ends within the timeframe, the response will only include windows where the subscription is active. If a subscription has ended, no timeframe bounds need to be specified and the response will default to the billing period when the subscription was last active.

As noted above, `timeframe_start` for a given cumulative datapoint is always the beginning of the billing period, and `timeframe_end` is incremented one day at a time to construct the response. When a timeframe is passed in that is not aligned to the current subscription's billing period, the response will contain cumulative totals from multiple billing periods.

Suppose the queried customer has a subscription aligned to the 15th of every month. If this endpoint is queried with the date range `2023-06-01` - `2023-07-01`, the first data point will represent about half a billing period's worth of costs, accounting for accruals from the start of the billing period and inclusive of the first day of the timeframe (`timeframe_start = 2023-05-15 00:00:00`, `timeframe_end = 2023-06-02 00:00:00`)

| datapoint index | timeframe_start | timeframe_end | | --------------- | --------------- | ------------- | | 0 | 2023-05-15 | 2023-06-02 | | 1 | 2023-05-15 | 2023-06-03 | | 2 | ... | ... | | 3 | 2023-05-15 | 2023-06-14 | | 4 | 2023-06-15 | 2023-06-16 | | 5 | 2023-06-15 | 2023-06-17 | | 6 | ... | ... | | 7 | 2023-06-15 | 2023-07-01 |

You can see this sliced timeframe visualized [here](https://i.imgur.com/TXhYgme.png).

### Matrix prices

When a price uses matrix pricing, it's important to view costs grouped by those matrix dimensions. Orb will return `price_groups` with the `grouping_key` and `secondary_grouping_key` based on the matrix price definition, for each `grouping_value` and `secondary_grouping_value` available.

func (*CustomerCostService) ListByExternalID

func (r *CustomerCostService) ListByExternalID(ctx context.Context, externalCustomerID string, query CustomerCostListByExternalIDParams, opts ...option.RequestOption) (res *shared.CustomerCostsModel, err error)

This endpoint is used to fetch a day-by-day snapshot of a customer's costs in Orb, calculated by applying pricing information to the underlying usage (see the [subscription usage endpoint](/api-reference/subscription/fetch-subscription-usage) to fetch usage per metric, in usage units rather than a currency).

This endpoint can be leveraged for internal tooling and to provide a more transparent billing experience for your end users:

  1. Understand the cost breakdown per line item historically and in real-time for the current billing period.
  2. Provide customer visibility into how different services are contributing to the overall invoice with a per-day timeseries (as compared to the [upcoming invoice](/api-reference/invoice/fetch-upcoming-invoice) resource, which represents a snapshot for the current period).
  3. Assess how minimums and discounts affect your customers by teasing apart costs directly as a result of usage, as opposed to minimums and discounts at the plan and price level.
  4. Gain insight into key customer health metrics, such as the percent utilization of the minimum committed spend.

## Fetching subscriptions

By default, this endpoint fetches the currently active subscription for the customer, and returns cost information for the subscription's current billing period, broken down by each participating price. If there are no currently active subscriptions, this will instead default to the most recently active subscription or return an empty series if none are found. For example, if your plan charges for compute hours, job runs, and data syncs, then this endpoint would provide a daily breakdown of your customer's cost for each of those axes.

If timeframe bounds are specified, Orb fetches all subscriptions that were active in that timeframe. If two subscriptions overlap on a single day, costs from each price will be summed, and prices for both subscriptions will be included in the breakdown.

## Prepaid plans

For plans that include prices which deduct credits rather than accrue in-arrears charges in a billable currency, this endpoint will return the total deduction amount, in credits, for the specified timeframe.

## Cumulative subtotals and totals

Since the subtotal and total must factor in any billing-period level discounts and minimums, it's most meaningful to consider costs relative to the start of the subscription's billing period. As a result, by default this endpoint returns cumulative totals since the beginning of the billing period. In particular, the `timeframe_start` of a returned timeframe window is _always_ the beginning of the billing period and `timeframe_end` is incremented one day at a time to build the result.

A customer that uses a few API calls a day but has a minimum commitment might exhibit the following pattern for their subtotal and total in the first few days of the month. Here, we assume that each API call is $2.50, the customer's plan has a monthly minimum of $50 for this price, and that the subscription's billing period bounds are aligned to the first of the month:

| timeframe_start | timeframe_end | Cumulative usage | Subtotal | Total (incl. commitment) | | --------------- | ------------- | ---------------- | -------- | ------------------------ | | 2023-02-01 | 2023-02-02 | 9 | $22.50 | $50.00 | | 2023-02-01 | 2023-02-03 | 19 | $47.50 | $50.00 | | 2023-02-01 | 2023-02-04 | 20 | $50.00 | $50.00 | | 2023-02-01 | 2023-02-05 | 28 | $70.00 | $70.00 | | 2023-02-01 | 2023-02-06 | 36 | $90.00 | $90.00 |

### Periodic values

When the query parameter `view_mode=periodic` is specified, Orb will return an incremental day-by-day view of costs. In this case, there will always be a one-day difference between `timeframe_start` and `timeframe_end` for the timeframes returned. This is a transform on top of the cumulative costs, calculated by taking the difference of each timeframe with the last. Note that in the above example, the `Total` value would be 0 for the second two data points, since the minimum commitment has not yet been hit and each day is not contributing anything to the total cost.

## Timeframe bounds

For an active subscription, both timeframes should be specified in the request. If a subscription starts or ends within the timeframe, the response will only include windows where the subscription is active. If a subscription has ended, no timeframe bounds need to be specified and the response will default to the billing period when the subscription was last active.

As noted above, `timeframe_start` for a given cumulative datapoint is always the beginning of the billing period, and `timeframe_end` is incremented one day at a time to construct the response. When a timeframe is passed in that is not aligned to the current subscription's billing period, the response will contain cumulative totals from multiple billing periods.

Suppose the queried customer has a subscription aligned to the 15th of every month. If this endpoint is queried with the date range `2023-06-01` - `2023-07-01`, the first data point will represent about half a billing period's worth of costs, accounting for accruals from the start of the billing period and inclusive of the first day of the timeframe (`timeframe_start = 2023-05-15 00:00:00`, `timeframe_end = 2023-06-02 00:00:00`)

| datapoint index | timeframe_start | timeframe_end | | --------------- | --------------- | ------------- | | 0 | 2023-05-15 | 2023-06-02 | | 1 | 2023-05-15 | 2023-06-03 | | 2 | ... | ... | | 3 | 2023-05-15 | 2023-06-14 | | 4 | 2023-06-15 | 2023-06-16 | | 5 | 2023-06-15 | 2023-06-17 | | 6 | ... | ... | | 7 | 2023-06-15 | 2023-07-01 |

You can see this sliced timeframe visualized [here](https://i.imgur.com/TXhYgme.png).

### Matrix prices

When a price uses matrix pricing, it's important to view costs grouped by those matrix dimensions. Orb will return `price_groups` with the `grouping_key` and `secondary_grouping_key` based on the matrix price definition, for each `grouping_value` and `secondary_grouping_value` available.

type CustomerCostsModel added in v0.103.0

type CustomerCostsModel = shared.CustomerCostsModel

This is an alias to an internal type.

type CustomerCreditBalancesModel added in v0.103.0

type CustomerCreditBalancesModel = shared.CustomerCreditBalancesModel

This is an alias to an internal type.

type CustomerCreditBalancesModelData added in v0.103.0

type CustomerCreditBalancesModelData = shared.CustomerCreditBalancesModelData

This is an alias to an internal type.

type CustomerCreditBalancesModelDataStatus added in v0.103.0

type CustomerCreditBalancesModelDataStatus = shared.CustomerCreditBalancesModelDataStatus

This is an alias to an internal type.

type CustomerCreditLedgerListByExternalIDParams

type CustomerCreditLedgerListByExternalIDParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// The ledger currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor      param.Field[string]                                                `query:"cursor"`
	EntryStatus param.Field[CustomerCreditLedgerListByExternalIDParamsEntryStatus] `query:"entry_status"`
	EntryType   param.Field[CustomerCreditLedgerListByExternalIDParamsEntryType]   `query:"entry_type"`
	// The number of items to fetch. Defaults to 20.
	Limit         param.Field[int64]  `query:"limit"`
	MinimumAmount param.Field[string] `query:"minimum_amount"`
}

func (CustomerCreditLedgerListByExternalIDParams) URLQuery

URLQuery serializes CustomerCreditLedgerListByExternalIDParams's query parameters as `url.Values`.

type CustomerCreditLedgerListByExternalIDParamsEntryStatus

type CustomerCreditLedgerListByExternalIDParamsEntryStatus string
const (
	CustomerCreditLedgerListByExternalIDParamsEntryStatusCommitted CustomerCreditLedgerListByExternalIDParamsEntryStatus = "committed"
	CustomerCreditLedgerListByExternalIDParamsEntryStatusPending   CustomerCreditLedgerListByExternalIDParamsEntryStatus = "pending"
)

func (CustomerCreditLedgerListByExternalIDParamsEntryStatus) IsKnown added in v0.24.0

type CustomerCreditLedgerListByExternalIDParamsEntryType

type CustomerCreditLedgerListByExternalIDParamsEntryType string
const (
	CustomerCreditLedgerListByExternalIDParamsEntryTypeIncrement         CustomerCreditLedgerListByExternalIDParamsEntryType = "increment"
	CustomerCreditLedgerListByExternalIDParamsEntryTypeDecrement         CustomerCreditLedgerListByExternalIDParamsEntryType = "decrement"
	CustomerCreditLedgerListByExternalIDParamsEntryTypeExpirationChange  CustomerCreditLedgerListByExternalIDParamsEntryType = "expiration_change"
	CustomerCreditLedgerListByExternalIDParamsEntryTypeCreditBlockExpiry CustomerCreditLedgerListByExternalIDParamsEntryType = "credit_block_expiry"
	CustomerCreditLedgerListByExternalIDParamsEntryTypeVoid              CustomerCreditLedgerListByExternalIDParamsEntryType = "void"
	CustomerCreditLedgerListByExternalIDParamsEntryTypeVoidInitiated     CustomerCreditLedgerListByExternalIDParamsEntryType = "void_initiated"
	CustomerCreditLedgerListByExternalIDParamsEntryTypeAmendment         CustomerCreditLedgerListByExternalIDParamsEntryType = "amendment"
)

func (CustomerCreditLedgerListByExternalIDParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerListParams

type CustomerCreditLedgerListParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// The ledger currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor      param.Field[string]                                    `query:"cursor"`
	EntryStatus param.Field[CustomerCreditLedgerListParamsEntryStatus] `query:"entry_status"`
	EntryType   param.Field[CustomerCreditLedgerListParamsEntryType]   `query:"entry_type"`
	// The number of items to fetch. Defaults to 20.
	Limit         param.Field[int64]  `query:"limit"`
	MinimumAmount param.Field[string] `query:"minimum_amount"`
}

func (CustomerCreditLedgerListParams) URLQuery

func (r CustomerCreditLedgerListParams) URLQuery() (v url.Values)

URLQuery serializes CustomerCreditLedgerListParams's query parameters as `url.Values`.

type CustomerCreditLedgerListParamsEntryStatus

type CustomerCreditLedgerListParamsEntryStatus string
const (
	CustomerCreditLedgerListParamsEntryStatusCommitted CustomerCreditLedgerListParamsEntryStatus = "committed"
	CustomerCreditLedgerListParamsEntryStatusPending   CustomerCreditLedgerListParamsEntryStatus = "pending"
)

func (CustomerCreditLedgerListParamsEntryStatus) IsKnown added in v0.24.0

type CustomerCreditLedgerListParamsEntryType

type CustomerCreditLedgerListParamsEntryType string
const (
	CustomerCreditLedgerListParamsEntryTypeIncrement         CustomerCreditLedgerListParamsEntryType = "increment"
	CustomerCreditLedgerListParamsEntryTypeDecrement         CustomerCreditLedgerListParamsEntryType = "decrement"
	CustomerCreditLedgerListParamsEntryTypeExpirationChange  CustomerCreditLedgerListParamsEntryType = "expiration_change"
	CustomerCreditLedgerListParamsEntryTypeCreditBlockExpiry CustomerCreditLedgerListParamsEntryType = "credit_block_expiry"
	CustomerCreditLedgerListParamsEntryTypeVoid              CustomerCreditLedgerListParamsEntryType = "void"
	CustomerCreditLedgerListParamsEntryTypeVoidInitiated     CustomerCreditLedgerListParamsEntryType = "void_initiated"
	CustomerCreditLedgerListParamsEntryTypeAmendment         CustomerCreditLedgerListParamsEntryType = "amendment"
)

func (CustomerCreditLedgerListParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParams added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement or void operations.
	Amount param.Field[float64] `json:"amount,required"`
	// The ID of the block to reverse a decrement from.
	BlockID   param.Field[string]                                                                                            `json:"block_id,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams added in v0.2.1

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams()

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParams) MarshalJSON added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParamsEntryTypeAmendment CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType = "amendment"
)

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParams added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount    param.Field[float64]                                                                                           `json:"amount,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams added in v0.2.1

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams()

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParams) MarshalJSON added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParamsEntryType added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParamsEntryTypeDecrement CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParamsEntryType = "decrement"
)

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddDecrementCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParams added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParams struct {
	EntryType param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// An ISO 8601 format date that identifies the origination credit block to expire
	ExpiryDate param.Field[time.Time] `json:"expiry_date,required" format:"date-time"`
	// A future date (specified in YYYY-MM-DD format) used for expiration change,
	// denoting when credits transferred (as part of a partial block expiration) should
	// expire.
	TargetExpiryDate param.Field[time.Time] `json:"target_expiry_date,required" format:"date"`
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount"`
	// The ID of the block affected by an expiration_change, used to differentiate
	// between multiple blocks with the same `expiry_date`.
	BlockID param.Field[string] `json:"block_id"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams added in v0.2.1

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams()

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParams) MarshalJSON added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryTypeExpirationChange CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType = "expiration_change"
)

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount    param.Field[float64]                                                                                           `json:"amount,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// An ISO 8601 format date that denotes when this credit balance should become
	// available for use.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date-time"`
	// An ISO 8601 format date that denotes when this credit balance should expire.
	ExpiryDate param.Field[time.Time] `json:"expiry_date" format:"date-time"`
	// Passing `invoice_settings` automatically generates an invoice for the newly
	// added credits. If `invoice_settings` is passed, you must specify
	// per_unit_cost_basis, as the calculation of the invoice total is done on that
	// basis.
	InvoiceSettings param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings] `json:"invoice_settings"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// Can only be specified when entry_type=increment. How much, in the customer's
	// currency, a customer paid for a single credit in this block
	PerUnitCostBasis param.Field[string] `json:"per_unit_cost_basis"`
}

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams added in v0.2.1

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams()

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParams) MarshalJSON added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryType added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryType = "increment"
)

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings struct {
	// Whether the credits purchase invoice should auto collect with the customer's
	// saved payment method.
	AutoCollection param.Field[bool] `json:"auto_collection,required"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0.
	NetTerms param.Field[int64] `json:"net_terms,required"`
	// An optional memo to display on the invoice.
	Memo param.Field[string] `json:"memo"`
	// If true, the new credit block will require that the corresponding invoice is
	// paid before it can be drawn down from.
	RequireSuccessfulPayment param.Field[bool] `json:"require_successful_payment"`
}

Passing `invoice_settings` automatically generates an invoice for the newly added credits. If `invoice_settings` is passed, you must specify per_unit_cost_basis, as the calculation of the invoice total is done on that basis.

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings) MarshalJSON added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParams added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount,required"`
	// The ID of the block to void.
	BlockID   param.Field[string]                                                                                       `json:"block_id,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// Can only be specified when `entry_type=void`. The reason for the void.
	VoidReason param.Field[CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsVoidReason] `json:"void_reason"`
}

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams added in v0.2.1

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryByExternalIDParams()

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParams) MarshalJSON added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryType added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryTypeVoid CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryType = "void"
)

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsVoidReason added in v0.2.1

type CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsVoidReason string

Can only be specified when `entry_type=void`. The reason for the void.

const (
	CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsVoidReasonRefund CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsVoidReason = "refund"
)

func (CustomerCreditLedgerNewEntryByExternalIDParamsAddVoidCreditLedgerEntryRequestParamsVoidReason) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParams

type CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement or void operations.
	Amount param.Field[float64] `json:"amount,required"`
	// The ID of the block to reverse a decrement from.
	BlockID   param.Field[string]                                                                                `json:"block_id,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams

func (CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams()

func (CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParams) MarshalJSON

type CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType

type CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParamsEntryTypeAmendment CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType = "amendment"
)

func (CustomerCreditLedgerNewEntryParamsAddAmendmentCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParams

type CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount    param.Field[float64]                                                                               `json:"amount,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams

func (CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams()

func (CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParams) MarshalJSON

type CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParamsEntryType

type CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParamsEntryTypeDecrement CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParamsEntryType = "decrement"
)

func (CustomerCreditLedgerNewEntryParamsAddDecrementCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParams

type CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParams struct {
	EntryType param.Field[CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// An ISO 8601 format date that identifies the origination credit block to expire
	ExpiryDate param.Field[time.Time] `json:"expiry_date,required" format:"date-time"`
	// A future date (specified in YYYY-MM-DD format) used for expiration change,
	// denoting when credits transferred (as part of a partial block expiration) should
	// expire.
	TargetExpiryDate param.Field[time.Time] `json:"target_expiry_date,required" format:"date"`
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount"`
	// The ID of the block affected by an expiration_change, used to differentiate
	// between multiple blocks with the same `expiry_date`.
	BlockID param.Field[string] `json:"block_id"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams

func (CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams()

func (CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParams) MarshalJSON

type CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType

type CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryTypeExpirationChange CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType = "expiration_change"
)

func (CustomerCreditLedgerNewEntryParamsAddExpirationChangeCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParams

type CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount    param.Field[float64]                                                                               `json:"amount,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// An ISO 8601 format date that denotes when this credit balance should become
	// available for use.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date-time"`
	// An ISO 8601 format date that denotes when this credit balance should expire.
	ExpiryDate param.Field[time.Time] `json:"expiry_date" format:"date-time"`
	// Passing `invoice_settings` automatically generates an invoice for the newly
	// added credits. If `invoice_settings` is passed, you must specify
	// per_unit_cost_basis, as the calculation of the invoice total is done on that
	// basis.
	InvoiceSettings param.Field[CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings] `json:"invoice_settings"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// Can only be specified when entry_type=increment. How much, in the customer's
	// currency, a customer paid for a single credit in this block
	PerUnitCostBasis param.Field[string] `json:"per_unit_cost_basis"`
}

func (CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams

func (CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams()

func (CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParams) MarshalJSON

type CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryType

type CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryType = "increment"
)

func (CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings

type CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings struct {
	// Whether the credits purchase invoice should auto collect with the customer's
	// saved payment method.
	AutoCollection param.Field[bool] `json:"auto_collection,required"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0.
	NetTerms param.Field[int64] `json:"net_terms,required"`
	// An optional memo to display on the invoice.
	Memo param.Field[string] `json:"memo"`
	// If true, the new credit block will require that the corresponding invoice is
	// paid before it can be drawn down from.
	RequireSuccessfulPayment param.Field[bool] `json:"require_successful_payment"`
}

Passing `invoice_settings` automatically generates an invoice for the newly added credits. If `invoice_settings` is passed, you must specify per_unit_cost_basis, as the calculation of the invoice total is done on that basis.

func (CustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettings) MarshalJSON

type CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParams

type CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParams struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount,required"`
	// The ID of the block to void.
	BlockID   param.Field[string]                                                                           `json:"block_id,required"`
	EntryType param.Field[CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// Can only be specified when `entry_type=void`. The reason for the void.
	VoidReason param.Field[CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsVoidReason] `json:"void_reason"`
}

func (CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams

func (CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParams) ImplementsCustomerCreditLedgerNewEntryParams()

func (CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParams) MarshalJSON

type CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsEntryType

type CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsEntryType string
const (
	CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsEntryTypeVoid CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsEntryType = "void"
)

func (CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.24.0

type CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsVoidReason

type CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsVoidReason string

Can only be specified when `entry_type=void`. The reason for the void.

const (
	CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsVoidReasonRefund CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsVoidReason = "refund"
)

func (CustomerCreditLedgerNewEntryParamsAddVoidCreditLedgerEntryRequestParamsVoidReason) IsKnown added in v0.24.0

type CustomerCreditLedgerService

type CustomerCreditLedgerService struct {
	Options []option.RequestOption
}

CustomerCreditLedgerService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCustomerCreditLedgerService method instead.

func NewCustomerCreditLedgerService

func NewCustomerCreditLedgerService(opts ...option.RequestOption) (r *CustomerCreditLedgerService)

NewCustomerCreditLedgerService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CustomerCreditLedgerService) List

The credits ledger provides _auditing_ functionality over Orb's credits system with a list of actions that have taken place to modify a customer's credit balance. This [paginated endpoint](/api-reference/pagination) lists these entries, starting from the most recent ledger entry.

More details on using Orb's real-time credit feature are [here](/product-catalog/prepurchase).

There are four major types of modifications to credit balance, detailed below.

## Increment

Credits (which optionally expire on a future date) can be added via the API ([Add Ledger Entry](create-ledger-entry)). The ledger entry for such an action will always contain the total eligible starting and ending balance for the customer at the time the entry was added to the ledger.

## Decrement

Deductions can occur as a result of an API call to create a ledger entry (see [Add Ledger Entry](create-ledger-entry)), or automatically as a result of incurring usage. Both ledger entries present the `decrement` entry type.

As usage for a customer is reported into Orb, credits may be deducted according to the customer's plan configuration. An automated deduction of this type will result in a ledger entry, also with a starting and ending balance. In order to provide better tracing capabilities for automatic deductions, Orb always associates each automatic deduction with the `event_id` at the time of ingestion, used to pinpoint _why_ credit deduction took place and to ensure that credits are never deducted without an associated usage event.

By default, Orb uses an algorithm that automatically deducts from the _soonest expiring credit block_ first in order to ensure that all credits are utilized appropriately. As an example, if trial credits with an expiration date of 2 weeks from now are present for a customer, they will be used before any deductions take place from a non-expiring credit block.

If there are multiple blocks with the same expiration date, Orb will deduct from the block with the _lower cost basis_ first (e.g. trial credits with a $0 cost basis before paid credits with a $5.00 cost basis).

It's also possible for a single usage event's deduction to _span_ credit blocks. In this case, Orb will deduct from the next block, ending at the credit block which consists of unexpiring credits. Each of these deductions will lead to a _separate_ ledger entry, one per credit block that is deducted from. By default, the customer's total credit balance in Orb can be negative as a result of a decrement.

## Expiration change

The expiry of credits can be changed as a result of the API (See [Add Ledger Entry](create-ledger-entry)). This will create a ledger entry that specifies the balance as well as the initial and target expiry dates.

Note that for this entry type, `starting_balance` will equal `ending_balance`, and the `amount` represents the balance transferred. The credit block linked to the ledger entry is the source credit block from which there was an expiration change

## Credits expiry

When a set of credits expire on pre-set expiration date, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event. Note that credit expiry should always happen close to a date boundary in the customer's timezone.

## Void initiated

Credit blocks can be voided via the API. The `amount` on this entry corresponds to the number of credits that were remaining in the block at time of void. `void_reason` will be populated if the void is created with a reason.

## Void

When a set of credits is voided, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event.

## Amendment

When credits are added to a customer's balance as a result of a correction, this entry will be added to the ledger to indicate the adjustment of credits.

func (*CustomerCreditLedgerService) ListAutoPaging

The credits ledger provides _auditing_ functionality over Orb's credits system with a list of actions that have taken place to modify a customer's credit balance. This [paginated endpoint](/api-reference/pagination) lists these entries, starting from the most recent ledger entry.

More details on using Orb's real-time credit feature are [here](/product-catalog/prepurchase).

There are four major types of modifications to credit balance, detailed below.

## Increment

Credits (which optionally expire on a future date) can be added via the API ([Add Ledger Entry](create-ledger-entry)). The ledger entry for such an action will always contain the total eligible starting and ending balance for the customer at the time the entry was added to the ledger.

## Decrement

Deductions can occur as a result of an API call to create a ledger entry (see [Add Ledger Entry](create-ledger-entry)), or automatically as a result of incurring usage. Both ledger entries present the `decrement` entry type.

As usage for a customer is reported into Orb, credits may be deducted according to the customer's plan configuration. An automated deduction of this type will result in a ledger entry, also with a starting and ending balance. In order to provide better tracing capabilities for automatic deductions, Orb always associates each automatic deduction with the `event_id` at the time of ingestion, used to pinpoint _why_ credit deduction took place and to ensure that credits are never deducted without an associated usage event.

By default, Orb uses an algorithm that automatically deducts from the _soonest expiring credit block_ first in order to ensure that all credits are utilized appropriately. As an example, if trial credits with an expiration date of 2 weeks from now are present for a customer, they will be used before any deductions take place from a non-expiring credit block.

If there are multiple blocks with the same expiration date, Orb will deduct from the block with the _lower cost basis_ first (e.g. trial credits with a $0 cost basis before paid credits with a $5.00 cost basis).

It's also possible for a single usage event's deduction to _span_ credit blocks. In this case, Orb will deduct from the next block, ending at the credit block which consists of unexpiring credits. Each of these deductions will lead to a _separate_ ledger entry, one per credit block that is deducted from. By default, the customer's total credit balance in Orb can be negative as a result of a decrement.

## Expiration change

The expiry of credits can be changed as a result of the API (See [Add Ledger Entry](create-ledger-entry)). This will create a ledger entry that specifies the balance as well as the initial and target expiry dates.

Note that for this entry type, `starting_balance` will equal `ending_balance`, and the `amount` represents the balance transferred. The credit block linked to the ledger entry is the source credit block from which there was an expiration change

## Credits expiry

When a set of credits expire on pre-set expiration date, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event. Note that credit expiry should always happen close to a date boundary in the customer's timezone.

## Void initiated

Credit blocks can be voided via the API. The `amount` on this entry corresponds to the number of credits that were remaining in the block at time of void. `void_reason` will be populated if the void is created with a reason.

## Void

When a set of credits is voided, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event.

## Amendment

When credits are added to a customer's balance as a result of a correction, this entry will be added to the ledger to indicate the adjustment of credits.

func (*CustomerCreditLedgerService) ListByExternalID

The credits ledger provides _auditing_ functionality over Orb's credits system with a list of actions that have taken place to modify a customer's credit balance. This [paginated endpoint](/api-reference/pagination) lists these entries, starting from the most recent ledger entry.

More details on using Orb's real-time credit feature are [here](/product-catalog/prepurchase).

There are four major types of modifications to credit balance, detailed below.

## Increment

Credits (which optionally expire on a future date) can be added via the API ([Add Ledger Entry](create-ledger-entry)). The ledger entry for such an action will always contain the total eligible starting and ending balance for the customer at the time the entry was added to the ledger.

## Decrement

Deductions can occur as a result of an API call to create a ledger entry (see [Add Ledger Entry](create-ledger-entry)), or automatically as a result of incurring usage. Both ledger entries present the `decrement` entry type.

As usage for a customer is reported into Orb, credits may be deducted according to the customer's plan configuration. An automated deduction of this type will result in a ledger entry, also with a starting and ending balance. In order to provide better tracing capabilities for automatic deductions, Orb always associates each automatic deduction with the `event_id` at the time of ingestion, used to pinpoint _why_ credit deduction took place and to ensure that credits are never deducted without an associated usage event.

By default, Orb uses an algorithm that automatically deducts from the _soonest expiring credit block_ first in order to ensure that all credits are utilized appropriately. As an example, if trial credits with an expiration date of 2 weeks from now are present for a customer, they will be used before any deductions take place from a non-expiring credit block.

If there are multiple blocks with the same expiration date, Orb will deduct from the block with the _lower cost basis_ first (e.g. trial credits with a $0 cost basis before paid credits with a $5.00 cost basis).

It's also possible for a single usage event's deduction to _span_ credit blocks. In this case, Orb will deduct from the next block, ending at the credit block which consists of unexpiring credits. Each of these deductions will lead to a _separate_ ledger entry, one per credit block that is deducted from. By default, the customer's total credit balance in Orb can be negative as a result of a decrement.

## Expiration change

The expiry of credits can be changed as a result of the API (See [Add Ledger Entry](create-ledger-entry)). This will create a ledger entry that specifies the balance as well as the initial and target expiry dates.

Note that for this entry type, `starting_balance` will equal `ending_balance`, and the `amount` represents the balance transferred. The credit block linked to the ledger entry is the source credit block from which there was an expiration change

## Credits expiry

When a set of credits expire on pre-set expiration date, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event. Note that credit expiry should always happen close to a date boundary in the customer's timezone.

## Void initiated

Credit blocks can be voided via the API. The `amount` on this entry corresponds to the number of credits that were remaining in the block at time of void. `void_reason` will be populated if the void is created with a reason.

## Void

When a set of credits is voided, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event.

## Amendment

When credits are added to a customer's balance as a result of a correction, this entry will be added to the ledger to indicate the adjustment of credits.

func (*CustomerCreditLedgerService) ListByExternalIDAutoPaging

The credits ledger provides _auditing_ functionality over Orb's credits system with a list of actions that have taken place to modify a customer's credit balance. This [paginated endpoint](/api-reference/pagination) lists these entries, starting from the most recent ledger entry.

More details on using Orb's real-time credit feature are [here](/product-catalog/prepurchase).

There are four major types of modifications to credit balance, detailed below.

## Increment

Credits (which optionally expire on a future date) can be added via the API ([Add Ledger Entry](create-ledger-entry)). The ledger entry for such an action will always contain the total eligible starting and ending balance for the customer at the time the entry was added to the ledger.

## Decrement

Deductions can occur as a result of an API call to create a ledger entry (see [Add Ledger Entry](create-ledger-entry)), or automatically as a result of incurring usage. Both ledger entries present the `decrement` entry type.

As usage for a customer is reported into Orb, credits may be deducted according to the customer's plan configuration. An automated deduction of this type will result in a ledger entry, also with a starting and ending balance. In order to provide better tracing capabilities for automatic deductions, Orb always associates each automatic deduction with the `event_id` at the time of ingestion, used to pinpoint _why_ credit deduction took place and to ensure that credits are never deducted without an associated usage event.

By default, Orb uses an algorithm that automatically deducts from the _soonest expiring credit block_ first in order to ensure that all credits are utilized appropriately. As an example, if trial credits with an expiration date of 2 weeks from now are present for a customer, they will be used before any deductions take place from a non-expiring credit block.

If there are multiple blocks with the same expiration date, Orb will deduct from the block with the _lower cost basis_ first (e.g. trial credits with a $0 cost basis before paid credits with a $5.00 cost basis).

It's also possible for a single usage event's deduction to _span_ credit blocks. In this case, Orb will deduct from the next block, ending at the credit block which consists of unexpiring credits. Each of these deductions will lead to a _separate_ ledger entry, one per credit block that is deducted from. By default, the customer's total credit balance in Orb can be negative as a result of a decrement.

## Expiration change

The expiry of credits can be changed as a result of the API (See [Add Ledger Entry](create-ledger-entry)). This will create a ledger entry that specifies the balance as well as the initial and target expiry dates.

Note that for this entry type, `starting_balance` will equal `ending_balance`, and the `amount` represents the balance transferred. The credit block linked to the ledger entry is the source credit block from which there was an expiration change

## Credits expiry

When a set of credits expire on pre-set expiration date, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event. Note that credit expiry should always happen close to a date boundary in the customer's timezone.

## Void initiated

Credit blocks can be voided via the API. The `amount` on this entry corresponds to the number of credits that were remaining in the block at time of void. `void_reason` will be populated if the void is created with a reason.

## Void

When a set of credits is voided, the customer's balance automatically reflects this change and adds an entry to the ledger indicating this event.

## Amendment

When credits are added to a customer's balance as a result of a correction, this entry will be added to the ledger to indicate the adjustment of credits.

func (*CustomerCreditLedgerService) NewEntry

This endpoint allows you to create a new ledger entry for a specified customer's balance. This can be used to increment balance, deduct credits, and change the expiry date of existing credits.

## Effects of adding a ledger entry

  1. After calling this endpoint, [Fetch Credit Balance](fetch-customer-credits) will return a credit block that represents the changes (i.e. balance changes or transfers).
  2. A ledger entry will be added to the credits ledger for this customer, and therefore returned in the [View Credits Ledger](fetch-customer-credits-ledger) response as well as serialized in the response to this request. In the case of deductions without a specified block, multiple ledger entries may be created if the deduction spans credit blocks.
  3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`).

## Adding credits

Adding credits is done by creating an entry of type `increment`. This requires the caller to specify a number of credits as well as an optional expiry date in `YYYY-MM-DD` format. Orb also recommends specifying a description to assist with auditing. When adding credits, the caller can also specify a cost basis per-credit, to indicate how much in USD a customer paid for a single credit in a block. This can later be used for revenue recognition.

The following snippet illustrates a sample request body to increment credits which will expire in January of 2022.

```json

{
  "entry_type": "increment",
  "amount": 100,
  "expiry_date": "2022-12-28",
  "per_unit_cost_basis": "0.20",
  "description": "Purchased 100 credits"
}

```

Note that by default, Orb will always first increment any _negative_ balance in existing blocks before adding the remaining amount to the desired credit block.

### Invoicing for credits

By default, Orb manipulates the credit ledger but does not charge for credits. However, if you pass `invoice_settings` in the body of this request, Orb will also generate a one-off invoice for the customer for the credits pre-purchase. Note that you _must_ provide the `per_unit_cost_basis`, since the total charges on the invoice are calculated by multiplying the cost basis with the number of credit units added.

## Deducting Credits

Orb allows you to deduct credits from a customer by creating an entry of type `decrement`. Orb matches the algorithm for automatic deductions for determining which credit blocks to decrement from. In the case that the deduction leads to multiple ledger entries, the response from this endpoint will be the final deduction. Orb also optionally allows specifying a description to assist with auditing.

The following snippet illustrates a sample request body to decrement credits.

```json

{
  "entry_type": "decrement",
  "amount": 20,
  "description": "Removing excess credits"
}

```

## Changing credits expiry

If you'd like to change when existing credits expire, you should create a ledger entry of type `expiration_change`. For this entry, the required parameter `expiry_date` identifies the _originating_ block, and the required parameter `target_expiry_date` identifies when the transferred credits should now expire. A new credit block will be created with expiry date `target_expiry_date`, with the same cost basis data as the original credit block, if present.

Note that the balance of the block with the given `expiry_date` must be at least equal to the desired transfer amount determined by the `amount` parameter.

The following snippet illustrates a sample request body to extend the expiration date of credits by one year:

```json

{
  "entry_type": "expiration_change",
  "amount": 10,
  "expiry_date": "2022-12-28",
  "block_id": "UiUhFWeLHPrBY4Ad",
  "target_expiry_date": "2023-12-28",
  "description": "Extending credit validity"
}

```

## Voiding credits

If you'd like to void a credit block, create a ledger entry of type `void`. For this entry, `block_id` is required to identify the block, and `amount` indicates how many credits to void, up to the block's initial balance. Pass in a `void_reason` of `refund` if the void is due to a refund.

## Amendment

If you'd like to undo a decrement on a credit block, create a ledger entry of type `amendment`. For this entry, `block_id` is required to identify the block that was originally decremented from, and `amount` indicates how many credits to return to the customer, up to the block's initial balance.

func (*CustomerCreditLedgerService) NewEntryByExternalID added in v0.2.1

This endpoint allows you to create a new ledger entry for a specified customer's balance. This can be used to increment balance, deduct credits, and change the expiry date of existing credits.

## Effects of adding a ledger entry

  1. After calling this endpoint, [Fetch Credit Balance](fetch-customer-credits) will return a credit block that represents the changes (i.e. balance changes or transfers).
  2. A ledger entry will be added to the credits ledger for this customer, and therefore returned in the [View Credits Ledger](fetch-customer-credits-ledger) response as well as serialized in the response to this request. In the case of deductions without a specified block, multiple ledger entries may be created if the deduction spans credit blocks.
  3. If `invoice_settings` is specified, an invoice will be created that reflects the cost of the credits (based on `amount` and `per_unit_cost_basis`).

## Adding credits

Adding credits is done by creating an entry of type `increment`. This requires the caller to specify a number of credits as well as an optional expiry date in `YYYY-MM-DD` format. Orb also recommends specifying a description to assist with auditing. When adding credits, the caller can also specify a cost basis per-credit, to indicate how much in USD a customer paid for a single credit in a block. This can later be used for revenue recognition.

The following snippet illustrates a sample request body to increment credits which will expire in January of 2022.

```json

{
  "entry_type": "increment",
  "amount": 100,
  "expiry_date": "2022-12-28",
  "per_unit_cost_basis": "0.20",
  "description": "Purchased 100 credits"
}

```

Note that by default, Orb will always first increment any _negative_ balance in existing blocks before adding the remaining amount to the desired credit block.

### Invoicing for credits

By default, Orb manipulates the credit ledger but does not charge for credits. However, if you pass `invoice_settings` in the body of this request, Orb will also generate a one-off invoice for the customer for the credits pre-purchase. Note that you _must_ provide the `per_unit_cost_basis`, since the total charges on the invoice are calculated by multiplying the cost basis with the number of credit units added.

## Deducting Credits

Orb allows you to deduct credits from a customer by creating an entry of type `decrement`. Orb matches the algorithm for automatic deductions for determining which credit blocks to decrement from. In the case that the deduction leads to multiple ledger entries, the response from this endpoint will be the final deduction. Orb also optionally allows specifying a description to assist with auditing.

The following snippet illustrates a sample request body to decrement credits.

```json

{
  "entry_type": "decrement",
  "amount": 20,
  "description": "Removing excess credits"
}

```

## Changing credits expiry

If you'd like to change when existing credits expire, you should create a ledger entry of type `expiration_change`. For this entry, the required parameter `expiry_date` identifies the _originating_ block, and the required parameter `target_expiry_date` identifies when the transferred credits should now expire. A new credit block will be created with expiry date `target_expiry_date`, with the same cost basis data as the original credit block, if present.

Note that the balance of the block with the given `expiry_date` must be at least equal to the desired transfer amount determined by the `amount` parameter.

The following snippet illustrates a sample request body to extend the expiration date of credits by one year:

```json

{
  "entry_type": "expiration_change",
  "amount": 10,
  "expiry_date": "2022-12-28",
  "block_id": "UiUhFWeLHPrBY4Ad",
  "target_expiry_date": "2023-12-28",
  "description": "Extending credit validity"
}

```

## Voiding credits

If you'd like to void a credit block, create a ledger entry of type `void`. For this entry, `block_id` is required to identify the block, and `amount` indicates how many credits to void, up to the block's initial balance. Pass in a `void_reason` of `refund` if the void is due to a refund.

## Amendment

If you'd like to undo a decrement on a credit block, create a ledger entry of type `amendment`. For this entry, `block_id` is required to identify the block that was originally decremented from, and `amount` indicates how many credits to return to the customer, up to the block's initial balance.

type CustomerCreditListByExternalIDParams

type CustomerCreditListByExternalIDParams struct {
	// The ledger currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// If set to True, all expired and depleted blocks, as well as active block will be
	// returned.
	IncludeAllBlocks param.Field[bool] `query:"include_all_blocks"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CustomerCreditListByExternalIDParams) URLQuery

URLQuery serializes CustomerCreditListByExternalIDParams's query parameters as `url.Values`.

type CustomerCreditListParams

type CustomerCreditListParams struct {
	// The ledger currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// If set to True, all expired and depleted blocks, as well as active block will be
	// returned.
	IncludeAllBlocks param.Field[bool] `query:"include_all_blocks"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CustomerCreditListParams) URLQuery

func (r CustomerCreditListParams) URLQuery() (v url.Values)

URLQuery serializes CustomerCreditListParams's query parameters as `url.Values`.

type CustomerCreditService

type CustomerCreditService struct {
	Options []option.RequestOption
	Ledger  *CustomerCreditLedgerService
	TopUps  *CustomerCreditTopUpService
}

CustomerCreditService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCustomerCreditService method instead.

func NewCustomerCreditService

func NewCustomerCreditService(opts ...option.RequestOption) (r *CustomerCreditService)

NewCustomerCreditService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CustomerCreditService) List

Returns a paginated list of unexpired, non-zero credit blocks for a customer.

If `include_all_blocks` is set to `true`, all credit blocks (including expired and depleted blocks) will be included in the response.

Note that `currency` defaults to credits if not specified. To use a real world currency, set `currency` to an ISO 4217 string.

func (*CustomerCreditService) ListAutoPaging

Returns a paginated list of unexpired, non-zero credit blocks for a customer.

If `include_all_blocks` is set to `true`, all credit blocks (including expired and depleted blocks) will be included in the response.

Note that `currency` defaults to credits if not specified. To use a real world currency, set `currency` to an ISO 4217 string.

func (*CustomerCreditService) ListByExternalID

Returns a paginated list of unexpired, non-zero credit blocks for a customer.

If `include_all_blocks` is set to `true`, all credit blocks (including expired and depleted blocks) will be included in the response.

Note that `currency` defaults to credits if not specified. To use a real world currency, set `currency` to an ISO 4217 string.

func (*CustomerCreditService) ListByExternalIDAutoPaging

Returns a paginated list of unexpired, non-zero credit blocks for a customer.

If `include_all_blocks` is set to `true`, all credit blocks (including expired and depleted blocks) will be included in the response.

Note that `currency` defaults to credits if not specified. To use a real world currency, set `currency` to an ISO 4217 string.

type CustomerCreditTopUpListByExternalIDParams added in v0.15.0

type CustomerCreditTopUpListByExternalIDParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CustomerCreditTopUpListByExternalIDParams) URLQuery added in v0.15.0

URLQuery serializes CustomerCreditTopUpListByExternalIDParams's query parameters as `url.Values`.

type CustomerCreditTopUpListParams added in v0.15.0

type CustomerCreditTopUpListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CustomerCreditTopUpListParams) URLQuery added in v0.15.0

func (r CustomerCreditTopUpListParams) URLQuery() (v url.Values)

URLQuery serializes CustomerCreditTopUpListParams's query parameters as `url.Values`.

type CustomerCreditTopUpNewByExternalIDParams added in v0.15.0

type CustomerCreditTopUpNewByExternalIDParams struct {
	// The amount to increment when the threshold is reached.
	Amount param.Field[string] `json:"amount,required"`
	// The currency or custom pricing unit to use for this top-up. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency,required"`
	// Settings for invoices generated by triggered top-ups.
	InvoiceSettings param.Field[CustomerCreditTopUpNewByExternalIDParamsInvoiceSettings] `json:"invoice_settings,required"`
	// How much, in the customer's currency, to charge for each unit.
	PerUnitCostBasis param.Field[string] `json:"per_unit_cost_basis,required"`
	// The threshold at which to trigger the top-up. If the balance is at or below this
	// threshold, the top-up will be triggered.
	Threshold param.Field[string] `json:"threshold,required"`
	// The date from which the top-up is active. If unspecified, the top-up is active
	// immediately.
	ActiveFrom param.Field[time.Time] `json:"active_from" format:"date-time"`
	// The number of days or months after which the top-up expires. If unspecified, it
	// does not expire.
	ExpiresAfter param.Field[int64] `json:"expires_after"`
	// The unit of expires_after.
	ExpiresAfterUnit param.Field[CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnit] `json:"expires_after_unit"`
}

func (CustomerCreditTopUpNewByExternalIDParams) MarshalJSON added in v0.15.0

func (r CustomerCreditTopUpNewByExternalIDParams) MarshalJSON() (data []byte, err error)

type CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnit added in v0.15.0

type CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnit string

The unit of expires_after.

const (
	CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnitDay   CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnit = "day"
	CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnitMonth CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnit = "month"
)

func (CustomerCreditTopUpNewByExternalIDParamsExpiresAfterUnit) IsKnown added in v0.24.0

type CustomerCreditTopUpNewByExternalIDParamsInvoiceSettings added in v0.15.0

type CustomerCreditTopUpNewByExternalIDParamsInvoiceSettings struct {
	// Whether the credits purchase invoice should auto collect with the customer's
	// saved payment method.
	AutoCollection param.Field[bool] `json:"auto_collection,required"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0.
	NetTerms param.Field[int64] `json:"net_terms,required"`
	// An optional memo to display on the invoice.
	Memo param.Field[string] `json:"memo"`
	// If true, new credit blocks created by this top-up will require that the
	// corresponding invoice is paid before they can be drawn down from.
	RequireSuccessfulPayment param.Field[bool] `json:"require_successful_payment"`
}

Settings for invoices generated by triggered top-ups.

func (CustomerCreditTopUpNewByExternalIDParamsInvoiceSettings) MarshalJSON added in v0.15.0

type CustomerCreditTopUpNewParams added in v0.15.0

type CustomerCreditTopUpNewParams struct {
	// The amount to increment when the threshold is reached.
	Amount param.Field[string] `json:"amount,required"`
	// The currency or custom pricing unit to use for this top-up. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency,required"`
	// Settings for invoices generated by triggered top-ups.
	InvoiceSettings param.Field[CustomerCreditTopUpNewParamsInvoiceSettings] `json:"invoice_settings,required"`
	// How much, in the customer's currency, to charge for each unit.
	PerUnitCostBasis param.Field[string] `json:"per_unit_cost_basis,required"`
	// The threshold at which to trigger the top-up. If the balance is at or below this
	// threshold, the top-up will be triggered.
	Threshold param.Field[string] `json:"threshold,required"`
	// The date from which the top-up is active. If unspecified, the top-up is active
	// immediately.
	ActiveFrom param.Field[time.Time] `json:"active_from" format:"date-time"`
	// The number of days or months after which the top-up expires. If unspecified, it
	// does not expire.
	ExpiresAfter param.Field[int64] `json:"expires_after"`
	// The unit of expires_after.
	ExpiresAfterUnit param.Field[CustomerCreditTopUpNewParamsExpiresAfterUnit] `json:"expires_after_unit"`
}

func (CustomerCreditTopUpNewParams) MarshalJSON added in v0.15.0

func (r CustomerCreditTopUpNewParams) MarshalJSON() (data []byte, err error)

type CustomerCreditTopUpNewParamsExpiresAfterUnit added in v0.15.0

type CustomerCreditTopUpNewParamsExpiresAfterUnit string

The unit of expires_after.

const (
	CustomerCreditTopUpNewParamsExpiresAfterUnitDay   CustomerCreditTopUpNewParamsExpiresAfterUnit = "day"
	CustomerCreditTopUpNewParamsExpiresAfterUnitMonth CustomerCreditTopUpNewParamsExpiresAfterUnit = "month"
)

func (CustomerCreditTopUpNewParamsExpiresAfterUnit) IsKnown added in v0.24.0

type CustomerCreditTopUpNewParamsInvoiceSettings added in v0.15.0

type CustomerCreditTopUpNewParamsInvoiceSettings struct {
	// Whether the credits purchase invoice should auto collect with the customer's
	// saved payment method.
	AutoCollection param.Field[bool] `json:"auto_collection,required"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0.
	NetTerms param.Field[int64] `json:"net_terms,required"`
	// An optional memo to display on the invoice.
	Memo param.Field[string] `json:"memo"`
	// If true, new credit blocks created by this top-up will require that the
	// corresponding invoice is paid before they can be drawn down from.
	RequireSuccessfulPayment param.Field[bool] `json:"require_successful_payment"`
}

Settings for invoices generated by triggered top-ups.

func (CustomerCreditTopUpNewParamsInvoiceSettings) MarshalJSON added in v0.15.0

func (r CustomerCreditTopUpNewParamsInvoiceSettings) MarshalJSON() (data []byte, err error)

type CustomerCreditTopUpService added in v0.15.0

type CustomerCreditTopUpService struct {
	Options []option.RequestOption
}

CustomerCreditTopUpService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCustomerCreditTopUpService method instead.

func NewCustomerCreditTopUpService added in v0.15.0

func NewCustomerCreditTopUpService(opts ...option.RequestOption) (r *CustomerCreditTopUpService)

NewCustomerCreditTopUpService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CustomerCreditTopUpService) Delete added in v0.15.0

func (r *CustomerCreditTopUpService) Delete(ctx context.Context, customerID string, topUpID string, opts ...option.RequestOption) (err error)

This deactivates the top-up and voids any invoices associated with pending credit blocks purchased through the top-up.

func (*CustomerCreditTopUpService) DeleteByExternalID added in v0.15.0

func (r *CustomerCreditTopUpService) DeleteByExternalID(ctx context.Context, externalCustomerID string, topUpID string, opts ...option.RequestOption) (err error)

This deactivates the top-up and voids any invoices associated with pending credit blocks purchased through the top-up.

func (*CustomerCreditTopUpService) List added in v0.15.0

List top-ups

func (*CustomerCreditTopUpService) ListAutoPaging added in v0.15.0

List top-ups

func (*CustomerCreditTopUpService) ListByExternalID added in v0.15.0

func (r *CustomerCreditTopUpService) ListByExternalID(ctx context.Context, externalCustomerID string, query CustomerCreditTopUpListByExternalIDParams, opts ...option.RequestOption) (res *pagination.Page[shared.TopUpModel], err error)

List top-ups by external ID

func (*CustomerCreditTopUpService) ListByExternalIDAutoPaging added in v0.15.0

List top-ups by external ID

func (*CustomerCreditTopUpService) New added in v0.15.0

This endpoint allows you to create a new top-up for a specified customer's balance. While this top-up is active, the customer's balance will added in increments of the specified amount whenever the balance reaches the specified threshold.

If a top-up already exists for this customer in the same currency, the existing top-up will be replaced.

func (*CustomerCreditTopUpService) NewByExternalID added in v0.15.0

func (r *CustomerCreditTopUpService) NewByExternalID(ctx context.Context, externalCustomerID string, body CustomerCreditTopUpNewByExternalIDParams, opts ...option.RequestOption) (res *shared.TopUpModel, err error)

This endpoint allows you to create a new top-up for a specified customer's balance. While this top-up is active, the customer's balance will added in increments of the specified amount whenever the balance reaches the specified threshold.

If a top-up already exists for this customer in the same currency, the existing top-up will be replaced.

type CustomerHierarchyConfigModelParam added in v0.103.0

type CustomerHierarchyConfigModelParam = shared.CustomerHierarchyConfigModelParam

This is an alias to an internal type.

type CustomerListParams

type CustomerListParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (CustomerListParams) URLQuery

func (r CustomerListParams) URLQuery() (v url.Values)

URLQuery serializes CustomerListParams's query parameters as `url.Values`.

type CustomerMinifiedModel added in v0.103.0

type CustomerMinifiedModel = shared.CustomerMinifiedModel

This is an alias to an internal type.

type CustomerModel added in v0.103.0

type CustomerModel = shared.CustomerModel

A customer is a buyer of your products, and the other party to the billing relationship.

In Orb, customers are assigned system generated identifiers automatically, but it's often desirable to have these match existing identifiers in your system. To avoid having to denormalize Orb ID information, you can pass in an `external_customer_id` with your own identifier. See [Customer ID Aliases](/events-and-metrics/customer-aliases) for further information about how these aliases work in Orb.

In addition to having an identifier in your system, a customer may exist in a payment provider solution like Stripe. Use the `payment_provider_id` and the `payment_provider` enum field to express this mapping.

A customer also has a timezone (from the standard [IANA timezone database](https://www.iana.org/time-zones)), which defaults to your account's timezone. See [Timezone localization](/essentials/timezones) for information on what this timezone parameter influences within Orb.

This is an alias to an internal type.

type CustomerModelAccountingSyncConfiguration added in v0.103.0

type CustomerModelAccountingSyncConfiguration = shared.CustomerModelAccountingSyncConfiguration

This is an alias to an internal type.

type CustomerModelAccountingSyncConfigurationAccountingProvider added in v0.103.0

type CustomerModelAccountingSyncConfigurationAccountingProvider = shared.CustomerModelAccountingSyncConfigurationAccountingProvider

This is an alias to an internal type.

type CustomerModelAccountingSyncConfigurationAccountingProvidersProviderType added in v0.103.0

type CustomerModelAccountingSyncConfigurationAccountingProvidersProviderType = shared.CustomerModelAccountingSyncConfigurationAccountingProvidersProviderType

This is an alias to an internal type.

type CustomerModelHierarchy added in v0.103.0

type CustomerModelHierarchy = shared.CustomerModelHierarchy

The hierarchical relationships for this customer.

This is an alias to an internal type.

type CustomerModelPaymentProvider added in v0.103.0

type CustomerModelPaymentProvider = shared.CustomerModelPaymentProvider

This is used for creating charges or invoices in an external system via Orb. When not in test mode, the connection must first be configured in the Orb webapp.

This is an alias to an internal type.

type CustomerModelReportingConfiguration added in v0.103.0

type CustomerModelReportingConfiguration = shared.CustomerModelReportingConfiguration

This is an alias to an internal type.

type CustomerNewParams

type CustomerNewParams struct {
	// A valid customer email, to be used for notifications. When Orb triggers payment
	// through a payment gateway, this email will be used for any automatically issued
	// receipts.
	Email param.Field[string] `json:"email,required" format:"email"`
	// The full name of the customer
	Name                        param.Field[string]                                          `json:"name,required"`
	AccountingSyncConfiguration param.Field[shared.NewAccountingSyncConfigurationModelParam] `json:"accounting_sync_configuration"`
	// Additional email addresses for this customer. If populated, these email
	// addresses will be CC'd for customer communications.
	AdditionalEmails param.Field[[]string] `json:"additional_emails"`
	// Used to determine if invoices for this customer will automatically attempt to
	// charge a saved payment method, if available. This parameter defaults to `True`
	// when a payment provider is provided on customer creation.
	AutoCollection param.Field[bool]                          `json:"auto_collection"`
	BillingAddress param.Field[shared.AddressInputModelParam] `json:"billing_address"`
	// An ISO 4217 currency string used for the customer's invoices and balance. If not
	// set at creation time, will be set at subscription creation time.
	Currency      param.Field[string] `json:"currency"`
	EmailDelivery param.Field[bool]   `json:"email_delivery"`
	// An optional user-defined ID for this customer resource, used throughout the
	// system as an alias for this Customer. Use this field to identify a customer by
	// an existing identifier in your system.
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
	// The hierarchical relationships for this customer.
	Hierarchy param.Field[shared.CustomerHierarchyConfigModelParam] `json:"hierarchy"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// This is used for creating charges or invoices in an external system via Orb.
	// When not in test mode, the connection must first be configured in the Orb
	// webapp.
	PaymentProvider param.Field[CustomerNewParamsPaymentProvider] `json:"payment_provider"`
	// The ID of this customer in an external payments solution, such as Stripe. This
	// is used for creating charges or invoices in the external system via Orb.
	PaymentProviderID      param.Field[string]                                     `json:"payment_provider_id"`
	ReportingConfiguration param.Field[shared.NewReportingConfigurationModelParam] `json:"reporting_configuration"`
	ShippingAddress        param.Field[shared.AddressInputModelParam]              `json:"shipping_address"`
	TaxConfiguration       param.Field[shared.NewTaxConfigurationModelUnionParam]  `json:"tax_configuration"`
	// Tax IDs are commonly required to be displayed on customer invoices, which are
	// added to the headers of invoices.
	//
	// ### Supported Tax ID Countries and Types
	//
	// | Country              | Type         | Description                                                                                             |
	// | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Andorra              | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Argentina            | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Australia            | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia            | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bahrain              | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Belgium              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bolivia              | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Brazil               | `br_cnpj`    | Brazilian CNPJ Number                                                                                   |
	// | Brazil               | `br_cpf`     | Brazilian CPF Number                                                                                    |
	// | Bulgaria             | `bg_uic`     | Bulgaria Unified Identification Code                                                                    |
	// | Bulgaria             | `eu_vat`     | European VAT Number                                                                                     |
	// | Canada               | `ca_bn`      | Canadian BN                                                                                             |
	// | Canada               | `ca_gst_hst` | Canadian GST/HST Number                                                                                 |
	// | Canada               | `ca_pst_bc`  | Canadian PST Number (British Columbia)                                                                  |
	// | Canada               | `ca_pst_mb`  | Canadian PST Number (Manitoba)                                                                          |
	// | Canada               | `ca_pst_sk`  | Canadian PST Number (Saskatchewan)                                                                      |
	// | Canada               | `ca_qst`     | Canadian QST Number (Québec)                                                                            |
	// | Chile                | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia             | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Costa Rica           | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia              | `eu_vat`     | European VAT Number                                                                                     |
	// | Cyprus               | `eu_vat`     | European VAT Number                                                                                     |
	// | Czech Republic       | `eu_vat`     | European VAT Number                                                                                     |
	// | Denmark              | `eu_vat`     | European VAT Number                                                                                     |
	// | Dominican Republic   | `do_rcn`     | Dominican RCN Number                                                                                    |
	// | Ecuador              | `ec_ruc`     | Ecuadorian RUC Number                                                                                   |
	// | Egypt                | `eg_tin`     | Egyptian Tax Identification Number                                                                      |
	// | El Salvador          | `sv_nit`     | El Salvadorian NIT Number                                                                               |
	// | Estonia              | `eu_vat`     | European VAT Number                                                                                     |
	// | EU                   | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme                                                  |
	// | Finland              | `eu_vat`     | European VAT Number                                                                                     |
	// | France               | `eu_vat`     | European VAT Number                                                                                     |
	// | Georgia              | `ge_vat`     | Georgian VAT                                                                                            |
	// | Germany              | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece               | `eu_vat`     | European VAT Number                                                                                     |
	// | Hong Kong            | `hk_br`      | Hong Kong BR Number                                                                                     |
	// | Hungary              | `eu_vat`     | European VAT Number                                                                                     |
	// | Hungary              | `hu_tin`     | Hungary Tax Number (adószám)                                                                            |
	// | Iceland              | `is_vat`     | Icelandic VAT                                                                                           |
	// | India                | `in_gst`     | Indian GST Number                                                                                       |
	// | Indonesia            | `id_npwp`    | Indonesian NPWP Number                                                                                  |
	// | Ireland              | `eu_vat`     | European VAT Number                                                                                     |
	// | Israel               | `il_vat`     | Israel VAT                                                                                              |
	// | Italy                | `eu_vat`     | European VAT Number                                                                                     |
	// | Japan                | `jp_cn`      | Japanese Corporate Number (_Hōjin Bangō_)                                                               |
	// | Japan                | `jp_rn`      | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
	// | Japan                | `jp_trn`     | Japanese Tax Registration Number (_Tōroku Bangō_)                                                       |
	// | Kazakhstan           | `kz_bin`     | Kazakhstani Business Identification Number                                                              |
	// | Kenya                | `ke_pin`     | Kenya Revenue Authority Personal Identification Number                                                  |
	// | Latvia               | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein        | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Lithuania            | `eu_vat`     | European VAT Number                                                                                     |
	// | Luxembourg           | `eu_vat`     | European VAT Number                                                                                     |
	// | Malaysia             | `my_frp`     | Malaysian FRP Number                                                                                    |
	// | Malaysia             | `my_itn`     | Malaysian ITN                                                                                           |
	// | Malaysia             | `my_sst`     | Malaysian SST Number                                                                                    |
	// | Malta                | `eu_vat `    | European VAT Number                                                                                     |
	// | Mexico               | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Netherlands          | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand          | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria              | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | Norway               | `no_vat`     | Norwegian VAT Number                                                                                    |
	// | Norway               | `no_voec`    | Norwegian VAT on e-commerce Number                                                                      |
	// | Oman                 | `om_vat`     | Omani VAT Number                                                                                        |
	// | Peru                 | `pe_ruc`     | Peruvian RUC Number                                                                                     |
	// | Philippines          | `ph_tin `    | Philippines Tax Identification Number                                                                   |
	// | Poland               | `eu_vat`     | European VAT Number                                                                                     |
	// | Portugal             | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `ro_tin`     | Romanian Tax ID Number                                                                                  |
	// | Russia               | `ru_inn`     | Russian INN                                                                                             |
	// | Russia               | `ru_kpp`     | Russian KPP                                                                                             |
	// | Saudi Arabia         | `sa_vat`     | Saudi Arabia VAT                                                                                        |
	// | Serbia               | `rs_pib`     | Serbian PIB Number                                                                                      |
	// | Singapore            | `sg_gst`     | Singaporean GST                                                                                         |
	// | Singapore            | `sg_uen`     | Singaporean UEN                                                                                         |
	// | Slovakia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `si_tin`     | Slovenia Tax Number (davčna številka)                                                                   |
	// | South Africa         | `za_vat`     | South African VAT Number                                                                                |
	// | South Korea          | `kr_brn`     | Korean BRN                                                                                              |
	// | Spain                | `es_cif`     | Spanish NIF Number (previously Spanish CIF Number)                                                      |
	// | Spain                | `eu_vat`     | European VAT Number                                                                                     |
	// | Sweden               | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland          | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan               | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Thailand             | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey               | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Ukraine              | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom       | `eu_vat`     | Northern Ireland VAT Number                                                                             |
	// | United Kingdom       | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States        | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay              | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Venezuela            | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam              | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	TaxID param.Field[shared.CustomerTaxIDModelParam] `json:"tax_id"`
	// A timezone identifier from the IANA timezone database, such as
	// `"America/Los_Angeles"`. This defaults to your account's timezone if not set.
	// This cannot be changed after customer creation.
	Timezone param.Field[string] `json:"timezone"`
}

func (CustomerNewParams) MarshalJSON

func (r CustomerNewParams) MarshalJSON() (data []byte, err error)

type CustomerNewParamsPaymentProvider

type CustomerNewParamsPaymentProvider string

This is used for creating charges or invoices in an external system via Orb. When not in test mode, the connection must first be configured in the Orb webapp.

const (
	CustomerNewParamsPaymentProviderQuickbooks    CustomerNewParamsPaymentProvider = "quickbooks"
	CustomerNewParamsPaymentProviderBillCom       CustomerNewParamsPaymentProvider = "bill.com"
	CustomerNewParamsPaymentProviderStripeCharge  CustomerNewParamsPaymentProvider = "stripe_charge"
	CustomerNewParamsPaymentProviderStripeInvoice CustomerNewParamsPaymentProvider = "stripe_invoice"
	CustomerNewParamsPaymentProviderNetsuite      CustomerNewParamsPaymentProvider = "netsuite"
)

func (CustomerNewParamsPaymentProvider) IsKnown added in v0.24.0

type CustomerService

type CustomerService struct {
	Options             []option.RequestOption
	Costs               *CustomerCostService
	Credits             *CustomerCreditService
	BalanceTransactions *CustomerBalanceTransactionService
}

CustomerService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCustomerService method instead.

func NewCustomerService

func NewCustomerService(opts ...option.RequestOption) (r *CustomerService)

NewCustomerService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*CustomerService) Delete

func (r *CustomerService) Delete(ctx context.Context, customerID string, opts ...option.RequestOption) (err error)

This performs a deletion of this customer, its subscriptions, and its invoices, provided the customer does not have any issued invoices. Customers with issued invoices cannot be deleted. This operation is irreversible. Note that this is a _soft_ deletion, but the data will be inaccessible through the API and Orb dashboard.

For a hard-deletion, please reach out to the Orb team directly.

**Note**: This operation happens asynchronously and can be expected to take a few minutes to propagate to related resources. However, querying for the customer on subsequent GET requests while deletion is in process will reflect its deletion with a `deleted: true` property. Once the customer deletion has been fully processed, the customer will not be returned in the API.

On successful processing, this returns an empty dictionary (`{}`) in the API.

func (*CustomerService) Fetch

func (r *CustomerService) Fetch(ctx context.Context, customerID string, opts ...option.RequestOption) (res *shared.CustomerModel, err error)

This endpoint is used to fetch customer details given an identifier. If the `Customer` is in the process of being deleted, only the properties `id` and `deleted: true` will be returned.

See the [Customer resource](/core-concepts#customer) for a full discussion of the Customer model.

func (*CustomerService) FetchByExternalID

func (r *CustomerService) FetchByExternalID(ctx context.Context, externalCustomerID string, opts ...option.RequestOption) (res *shared.CustomerModel, err error)

This endpoint is used to fetch customer details given an `external_customer_id` (see [Customer ID Aliases](/events-and-metrics/customer-aliases)).

Note that the resource and semantics of this endpoint exactly mirror [Get Customer](fetch-customer).

func (*CustomerService) List

This endpoint returns a list of all customers for an account. The list of customers is ordered starting from the most recently created customer. This endpoint follows Orb's [standardized pagination format](/api-reference/pagination).

See [Customer](/core-concepts##customer) for an overview of the customer model.

func (*CustomerService) ListAutoPaging

This endpoint returns a list of all customers for an account. The list of customers is ordered starting from the most recently created customer. This endpoint follows Orb's [standardized pagination format](/api-reference/pagination).

See [Customer](/core-concepts##customer) for an overview of the customer model.

func (*CustomerService) New

This operation is used to create an Orb customer, who is party to the core billing relationship. See [Customer](/core-concepts##customer) for an overview of the customer resource.

This endpoint is critical in the following Orb functionality:

  • Automated charges can be configured by setting `payment_provider` and `payment_provider_id` to automatically issue invoices
  • [Customer ID Aliases](/events-and-metrics/customer-aliases) can be configured by setting `external_customer_id`
  • [Timezone localization](/essentials/timezones) can be configured on a per-customer basis by setting the `timezone` parameter

func (*CustomerService) SyncPaymentMethodsFromGateway added in v0.89.0

func (r *CustomerService) SyncPaymentMethodsFromGateway(ctx context.Context, externalCustomerID string, opts ...option.RequestOption) (err error)

Sync Orb's payment methods for the customer with their gateway.

This method can be called before taking an action that may cause the customer to be charged, ensuring that the most up-to-date payment method is charged.

**Note**: This functionality is currently only available for Stripe.

func (*CustomerService) SyncPaymentMethodsFromGatewayByExternalCustomerID added in v0.89.0

func (r *CustomerService) SyncPaymentMethodsFromGatewayByExternalCustomerID(ctx context.Context, customerID string, opts ...option.RequestOption) (err error)

Sync Orb's payment methods for the customer with their gateway.

This method can be called before taking an action that may cause the customer to be charged, ensuring that the most up-to-date payment method is charged.

**Note**: This functionality is currently only available for Stripe.

func (*CustomerService) Update

func (r *CustomerService) Update(ctx context.Context, customerID string, body CustomerUpdateParams, opts ...option.RequestOption) (res *shared.CustomerModel, err error)

This endpoint can be used to update the `payment_provider`, `payment_provider_id`, `name`, `email`, `email_delivery`, `tax_id`, `auto_collection`, `metadata`, `shipping_address`, `billing_address`, and `additional_emails` of an existing customer. Other fields on a customer are currently immutable.

func (*CustomerService) UpdateByExternalID

func (r *CustomerService) UpdateByExternalID(ctx context.Context, id string, body CustomerUpdateByExternalIDParams, opts ...option.RequestOption) (res *shared.CustomerModel, err error)

This endpoint is used to update customer details given an `external_customer_id` (see [Customer ID Aliases](/events-and-metrics/customer-aliases)). Note that the resource and semantics of this endpoint exactly mirror [Update Customer](update-customer).

type CustomerTaxIDModel added in v0.103.0

type CustomerTaxIDModel = shared.CustomerTaxIDModel

Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.

### Supported Tax ID Countries and Types

| Country | Type | Description | | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- | | Andorra | `ad_nrt` | Andorran NRT Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Belgium | `eu_vat` | European VAT Number | | Bolivia | `bo_tin` | Bolivian Tax ID | | Brazil | `br_cnpj` | Brazilian CNPJ Number | | Brazil | `br_cpf` | Brazilian CPF Number | | Bulgaria | `bg_uic` | Bulgaria Unified Identification Code | | Bulgaria | `eu_vat` | European VAT Number | | Canada | `ca_bn` | Canadian BN | | Canada | `ca_gst_hst` | Canadian GST/HST Number | | Canada | `ca_pst_bc` | Canadian PST Number (British Columbia) | | Canada | `ca_pst_mb` | Canadian PST Number (Manitoba) | | Canada | `ca_pst_sk` | Canadian PST Number (Saskatchewan) | | Canada | `ca_qst` | Canadian QST Number (Québec) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Cyprus | `eu_vat` | European VAT Number | | Czech Republic | `eu_vat` | European VAT Number | | Denmark | `eu_vat` | European VAT Number | | Dominican Republic | `do_rcn` | Dominican RCN Number | | Ecuador | `ec_ruc` | Ecuadorian RUC Number | | Egypt | `eg_tin` | Egyptian Tax Identification Number | | El Salvador | `sv_nit` | El Salvadorian NIT Number | | Estonia | `eu_vat` | European VAT Number | | EU | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme | | Finland | `eu_vat` | European VAT Number | | France | `eu_vat` | European VAT Number | | Georgia | `ge_vat` | Georgian VAT | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Hong Kong | `hk_br` | Hong Kong BR Number | | Hungary | `eu_vat` | European VAT Number | | Hungary | `hu_tin` | Hungary Tax Number (adószám) | | Iceland | `is_vat` | Icelandic VAT | | India | `in_gst` | Indian GST Number | | Indonesia | `id_npwp` | Indonesian NPWP Number | | Ireland | `eu_vat` | European VAT Number | | Israel | `il_vat` | Israel VAT | | Italy | `eu_vat` | European VAT Number | | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) | | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) | | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) | | Kazakhstan | `kz_bin` | Kazakhstani Business Identification Number | | Kenya | `ke_pin` | Kenya Revenue Authority Personal Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Lithuania | `eu_vat` | European VAT Number | | Luxembourg | `eu_vat` | European VAT Number | | Malaysia | `my_frp` | Malaysian FRP Number | | Malaysia | `my_itn` | Malaysian ITN | | Malaysia | `my_sst` | Malaysian SST Number | | Malta | `eu_vat ` | European VAT Number | | Mexico | `mx_rfc` | Mexican RFC Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | Norway | `no_vat` | Norwegian VAT Number | | Norway | `no_voec` | Norwegian VAT on e-commerce Number | | Oman | `om_vat` | Omani VAT Number | | Peru | `pe_ruc` | Peruvian RUC Number | | Philippines | `ph_tin ` | Philippines Tax Identification Number | | Poland | `eu_vat` | European VAT Number | | Portugal | `eu_vat` | European VAT Number | | Romania | `eu_vat` | European VAT Number | | Romania | `ro_tin` | Romanian Tax ID Number | | Russia | `ru_inn` | Russian INN | | Russia | `ru_kpp` | Russian KPP | | Saudi Arabia | `sa_vat` | Saudi Arabia VAT | | Serbia | `rs_pib` | Serbian PIB Number | | Singapore | `sg_gst` | Singaporean GST | | Singapore | `sg_uen` | Singaporean UEN | | Slovakia | `eu_vat` | European VAT Number | | Slovenia | `eu_vat` | European VAT Number | | Slovenia | `si_tin` | Slovenia Tax Number (davčna številka) | | South Africa | `za_vat` | South African VAT Number | | South Korea | `kr_brn` | Korean BRN | | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) | | Spain | `eu_vat` | European VAT Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `eu_vat` | Northern Ireland VAT Number | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number |

This is an alias to an internal type.

type CustomerTaxIDModelCountry added in v0.103.0

type CustomerTaxIDModelCountry = shared.CustomerTaxIDModelCountry

This is an alias to an internal type.

type CustomerTaxIDModelParam added in v0.103.0

type CustomerTaxIDModelParam = shared.CustomerTaxIDModelParam

Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.

### Supported Tax ID Countries and Types

| Country | Type | Description | | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- | | Andorra | `ad_nrt` | Andorran NRT Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Belgium | `eu_vat` | European VAT Number | | Bolivia | `bo_tin` | Bolivian Tax ID | | Brazil | `br_cnpj` | Brazilian CNPJ Number | | Brazil | `br_cpf` | Brazilian CPF Number | | Bulgaria | `bg_uic` | Bulgaria Unified Identification Code | | Bulgaria | `eu_vat` | European VAT Number | | Canada | `ca_bn` | Canadian BN | | Canada | `ca_gst_hst` | Canadian GST/HST Number | | Canada | `ca_pst_bc` | Canadian PST Number (British Columbia) | | Canada | `ca_pst_mb` | Canadian PST Number (Manitoba) | | Canada | `ca_pst_sk` | Canadian PST Number (Saskatchewan) | | Canada | `ca_qst` | Canadian QST Number (Québec) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Cyprus | `eu_vat` | European VAT Number | | Czech Republic | `eu_vat` | European VAT Number | | Denmark | `eu_vat` | European VAT Number | | Dominican Republic | `do_rcn` | Dominican RCN Number | | Ecuador | `ec_ruc` | Ecuadorian RUC Number | | Egypt | `eg_tin` | Egyptian Tax Identification Number | | El Salvador | `sv_nit` | El Salvadorian NIT Number | | Estonia | `eu_vat` | European VAT Number | | EU | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme | | Finland | `eu_vat` | European VAT Number | | France | `eu_vat` | European VAT Number | | Georgia | `ge_vat` | Georgian VAT | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Hong Kong | `hk_br` | Hong Kong BR Number | | Hungary | `eu_vat` | European VAT Number | | Hungary | `hu_tin` | Hungary Tax Number (adószám) | | Iceland | `is_vat` | Icelandic VAT | | India | `in_gst` | Indian GST Number | | Indonesia | `id_npwp` | Indonesian NPWP Number | | Ireland | `eu_vat` | European VAT Number | | Israel | `il_vat` | Israel VAT | | Italy | `eu_vat` | European VAT Number | | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) | | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) | | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) | | Kazakhstan | `kz_bin` | Kazakhstani Business Identification Number | | Kenya | `ke_pin` | Kenya Revenue Authority Personal Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Lithuania | `eu_vat` | European VAT Number | | Luxembourg | `eu_vat` | European VAT Number | | Malaysia | `my_frp` | Malaysian FRP Number | | Malaysia | `my_itn` | Malaysian ITN | | Malaysia | `my_sst` | Malaysian SST Number | | Malta | `eu_vat ` | European VAT Number | | Mexico | `mx_rfc` | Mexican RFC Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | Norway | `no_vat` | Norwegian VAT Number | | Norway | `no_voec` | Norwegian VAT on e-commerce Number | | Oman | `om_vat` | Omani VAT Number | | Peru | `pe_ruc` | Peruvian RUC Number | | Philippines | `ph_tin ` | Philippines Tax Identification Number | | Poland | `eu_vat` | European VAT Number | | Portugal | `eu_vat` | European VAT Number | | Romania | `eu_vat` | European VAT Number | | Romania | `ro_tin` | Romanian Tax ID Number | | Russia | `ru_inn` | Russian INN | | Russia | `ru_kpp` | Russian KPP | | Saudi Arabia | `sa_vat` | Saudi Arabia VAT | | Serbia | `rs_pib` | Serbian PIB Number | | Singapore | `sg_gst` | Singaporean GST | | Singapore | `sg_uen` | Singaporean UEN | | Slovakia | `eu_vat` | European VAT Number | | Slovenia | `eu_vat` | European VAT Number | | Slovenia | `si_tin` | Slovenia Tax Number (davčna številka) | | South Africa | `za_vat` | South African VAT Number | | South Korea | `kr_brn` | Korean BRN | | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) | | Spain | `eu_vat` | European VAT Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `eu_vat` | Northern Ireland VAT Number | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number |

This is an alias to an internal type.

type CustomerTaxIDModelType added in v0.103.0

type CustomerTaxIDModelType = shared.CustomerTaxIDModelType

This is an alias to an internal type.

type CustomerUpdateByExternalIDParams

type CustomerUpdateByExternalIDParams struct {
	AccountingSyncConfiguration param.Field[shared.NewAccountingSyncConfigurationModelParam] `json:"accounting_sync_configuration"`
	// Additional email addresses for this customer. If populated, these email
	// addresses will be CC'd for customer communications.
	AdditionalEmails param.Field[[]string] `json:"additional_emails"`
	// Used to determine if invoices for this customer will automatically attempt to
	// charge a saved payment method, if available. This parameter defaults to `True`
	// when a payment provider is provided on customer creation.
	AutoCollection param.Field[bool]                          `json:"auto_collection"`
	BillingAddress param.Field[shared.AddressInputModelParam] `json:"billing_address"`
	// An ISO 4217 currency string used for the customer's invoices and balance. If not
	// set at creation time, will be set at subscription creation time.
	Currency param.Field[string] `json:"currency"`
	// A valid customer email, to be used for invoicing and notifications.
	Email         param.Field[string] `json:"email" format:"email"`
	EmailDelivery param.Field[bool]   `json:"email_delivery"`
	// The external customer ID. This can only be set if empty and the customer has no
	// past or current subscriptions.
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
	// The hierarchical relationships for this customer.
	Hierarchy param.Field[shared.CustomerHierarchyConfigModelParam] `json:"hierarchy"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// The full name of the customer
	Name param.Field[string] `json:"name"`
	// This is used for creating charges or invoices in an external system via Orb.
	// When not in test mode:
	//
	//   - the connection must first be configured in the Orb webapp.
	//   - if the provider is an invoicing provider (`stripe_invoice`, `quickbooks`,
	//     `bill.com`, `netsuite`), any product mappings must first be configured with
	//     the Orb team.
	PaymentProvider param.Field[CustomerUpdateByExternalIDParamsPaymentProvider] `json:"payment_provider"`
	// The ID of this customer in an external payments solution, such as Stripe. This
	// is used for creating charges or invoices in the external system via Orb.
	PaymentProviderID      param.Field[string]                                     `json:"payment_provider_id"`
	ReportingConfiguration param.Field[shared.NewReportingConfigurationModelParam] `json:"reporting_configuration"`
	ShippingAddress        param.Field[shared.AddressInputModelParam]              `json:"shipping_address"`
	TaxConfiguration       param.Field[shared.NewTaxConfigurationModelUnionParam]  `json:"tax_configuration"`
	// Tax IDs are commonly required to be displayed on customer invoices, which are
	// added to the headers of invoices.
	//
	// ### Supported Tax ID Countries and Types
	//
	// | Country              | Type         | Description                                                                                             |
	// | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Andorra              | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Argentina            | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Australia            | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia            | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bahrain              | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Belgium              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bolivia              | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Brazil               | `br_cnpj`    | Brazilian CNPJ Number                                                                                   |
	// | Brazil               | `br_cpf`     | Brazilian CPF Number                                                                                    |
	// | Bulgaria             | `bg_uic`     | Bulgaria Unified Identification Code                                                                    |
	// | Bulgaria             | `eu_vat`     | European VAT Number                                                                                     |
	// | Canada               | `ca_bn`      | Canadian BN                                                                                             |
	// | Canada               | `ca_gst_hst` | Canadian GST/HST Number                                                                                 |
	// | Canada               | `ca_pst_bc`  | Canadian PST Number (British Columbia)                                                                  |
	// | Canada               | `ca_pst_mb`  | Canadian PST Number (Manitoba)                                                                          |
	// | Canada               | `ca_pst_sk`  | Canadian PST Number (Saskatchewan)                                                                      |
	// | Canada               | `ca_qst`     | Canadian QST Number (Québec)                                                                            |
	// | Chile                | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia             | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Costa Rica           | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia              | `eu_vat`     | European VAT Number                                                                                     |
	// | Cyprus               | `eu_vat`     | European VAT Number                                                                                     |
	// | Czech Republic       | `eu_vat`     | European VAT Number                                                                                     |
	// | Denmark              | `eu_vat`     | European VAT Number                                                                                     |
	// | Dominican Republic   | `do_rcn`     | Dominican RCN Number                                                                                    |
	// | Ecuador              | `ec_ruc`     | Ecuadorian RUC Number                                                                                   |
	// | Egypt                | `eg_tin`     | Egyptian Tax Identification Number                                                                      |
	// | El Salvador          | `sv_nit`     | El Salvadorian NIT Number                                                                               |
	// | Estonia              | `eu_vat`     | European VAT Number                                                                                     |
	// | EU                   | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme                                                  |
	// | Finland              | `eu_vat`     | European VAT Number                                                                                     |
	// | France               | `eu_vat`     | European VAT Number                                                                                     |
	// | Georgia              | `ge_vat`     | Georgian VAT                                                                                            |
	// | Germany              | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece               | `eu_vat`     | European VAT Number                                                                                     |
	// | Hong Kong            | `hk_br`      | Hong Kong BR Number                                                                                     |
	// | Hungary              | `eu_vat`     | European VAT Number                                                                                     |
	// | Hungary              | `hu_tin`     | Hungary Tax Number (adószám)                                                                            |
	// | Iceland              | `is_vat`     | Icelandic VAT                                                                                           |
	// | India                | `in_gst`     | Indian GST Number                                                                                       |
	// | Indonesia            | `id_npwp`    | Indonesian NPWP Number                                                                                  |
	// | Ireland              | `eu_vat`     | European VAT Number                                                                                     |
	// | Israel               | `il_vat`     | Israel VAT                                                                                              |
	// | Italy                | `eu_vat`     | European VAT Number                                                                                     |
	// | Japan                | `jp_cn`      | Japanese Corporate Number (_Hōjin Bangō_)                                                               |
	// | Japan                | `jp_rn`      | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
	// | Japan                | `jp_trn`     | Japanese Tax Registration Number (_Tōroku Bangō_)                                                       |
	// | Kazakhstan           | `kz_bin`     | Kazakhstani Business Identification Number                                                              |
	// | Kenya                | `ke_pin`     | Kenya Revenue Authority Personal Identification Number                                                  |
	// | Latvia               | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein        | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Lithuania            | `eu_vat`     | European VAT Number                                                                                     |
	// | Luxembourg           | `eu_vat`     | European VAT Number                                                                                     |
	// | Malaysia             | `my_frp`     | Malaysian FRP Number                                                                                    |
	// | Malaysia             | `my_itn`     | Malaysian ITN                                                                                           |
	// | Malaysia             | `my_sst`     | Malaysian SST Number                                                                                    |
	// | Malta                | `eu_vat `    | European VAT Number                                                                                     |
	// | Mexico               | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Netherlands          | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand          | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria              | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | Norway               | `no_vat`     | Norwegian VAT Number                                                                                    |
	// | Norway               | `no_voec`    | Norwegian VAT on e-commerce Number                                                                      |
	// | Oman                 | `om_vat`     | Omani VAT Number                                                                                        |
	// | Peru                 | `pe_ruc`     | Peruvian RUC Number                                                                                     |
	// | Philippines          | `ph_tin `    | Philippines Tax Identification Number                                                                   |
	// | Poland               | `eu_vat`     | European VAT Number                                                                                     |
	// | Portugal             | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `ro_tin`     | Romanian Tax ID Number                                                                                  |
	// | Russia               | `ru_inn`     | Russian INN                                                                                             |
	// | Russia               | `ru_kpp`     | Russian KPP                                                                                             |
	// | Saudi Arabia         | `sa_vat`     | Saudi Arabia VAT                                                                                        |
	// | Serbia               | `rs_pib`     | Serbian PIB Number                                                                                      |
	// | Singapore            | `sg_gst`     | Singaporean GST                                                                                         |
	// | Singapore            | `sg_uen`     | Singaporean UEN                                                                                         |
	// | Slovakia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `si_tin`     | Slovenia Tax Number (davčna številka)                                                                   |
	// | South Africa         | `za_vat`     | South African VAT Number                                                                                |
	// | South Korea          | `kr_brn`     | Korean BRN                                                                                              |
	// | Spain                | `es_cif`     | Spanish NIF Number (previously Spanish CIF Number)                                                      |
	// | Spain                | `eu_vat`     | European VAT Number                                                                                     |
	// | Sweden               | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland          | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan               | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Thailand             | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey               | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Ukraine              | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom       | `eu_vat`     | Northern Ireland VAT Number                                                                             |
	// | United Kingdom       | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States        | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay              | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Venezuela            | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam              | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	TaxID param.Field[shared.CustomerTaxIDModelParam] `json:"tax_id"`
}

func (CustomerUpdateByExternalIDParams) MarshalJSON

func (r CustomerUpdateByExternalIDParams) MarshalJSON() (data []byte, err error)

type CustomerUpdateByExternalIDParamsPaymentProvider

type CustomerUpdateByExternalIDParamsPaymentProvider string

This is used for creating charges or invoices in an external system via Orb. When not in test mode:

  • the connection must first be configured in the Orb webapp.
  • if the provider is an invoicing provider (`stripe_invoice`, `quickbooks`, `bill.com`, `netsuite`), any product mappings must first be configured with the Orb team.
const (
	CustomerUpdateByExternalIDParamsPaymentProviderQuickbooks    CustomerUpdateByExternalIDParamsPaymentProvider = "quickbooks"
	CustomerUpdateByExternalIDParamsPaymentProviderBillCom       CustomerUpdateByExternalIDParamsPaymentProvider = "bill.com"
	CustomerUpdateByExternalIDParamsPaymentProviderStripeCharge  CustomerUpdateByExternalIDParamsPaymentProvider = "stripe_charge"
	CustomerUpdateByExternalIDParamsPaymentProviderStripeInvoice CustomerUpdateByExternalIDParamsPaymentProvider = "stripe_invoice"
	CustomerUpdateByExternalIDParamsPaymentProviderNetsuite      CustomerUpdateByExternalIDParamsPaymentProvider = "netsuite"
)

func (CustomerUpdateByExternalIDParamsPaymentProvider) IsKnown added in v0.24.0

type CustomerUpdateParams

type CustomerUpdateParams struct {
	AccountingSyncConfiguration param.Field[shared.NewAccountingSyncConfigurationModelParam] `json:"accounting_sync_configuration"`
	// Additional email addresses for this customer. If populated, these email
	// addresses will be CC'd for customer communications.
	AdditionalEmails param.Field[[]string] `json:"additional_emails"`
	// Used to determine if invoices for this customer will automatically attempt to
	// charge a saved payment method, if available. This parameter defaults to `True`
	// when a payment provider is provided on customer creation.
	AutoCollection param.Field[bool]                          `json:"auto_collection"`
	BillingAddress param.Field[shared.AddressInputModelParam] `json:"billing_address"`
	// An ISO 4217 currency string used for the customer's invoices and balance. If not
	// set at creation time, will be set at subscription creation time.
	Currency param.Field[string] `json:"currency"`
	// A valid customer email, to be used for invoicing and notifications.
	Email         param.Field[string] `json:"email" format:"email"`
	EmailDelivery param.Field[bool]   `json:"email_delivery"`
	// The external customer ID. This can only be set if empty and the customer has no
	// past or current subscriptions.
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
	// The hierarchical relationships for this customer.
	Hierarchy param.Field[shared.CustomerHierarchyConfigModelParam] `json:"hierarchy"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// The full name of the customer
	Name param.Field[string] `json:"name"`
	// This is used for creating charges or invoices in an external system via Orb.
	// When not in test mode:
	//
	//   - the connection must first be configured in the Orb webapp.
	//   - if the provider is an invoicing provider (`stripe_invoice`, `quickbooks`,
	//     `bill.com`, `netsuite`), any product mappings must first be configured with
	//     the Orb team.
	PaymentProvider param.Field[CustomerUpdateParamsPaymentProvider] `json:"payment_provider"`
	// The ID of this customer in an external payments solution, such as Stripe. This
	// is used for creating charges or invoices in the external system via Orb.
	PaymentProviderID      param.Field[string]                                     `json:"payment_provider_id"`
	ReportingConfiguration param.Field[shared.NewReportingConfigurationModelParam] `json:"reporting_configuration"`
	ShippingAddress        param.Field[shared.AddressInputModelParam]              `json:"shipping_address"`
	TaxConfiguration       param.Field[shared.NewTaxConfigurationModelUnionParam]  `json:"tax_configuration"`
	// Tax IDs are commonly required to be displayed on customer invoices, which are
	// added to the headers of invoices.
	//
	// ### Supported Tax ID Countries and Types
	//
	// | Country              | Type         | Description                                                                                             |
	// | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Andorra              | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Argentina            | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Australia            | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia            | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bahrain              | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Belgium              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bolivia              | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Brazil               | `br_cnpj`    | Brazilian CNPJ Number                                                                                   |
	// | Brazil               | `br_cpf`     | Brazilian CPF Number                                                                                    |
	// | Bulgaria             | `bg_uic`     | Bulgaria Unified Identification Code                                                                    |
	// | Bulgaria             | `eu_vat`     | European VAT Number                                                                                     |
	// | Canada               | `ca_bn`      | Canadian BN                                                                                             |
	// | Canada               | `ca_gst_hst` | Canadian GST/HST Number                                                                                 |
	// | Canada               | `ca_pst_bc`  | Canadian PST Number (British Columbia)                                                                  |
	// | Canada               | `ca_pst_mb`  | Canadian PST Number (Manitoba)                                                                          |
	// | Canada               | `ca_pst_sk`  | Canadian PST Number (Saskatchewan)                                                                      |
	// | Canada               | `ca_qst`     | Canadian QST Number (Québec)                                                                            |
	// | Chile                | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia             | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Costa Rica           | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia              | `eu_vat`     | European VAT Number                                                                                     |
	// | Cyprus               | `eu_vat`     | European VAT Number                                                                                     |
	// | Czech Republic       | `eu_vat`     | European VAT Number                                                                                     |
	// | Denmark              | `eu_vat`     | European VAT Number                                                                                     |
	// | Dominican Republic   | `do_rcn`     | Dominican RCN Number                                                                                    |
	// | Ecuador              | `ec_ruc`     | Ecuadorian RUC Number                                                                                   |
	// | Egypt                | `eg_tin`     | Egyptian Tax Identification Number                                                                      |
	// | El Salvador          | `sv_nit`     | El Salvadorian NIT Number                                                                               |
	// | Estonia              | `eu_vat`     | European VAT Number                                                                                     |
	// | EU                   | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme                                                  |
	// | Finland              | `eu_vat`     | European VAT Number                                                                                     |
	// | France               | `eu_vat`     | European VAT Number                                                                                     |
	// | Georgia              | `ge_vat`     | Georgian VAT                                                                                            |
	// | Germany              | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece               | `eu_vat`     | European VAT Number                                                                                     |
	// | Hong Kong            | `hk_br`      | Hong Kong BR Number                                                                                     |
	// | Hungary              | `eu_vat`     | European VAT Number                                                                                     |
	// | Hungary              | `hu_tin`     | Hungary Tax Number (adószám)                                                                            |
	// | Iceland              | `is_vat`     | Icelandic VAT                                                                                           |
	// | India                | `in_gst`     | Indian GST Number                                                                                       |
	// | Indonesia            | `id_npwp`    | Indonesian NPWP Number                                                                                  |
	// | Ireland              | `eu_vat`     | European VAT Number                                                                                     |
	// | Israel               | `il_vat`     | Israel VAT                                                                                              |
	// | Italy                | `eu_vat`     | European VAT Number                                                                                     |
	// | Japan                | `jp_cn`      | Japanese Corporate Number (_Hōjin Bangō_)                                                               |
	// | Japan                | `jp_rn`      | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
	// | Japan                | `jp_trn`     | Japanese Tax Registration Number (_Tōroku Bangō_)                                                       |
	// | Kazakhstan           | `kz_bin`     | Kazakhstani Business Identification Number                                                              |
	// | Kenya                | `ke_pin`     | Kenya Revenue Authority Personal Identification Number                                                  |
	// | Latvia               | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein        | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Lithuania            | `eu_vat`     | European VAT Number                                                                                     |
	// | Luxembourg           | `eu_vat`     | European VAT Number                                                                                     |
	// | Malaysia             | `my_frp`     | Malaysian FRP Number                                                                                    |
	// | Malaysia             | `my_itn`     | Malaysian ITN                                                                                           |
	// | Malaysia             | `my_sst`     | Malaysian SST Number                                                                                    |
	// | Malta                | `eu_vat `    | European VAT Number                                                                                     |
	// | Mexico               | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Netherlands          | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand          | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria              | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | Norway               | `no_vat`     | Norwegian VAT Number                                                                                    |
	// | Norway               | `no_voec`    | Norwegian VAT on e-commerce Number                                                                      |
	// | Oman                 | `om_vat`     | Omani VAT Number                                                                                        |
	// | Peru                 | `pe_ruc`     | Peruvian RUC Number                                                                                     |
	// | Philippines          | `ph_tin `    | Philippines Tax Identification Number                                                                   |
	// | Poland               | `eu_vat`     | European VAT Number                                                                                     |
	// | Portugal             | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `ro_tin`     | Romanian Tax ID Number                                                                                  |
	// | Russia               | `ru_inn`     | Russian INN                                                                                             |
	// | Russia               | `ru_kpp`     | Russian KPP                                                                                             |
	// | Saudi Arabia         | `sa_vat`     | Saudi Arabia VAT                                                                                        |
	// | Serbia               | `rs_pib`     | Serbian PIB Number                                                                                      |
	// | Singapore            | `sg_gst`     | Singaporean GST                                                                                         |
	// | Singapore            | `sg_uen`     | Singaporean UEN                                                                                         |
	// | Slovakia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `si_tin`     | Slovenia Tax Number (davčna številka)                                                                   |
	// | South Africa         | `za_vat`     | South African VAT Number                                                                                |
	// | South Korea          | `kr_brn`     | Korean BRN                                                                                              |
	// | Spain                | `es_cif`     | Spanish NIF Number (previously Spanish CIF Number)                                                      |
	// | Spain                | `eu_vat`     | European VAT Number                                                                                     |
	// | Sweden               | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland          | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan               | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Thailand             | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey               | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Ukraine              | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom       | `eu_vat`     | Northern Ireland VAT Number                                                                             |
	// | United Kingdom       | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States        | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay              | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Venezuela            | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam              | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	TaxID param.Field[shared.CustomerTaxIDModelParam] `json:"tax_id"`
}

func (CustomerUpdateParams) MarshalJSON

func (r CustomerUpdateParams) MarshalJSON() (data []byte, err error)

type CustomerUpdateParamsPaymentProvider

type CustomerUpdateParamsPaymentProvider string

This is used for creating charges or invoices in an external system via Orb. When not in test mode:

  • the connection must first be configured in the Orb webapp.
  • if the provider is an invoicing provider (`stripe_invoice`, `quickbooks`, `bill.com`, `netsuite`), any product mappings must first be configured with the Orb team.
const (
	CustomerUpdateParamsPaymentProviderQuickbooks    CustomerUpdateParamsPaymentProvider = "quickbooks"
	CustomerUpdateParamsPaymentProviderBillCom       CustomerUpdateParamsPaymentProvider = "bill.com"
	CustomerUpdateParamsPaymentProviderStripeCharge  CustomerUpdateParamsPaymentProvider = "stripe_charge"
	CustomerUpdateParamsPaymentProviderStripeInvoice CustomerUpdateParamsPaymentProvider = "stripe_invoice"
	CustomerUpdateParamsPaymentProviderNetsuite      CustomerUpdateParamsPaymentProvider = "netsuite"
)

func (CustomerUpdateParamsPaymentProvider) IsKnown added in v0.24.0

type DimensionalPriceConfigurationModel added in v0.103.0

type DimensionalPriceConfigurationModel = shared.DimensionalPriceConfigurationModel

This is an alias to an internal type.

type DimensionalPriceGroupExternalDimensionalPriceGroupIDService added in v0.85.0

type DimensionalPriceGroupExternalDimensionalPriceGroupIDService struct {
	Options []option.RequestOption
}

DimensionalPriceGroupExternalDimensionalPriceGroupIDService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDimensionalPriceGroupExternalDimensionalPriceGroupIDService method instead.

func NewDimensionalPriceGroupExternalDimensionalPriceGroupIDService added in v0.85.0

func NewDimensionalPriceGroupExternalDimensionalPriceGroupIDService(opts ...option.RequestOption) (r *DimensionalPriceGroupExternalDimensionalPriceGroupIDService)

NewDimensionalPriceGroupExternalDimensionalPriceGroupIDService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DimensionalPriceGroupExternalDimensionalPriceGroupIDService) Get added in v0.85.0

Fetch dimensional price group by external ID

type DimensionalPriceGroupListParams added in v0.85.0

type DimensionalPriceGroupListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (DimensionalPriceGroupListParams) URLQuery added in v0.85.0

func (r DimensionalPriceGroupListParams) URLQuery() (v url.Values)

URLQuery serializes DimensionalPriceGroupListParams's query parameters as `url.Values`.

type DimensionalPriceGroupModel added in v0.103.0

type DimensionalPriceGroupModel = shared.DimensionalPriceGroupModel

A dimensional price group is used to partition the result of a billable metric by a set of dimensions. Prices in a price group must specify the parition used to derive their usage.

This is an alias to an internal type.

type DimensionalPriceGroupNewParams added in v0.85.0

type DimensionalPriceGroupNewParams struct {
	BillableMetricID param.Field[string] `json:"billable_metric_id,required"`
	// The set of keys (in order) used to disambiguate prices in the group.
	Dimensions                      param.Field[[]string] `json:"dimensions,required"`
	Name                            param.Field[string]   `json:"name,required"`
	ExternalDimensionalPriceGroupID param.Field[string]   `json:"external_dimensional_price_group_id"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (DimensionalPriceGroupNewParams) MarshalJSON added in v0.85.0

func (r DimensionalPriceGroupNewParams) MarshalJSON() (data []byte, err error)

type DimensionalPriceGroupService added in v0.85.0

type DimensionalPriceGroupService struct {
	Options                         []option.RequestOption
	ExternalDimensionalPriceGroupID *DimensionalPriceGroupExternalDimensionalPriceGroupIDService
}

DimensionalPriceGroupService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewDimensionalPriceGroupService method instead.

func NewDimensionalPriceGroupService added in v0.85.0

func NewDimensionalPriceGroupService(opts ...option.RequestOption) (r *DimensionalPriceGroupService)

NewDimensionalPriceGroupService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*DimensionalPriceGroupService) Get added in v0.85.0

func (r *DimensionalPriceGroupService) Get(ctx context.Context, dimensionalPriceGroupID string, opts ...option.RequestOption) (res *shared.DimensionalPriceGroupModel, err error)

Fetch dimensional price group

func (*DimensionalPriceGroupService) List added in v0.85.0

List dimensional price groups

func (*DimensionalPriceGroupService) ListAutoPaging added in v0.85.0

List dimensional price groups

func (*DimensionalPriceGroupService) New added in v0.85.0

A dimensional price group is used to partition the result of a billable metric by a set of dimensions. Prices in a price group must specify the parition used to derive their usage.

For example, suppose we have a billable metric that measures the number of widgets used and we want to charge differently depending on the color of the widget. We can create a price group with a dimension "color" and two prices: one that charges $10 per red widget and one that charges $20 per blue widget.

type DimensionalPriceGroups added in v0.85.0

type DimensionalPriceGroups struct {
	Data               []shared.DimensionalPriceGroupModel `json:"data,required"`
	PaginationMetadata shared.PaginationMetadata           `json:"pagination_metadata,required"`
	JSON               dimensionalPriceGroupsJSON          `json:"-"`
}

func (*DimensionalPriceGroups) UnmarshalJSON added in v0.85.0

func (r *DimensionalPriceGroups) UnmarshalJSON(data []byte) (err error)

type Discount added in v0.2.0

type Discount = shared.Discount

This is an alias to an internal type.

type DiscountDiscountType

type DiscountDiscountType = shared.DiscountDiscountType

This is an alias to an internal type.

type DiscountOverrideModelDiscountType added in v0.103.0

type DiscountOverrideModelDiscountType = shared.DiscountOverrideModelDiscountType

This is an alias to an internal type.

type DiscountOverrideModelParam added in v0.103.0

type DiscountOverrideModelParam = shared.DiscountOverrideModelParam

This is an alias to an internal type.

type DiscountUnionParam added in v0.35.0

type DiscountUnionParam = shared.DiscountUnionParam

This is an alias to an internal type.

type DiscountUsageDiscount added in v0.2.0

type DiscountUsageDiscount = shared.DiscountUsageDiscount

This is an alias to an internal type.

type DiscountUsageDiscountDiscountType added in v0.2.0

type DiscountUsageDiscountDiscountType = shared.DiscountUsageDiscountDiscountType

This is an alias to an internal type.

type DiscountUsageDiscountParam added in v0.35.0

type DiscountUsageDiscountParam = shared.DiscountUsageDiscountParam

This is an alias to an internal type.

type Error

type Error = apierror.Error

type ErrorStatus added in v0.32.0

type ErrorStatus = apierror.ErrorStatus

type ErrorType added in v0.32.0

type ErrorType = apierror.ErrorType

type EvaluatePriceGroup added in v0.12.0

type EvaluatePriceGroup struct {
	// The price's output for the group
	Amount string `json:"amount,required"`
	// The values for the group in the order specified by `grouping_keys`
	GroupingValues []EvaluatePriceGroupGroupingValuesUnion `json:"grouping_values,required"`
	// The price's usage quantity for the group
	Quantity float64                `json:"quantity,required"`
	JSON     evaluatePriceGroupJSON `json:"-"`
}

func (*EvaluatePriceGroup) UnmarshalJSON added in v0.12.0

func (r *EvaluatePriceGroup) UnmarshalJSON(data []byte) (err error)

type EvaluatePriceGroupGroupingValuesUnion added in v0.25.0

type EvaluatePriceGroupGroupingValuesUnion interface {
	ImplementsEvaluatePriceGroupGroupingValuesUnion()
}

Union satisfied by shared.UnionString, shared.UnionFloat or shared.UnionBool.

type EventBackfillListParams

type EventBackfillListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (EventBackfillListParams) URLQuery

func (r EventBackfillListParams) URLQuery() (v url.Values)

URLQuery serializes EventBackfillListParams's query parameters as `url.Values`.

type EventBackfillNewParams

type EventBackfillNewParams struct {
	// The (exclusive) end of the usage timeframe affected by this backfill.
	TimeframeEnd param.Field[time.Time] `json:"timeframe_end,required" format:"date-time"`
	// The (inclusive) start of the usage timeframe affected by this backfill.
	TimeframeStart param.Field[time.Time] `json:"timeframe_start,required" format:"date-time"`
	// The time at which no more events will be accepted for this backfill. The
	// backfill will automatically begin reflecting throughout Orb at the close time.
	// If not specified, it will default to 1 day after the creation of the backfill.
	CloseTime param.Field[time.Time] `json:"close_time" format:"date-time"`
	// The Orb-generated ID of the customer to which this backfill is scoped. Omitting
	// this field will scope the backfill to all customers.
	CustomerID param.Field[string] `json:"customer_id"`
	// A boolean
	// [computed property](/extensibility/advanced-metrics#computed-properties) used to
	// filter the set of events to deprecate
	DeprecationFilter param.Field[string] `json:"deprecation_filter"`
	// The external customer ID of the customer to which this backfill is scoped.
	// Omitting this field will scope the backfill to all customers.
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
	// If true, replaces all existing events in the timeframe with the newly ingested
	// events. If false, adds the newly ingested events to the existing events.
	ReplaceExistingEvents param.Field[bool] `json:"replace_existing_events"`
}

func (EventBackfillNewParams) MarshalJSON

func (r EventBackfillNewParams) MarshalJSON() (data []byte, err error)

type EventBackfillService

type EventBackfillService struct {
	Options []option.RequestOption
}

EventBackfillService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewEventBackfillService method instead.

func NewEventBackfillService

func NewEventBackfillService(opts ...option.RequestOption) (r *EventBackfillService)

NewEventBackfillService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*EventBackfillService) Close

func (r *EventBackfillService) Close(ctx context.Context, backfillID string, opts ...option.RequestOption) (res *shared.BackfillModel, err error)

Closing a backfill makes the updated usage visible in Orb. Upon closing a backfill, Orb will asynchronously reflect the updated usage in invoice amounts and usage graphs. Once all of the updates are complete, the backfill's status will transition to `reflected`.

func (*EventBackfillService) Fetch

func (r *EventBackfillService) Fetch(ctx context.Context, backfillID string, opts ...option.RequestOption) (res *shared.BackfillModel, err error)

This endpoint is used to fetch a backfill given an identifier.

func (*EventBackfillService) List

This endpoint returns a list of all backfills in a list format.

The list of backfills is ordered starting from the most recently created backfill. The response also includes [`pagination_metadata`](/api-reference/pagination), which lets the caller retrieve the next page of results if they exist. More information about pagination can be found in the [Pagination-metadata schema](pagination).

func (*EventBackfillService) ListAutoPaging

This endpoint returns a list of all backfills in a list format.

The list of backfills is ordered starting from the most recently created backfill. The response also includes [`pagination_metadata`](/api-reference/pagination), which lets the caller retrieve the next page of results if they exist. More information about pagination can be found in the [Pagination-metadata schema](pagination).

func (*EventBackfillService) New

Creating the backfill enables adding or replacing past events, even those that are older than the ingestion grace period. Performing a backfill in Orb involves 3 steps:

  1. Create the backfill, specifying its parameters.
  2. [Ingest](ingest) usage events, referencing the backfill (query parameter `backfill_id`).
  3. [Close](close-backfill) the backfill, propagating the update in past usage throughout Orb.

Changes from a backfill are not reflected until the backfill is closed, so you won’t need to worry about your customers seeing partially updated usage data. Backfills are also reversible, so you’ll be able to revert a backfill if you’ve made a mistake.

This endpoint will return a backfill object, which contains an `id`. That `id` can then be used as the `backfill_id` query parameter to the event ingestion endpoint to associate ingested events with this backfill. The effects (e.g. updated usage graphs) of this backfill will not take place until the backfill is closed.

If the `replace_existing_events` is `true`, existing events in the backfill's timeframe will be replaced with the newly ingested events associated with the backfill. If `false`, newly ingested events will be added to the existing events.

If a `customer_id` or `external_customer_id` is specified, the backfill will only affect events for that customer. If neither is specified, the backfill will affect all customers.

When `replace_existing_events` is `true`, this indicates that existing events in the timeframe should no longer be counted towards invoiced usage. In this scenario, the parameter `filter` can be optionally added which enables filtering using [computed properties](/extensibility/advanced-metrics#computed-properties). The expressiveness of computed properties allows you to deprecate existing events based on both a period of time and specific property values.

func (*EventBackfillService) Revert

func (r *EventBackfillService) Revert(ctx context.Context, backfillID string, opts ...option.RequestOption) (res *shared.BackfillModel, err error)

Reverting a backfill undoes all the effects of closing the backfill. If the backfill is reflected, the status will transition to `pending_revert` while the effects of the backfill are undone. Once all effects are undone, the backfill will transition to `reverted`.

If a backfill is reverted before its closed, no usage will be updated as a result of the backfill and it will immediately transition to `reverted`.

type EventDeprecateResponse

type EventDeprecateResponse struct {
	// event_id of the deprecated event, if successfully updated
	Deprecated string                     `json:"deprecated,required"`
	JSON       eventDeprecateResponseJSON `json:"-"`
}

func (*EventDeprecateResponse) UnmarshalJSON

func (r *EventDeprecateResponse) UnmarshalJSON(data []byte) (err error)

type EventIngestParams

type EventIngestParams struct {
	Events param.Field[[]EventIngestParamsEvent] `json:"events,required"`
	// If this ingestion request is part of a backfill, this parameter ties the
	// ingested events to the backfill
	BackfillID param.Field[string] `query:"backfill_id"`
	// Flag to enable additional debug information in the endpoint response
	Debug param.Field[bool] `query:"debug"`
}

func (EventIngestParams) MarshalJSON

func (r EventIngestParams) MarshalJSON() (data []byte, err error)

func (EventIngestParams) URLQuery

func (r EventIngestParams) URLQuery() (v url.Values)

URLQuery serializes EventIngestParams's query parameters as `url.Values`.

type EventIngestParamsEvent

type EventIngestParamsEvent struct {
	// A name to meaningfully identify the action or event type.
	EventName param.Field[string] `json:"event_name,required"`
	// A unique value, generated by the client, that is used to de-duplicate events.
	// Exactly one event with a given idempotency key will be ingested, which allows
	// for safe request retries.
	IdempotencyKey param.Field[string] `json:"idempotency_key,required"`
	// A dictionary of custom properties. Values in this dictionary must be numeric,
	// boolean, or strings. Nested dictionaries are disallowed.
	Properties param.Field[interface{}] `json:"properties,required"`
	// An ISO 8601 format date with no timezone offset (i.e. UTC). This should
	// represent the time that usage was recorded, and is particularly important to
	// attribute usage to a given billing period.
	Timestamp param.Field[time.Time] `json:"timestamp,required" format:"date-time"`
	// The Orb Customer identifier
	CustomerID param.Field[string] `json:"customer_id"`
	// An alias for the Orb customer, whose mapping is specified when creating the
	// customer
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
}

func (EventIngestParamsEvent) MarshalJSON

func (r EventIngestParamsEvent) MarshalJSON() (data []byte, err error)

type EventIngestResponse

type EventIngestResponse struct {
	// Contains all failing validation events. In the case of a 200, this array will
	// always be empty. This field will always be present.
	ValidationFailed []EventIngestResponseValidationFailed `json:"validation_failed,required"`
	// Optional debug information (only present when debug=true is passed to the
	// endpoint). Contains ingested and duplicate event idempotency keys.
	Debug EventIngestResponseDebug `json:"debug,nullable"`
	JSON  eventIngestResponseJSON  `json:"-"`
}

func (*EventIngestResponse) UnmarshalJSON

func (r *EventIngestResponse) UnmarshalJSON(data []byte) (err error)

type EventIngestResponseDebug

type EventIngestResponseDebug struct {
	Duplicate []string                     `json:"duplicate,required"`
	Ingested  []string                     `json:"ingested,required"`
	JSON      eventIngestResponseDebugJSON `json:"-"`
}

Optional debug information (only present when debug=true is passed to the endpoint). Contains ingested and duplicate event idempotency keys.

func (*EventIngestResponseDebug) UnmarshalJSON

func (r *EventIngestResponseDebug) UnmarshalJSON(data []byte) (err error)

type EventIngestResponseValidationFailed

type EventIngestResponseValidationFailed struct {
	// The passed idempotency_key corresponding to the validation_errors
	IdempotencyKey string `json:"idempotency_key,required"`
	// An array of strings corresponding to validation failures for this
	// idempotency_key.
	ValidationErrors []string                                `json:"validation_errors,required"`
	JSON             eventIngestResponseValidationFailedJSON `json:"-"`
}

func (*EventIngestResponseValidationFailed) UnmarshalJSON

func (r *EventIngestResponseValidationFailed) UnmarshalJSON(data []byte) (err error)

type EventSearchParams

type EventSearchParams struct {
	// This is an explicit array of IDs to filter by. Note that an event's ID is the
	// idempotency_key that was originally used for ingestion, and this only supports
	// events that have not been amended. Values in this array will be treated case
	// sensitively.
	EventIDs param.Field[[]string] `json:"event_ids,required"`
	// The end of the timeframe, exclusive, in which to search events. If not
	// specified, the current time is used.
	TimeframeEnd param.Field[time.Time] `json:"timeframe_end" format:"date-time"`
	// The start of the timeframe, inclusive, in which to search events. If not
	// specified, the one week ago is used.
	TimeframeStart param.Field[time.Time] `json:"timeframe_start" format:"date-time"`
}

func (EventSearchParams) MarshalJSON

func (r EventSearchParams) MarshalJSON() (data []byte, err error)

type EventSearchResponse

type EventSearchResponse struct {
	Data []EventSearchResponseData `json:"data,required"`
	JSON eventSearchResponseJSON   `json:"-"`
}

func (*EventSearchResponse) UnmarshalJSON

func (r *EventSearchResponse) UnmarshalJSON(data []byte) (err error)

type EventSearchResponseData

type EventSearchResponseData struct {
	// A unique value, generated by the client, that is used to de-duplicate events.
	// Exactly one event with a given idempotency key will be ingested, which allows
	// for safe request retries.
	ID string `json:"id,required"`
	// The Orb Customer identifier
	CustomerID string `json:"customer_id,required,nullable"`
	// A boolean indicating whether the event is currently deprecated.
	Deprecated bool `json:"deprecated,required"`
	// A name to meaningfully identify the action or event type.
	EventName string `json:"event_name,required"`
	// An alias for the Orb customer, whose mapping is specified when creating the
	// customer
	ExternalCustomerID string `json:"external_customer_id,required,nullable"`
	// A dictionary of custom properties. Values in this dictionary must be numeric,
	// boolean, or strings. Nested dictionaries are disallowed.
	Properties interface{} `json:"properties,required"`
	// An ISO 8601 format date with no timezone offset (i.e. UTC). This should
	// represent the time that usage was recorded, and is particularly important to
	// attribute usage to a given billing period.
	Timestamp time.Time                   `json:"timestamp,required" format:"date-time"`
	JSON      eventSearchResponseDataJSON `json:"-"`
}

The [Event](/core-concepts#event) resource represents a usage event that has been created for a customer. Events are the core of Orb's usage-based billing model, and are used to calculate the usage charges for a given billing period.

func (*EventSearchResponseData) UnmarshalJSON

func (r *EventSearchResponseData) UnmarshalJSON(data []byte) (err error)

type EventService

type EventService struct {
	Options   []option.RequestOption
	Backfills *EventBackfillService
	Volume    *EventVolumeService
}

EventService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewEventService method instead.

func NewEventService

func NewEventService(opts ...option.RequestOption) (r *EventService)

NewEventService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*EventService) Deprecate

func (r *EventService) Deprecate(ctx context.Context, eventID string, opts ...option.RequestOption) (res *EventDeprecateResponse, err error)

This endpoint is used to deprecate a single usage event with a given `event_id`. `event_id` refers to the `idempotency_key` passed in during ingestion.

This endpoint will mark the existing event as ignored. Note that if you attempt to re-ingest an event with the same `event_id` as a deprecated event, Orb will return an error.

This is a powerful and audit-safe mechanism to retroactively deprecate a single event in cases where you need to:

  • no longer bill for an event that was improperly reported
  • no longer bill for an event based on the result of an external API call (e.g. call to a payment gateway failed and the user should not be billed)

If you want to only change specific properties of an event, but keep the event as part of the billing calculation, use the [Amend event](amend-event) endpoint instead.

This API is always audit-safe. The process will still retain the deprecated event, though it will be ignored for billing calculations. For auditing and data fidelity purposes, Orb never overwrites or permanently deletes ingested usage data.

## Request validation

  • Orb does not accept an `idempotency_key` with the event in this endpoint, since this request is by design idempotent. On retryable errors, you should retry the request and assume the deprecation operation has not succeeded until receipt of a 2xx.
  • The event's `timestamp` must fall within the customer's current subscription's billing period, or within the grace period of the customer's current subscription's previous billing period. Orb does not allow deprecating events for billing periods that have already invoiced customers.
  • The `customer_id` or the `external_customer_id` of the original event ingestion request must identify a Customer resource within Orb, even if this event was ingested during the initial integration period. We do not allow deprecating events for customers not in the Orb system.
  • By default, no more than 100 events can be deprecated for a single customer in a 100 day period. For higher volume updates, consider using the [event backfill](create-backfill) endpoint.

func (*EventService) Ingest

func (r *EventService) Ingest(ctx context.Context, params EventIngestParams, opts ...option.RequestOption) (res *EventIngestResponse, err error)

Orb's event ingestion model and API is designed around two core principles:

  1. **Data fidelity**: The accuracy of your billing model depends on a robust foundation of events. Orb's API protocol encourages usage patterns that ensure that your data is consistently complete and correct.
  2. **Fast integration**: Sending events into Orb requires no tedious setup steps or explicit field schema for your event shape, making it instant to start streaming in usage in real-time.

## Event shape

Events are the starting point for all usage calculations in the system, and are simple at their core:

```ts

{
  // customer_id and external_customer_id are used to
  // attribute usage to a given Customer. Exactly one of these
  // should be specified in a given ingestion event.

  // `customer_id` is the Orb generated identifier for the Customer,
  // which is returned from the Create customer API call.
  customer_id: string,

  // external_customer_id is an alternate identifier which is associated
  // with a Customer at creation time. This is treated as an alias for
  // customer_id, and is usually set to an identifier native to your system.
  external_customer_id: string,

  // A string name identifying the event, usually a usage
  // action. By convention, this should not contain any whitespace.
  event_name: string,

  // An ISO 8601 format date with no timezone offset.
  // This should represent the time that usage occurred
  // and is important to attribute usage to a given
  // billing period. See the notes below on determining the timestamp.
  // e.g. 2020-12-09T16:09:53Z
  timestamp: string,

  // A unique value, generated by the client, that is
  // used to de-duplicate events.
  // Exactly one event with a given
  // idempotency key will be ingested, which allows for
  // safe request retries.
  idempotency_key: string

  // Optional custom metadata to attach to the event.
  // This might include a numeric value used for aggregation,
  // or a string/boolean value used for filtering.
  // The schema of this dictionary need not be pre-declared, and
  // properties can be added at any time.
  properties: {
    [key: string]?: string | number | boolean,
  },
}

```

## Required fields

Because events streamed to Orb are meant to be as flexible as possible, there are only a few required fields in every event.

  • We recommend that `idempotency_key` are unique strings that you generated with V4 UUIDs, but only require that they uniquely identify an event (i.e. don’t collide).
  • The `timestamp` field in the event body will be used to determine which billable period a given event falls into. For example, with a monthly billing cycle starting from the first of December, Orb will calculate metrics based on events that fall into the range `12-01 00:00:00 <= timestamp < 01-01 00:00:00`.

## Logging metadata

Orb allows tagging events with metadata using a flexible properties dictionary. Since Orb does not enforce a rigid schema for this field-set, key-value pairs can be added dynamically as your events evolve.

This dictionary can be helpful for a wide variety of use cases:

  • Numeric properties on events like `compute_time_ms` can later be inputs to our flexible query engine to determine usage.
  • Logging a region or cluster with each event can help you provide customers more granular visibility into their usage.
  • If you are using matrix pricing and matching a matrix price key with a property, you should ensure the value for that property is sent as a string.

We encourage logging this metadata with an eye towards future use cases to ensure full coverage for historical data. The datatype of the value in the properties dictionary is important for metric creation from an event source. Values that you wish to numerically aggregate should be of numeric type in the event.

## Determining event timestamp

For cases where usage is being reported in real time as it is occurring, timestamp should correspond to the time that usage occurred.

In cases where usage is reported in aggregate for a historical timeframe at a regular interval, we recommend setting the event `timestamp` to the midpoint of the interval. As an example, if you have an hourly reporter that sends data once an hour for the previous hour of usage, setting the `timestamp` to the half-hour mark will ensure that the usage is counted within the correct period.

Note that other time-related fields (e.g. time elapsed) can be added to the properties dictionary as necessary.

In cases where usage is reported in aggregate for a historical timeframe, the timestamp must be within the grace period set for your account. Events with `timestamp < current_time - grace_period` will not be accepted as a valid event, and will throw validation errors. Enforcing the grace period enables Orb to accurately map usage to the correct billing cycle and ensure that all usage is billed for in the corresponding billing period.

In general, Orb does not expect events with future dated timestamps. In cases where the timestamp is at least 24 hours ahead of the current time, the event will not be accepted as a valid event, and will throw validation errors.

## Event validation

Orb’s validation ensures that you recognize errors in your events as quickly as possible, and the API provides informative error messages to help you fix problems quickly.

We validate the following:

  • Exactly one of `customer_id` and `external_customer_id` should be specified.
  • If the `customer_id` is specified, the customer in Orb must exist.
  • If the `external_customer_id` is specified, the customer in Orb does not need to exist. Events will be attributed to any future customers with the `external_customer_id` on subscription creation.
  • `timestamp` must conform to ISO 8601 and represent a timestamp at most 1 hour in the future. This timestamp should be sent in UTC timezone (no timezone offset).

## Idempotency and retry semantics

Orb's idempotency guarantees allow you to implement safe retry logic in the event of network or machine failures, ensuring data fidelity. Each event in the request payload is associated with an idempotency key, and Orb guarantees that a single idempotency key will be successfully ingested at most once. Note that when Orb encounters events with duplicate idempotency keys and differing event bodies in a batch of events, the entire batch will be rejected.

  • Successful responses return a 200 HTTP status code. The response contains information about previously processed events.
  • Requests that return a `4xx` HTTP status code indicate a payload error and contain at least one event with a validation failure. An event with a validation failure can be re-sent to the ingestion endpoint (after the payload is fixed) with the original idempotency key since that key is not marked as processed.
  • Requests that return a `5xx` HTTP status code indicate a server-side failure. These requests should be retried in their entirety.

## API usage and limits

The ingestion API is designed made for real-time streaming ingestion and architected for high throughput. Even if events are later deemed unnecessary or filtered out, we encourage you to log them to Orb if they may be relevant to billing calculations in the future.

To take advantage of the real-time features of the Orb platform and avoid any chance of dropped events by producers, we recommend reporting events to Orb frequently. Optionally, events can also be briefly aggregated at the source, as this API accepts an array of event bodies.

Orb does not currently enforce a hard rate-limit for API usage or a maximum request payload size, but please give us a heads up if you’re changing either of these factors by an order of magnitude from initial setup.

## Testing in debug mode

The ingestion API supports a debug mode, which returns additional verbose output to indicate which event idempotency keys were newly ingested or duplicates from previous requests. To enable this mode, mark `debug=true` as a query parameter.

If `debug=true` is not specified, the response will only contain `validation_failed`. Orb will still honor the idempotency guarantees set [here](/events-and-metrics/event-ingestion#event-volume-and-concurrency) in all cases.

We strongly recommend that you only use debug mode as part of testing your initial Orb integration. Once you're ready to switch to production, disable debug mode to take advantage of improved performance and maximal throughput.

#### Example: ingestion response with `debug=true`

```json

{
  "debug": {
    "duplicate": [],
    "ingested": ["B7E83HDMfJPAunXW", "SJs5DQJ3TnwSqEZE", "8SivfDsNKwCeAXim"]
  },
  "validation_failed": []
}

```

#### Example: ingestion response with `debug=false`

```json

{
  "validation_failed": []
}

```

func (*EventService) Search

func (r *EventService) Search(ctx context.Context, body EventSearchParams, opts ...option.RequestOption) (res *EventSearchResponse, err error)

This endpoint returns a filtered set of events for an account in a [paginated list format](/api-reference/pagination).

Note that this is a `POST` endpoint rather than a `GET` endpoint because it employs a JSON body for search criteria rather than query parameters, allowing for a more flexible search syntax.

Note that a search criteria _must_ be specified. Currently, Orb supports the following criteria:

  • `event_ids`: This is an explicit array of IDs to filter by. Note that an event's ID is the `idempotency_key` that was originally used for ingestion.

By default, Orb will not throw a `404` if no events matched, Orb will return an empty array for `data` instead.

func (*EventService) Update

func (r *EventService) Update(ctx context.Context, eventID string, body EventUpdateParams, opts ...option.RequestOption) (res *EventUpdateResponse, err error)

This endpoint is used to amend a single usage event with a given `event_id`. `event_id` refers to the `idempotency_key` passed in during ingestion. The event will maintain its existing `event_id` after the amendment.

This endpoint will mark the existing event as ignored, and Orb will only use the new event passed in the body of this request as the source of truth for that `event_id`. Note that a single event can be amended any number of times, so the same event can be overwritten in subsequent calls to this endpoint. Only a single event with a given `event_id` will be considered the source of truth at any given time.

This is a powerful and audit-safe mechanism to retroactively update a single event in cases where you need to:

  • update an event with new metadata as you iterate on your pricing model
  • update an event based on the result of an external API call (e.g. call to a payment gateway succeeded or failed)

This amendment API is always audit-safe. The process will still retain the original event, though it will be ignored for billing calculations. For auditing and data fidelity purposes, Orb never overwrites or permanently deletes ingested usage data.

## Request validation

  • The `timestamp` of the new event must match the `timestamp` of the existing event already ingested. As with ingestion, all timestamps must be sent in ISO8601 format with UTC timezone offset.
  • The `customer_id` or `external_customer_id` of the new event must match the `customer_id` or `external_customer_id` of the existing event already ingested. Exactly one of `customer_id` and `external_customer_id` should be specified, and similar to ingestion, the ID must identify a Customer resource within Orb. Unlike ingestion, for event amendment, we strictly enforce that the Customer must be in the Orb system, even during the initial integration period. We do not allow updating the `Customer` an event is associated with.
  • Orb does not accept an `idempotency_key` with the event in this endpoint, since this request is by design idempotent. On retryable errors, you should retry the request and assume the amendment operation has not succeeded until receipt of a 2xx.
  • The event's `timestamp` must fall within the customer's current subscription's billing period, or within the grace period of the customer's current subscription's previous billing period.
  • By default, no more than 100 events can be amended for a single customer in a 100 day period. For higher volume updates, consider using the [event backfill](create-backfill) endpoint.

type EventUpdateParams

type EventUpdateParams struct {
	// A name to meaningfully identify the action or event type.
	EventName param.Field[string] `json:"event_name,required"`
	// A dictionary of custom properties. Values in this dictionary must be numeric,
	// boolean, or strings. Nested dictionaries are disallowed.
	Properties param.Field[interface{}] `json:"properties,required"`
	// An ISO 8601 format date with no timezone offset (i.e. UTC). This should
	// represent the time that usage was recorded, and is particularly important to
	// attribute usage to a given billing period.
	Timestamp param.Field[time.Time] `json:"timestamp,required" format:"date-time"`
	// The Orb Customer identifier
	CustomerID param.Field[string] `json:"customer_id"`
	// An alias for the Orb customer, whose mapping is specified when creating the
	// customer
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
}

func (EventUpdateParams) MarshalJSON

func (r EventUpdateParams) MarshalJSON() (data []byte, err error)

type EventUpdateResponse

type EventUpdateResponse struct {
	// event_id of the amended event, if successfully ingested
	Amended string                  `json:"amended,required"`
	JSON    eventUpdateResponseJSON `json:"-"`
}

func (*EventUpdateResponse) UnmarshalJSON

func (r *EventUpdateResponse) UnmarshalJSON(data []byte) (err error)

type EventVolumeListParams added in v0.72.0

type EventVolumeListParams struct {
	// The start of the timeframe, inclusive, in which to return event volume. All
	// datetime values are converted to UTC time. If the specified time isn't
	// hour-aligned, the response includes the event volume count for the hour the time
	// falls in.
	TimeframeStart param.Field[time.Time] `query:"timeframe_start,required" format:"date-time"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
	// The end of the timeframe, exclusive, in which to return event volume. If not
	// specified, the current time is used. All datetime values are converted to UTC
	// time.If the specified time isn't hour-aligned, the response includes the event
	// volumecount for the hour the time falls in.
	TimeframeEnd param.Field[time.Time] `query:"timeframe_end" format:"date-time"`
}

func (EventVolumeListParams) URLQuery added in v0.72.0

func (r EventVolumeListParams) URLQuery() (v url.Values)

URLQuery serializes EventVolumeListParams's query parameters as `url.Values`.

type EventVolumeService added in v0.72.0

type EventVolumeService struct {
	Options []option.RequestOption
}

EventVolumeService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewEventVolumeService method instead.

func NewEventVolumeService added in v0.72.0

func NewEventVolumeService(opts ...option.RequestOption) (r *EventVolumeService)

NewEventVolumeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*EventVolumeService) List added in v0.72.0

This endpoint returns the event volume for an account in a [paginated list format](/api-reference/pagination).

The event volume is aggregated by the hour and the [timestamp](/api-reference/event/ingest-events) field is used to determine which hour an event is associated with. Note, this means that late-arriving events increment the volume count for the hour window the timestamp is in, not the latest hour window.

Each item in the response contains the count of events aggregated by the hour where the start and end time are hour-aligned and in UTC. When a specific timestamp is passed in for either start or end time, the response includes the hours the timestamp falls in.

type EventVolumes added in v0.72.0

type EventVolumes struct {
	Data []EventVolumesData `json:"data,required"`
	JSON eventVolumesJSON   `json:"-"`
}

func (*EventVolumes) UnmarshalJSON added in v0.72.0

func (r *EventVolumes) UnmarshalJSON(data []byte) (err error)

type EventVolumesData added in v0.72.0

type EventVolumesData struct {
	// The number of events ingested with a timestamp between the timeframe
	Count          int64                `json:"count,required"`
	TimeframeEnd   time.Time            `json:"timeframe_end,required" format:"date-time"`
	TimeframeStart time.Time            `json:"timeframe_start,required" format:"date-time"`
	JSON           eventVolumesDataJSON `json:"-"`
}

An EventVolume contains the event volume ingested in an hourly window. The timestamp used for the aggregation is the `timestamp` datetime field on events.

func (*EventVolumesData) UnmarshalJSON added in v0.72.0

func (r *EventVolumesData) UnmarshalJSON(data []byte) (err error)

type FixedFeeQuantityScheduleEntryModel added in v0.103.0

type FixedFeeQuantityScheduleEntryModel = shared.FixedFeeQuantityScheduleEntryModel

This is an alias to an internal type.

type InvoiceFetchUpcomingParams

type InvoiceFetchUpcomingParams struct {
	SubscriptionID param.Field[string] `query:"subscription_id,required"`
}

func (InvoiceFetchUpcomingParams) URLQuery

func (r InvoiceFetchUpcomingParams) URLQuery() (v url.Values)

URLQuery serializes InvoiceFetchUpcomingParams's query parameters as `url.Values`.

type InvoiceFetchUpcomingResponse

type InvoiceFetchUpcomingResponse struct {
	ID string `json:"id,required"`
	// This is the final amount required to be charged to the customer and reflects the
	// application of the customer balance to the `total` of the invoice.
	AmountDue      string                     `json:"amount_due,required"`
	AutoCollection shared.AutoCollectionModel `json:"auto_collection,required"`
	BillingAddress shared.AddressModel        `json:"billing_address,required,nullable"`
	// The creation time of the resource in Orb.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A list of credit notes associated with the invoice
	CreditNotes []shared.CreditNoteSummaryModel `json:"credit_notes,required"`
	// An ISO 4217 currency string or `credits`
	Currency                    string                                   `json:"currency,required"`
	Customer                    shared.CustomerMinifiedModel             `json:"customer,required"`
	CustomerBalanceTransactions []shared.CustomerBalanceTransactionModel `json:"customer_balance_transactions,required"`
	// Tax IDs are commonly required to be displayed on customer invoices, which are
	// added to the headers of invoices.
	//
	// ### Supported Tax ID Countries and Types
	//
	// | Country              | Type         | Description                                                                                             |
	// | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Andorra              | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Argentina            | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Australia            | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia            | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bahrain              | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Belgium              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bolivia              | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Brazil               | `br_cnpj`    | Brazilian CNPJ Number                                                                                   |
	// | Brazil               | `br_cpf`     | Brazilian CPF Number                                                                                    |
	// | Bulgaria             | `bg_uic`     | Bulgaria Unified Identification Code                                                                    |
	// | Bulgaria             | `eu_vat`     | European VAT Number                                                                                     |
	// | Canada               | `ca_bn`      | Canadian BN                                                                                             |
	// | Canada               | `ca_gst_hst` | Canadian GST/HST Number                                                                                 |
	// | Canada               | `ca_pst_bc`  | Canadian PST Number (British Columbia)                                                                  |
	// | Canada               | `ca_pst_mb`  | Canadian PST Number (Manitoba)                                                                          |
	// | Canada               | `ca_pst_sk`  | Canadian PST Number (Saskatchewan)                                                                      |
	// | Canada               | `ca_qst`     | Canadian QST Number (Québec)                                                                            |
	// | Chile                | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia             | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Costa Rica           | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia              | `eu_vat`     | European VAT Number                                                                                     |
	// | Cyprus               | `eu_vat`     | European VAT Number                                                                                     |
	// | Czech Republic       | `eu_vat`     | European VAT Number                                                                                     |
	// | Denmark              | `eu_vat`     | European VAT Number                                                                                     |
	// | Dominican Republic   | `do_rcn`     | Dominican RCN Number                                                                                    |
	// | Ecuador              | `ec_ruc`     | Ecuadorian RUC Number                                                                                   |
	// | Egypt                | `eg_tin`     | Egyptian Tax Identification Number                                                                      |
	// | El Salvador          | `sv_nit`     | El Salvadorian NIT Number                                                                               |
	// | Estonia              | `eu_vat`     | European VAT Number                                                                                     |
	// | EU                   | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme                                                  |
	// | Finland              | `eu_vat`     | European VAT Number                                                                                     |
	// | France               | `eu_vat`     | European VAT Number                                                                                     |
	// | Georgia              | `ge_vat`     | Georgian VAT                                                                                            |
	// | Germany              | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece               | `eu_vat`     | European VAT Number                                                                                     |
	// | Hong Kong            | `hk_br`      | Hong Kong BR Number                                                                                     |
	// | Hungary              | `eu_vat`     | European VAT Number                                                                                     |
	// | Hungary              | `hu_tin`     | Hungary Tax Number (adószám)                                                                            |
	// | Iceland              | `is_vat`     | Icelandic VAT                                                                                           |
	// | India                | `in_gst`     | Indian GST Number                                                                                       |
	// | Indonesia            | `id_npwp`    | Indonesian NPWP Number                                                                                  |
	// | Ireland              | `eu_vat`     | European VAT Number                                                                                     |
	// | Israel               | `il_vat`     | Israel VAT                                                                                              |
	// | Italy                | `eu_vat`     | European VAT Number                                                                                     |
	// | Japan                | `jp_cn`      | Japanese Corporate Number (_Hōjin Bangō_)                                                               |
	// | Japan                | `jp_rn`      | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
	// | Japan                | `jp_trn`     | Japanese Tax Registration Number (_Tōroku Bangō_)                                                       |
	// | Kazakhstan           | `kz_bin`     | Kazakhstani Business Identification Number                                                              |
	// | Kenya                | `ke_pin`     | Kenya Revenue Authority Personal Identification Number                                                  |
	// | Latvia               | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein        | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Lithuania            | `eu_vat`     | European VAT Number                                                                                     |
	// | Luxembourg           | `eu_vat`     | European VAT Number                                                                                     |
	// | Malaysia             | `my_frp`     | Malaysian FRP Number                                                                                    |
	// | Malaysia             | `my_itn`     | Malaysian ITN                                                                                           |
	// | Malaysia             | `my_sst`     | Malaysian SST Number                                                                                    |
	// | Malta                | `eu_vat `    | European VAT Number                                                                                     |
	// | Mexico               | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Netherlands          | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand          | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria              | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | Norway               | `no_vat`     | Norwegian VAT Number                                                                                    |
	// | Norway               | `no_voec`    | Norwegian VAT on e-commerce Number                                                                      |
	// | Oman                 | `om_vat`     | Omani VAT Number                                                                                        |
	// | Peru                 | `pe_ruc`     | Peruvian RUC Number                                                                                     |
	// | Philippines          | `ph_tin `    | Philippines Tax Identification Number                                                                   |
	// | Poland               | `eu_vat`     | European VAT Number                                                                                     |
	// | Portugal             | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `ro_tin`     | Romanian Tax ID Number                                                                                  |
	// | Russia               | `ru_inn`     | Russian INN                                                                                             |
	// | Russia               | `ru_kpp`     | Russian KPP                                                                                             |
	// | Saudi Arabia         | `sa_vat`     | Saudi Arabia VAT                                                                                        |
	// | Serbia               | `rs_pib`     | Serbian PIB Number                                                                                      |
	// | Singapore            | `sg_gst`     | Singaporean GST                                                                                         |
	// | Singapore            | `sg_uen`     | Singaporean UEN                                                                                         |
	// | Slovakia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `si_tin`     | Slovenia Tax Number (davčna številka)                                                                   |
	// | South Africa         | `za_vat`     | South African VAT Number                                                                                |
	// | South Korea          | `kr_brn`     | Korean BRN                                                                                              |
	// | Spain                | `es_cif`     | Spanish NIF Number (previously Spanish CIF Number)                                                      |
	// | Spain                | `eu_vat`     | European VAT Number                                                                                     |
	// | Sweden               | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland          | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan               | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Thailand             | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey               | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Ukraine              | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom       | `eu_vat`     | Northern Ireland VAT Number                                                                             |
	// | United Kingdom       | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States        | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay              | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Venezuela            | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam              | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	CustomerTaxID shared.CustomerTaxIDModel `json:"customer_tax_id,required,nullable"`
	// This field is deprecated in favor of `discounts`. If a `discounts` list is
	// provided, the first discount in the list will be returned. If the list is empty,
	// `None` will be returned.
	//
	// Deprecated: deprecated
	Discount  interface{}                   `json:"discount,required"`
	Discounts []shared.InvoiceLevelDiscount `json:"discounts,required"`
	// When the invoice payment is due. The due date is null if the invoice is not yet
	// finalized.
	DueDate time.Time `json:"due_date,required,nullable" format:"date-time"`
	// If the invoice has a status of `draft`, this will be the time that the invoice
	// will be eligible to be issued, otherwise it will be `null`. If `auto-issue` is
	// true, the invoice will automatically begin issuing at this time.
	EligibleToIssueAt time.Time `json:"eligible_to_issue_at,required,nullable" format:"date-time"`
	// A URL for the customer-facing invoice portal. This URL expires 30 days after the
	// invoice's due date, or 60 days after being re-generated through the UI.
	HostedInvoiceURL string `json:"hosted_invoice_url,required,nullable"`
	// Automatically generated invoice number to help track and reconcile invoices.
	// Invoice numbers have a prefix such as `RFOBWG`. These can be sequential per
	// account or customer.
	InvoiceNumber string `json:"invoice_number,required"`
	// The link to download the PDF representation of the `Invoice`.
	InvoicePdf    string                                    `json:"invoice_pdf,required,nullable"`
	InvoiceSource InvoiceFetchUpcomingResponseInvoiceSource `json:"invoice_source,required"`
	// If the invoice failed to issue, this will be the last time it failed to issue
	// (even if it is now in a different state.)
	IssueFailedAt time.Time `json:"issue_failed_at,required,nullable" format:"date-time"`
	// If the invoice has been issued, this will be the time it transitioned to
	// `issued` (even if it is now in a different state.)
	IssuedAt time.Time `json:"issued_at,required,nullable" format:"date-time"`
	// The breakdown of prices in this invoice.
	LineItems     []shared.InvoiceLineItemModel `json:"line_items,required"`
	Maximum       shared.MaximumModel           `json:"maximum,required,nullable"`
	MaximumAmount string                        `json:"maximum_amount,required,nullable"`
	// Free-form text which is available on the invoice PDF and the Orb invoice portal.
	Memo string `json:"memo,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata      map[string]string   `json:"metadata,required"`
	Minimum       shared.MinimumModel `json:"minimum,required,nullable"`
	MinimumAmount string              `json:"minimum_amount,required,nullable"`
	// If the invoice has a status of `paid`, this gives a timestamp when the invoice
	// was paid.
	PaidAt time.Time `json:"paid_at,required,nullable" format:"date-time"`
	// A list of payment attempts associated with the invoice
	PaymentAttempts []shared.PaymentAttemptModel `json:"payment_attempts,required"`
	// If payment was attempted on this invoice but failed, this will be the time of
	// the most recent attempt.
	PaymentFailedAt time.Time `json:"payment_failed_at,required,nullable" format:"date-time"`
	// If payment was attempted on this invoice, this will be the start time of the
	// most recent attempt. This field is especially useful for delayed-notification
	// payment mechanisms (like bank transfers), where payment can take 3 days or more.
	PaymentStartedAt time.Time `json:"payment_started_at,required,nullable" format:"date-time"`
	// If the invoice is in draft, this timestamp will reflect when the invoice is
	// scheduled to be issued.
	ScheduledIssueAt time.Time                          `json:"scheduled_issue_at,required,nullable" format:"date-time"`
	ShippingAddress  shared.AddressModel                `json:"shipping_address,required,nullable"`
	Status           InvoiceFetchUpcomingResponseStatus `json:"status,required"`
	Subscription     shared.SubscriptionMinifiedModel   `json:"subscription,required,nullable"`
	// The total before any discounts and minimums are applied.
	Subtotal string `json:"subtotal,required"`
	// If the invoice failed to sync, this will be the last time an external invoicing
	// provider sync was attempted. This field will always be `null` for invoices using
	// Orb Invoicing.
	SyncFailedAt time.Time `json:"sync_failed_at,required,nullable" format:"date-time"`
	// The scheduled date of the invoice
	TargetDate time.Time `json:"target_date,required" format:"date-time"`
	// The total after any minimums and discounts have been applied.
	Total string `json:"total,required"`
	// If the invoice has a status of `void`, this gives a timestamp when the invoice
	// was voided.
	VoidedAt time.Time `json:"voided_at,required,nullable" format:"date-time"`
	// This is true if the invoice will be automatically issued in the future, and
	// false otherwise.
	WillAutoIssue bool                             `json:"will_auto_issue,required"`
	JSON          invoiceFetchUpcomingResponseJSON `json:"-"`
}

func (*InvoiceFetchUpcomingResponse) UnmarshalJSON

func (r *InvoiceFetchUpcomingResponse) UnmarshalJSON(data []byte) (err error)

type InvoiceFetchUpcomingResponseInvoiceSource added in v0.25.0

type InvoiceFetchUpcomingResponseInvoiceSource string
const (
	InvoiceFetchUpcomingResponseInvoiceSourceSubscription InvoiceFetchUpcomingResponseInvoiceSource = "subscription"
	InvoiceFetchUpcomingResponseInvoiceSourcePartial      InvoiceFetchUpcomingResponseInvoiceSource = "partial"
	InvoiceFetchUpcomingResponseInvoiceSourceOneOff       InvoiceFetchUpcomingResponseInvoiceSource = "one_off"
)

func (InvoiceFetchUpcomingResponseInvoiceSource) IsKnown added in v0.25.0

type InvoiceFetchUpcomingResponseStatus

type InvoiceFetchUpcomingResponseStatus string
const (
	InvoiceFetchUpcomingResponseStatusIssued InvoiceFetchUpcomingResponseStatus = "issued"
	InvoiceFetchUpcomingResponseStatusPaid   InvoiceFetchUpcomingResponseStatus = "paid"
	InvoiceFetchUpcomingResponseStatusSynced InvoiceFetchUpcomingResponseStatus = "synced"
	InvoiceFetchUpcomingResponseStatusVoid   InvoiceFetchUpcomingResponseStatus = "void"
	InvoiceFetchUpcomingResponseStatusDraft  InvoiceFetchUpcomingResponseStatus = "draft"
)

func (InvoiceFetchUpcomingResponseStatus) IsKnown added in v0.24.0

type InvoiceIssueParams added in v0.71.0

type InvoiceIssueParams struct {
	// If true, the invoice will be issued synchronously. If false, the invoice will be
	// issued asynchronously. The synchronous option is only available for invoices
	// that have no usage fees. If the invoice is configured to sync to an external
	// provider, a successful response from this endpoint guarantees the invoice is
	// present in the provider.
	Synchronous param.Field[bool] `json:"synchronous"`
}

func (InvoiceIssueParams) MarshalJSON added in v0.71.0

func (r InvoiceIssueParams) MarshalJSON() (data []byte, err error)

type InvoiceLevelDiscount added in v0.67.0

type InvoiceLevelDiscount = shared.InvoiceLevelDiscount

This is an alias to an internal type.

type InvoiceLevelDiscountDiscountType added in v0.67.0

type InvoiceLevelDiscountDiscountType = shared.InvoiceLevelDiscountDiscountType

This is an alias to an internal type.

type InvoiceLineItemModel added in v0.103.0

type InvoiceLineItemModel = shared.InvoiceLineItemModel

This is an alias to an internal type.

type InvoiceLineItemModelAdjustment added in v0.103.0

type InvoiceLineItemModelAdjustment = shared.InvoiceLineItemModelAdjustment

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsAdjustmentType added in v0.103.0

type InvoiceLineItemModelAdjustmentsAdjustmentType = shared.InvoiceLineItemModelAdjustmentsAdjustmentType

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustment added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustment = shared.InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustment

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustmentAdjustmentType added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustmentAdjustmentType = shared.InvoiceLineItemModelAdjustmentsMonetaryAmountDiscountAdjustmentAdjustmentType

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustment added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustment = shared.InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustment

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustmentAdjustmentType added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustmentAdjustmentType = shared.InvoiceLineItemModelAdjustmentsMonetaryMaximumAdjustmentAdjustmentType

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustment added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustment = shared.InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustment

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustmentAdjustmentType added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustmentAdjustmentType = shared.InvoiceLineItemModelAdjustmentsMonetaryMinimumAdjustmentAdjustmentType

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustment added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustment = shared.InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustment

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustmentAdjustmentType added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustmentAdjustmentType = shared.InvoiceLineItemModelAdjustmentsMonetaryPercentageDiscountAdjustmentAdjustmentType

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustment added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustment = shared.InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustment

This is an alias to an internal type.

type InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustmentAdjustmentType added in v0.103.0

type InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustmentAdjustmentType = shared.InvoiceLineItemModelAdjustmentsMonetaryUsageDiscountAdjustmentAdjustmentType

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItem added in v0.103.0

type InvoiceLineItemModelSubLineItem = shared.InvoiceLineItemModelSubLineItem

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsMatrixSubLineItem added in v0.103.0

type InvoiceLineItemModelSubLineItemsMatrixSubLineItem = shared.InvoiceLineItemModelSubLineItemsMatrixSubLineItem

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsMatrixSubLineItemMatrixConfig added in v0.103.0

type InvoiceLineItemModelSubLineItemsMatrixSubLineItemMatrixConfig = shared.InvoiceLineItemModelSubLineItemsMatrixSubLineItemMatrixConfig

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsMatrixSubLineItemType added in v0.103.0

type InvoiceLineItemModelSubLineItemsMatrixSubLineItemType = shared.InvoiceLineItemModelSubLineItemsMatrixSubLineItemType

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsOtherSubLineItem added in v0.103.0

type InvoiceLineItemModelSubLineItemsOtherSubLineItem = shared.InvoiceLineItemModelSubLineItemsOtherSubLineItem

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsOtherSubLineItemType added in v0.103.0

type InvoiceLineItemModelSubLineItemsOtherSubLineItemType = shared.InvoiceLineItemModelSubLineItemsOtherSubLineItemType

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsTierSubLineItem added in v0.103.0

type InvoiceLineItemModelSubLineItemsTierSubLineItem = shared.InvoiceLineItemModelSubLineItemsTierSubLineItem

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsTierSubLineItemTierConfig added in v0.103.0

type InvoiceLineItemModelSubLineItemsTierSubLineItemTierConfig = shared.InvoiceLineItemModelSubLineItemsTierSubLineItemTierConfig

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsTierSubLineItemType added in v0.103.0

type InvoiceLineItemModelSubLineItemsTierSubLineItemType = shared.InvoiceLineItemModelSubLineItemsTierSubLineItemType

This is an alias to an internal type.

type InvoiceLineItemModelSubLineItemsType added in v0.103.0

type InvoiceLineItemModelSubLineItemsType = shared.InvoiceLineItemModelSubLineItemsType

This is an alias to an internal type.

type InvoiceLineItemNewParams

type InvoiceLineItemNewParams struct {
	// The total amount in the invoice's currency to add to the line item.
	Amount param.Field[string] `json:"amount,required"`
	// A date string to specify the line item's end date in the customer's timezone.
	EndDate param.Field[time.Time] `json:"end_date,required" format:"date"`
	// The id of the Invoice to add this line item.
	InvoiceID param.Field[string] `json:"invoice_id,required"`
	// The item name associated with this line item. If an item with the same name
	// exists in Orb, that item will be associated with the line item.
	Name param.Field[string] `json:"name,required"`
	// The number of units on the line item
	Quantity param.Field[float64] `json:"quantity,required"`
	// A date string to specify the line item's start date in the customer's timezone.
	StartDate param.Field[time.Time] `json:"start_date,required" format:"date"`
}

func (InvoiceLineItemNewParams) MarshalJSON

func (r InvoiceLineItemNewParams) MarshalJSON() (data []byte, err error)

type InvoiceLineItemService

type InvoiceLineItemService struct {
	Options []option.RequestOption
}

InvoiceLineItemService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewInvoiceLineItemService method instead.

func NewInvoiceLineItemService

func NewInvoiceLineItemService(opts ...option.RequestOption) (r *InvoiceLineItemService)

NewInvoiceLineItemService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*InvoiceLineItemService) New

This creates a one-off fixed fee invoice line item on an Invoice. This can only be done for invoices that are in a `draft` status.

type InvoiceListParams

type InvoiceListParams struct {
	Amount   param.Field[string] `query:"amount"`
	AmountGt param.Field[string] `query:"amount[gt]"`
	AmountLt param.Field[string] `query:"amount[lt]"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor     param.Field[string]                    `query:"cursor"`
	CustomerID param.Field[string]                    `query:"customer_id"`
	DateType   param.Field[InvoiceListParamsDateType] `query:"date_type"`
	DueDate    param.Field[time.Time]                 `query:"due_date" format:"date"`
	// Filters invoices by their due dates within a specific time range in the past.
	// Specify the range as a number followed by 'd' (days) or 'm' (months). For
	// example, '7d' filters invoices due in the last 7 days, and '2m' filters those
	// due in the last 2 months.
	DueDateWindow      param.Field[string]    `query:"due_date_window"`
	DueDateGt          param.Field[time.Time] `query:"due_date[gt]" format:"date"`
	DueDateLt          param.Field[time.Time] `query:"due_date[lt]" format:"date"`
	ExternalCustomerID param.Field[string]    `query:"external_customer_id"`
	InvoiceDateGt      param.Field[time.Time] `query:"invoice_date[gt]" format:"date-time"`
	InvoiceDateGte     param.Field[time.Time] `query:"invoice_date[gte]" format:"date-time"`
	InvoiceDateLt      param.Field[time.Time] `query:"invoice_date[lt]" format:"date-time"`
	InvoiceDateLte     param.Field[time.Time] `query:"invoice_date[lte]" format:"date-time"`
	IsRecurring        param.Field[bool]      `query:"is_recurring"`
	// The number of items to fetch. Defaults to 20.
	Limit          param.Field[int64]                     `query:"limit"`
	Status         param.Field[[]InvoiceListParamsStatus] `query:"status"`
	SubscriptionID param.Field[string]                    `query:"subscription_id"`
}

func (InvoiceListParams) URLQuery

func (r InvoiceListParams) URLQuery() (v url.Values)

URLQuery serializes InvoiceListParams's query parameters as `url.Values`.

type InvoiceListParamsDateType

type InvoiceListParamsDateType string
const (
	InvoiceListParamsDateTypeDueDate     InvoiceListParamsDateType = "due_date"
	InvoiceListParamsDateTypeInvoiceDate InvoiceListParamsDateType = "invoice_date"
)

func (InvoiceListParamsDateType) IsKnown added in v0.24.0

func (r InvoiceListParamsDateType) IsKnown() bool

type InvoiceListParamsStatus

type InvoiceListParamsStatus string
const (
	InvoiceListParamsStatusDraft  InvoiceListParamsStatus = "draft"
	InvoiceListParamsStatusIssued InvoiceListParamsStatus = "issued"
	InvoiceListParamsStatusPaid   InvoiceListParamsStatus = "paid"
	InvoiceListParamsStatusSynced InvoiceListParamsStatus = "synced"
	InvoiceListParamsStatusVoid   InvoiceListParamsStatus = "void"
)

func (InvoiceListParamsStatus) IsKnown added in v0.24.0

func (r InvoiceListParamsStatus) IsKnown() bool

type InvoiceMarkPaidParams

type InvoiceMarkPaidParams struct {
	// A date string to specify the date of the payment.
	PaymentReceivedDate param.Field[time.Time] `json:"payment_received_date,required" format:"date"`
	// An optional external ID to associate with the payment.
	ExternalID param.Field[string] `json:"external_id"`
	// An optional note to associate with the payment.
	Notes param.Field[string] `json:"notes"`
}

func (InvoiceMarkPaidParams) MarshalJSON

func (r InvoiceMarkPaidParams) MarshalJSON() (data []byte, err error)

type InvoiceModel added in v0.103.0

type InvoiceModel = shared.InvoiceModel

An [`Invoice`](/core-concepts#invoice) is a fundamental billing entity, representing the request for payment for a single subscription. This includes a set of line items, which correspond to prices in the subscription's plan and can represent fixed recurring fees or usage-based fees. They are generated at the end of a billing period, or as the result of an action, such as a cancellation.

This is an alias to an internal type.

type InvoiceModelInvoiceSource added in v0.103.0

type InvoiceModelInvoiceSource = shared.InvoiceModelInvoiceSource

This is an alias to an internal type.

type InvoiceModelStatus added in v0.103.0

type InvoiceModelStatus = shared.InvoiceModelStatus

This is an alias to an internal type.

type InvoiceNewParams

type InvoiceNewParams struct {
	// An ISO 4217 currency string. Must be the same as the customer's currency if it
	// is set.
	Currency param.Field[string] `json:"currency,required"`
	// Optional invoice date to set. Must be in the past, if not set, `invoice_date` is
	// set to the current time in the customer's timezone.
	InvoiceDate param.Field[time.Time]                  `json:"invoice_date,required" format:"date-time"`
	LineItems   param.Field[[]InvoiceNewParamsLineItem] `json:"line_items,required"`
	// Determines the difference between the invoice issue date for subscription
	// invoices as the date that they are due. A value of '0' here represents that the
	// invoice is due on issue, whereas a value of 30 represents that the customer has
	// 30 days to pay the invoice.
	NetTerms param.Field[int64] `json:"net_terms,required"`
	// The id of the `Customer` to create this invoice for. One of `customer_id` and
	// `external_customer_id` are required.
	CustomerID param.Field[string] `json:"customer_id"`
	// An optional discount to attach to the invoice.
	Discount param.Field[shared.DiscountUnionParam] `json:"discount"`
	// The `external_customer_id` of the `Customer` to create this invoice for. One of
	// `customer_id` and `external_customer_id` are required.
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
	// An optional memo to attach to the invoice.
	Memo param.Field[string] `json:"memo"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// When true, this invoice will automatically be issued upon creation. When false,
	// the resulting invoice will require manual review to issue. Defaulted to false.
	WillAutoIssue param.Field[bool] `json:"will_auto_issue"`
}

func (InvoiceNewParams) MarshalJSON

func (r InvoiceNewParams) MarshalJSON() (data []byte, err error)

type InvoiceNewParamsLineItem

type InvoiceNewParamsLineItem struct {
	// A date string to specify the line item's end date in the customer's timezone.
	EndDate   param.Field[time.Time]                          `json:"end_date,required" format:"date"`
	ItemID    param.Field[string]                             `json:"item_id,required"`
	ModelType param.Field[InvoiceNewParamsLineItemsModelType] `json:"model_type,required"`
	// The name of the line item.
	Name param.Field[string] `json:"name,required"`
	// The number of units on the line item
	Quantity param.Field[float64] `json:"quantity,required"`
	// A date string to specify the line item's start date in the customer's timezone.
	StartDate  param.Field[time.Time]                   `json:"start_date,required" format:"date"`
	UnitConfig param.Field[shared.UnitConfigModelParam] `json:"unit_config,required"`
}

func (InvoiceNewParamsLineItem) MarshalJSON

func (r InvoiceNewParamsLineItem) MarshalJSON() (data []byte, err error)

type InvoiceNewParamsLineItemsModelType

type InvoiceNewParamsLineItemsModelType string
const (
	InvoiceNewParamsLineItemsModelTypeUnit InvoiceNewParamsLineItemsModelType = "unit"
)

func (InvoiceNewParamsLineItemsModelType) IsKnown added in v0.24.0

type InvoiceService

type InvoiceService struct {
	Options []option.RequestOption
}

InvoiceService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewInvoiceService method instead.

func NewInvoiceService

func NewInvoiceService(opts ...option.RequestOption) (r *InvoiceService)

NewInvoiceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*InvoiceService) Fetch

func (r *InvoiceService) Fetch(ctx context.Context, invoiceID string, opts ...option.RequestOption) (res *shared.InvoiceModel, err error)

This endpoint is used to fetch an [`Invoice`](/core-concepts#invoice) given an identifier.

func (*InvoiceService) FetchUpcoming

This endpoint can be used to fetch the upcoming [invoice](/core-concepts#invoice) for the current billing period given a subscription.

func (*InvoiceService) Issue

func (r *InvoiceService) Issue(ctx context.Context, invoiceID string, body InvoiceIssueParams, opts ...option.RequestOption) (res *shared.InvoiceModel, err error)

This endpoint allows an eligible invoice to be issued manually. This is only possible with invoices where status is `draft`, `will_auto_issue` is false, and an `eligible_to_issue_at` is a time in the past. Issuing an invoice could possibly trigger side effects, some of which could be customer-visible (e.g. sending emails, auto-collecting payment, syncing the invoice to external providers, etc).

func (*InvoiceService) List

This endpoint returns a list of all [`Invoice`](/core-concepts#invoice)s for an account in a list format.

The list of invoices is ordered starting from the most recently issued invoice date. The response also includes [`pagination_metadata`](/api-reference/pagination), which lets the caller retrieve the next page of results if they exist.

By default, this only returns invoices that are `issued`, `paid`, or `synced`.

When fetching any `draft` invoices, this returns the last-computed invoice values for each draft invoice, which may not always be up-to-date since Orb regularly refreshes invoices asynchronously.

func (*InvoiceService) ListAutoPaging

This endpoint returns a list of all [`Invoice`](/core-concepts#invoice)s for an account in a list format.

The list of invoices is ordered starting from the most recently issued invoice date. The response also includes [`pagination_metadata`](/api-reference/pagination), which lets the caller retrieve the next page of results if they exist.

By default, this only returns invoices that are `issued`, `paid`, or `synced`.

When fetching any `draft` invoices, this returns the last-computed invoice values for each draft invoice, which may not always be up-to-date since Orb regularly refreshes invoices asynchronously.

func (*InvoiceService) MarkPaid

func (r *InvoiceService) MarkPaid(ctx context.Context, invoiceID string, body InvoiceMarkPaidParams, opts ...option.RequestOption) (res *shared.InvoiceModel, err error)

This endpoint allows an invoice's status to be set the `paid` status. This can only be done to invoices that are in the `issued` status.

func (*InvoiceService) New

This endpoint is used to create a one-off invoice for a customer.

func (*InvoiceService) Pay added in v0.82.0

func (r *InvoiceService) Pay(ctx context.Context, invoiceID string, opts ...option.RequestOption) (res *shared.InvoiceModel, err error)

This endpoint collects payment for an invoice using the customer's default payment method. This action can only be taken on invoices with status "issued".

func (*InvoiceService) Update added in v0.42.0

func (r *InvoiceService) Update(ctx context.Context, invoiceID string, body InvoiceUpdateParams, opts ...option.RequestOption) (res *shared.InvoiceModel, err error)

This endpoint allows you to update the `metadata` property on an invoice. If you pass null for the metadata value, it will clear any existing metadata for that invoice.

`metadata` can be modified regardless of invoice state.

func (*InvoiceService) Void

func (r *InvoiceService) Void(ctx context.Context, invoiceID string, opts ...option.RequestOption) (res *shared.InvoiceModel, err error)

This endpoint allows an invoice's status to be set the `void` status. This can only be done to invoices that are in the `issued` status.

If the associated invoice has used the customer balance to change the amount due, the customer balance operation will be reverted. For example, if the invoice used $10 of customer balance, that amount will be added back to the customer balance upon voiding.

If the invoice was used to purchase a credit block, but the invoice is not yet paid, the credit block will be voided. If the invoice was created due to a top-up, the top-up will be disabled.

type InvoiceUpdateParams added in v0.42.0

type InvoiceUpdateParams struct {
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (InvoiceUpdateParams) MarshalJSON added in v0.42.0

func (r InvoiceUpdateParams) MarshalJSON() (data []byte, err error)

type ItemExternalConnectionModel added in v0.103.0

type ItemExternalConnectionModel = shared.ItemExternalConnectionModel

This is an alias to an internal type.

type ItemExternalConnectionModelExternalConnectionName added in v0.103.0

type ItemExternalConnectionModelExternalConnectionName = shared.ItemExternalConnectionModelExternalConnectionName

This is an alias to an internal type.

type ItemExternalConnectionModelParam added in v0.103.0

type ItemExternalConnectionModelParam = shared.ItemExternalConnectionModelParam

This is an alias to an internal type.

type ItemListParams

type ItemListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (ItemListParams) URLQuery

func (r ItemListParams) URLQuery() (v url.Values)

URLQuery serializes ItemListParams's query parameters as `url.Values`.

type ItemModel added in v0.103.0

type ItemModel = shared.ItemModel

The Item resource represents a sellable product or good. Items are associated with all line items, billable metrics, and prices and are used for defining external sync behavior for invoices and tax calculation purposes.

This is an alias to an internal type.

type ItemNewParams added in v0.3.0

type ItemNewParams struct {
	// The name of the item.
	Name param.Field[string] `json:"name,required"`
}

func (ItemNewParams) MarshalJSON added in v0.3.0

func (r ItemNewParams) MarshalJSON() (data []byte, err error)

type ItemService

type ItemService struct {
	Options []option.RequestOption
}

ItemService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewItemService method instead.

func NewItemService

func NewItemService(opts ...option.RequestOption) (r *ItemService)

NewItemService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*ItemService) Fetch

func (r *ItemService) Fetch(ctx context.Context, itemID string, opts ...option.RequestOption) (res *shared.ItemModel, err error)

This endpoint returns an item identified by its item_id.

func (*ItemService) List

This endpoint returns a list of all Items, ordered in descending order by creation time.

func (*ItemService) ListAutoPaging

This endpoint returns a list of all Items, ordered in descending order by creation time.

func (*ItemService) New added in v0.3.0

func (r *ItemService) New(ctx context.Context, body ItemNewParams, opts ...option.RequestOption) (res *shared.ItemModel, err error)

This endpoint is used to create an [Item](/core-concepts#item).

func (*ItemService) Update added in v0.34.0

func (r *ItemService) Update(ctx context.Context, itemID string, body ItemUpdateParams, opts ...option.RequestOption) (res *shared.ItemModel, err error)

This endpoint can be used to update properties on the Item.

type ItemSlimModel added in v0.103.0

type ItemSlimModel = shared.ItemSlimModel

This is an alias to an internal type.

type ItemUpdateParams added in v0.34.0

type ItemUpdateParams struct {
	ExternalConnections param.Field[[]shared.ItemExternalConnectionModelParam] `json:"external_connections"`
	Name                param.Field[string]                                    `json:"name"`
}

func (ItemUpdateParams) MarshalJSON added in v0.34.0

func (r ItemUpdateParams) MarshalJSON() (data []byte, err error)

type MatrixConfigModel added in v0.103.0

type MatrixConfigModel = shared.MatrixConfigModel

This is an alias to an internal type.

type MatrixConfigModelParam added in v0.103.0

type MatrixConfigModelParam = shared.MatrixConfigModelParam

This is an alias to an internal type.

type MatrixValueModel added in v0.103.0

type MatrixValueModel = shared.MatrixValueModel

This is an alias to an internal type.

type MatrixValueModelParam added in v0.103.0

type MatrixValueModelParam = shared.MatrixValueModelParam

This is an alias to an internal type.

type MatrixWithAllocationConfigModel added in v0.103.0

type MatrixWithAllocationConfigModel = shared.MatrixWithAllocationConfigModel

This is an alias to an internal type.

type MatrixWithAllocationConfigModelParam added in v0.103.0

type MatrixWithAllocationConfigModelParam = shared.MatrixWithAllocationConfigModelParam

This is an alias to an internal type.

type MaximumIntervalModel added in v0.103.0

type MaximumIntervalModel = shared.MaximumIntervalModel

This is an alias to an internal type.

type MaximumModel added in v0.103.0

type MaximumModel = shared.MaximumModel

This is an alias to an internal type.

type MetricListParams

type MetricListParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (MetricListParams) URLQuery

func (r MetricListParams) URLQuery() (v url.Values)

URLQuery serializes MetricListParams's query parameters as `url.Values`.

type MetricNewParams

type MetricNewParams struct {
	// A description of the metric.
	Description param.Field[string] `json:"description,required"`
	// The id of the item
	ItemID param.Field[string] `json:"item_id,required"`
	// The name of the metric.
	Name param.Field[string] `json:"name,required"`
	// A sql string defining the metric.
	Sql param.Field[string] `json:"sql,required"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (MetricNewParams) MarshalJSON

func (r MetricNewParams) MarshalJSON() (data []byte, err error)

type MetricService

type MetricService struct {
	Options []option.RequestOption
}

MetricService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewMetricService method instead.

func NewMetricService

func NewMetricService(opts ...option.RequestOption) (r *MetricService)

NewMetricService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*MetricService) Fetch

func (r *MetricService) Fetch(ctx context.Context, metricID string, opts ...option.RequestOption) (res *shared.BillableMetricModel, err error)

This endpoint is used to list [metrics](/core-concepts#metric). It returns information about the metrics including its name, description, and item.

func (*MetricService) List

This endpoint is used to fetch [metric](/core-concepts##metric) details given a metric identifier. It returns information about the metrics including its name, description, and item.

func (*MetricService) ListAutoPaging

This endpoint is used to fetch [metric](/core-concepts##metric) details given a metric identifier. It returns information about the metrics including its name, description, and item.

func (*MetricService) New

This endpoint is used to create a [metric](/core-concepts###metric) using a SQL string. See [SQL support](/extensibility/advanced-metrics#sql-support) for a description of constructing SQL queries with examples.

func (*MetricService) Update added in v0.50.0

func (r *MetricService) Update(ctx context.Context, metricID string, body MetricUpdateParams, opts ...option.RequestOption) (res *shared.BillableMetricModel, err error)

This endpoint allows you to update the `metadata` property on a metric. If you pass `null` for the metadata value, it will clear any existing metadata for that invoice.

type MetricUpdateParams added in v0.50.0

type MetricUpdateParams struct {
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (MetricUpdateParams) MarshalJSON added in v0.50.0

func (r MetricUpdateParams) MarshalJSON() (data []byte, err error)

type MinimumIntervalModel added in v0.103.0

type MinimumIntervalModel = shared.MinimumIntervalModel

This is an alias to an internal type.

type MinimumModel added in v0.103.0

type MinimumModel = shared.MinimumModel

This is an alias to an internal type.

type MutatedSubscriptionModel added in v0.103.0

type MutatedSubscriptionModel = shared.MutatedSubscriptionModel

This is an alias to an internal type.

type MutatedSubscriptionModelDiscountInterval added in v0.103.0

type MutatedSubscriptionModelDiscountInterval = shared.MutatedSubscriptionModelDiscountInterval

This is an alias to an internal type.

type MutatedSubscriptionModelDiscountIntervalsDiscountType added in v0.103.0

type MutatedSubscriptionModelDiscountIntervalsDiscountType = shared.MutatedSubscriptionModelDiscountIntervalsDiscountType

This is an alias to an internal type.

type MutatedSubscriptionModelStatus added in v0.103.0

type MutatedSubscriptionModelStatus = shared.MutatedSubscriptionModelStatus

This is an alias to an internal type.

type NewAccountingSyncConfigurationModelAccountingProviderParam added in v0.103.0

type NewAccountingSyncConfigurationModelAccountingProviderParam = shared.NewAccountingSyncConfigurationModelAccountingProviderParam

This is an alias to an internal type.

type NewAccountingSyncConfigurationModelParam added in v0.103.0

type NewAccountingSyncConfigurationModelParam = shared.NewAccountingSyncConfigurationModelParam

This is an alias to an internal type.

type NewAdjustmentModelAdjustmentType added in v0.103.0

type NewAdjustmentModelAdjustmentType = shared.NewAdjustmentModelAdjustmentType

This is an alias to an internal type.

type NewAdjustmentModelNewAmountDiscountAdjustmentType added in v0.103.0

type NewAdjustmentModelNewAmountDiscountAdjustmentType = shared.NewAdjustmentModelNewAmountDiscountAdjustmentType

This is an alias to an internal type.

type NewAdjustmentModelNewAmountDiscountParam added in v0.103.0

type NewAdjustmentModelNewAmountDiscountParam = shared.NewAdjustmentModelNewAmountDiscountParam

This is an alias to an internal type.

type NewAdjustmentModelNewMaximumAdjustmentType added in v0.103.0

type NewAdjustmentModelNewMaximumAdjustmentType = shared.NewAdjustmentModelNewMaximumAdjustmentType

This is an alias to an internal type.

type NewAdjustmentModelNewMaximumParam added in v0.103.0

type NewAdjustmentModelNewMaximumParam = shared.NewAdjustmentModelNewMaximumParam

This is an alias to an internal type.

type NewAdjustmentModelNewMinimumAdjustmentType added in v0.103.0

type NewAdjustmentModelNewMinimumAdjustmentType = shared.NewAdjustmentModelNewMinimumAdjustmentType

This is an alias to an internal type.

type NewAdjustmentModelNewMinimumParam added in v0.103.0

type NewAdjustmentModelNewMinimumParam = shared.NewAdjustmentModelNewMinimumParam

This is an alias to an internal type.

type NewAdjustmentModelNewPercentageDiscountAdjustmentType added in v0.103.0

type NewAdjustmentModelNewPercentageDiscountAdjustmentType = shared.NewAdjustmentModelNewPercentageDiscountAdjustmentType

This is an alias to an internal type.

type NewAdjustmentModelNewPercentageDiscountParam added in v0.103.0

type NewAdjustmentModelNewPercentageDiscountParam = shared.NewAdjustmentModelNewPercentageDiscountParam

This is an alias to an internal type.

type NewAdjustmentModelNewUsageDiscountAdjustmentType added in v0.103.0

type NewAdjustmentModelNewUsageDiscountAdjustmentType = shared.NewAdjustmentModelNewUsageDiscountAdjustmentType

This is an alias to an internal type.

type NewAdjustmentModelNewUsageDiscountParam added in v0.103.0

type NewAdjustmentModelNewUsageDiscountParam = shared.NewAdjustmentModelNewUsageDiscountParam

This is an alias to an internal type.

type NewAdjustmentModelUnionParam added in v0.103.0

type NewAdjustmentModelUnionParam = shared.NewAdjustmentModelUnionParam

This is an alias to an internal type.

type NewAllocationPriceModelCadence added in v0.103.0

type NewAllocationPriceModelCadence = shared.NewAllocationPriceModelCadence

The cadence at which to allocate the amount to the customer.

This is an alias to an internal type.

type NewAllocationPriceModelParam added in v0.103.0

type NewAllocationPriceModelParam = shared.NewAllocationPriceModelParam

This is an alias to an internal type.

type NewBillingCycleConfigurationModelDurationUnit added in v0.103.0

type NewBillingCycleConfigurationModelDurationUnit = shared.NewBillingCycleConfigurationModelDurationUnit

The unit of billing period duration.

This is an alias to an internal type.

type NewBillingCycleConfigurationModelParam added in v0.103.0

type NewBillingCycleConfigurationModelParam = shared.NewBillingCycleConfigurationModelParam

This is an alias to an internal type.

type NewFloatingPriceModelCadence added in v0.103.0

type NewFloatingPriceModelCadence = shared.NewFloatingPriceModelCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelModelType added in v0.103.0

type NewFloatingPriceModelModelType = shared.NewFloatingPriceModelModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBpsPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingBpsPriceCadence = shared.NewFloatingPriceModelNewFloatingBpsPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBpsPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingBpsPriceModelType = shared.NewFloatingPriceModelNewFloatingBpsPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBpsPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingBpsPriceParam = shared.NewFloatingPriceModelNewFloatingBpsPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkBpsPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkBpsPriceCadence = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkBpsPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkBpsPriceModelType = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkBpsPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkBpsPriceParam = shared.NewFloatingPriceModelNewFloatingBulkBpsPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkPriceCadence = shared.NewFloatingPriceModelNewFloatingBulkPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkPriceModelType = shared.NewFloatingPriceModelNewFloatingBulkPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkPriceParam = shared.NewFloatingPriceModelNewFloatingBulkPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadence = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkWithProrationPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkWithProrationPriceModelType = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingBulkWithProrationPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingBulkWithProrationPriceParam = shared.NewFloatingPriceModelNewFloatingBulkWithProrationPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadence = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceModelType = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceParam = shared.NewFloatingPriceModelNewFloatingCumulativeGroupedBulkPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadence = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedAllocationPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedAllocationPriceModelType = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedAllocationPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedAllocationPriceParam = shared.NewFloatingPriceModelNewFloatingGroupedAllocationPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadence = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceModelType = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceParam = shared.NewFloatingPriceModelNewFloatingGroupedTieredPackagePriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedTieredPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedTieredPriceCadence = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedTieredPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedTieredPriceModelType = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedTieredPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedTieredPriceParam = shared.NewFloatingPriceModelNewFloatingGroupedTieredPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadence = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceModelType = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceParam = shared.NewFloatingPriceModelNewFloatingGroupedWithMeteredMinimumPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadence = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceModelType = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceParam = shared.NewFloatingPriceModelNewFloatingGroupedWithProratedMinimumPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixPriceCadence = shared.NewFloatingPriceModelNewFloatingMatrixPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixPriceModelType = shared.NewFloatingPriceModelNewFloatingMatrixPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixPriceParam = shared.NewFloatingPriceModelNewFloatingMatrixPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadence = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceModelType = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceParam = shared.NewFloatingPriceModelNewFloatingMatrixWithAllocationPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadence = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceModelType = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceParam = shared.NewFloatingPriceModelNewFloatingMatrixWithDisplayNamePriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadence = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceModelType = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceParam = shared.NewFloatingPriceModelNewFloatingMaxGroupTieredPackagePriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingPackagePriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingPackagePriceCadence = shared.NewFloatingPriceModelNewFloatingPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingPackagePriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingPackagePriceModelType = shared.NewFloatingPriceModelNewFloatingPackagePriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingPackagePriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingPackagePriceParam = shared.NewFloatingPriceModelNewFloatingPackagePriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadence = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingPackageWithAllocationPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingPackageWithAllocationPriceModelType = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingPackageWithAllocationPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingPackageWithAllocationPriceParam = shared.NewFloatingPriceModelNewFloatingPackageWithAllocationPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadence = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceModelType = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceParam = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithTieredPricingPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadence = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceModelType = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceParam = shared.NewFloatingPriceModelNewFloatingScalableMatrixWithUnitPricingPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadence = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceModelType = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceParam = shared.NewFloatingPriceModelNewFloatingThresholdTotalAmountPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredBpsPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredBpsPriceCadence = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredBpsPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredBpsPriceModelType = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredBpsPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredBpsPriceParam = shared.NewFloatingPriceModelNewFloatingTieredBpsPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPackagePriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPackagePriceCadence = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPackagePriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPackagePriceModelType = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPackagePriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPackagePriceParam = shared.NewFloatingPriceModelNewFloatingTieredPackagePriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadence = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceModelType = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceParam = shared.NewFloatingPriceModelNewFloatingTieredPackageWithMinimumPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPriceCadence = shared.NewFloatingPriceModelNewFloatingTieredPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPriceModelType = shared.NewFloatingPriceModelNewFloatingTieredPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredPriceParam = shared.NewFloatingPriceModelNewFloatingTieredPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadence = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredWithMinimumPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredWithMinimumPriceModelType = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredWithMinimumPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredWithMinimumPriceParam = shared.NewFloatingPriceModelNewFloatingTieredWithMinimumPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadence = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredWithProrationPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredWithProrationPriceModelType = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingTieredWithProrationPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingTieredWithProrationPriceParam = shared.NewFloatingPriceModelNewFloatingTieredWithProrationPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitPriceCadence = shared.NewFloatingPriceModelNewFloatingUnitPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitPriceModelType = shared.NewFloatingPriceModelNewFloatingUnitPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitPriceParam = shared.NewFloatingPriceModelNewFloatingUnitPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadence = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitWithPercentPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitWithPercentPriceModelType = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitWithPercentPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitWithPercentPriceParam = shared.NewFloatingPriceModelNewFloatingUnitWithPercentPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadence added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadence = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitWithProrationPriceModelType added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitWithProrationPriceModelType = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceModelType

This is an alias to an internal type.

type NewFloatingPriceModelNewFloatingUnitWithProrationPriceParam added in v0.103.0

type NewFloatingPriceModelNewFloatingUnitWithProrationPriceParam = shared.NewFloatingPriceModelNewFloatingUnitWithProrationPriceParam

This is an alias to an internal type.

type NewFloatingPriceModelUnionParam added in v0.103.0

type NewFloatingPriceModelUnionParam = shared.NewFloatingPriceModelUnionParam

This is an alias to an internal type.

type NewReportingConfigurationModelParam added in v0.103.0

type NewReportingConfigurationModelParam = shared.NewReportingConfigurationModelParam

This is an alias to an internal type.

type NewSubscriptionPriceModelCadence added in v0.103.0

type NewSubscriptionPriceModelCadence = shared.NewSubscriptionPriceModelCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelModelType added in v0.103.0

type NewSubscriptionPriceModelModelType = shared.NewSubscriptionPriceModelModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBpsPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBpsPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBpsPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBpsPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBpsPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBpsPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionBpsPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionBulkBpsPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionBulkPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionBulkWithProrationPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionCumulativeGroupedBulkPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionGroupedAllocationPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceParam = shared.NewSubscriptionPriceModelNewSubscriptionGroupedTieredPackagePriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithMeteredMinimumPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionGroupedWithProratedMinimumPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMatrixPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMatrixPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMatrixPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMatrixPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionMatrixPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceParam = shared.NewSubscriptionPriceModelNewSubscriptionMatrixWithDisplayNamePriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceParam = shared.NewSubscriptionPriceModelNewSubscriptionMaxGroupTieredPackagePriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionPackagePriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionPackagePriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionPackagePriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionPackagePriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionPackagePriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionPackagePriceParam = shared.NewSubscriptionPriceModelNewSubscriptionPackagePriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionPackageWithAllocationPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithTieredPricingPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionScalableMatrixWithUnitPricingPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionThresholdTotalAmountPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionTierWithProrationPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionTieredBpsPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceParam = shared.NewSubscriptionPriceModelNewSubscriptionTieredPackagePriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionTieredPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionTieredWithMinimumPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionUnitPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithPercentPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadence added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadence = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceCadence

The cadence to bill for this price on.

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceModelType added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceModelType = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceModelType

This is an alias to an internal type.

type NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceParam added in v0.103.0

type NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceParam = shared.NewSubscriptionPriceModelNewSubscriptionUnitWithProrationPriceParam

This is an alias to an internal type.

type NewSubscriptionPriceModelUnionParam added in v0.103.0

type NewSubscriptionPriceModelUnionParam = shared.NewSubscriptionPriceModelUnionParam

This is an alias to an internal type.

type NewTaxConfigurationModelNewAvalaraTaxConfigurationParam added in v0.103.0

type NewTaxConfigurationModelNewAvalaraTaxConfigurationParam = shared.NewTaxConfigurationModelNewAvalaraTaxConfigurationParam

This is an alias to an internal type.

type NewTaxConfigurationModelNewAvalaraTaxConfigurationTaxProvider added in v0.103.0

type NewTaxConfigurationModelNewAvalaraTaxConfigurationTaxProvider = shared.NewTaxConfigurationModelNewAvalaraTaxConfigurationTaxProvider

This is an alias to an internal type.

type NewTaxConfigurationModelNewTaxJarConfigurationParam added in v0.103.0

type NewTaxConfigurationModelNewTaxJarConfigurationParam = shared.NewTaxConfigurationModelNewTaxJarConfigurationParam

This is an alias to an internal type.

type NewTaxConfigurationModelNewTaxJarConfigurationTaxProvider added in v0.103.0

type NewTaxConfigurationModelNewTaxJarConfigurationTaxProvider = shared.NewTaxConfigurationModelNewTaxJarConfigurationTaxProvider

This is an alias to an internal type.

type NewTaxConfigurationModelTaxProvider added in v0.103.0

type NewTaxConfigurationModelTaxProvider = shared.NewTaxConfigurationModelTaxProvider

This is an alias to an internal type.

type NewTaxConfigurationModelUnionParam added in v0.103.0

type NewTaxConfigurationModelUnionParam = shared.NewTaxConfigurationModelUnionParam

This is an alias to an internal type.

type PackageConfigModel added in v0.103.0

type PackageConfigModel = shared.PackageConfigModel

This is an alias to an internal type.

type PackageConfigModelParam added in v0.103.0

type PackageConfigModelParam = shared.PackageConfigModelParam

This is an alias to an internal type.

type PaginationMetadata added in v0.25.0

type PaginationMetadata = shared.PaginationMetadata

This is an alias to an internal type.

type PaymentAttemptModel added in v0.103.0

type PaymentAttemptModel = shared.PaymentAttemptModel

This is an alias to an internal type.

type PaymentAttemptModelPaymentProvider added in v0.103.0

type PaymentAttemptModelPaymentProvider = shared.PaymentAttemptModelPaymentProvider

The payment provider that attempted to collect the payment.

This is an alias to an internal type.

type PercentageDiscount added in v0.67.0

type PercentageDiscount = shared.PercentageDiscount

This is an alias to an internal type.

type PercentageDiscountDiscountType added in v0.67.0

type PercentageDiscountDiscountType = shared.PercentageDiscountDiscountType

This is an alias to an internal type.

type PercentageDiscountIntervalModel added in v0.103.0

type PercentageDiscountIntervalModel = shared.PercentageDiscountIntervalModel

This is an alias to an internal type.

type PercentageDiscountIntervalModelDiscountType added in v0.103.0

type PercentageDiscountIntervalModelDiscountType = shared.PercentageDiscountIntervalModelDiscountType

This is an alias to an internal type.

type PercentageDiscountParam added in v0.67.0

type PercentageDiscountParam = shared.PercentageDiscountParam

This is an alias to an internal type.

type PlanExternalPlanIDService

type PlanExternalPlanIDService struct {
	Options []option.RequestOption
}

PlanExternalPlanIDService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewPlanExternalPlanIDService method instead.

func NewPlanExternalPlanIDService

func NewPlanExternalPlanIDService(opts ...option.RequestOption) (r *PlanExternalPlanIDService)

NewPlanExternalPlanIDService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*PlanExternalPlanIDService) Fetch

func (r *PlanExternalPlanIDService) Fetch(ctx context.Context, externalPlanID string, opts ...option.RequestOption) (res *shared.PlanModel, err error)

This endpoint is used to fetch [plan](/core-concepts##plan-and-price) details given an external_plan_id identifier. It returns information about the prices included in the plan and their configuration, as well as the product that the plan is attached to.

If multiple plans are found to contain the specified external_plan_id, the active plans will take priority over archived ones, and among those, the endpoint will return the most recently created plan.

## Serialized prices

Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a given [Price](/core-concepts#plan-and-price) object. The `model_type` field determines the key for the configuration object that is present. A detailed explanation of price types can be found in the [Price schema](/core-concepts#plan-and-price). "

func (*PlanExternalPlanIDService) Update

func (r *PlanExternalPlanIDService) Update(ctx context.Context, otherExternalPlanID string, body PlanExternalPlanIDUpdateParams, opts ...option.RequestOption) (res *shared.PlanModel, err error)

This endpoint can be used to update the `external_plan_id`, and `metadata` of an existing plan.

Other fields on a customer are currently immutable.

type PlanExternalPlanIDUpdateParams

type PlanExternalPlanIDUpdateParams struct {
	// An optional user-defined ID for this plan resource, used throughout the system
	// as an alias for this Plan. Use this field to identify a plan by an existing
	// identifier in your system.
	ExternalPlanID param.Field[string] `json:"external_plan_id"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanExternalPlanIDUpdateParams) MarshalJSON

func (r PlanExternalPlanIDUpdateParams) MarshalJSON() (data []byte, err error)

type PlanListParams

type PlanListParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
	// The plan status to filter to ('active', 'archived', or 'draft').
	Status param.Field[PlanListParamsStatus] `query:"status"`
}

func (PlanListParams) URLQuery

func (r PlanListParams) URLQuery() (v url.Values)

URLQuery serializes PlanListParams's query parameters as `url.Values`.

type PlanListParamsStatus

type PlanListParamsStatus string

The plan status to filter to ('active', 'archived', or 'draft').

const (
	PlanListParamsStatusActive   PlanListParamsStatus = "active"
	PlanListParamsStatusArchived PlanListParamsStatus = "archived"
	PlanListParamsStatusDraft    PlanListParamsStatus = "draft"
)

func (PlanListParamsStatus) IsKnown added in v0.24.0

func (r PlanListParamsStatus) IsKnown() bool

type PlanMinifiedModel added in v0.103.0

type PlanMinifiedModel = shared.PlanMinifiedModel

This is an alias to an internal type.

type PlanModel added in v0.103.0

type PlanModel = shared.PlanModel

The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be subscribed to by a customer. Plans define the billing behavior of the subscription. You can see more about how to configure prices in the [Price resource](/reference/price).

This is an alias to an internal type.

type PlanModelPlanPhase added in v0.103.0

type PlanModelPlanPhase = shared.PlanModelPlanPhase

This is an alias to an internal type.

type PlanModelPlanPhasesDurationUnit added in v0.103.0

type PlanModelPlanPhasesDurationUnit = shared.PlanModelPlanPhasesDurationUnit

This is an alias to an internal type.

type PlanModelProduct added in v0.103.0

type PlanModelProduct = shared.PlanModelProduct

This is an alias to an internal type.

type PlanModelStatus added in v0.103.0

type PlanModelStatus = shared.PlanModelStatus

This is an alias to an internal type.

type PlanModelTrialConfig added in v0.103.0

type PlanModelTrialConfig = shared.PlanModelTrialConfig

This is an alias to an internal type.

type PlanModelTrialConfigTrialPeriodUnit added in v0.103.0

type PlanModelTrialConfigTrialPeriodUnit = shared.PlanModelTrialConfigTrialPeriodUnit

This is an alias to an internal type.

type PlanNewParams

type PlanNewParams struct {
	// An ISO 4217 currency string for invoices generated by subscriptions on this
	// plan.
	Currency param.Field[string] `json:"currency,required"`
	Name     param.Field[string] `json:"name,required"`
	// Prices for this plan. If the plan has phases, this includes prices across all
	// phases of the plan.
	Prices param.Field[[]PlanNewParamsPriceUnion] `json:"prices,required"`
	// Free-form text which is available on the invoice PDF and the Orb invoice portal.
	DefaultInvoiceMemo param.Field[string] `json:"default_invoice_memo"`
	ExternalPlanID     param.Field[string] `json:"external_plan_id"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0.
	NetTerms param.Field[int64] `json:"net_terms"`
	// The status of the plan to create (either active or draft). If not specified,
	// this defaults to active.
	Status param.Field[PlanNewParamsStatus] `json:"status"`
}

func (PlanNewParams) MarshalJSON

func (r PlanNewParams) MarshalJSON() (data []byte, err error)

type PlanNewParamsPrice added in v0.2.0

type PlanNewParamsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                       `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	BpsConfig                 param.Field[shared.BpsConfigModelParam]                    `json:"bps_config"`
	BulkBpsConfig             param.Field[shared.BulkBpsConfigModelParam]                `json:"bulk_bps_config"`
	BulkConfig                param.Field[shared.BulkConfigModelParam]                   `json:"bulk_config"`
	BulkWithProrationConfig   param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"bulk_with_proration_config"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate              param.Field[float64]                                     `json:"conversion_rate"`
	CumulativeGroupedBulkConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"cumulative_grouped_bulk_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity               param.Field[float64]                                     `json:"fixed_price_quantity"`
	GroupedAllocationConfig          param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_allocation_config"`
	GroupedTieredPackageConfig       param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_tiered_package_config"`
	GroupedWithMeteredMinimumConfig  param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_with_metered_minimum_config"`
	GroupedWithProratedMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_with_prorated_minimum_config"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration           param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	MatrixConfig                          param.Field[shared.MatrixConfigModelParam]                 `json:"matrix_config"`
	MatrixWithDisplayNameConfig           param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"matrix_with_display_name_config"`
	MaxGroupTieredPackageConfig           param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"max_group_tiered_package_config"`
	Metadata                              param.Field[interface{}]                                   `json:"metadata"`
	PackageConfig                         param.Field[shared.PackageConfigModelParam]                `json:"package_config"`
	PackageWithAllocationConfig           param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"package_with_allocation_config"`
	ScalableMatrixWithTieredPricingConfig param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"scalable_matrix_with_tiered_pricing_config"`
	ScalableMatrixWithUnitPricingConfig   param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"scalable_matrix_with_unit_pricing_config"`
	ThresholdTotalAmountConfig            param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"threshold_total_amount_config"`
	TieredBpsConfig                       param.Field[shared.TieredBpsConfigModelParam]              `json:"tiered_bps_config"`
	TieredConfig                          param.Field[shared.TieredConfigModelParam]                 `json:"tiered_config"`
	TieredPackageConfig                   param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"tiered_package_config"`
	TieredWithMinimumConfig               param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"tiered_with_minimum_config"`
	TieredWithProrationConfig             param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"tiered_with_proration_config"`
	UnitConfig                            param.Field[shared.UnitConfigModelParam]                   `json:"unit_config"`
	UnitWithPercentConfig                 param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"unit_with_percent_config"`
	UnitWithProrationConfig               param.Field[shared.CustomRatingFunctionConfigModelParam]   `json:"unit_with_proration_config"`
}

func (PlanNewParamsPrice) MarshalJSON added in v0.25.0

func (r PlanNewParamsPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesCadence added in v0.25.0

type PlanNewParamsPricesCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesCadenceAnnual     PlanNewParamsPricesCadence = "annual"
	PlanNewParamsPricesCadenceSemiAnnual PlanNewParamsPricesCadence = "semi_annual"
	PlanNewParamsPricesCadenceMonthly    PlanNewParamsPricesCadence = "monthly"
	PlanNewParamsPricesCadenceQuarterly  PlanNewParamsPricesCadence = "quarterly"
	PlanNewParamsPricesCadenceOneTime    PlanNewParamsPricesCadence = "one_time"
	PlanNewParamsPricesCadenceCustom     PlanNewParamsPricesCadence = "custom"
)

func (PlanNewParamsPricesCadence) IsKnown added in v0.25.0

func (r PlanNewParamsPricesCadence) IsKnown() bool

type PlanNewParamsPricesModelType added in v0.25.0

type PlanNewParamsPricesModelType string
const (
	PlanNewParamsPricesModelTypeUnit                            PlanNewParamsPricesModelType = "unit"
	PlanNewParamsPricesModelTypePackage                         PlanNewParamsPricesModelType = "package"
	PlanNewParamsPricesModelTypeMatrix                          PlanNewParamsPricesModelType = "matrix"
	PlanNewParamsPricesModelTypeTiered                          PlanNewParamsPricesModelType = "tiered"
	PlanNewParamsPricesModelTypeTieredBps                       PlanNewParamsPricesModelType = "tiered_bps"
	PlanNewParamsPricesModelTypeBps                             PlanNewParamsPricesModelType = "bps"
	PlanNewParamsPricesModelTypeBulkBps                         PlanNewParamsPricesModelType = "bulk_bps"
	PlanNewParamsPricesModelTypeBulk                            PlanNewParamsPricesModelType = "bulk"
	PlanNewParamsPricesModelTypeThresholdTotalAmount            PlanNewParamsPricesModelType = "threshold_total_amount"
	PlanNewParamsPricesModelTypeTieredPackage                   PlanNewParamsPricesModelType = "tiered_package"
	PlanNewParamsPricesModelTypeTieredWithMinimum               PlanNewParamsPricesModelType = "tiered_with_minimum"
	PlanNewParamsPricesModelTypeUnitWithPercent                 PlanNewParamsPricesModelType = "unit_with_percent"
	PlanNewParamsPricesModelTypePackageWithAllocation           PlanNewParamsPricesModelType = "package_with_allocation"
	PlanNewParamsPricesModelTypeTieredWithProration             PlanNewParamsPricesModelType = "tiered_with_proration"
	PlanNewParamsPricesModelTypeUnitWithProration               PlanNewParamsPricesModelType = "unit_with_proration"
	PlanNewParamsPricesModelTypeGroupedAllocation               PlanNewParamsPricesModelType = "grouped_allocation"
	PlanNewParamsPricesModelTypeGroupedWithProratedMinimum      PlanNewParamsPricesModelType = "grouped_with_prorated_minimum"
	PlanNewParamsPricesModelTypeGroupedWithMeteredMinimum       PlanNewParamsPricesModelType = "grouped_with_metered_minimum"
	PlanNewParamsPricesModelTypeMatrixWithDisplayName           PlanNewParamsPricesModelType = "matrix_with_display_name"
	PlanNewParamsPricesModelTypeBulkWithProration               PlanNewParamsPricesModelType = "bulk_with_proration"
	PlanNewParamsPricesModelTypeGroupedTieredPackage            PlanNewParamsPricesModelType = "grouped_tiered_package"
	PlanNewParamsPricesModelTypeMaxGroupTieredPackage           PlanNewParamsPricesModelType = "max_group_tiered_package"
	PlanNewParamsPricesModelTypeScalableMatrixWithUnitPricing   PlanNewParamsPricesModelType = "scalable_matrix_with_unit_pricing"
	PlanNewParamsPricesModelTypeScalableMatrixWithTieredPricing PlanNewParamsPricesModelType = "scalable_matrix_with_tiered_pricing"
	PlanNewParamsPricesModelTypeCumulativeGroupedBulk           PlanNewParamsPricesModelType = "cumulative_grouped_bulk"
)

func (PlanNewParamsPricesModelType) IsKnown added in v0.25.0

func (r PlanNewParamsPricesModelType) IsKnown() bool

type PlanNewParamsPricesNewPlanBpsPrice added in v0.2.0

type PlanNewParamsPricesNewPlanBpsPrice struct {
	BpsConfig param.Field[shared.BpsConfigModelParam] `json:"bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                      `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanBpsPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanBpsPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanBpsPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanBpsPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanBpsPriceCadenceAnnual     PlanNewParamsPricesNewPlanBpsPriceCadence = "annual"
	PlanNewParamsPricesNewPlanBpsPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanBpsPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanBpsPriceCadenceMonthly    PlanNewParamsPricesNewPlanBpsPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanBpsPriceCadenceQuarterly  PlanNewParamsPricesNewPlanBpsPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanBpsPriceCadenceOneTime    PlanNewParamsPricesNewPlanBpsPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanBpsPriceCadenceCustom     PlanNewParamsPricesNewPlanBpsPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanBpsPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanBpsPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanBpsPriceModelType string
const (
	PlanNewParamsPricesNewPlanBpsPriceModelTypeBps PlanNewParamsPricesNewPlanBpsPriceModelType = "bps"
)

func (PlanNewParamsPricesNewPlanBpsPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanBulkBpsPrice added in v0.2.0

type PlanNewParamsPricesNewPlanBulkBpsPrice struct {
	BulkBpsConfig param.Field[shared.BulkBpsConfigModelParam] `json:"bulk_bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanBulkBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                          `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanBulkBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanBulkBpsPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanBulkBpsPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanBulkBpsPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanBulkBpsPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanBulkBpsPriceCadenceAnnual     PlanNewParamsPricesNewPlanBulkBpsPriceCadence = "annual"
	PlanNewParamsPricesNewPlanBulkBpsPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanBulkBpsPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanBulkBpsPriceCadenceMonthly    PlanNewParamsPricesNewPlanBulkBpsPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanBulkBpsPriceCadenceQuarterly  PlanNewParamsPricesNewPlanBulkBpsPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanBulkBpsPriceCadenceOneTime    PlanNewParamsPricesNewPlanBulkBpsPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanBulkBpsPriceCadenceCustom     PlanNewParamsPricesNewPlanBulkBpsPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanBulkBpsPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanBulkBpsPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanBulkBpsPriceModelType string
const (
	PlanNewParamsPricesNewPlanBulkBpsPriceModelTypeBulkBps PlanNewParamsPricesNewPlanBulkBpsPriceModelType = "bulk_bps"
)

func (PlanNewParamsPricesNewPlanBulkBpsPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanBulkPrice added in v0.2.0

type PlanNewParamsPricesNewPlanBulkPrice struct {
	BulkConfig param.Field[shared.BulkConfigModelParam] `json:"bulk_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanBulkPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                       `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanBulkPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanBulkPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanBulkPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanBulkPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanBulkPriceCadenceAnnual     PlanNewParamsPricesNewPlanBulkPriceCadence = "annual"
	PlanNewParamsPricesNewPlanBulkPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanBulkPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanBulkPriceCadenceMonthly    PlanNewParamsPricesNewPlanBulkPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanBulkPriceCadenceQuarterly  PlanNewParamsPricesNewPlanBulkPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanBulkPriceCadenceOneTime    PlanNewParamsPricesNewPlanBulkPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanBulkPriceCadenceCustom     PlanNewParamsPricesNewPlanBulkPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanBulkPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanBulkPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanBulkPriceModelType string
const (
	PlanNewParamsPricesNewPlanBulkPriceModelTypeBulk PlanNewParamsPricesNewPlanBulkPriceModelType = "bulk"
)

func (PlanNewParamsPricesNewPlanBulkPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanBulkWithProrationPrice added in v0.49.0

type PlanNewParamsPricesNewPlanBulkWithProrationPrice struct {
	BulkWithProrationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"bulk_with_proration_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                    `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanBulkWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanBulkWithProrationPrice) MarshalJSON added in v0.49.0

func (r PlanNewParamsPricesNewPlanBulkWithProrationPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence added in v0.49.0

type PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanBulkWithProrationPriceCadenceAnnual     PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence = "annual"
	PlanNewParamsPricesNewPlanBulkWithProrationPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanBulkWithProrationPriceCadenceMonthly    PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanBulkWithProrationPriceCadenceQuarterly  PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanBulkWithProrationPriceCadenceOneTime    PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanBulkWithProrationPriceCadenceCustom     PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanBulkWithProrationPriceCadence) IsKnown added in v0.49.0

type PlanNewParamsPricesNewPlanBulkWithProrationPriceModelType added in v0.49.0

type PlanNewParamsPricesNewPlanBulkWithProrationPriceModelType string
const (
	PlanNewParamsPricesNewPlanBulkWithProrationPriceModelTypeBulkWithProration PlanNewParamsPricesNewPlanBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (PlanNewParamsPricesNewPlanBulkWithProrationPriceModelType) IsKnown added in v0.49.0

type PlanNewParamsPricesNewPlanCumulativeGroupedBulkPrice added in v0.94.0

type PlanNewParamsPricesNewPlanCumulativeGroupedBulkPrice struct {
	// The cadence to bill for this price on.
	Cadence                     param.Field[PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence] `json:"cadence,required"`
	CumulativeGroupedBulkConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                 `json:"cumulative_grouped_bulk_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                        `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanCumulativeGroupedBulkPrice) MarshalJSON added in v0.94.0

func (r PlanNewParamsPricesNewPlanCumulativeGroupedBulkPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence added in v0.94.0

type PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadenceAnnual     PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence = "annual"
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadenceMonthly    PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadenceQuarterly  PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadenceOneTime    PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadenceCustom     PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceCadence) IsKnown added in v0.94.0

type PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceModelType added in v0.94.0

type PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceModelType string
const (
	PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (PlanNewParamsPricesNewPlanCumulativeGroupedBulkPriceModelType) IsKnown added in v0.94.0

type PlanNewParamsPricesNewPlanGroupedAllocationPrice added in v0.48.0

type PlanNewParamsPricesNewPlanGroupedAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence                 param.Field[PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence] `json:"cadence,required"`
	GroupedAllocationConfig param.Field[shared.CustomRatingFunctionConfigModelParam]             `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                    `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanGroupedAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanGroupedAllocationPrice) MarshalJSON added in v0.48.0

func (r PlanNewParamsPricesNewPlanGroupedAllocationPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence added in v0.48.0

type PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanGroupedAllocationPriceCadenceAnnual     PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence = "annual"
	PlanNewParamsPricesNewPlanGroupedAllocationPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanGroupedAllocationPriceCadenceMonthly    PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanGroupedAllocationPriceCadenceQuarterly  PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanGroupedAllocationPriceCadenceOneTime    PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanGroupedAllocationPriceCadenceCustom     PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanGroupedAllocationPriceCadence) IsKnown added in v0.48.0

type PlanNewParamsPricesNewPlanGroupedAllocationPriceModelType added in v0.48.0

type PlanNewParamsPricesNewPlanGroupedAllocationPriceModelType string
const (
	PlanNewParamsPricesNewPlanGroupedAllocationPriceModelTypeGroupedAllocation PlanNewParamsPricesNewPlanGroupedAllocationPriceModelType = "grouped_allocation"
)

func (PlanNewParamsPricesNewPlanGroupedAllocationPriceModelType) IsKnown added in v0.48.0

type PlanNewParamsPricesNewPlanGroupedTieredPackagePrice added in v0.81.0

type PlanNewParamsPricesNewPlanGroupedTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence                    param.Field[PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence] `json:"cadence,required"`
	GroupedTieredPackageConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                `json:"grouped_tiered_package_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                       `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanGroupedTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanGroupedTieredPackagePrice) MarshalJSON added in v0.81.0

func (r PlanNewParamsPricesNewPlanGroupedTieredPackagePrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence added in v0.81.0

type PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadenceAnnual     PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence = "annual"
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadenceSemiAnnual PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadenceMonthly    PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence = "monthly"
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadenceQuarterly  PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadenceOneTime    PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence = "one_time"
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadenceCustom     PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanGroupedTieredPackagePriceCadence) IsKnown added in v0.81.0

type PlanNewParamsPricesNewPlanGroupedTieredPackagePriceModelType added in v0.81.0

type PlanNewParamsPricesNewPlanGroupedTieredPackagePriceModelType string
const (
	PlanNewParamsPricesNewPlanGroupedTieredPackagePriceModelTypeGroupedTieredPackage PlanNewParamsPricesNewPlanGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (PlanNewParamsPricesNewPlanGroupedTieredPackagePriceModelType) IsKnown added in v0.81.0

type PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPrice added in v0.66.0

type PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence                         param.Field[PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithMeteredMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                     `json:"grouped_with_metered_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                            `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPrice) MarshalJSON added in v0.66.0

type PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence added in v0.66.0

type PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadenceAnnual     PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence = "annual"
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadenceMonthly    PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadenceQuarterly  PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadenceOneTime    PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadenceCustom     PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.66.0

type PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceModelType added in v0.66.0

type PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceModelType string
const (
	PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (PlanNewParamsPricesNewPlanGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.66.0

type PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPrice added in v0.58.0

type PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence                          param.Field[PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithProratedMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                      `json:"grouped_with_prorated_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                             `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPrice) MarshalJSON added in v0.58.0

type PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence added in v0.58.0

type PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadenceAnnual     PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence = "annual"
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadenceMonthly    PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadenceQuarterly  PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadenceOneTime    PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadenceCustom     PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.58.0

type PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceModelType added in v0.58.0

type PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceModelType string
const (
	PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (PlanNewParamsPricesNewPlanGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.58.0

type PlanNewParamsPricesNewPlanMatrixPrice added in v0.2.0

type PlanNewParamsPricesNewPlanMatrixPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanMatrixPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID       param.Field[string]                                         `json:"item_id,required"`
	MatrixConfig param.Field[shared.MatrixConfigModelParam]                  `json:"matrix_config,required"`
	ModelType    param.Field[PlanNewParamsPricesNewPlanMatrixPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanMatrixPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanMatrixPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanMatrixPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanMatrixPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanMatrixPriceCadenceAnnual     PlanNewParamsPricesNewPlanMatrixPriceCadence = "annual"
	PlanNewParamsPricesNewPlanMatrixPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanMatrixPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanMatrixPriceCadenceMonthly    PlanNewParamsPricesNewPlanMatrixPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanMatrixPriceCadenceQuarterly  PlanNewParamsPricesNewPlanMatrixPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanMatrixPriceCadenceOneTime    PlanNewParamsPricesNewPlanMatrixPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanMatrixPriceCadenceCustom     PlanNewParamsPricesNewPlanMatrixPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanMatrixPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanMatrixPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanMatrixPriceModelType string
const (
	PlanNewParamsPricesNewPlanMatrixPriceModelTypeMatrix PlanNewParamsPricesNewPlanMatrixPriceModelType = "matrix"
)

func (PlanNewParamsPricesNewPlanMatrixPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanMatrixWithDisplayNamePrice added in v0.78.0

type PlanNewParamsPricesNewPlanMatrixWithDisplayNamePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                        `json:"item_id,required"`
	MatrixWithDisplayNameConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                   `json:"matrix_with_display_name_config,required"`
	ModelType                   param.Field[PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanMatrixWithDisplayNamePrice) MarshalJSON added in v0.78.0

func (r PlanNewParamsPricesNewPlanMatrixWithDisplayNamePrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence added in v0.78.0

type PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadenceAnnual     PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence = "annual"
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadenceSemiAnnual PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadenceMonthly    PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence = "monthly"
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadenceQuarterly  PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadenceOneTime    PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence = "one_time"
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadenceCustom     PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceCadence) IsKnown added in v0.78.0

type PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceModelType added in v0.78.0

type PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceModelType string
const (
	PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (PlanNewParamsPricesNewPlanMatrixWithDisplayNamePriceModelType) IsKnown added in v0.78.0

type PlanNewParamsPricesNewPlanMaxGroupTieredPackagePrice added in v0.90.0

type PlanNewParamsPricesNewPlanMaxGroupTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                        `json:"item_id,required"`
	MaxGroupTieredPackageConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                   `json:"max_group_tiered_package_config,required"`
	ModelType                   param.Field[PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanMaxGroupTieredPackagePrice) MarshalJSON added in v0.90.0

func (r PlanNewParamsPricesNewPlanMaxGroupTieredPackagePrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence added in v0.90.0

type PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadenceAnnual     PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence = "annual"
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadenceSemiAnnual PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadenceMonthly    PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence = "monthly"
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadenceQuarterly  PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadenceOneTime    PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence = "one_time"
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadenceCustom     PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceCadence) IsKnown added in v0.90.0

type PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceModelType added in v0.90.0

type PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceModelType string
const (
	PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (PlanNewParamsPricesNewPlanMaxGroupTieredPackagePriceModelType) IsKnown added in v0.90.0

type PlanNewParamsPricesNewPlanPackagePrice added in v0.2.0

type PlanNewParamsPricesNewPlanPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                          `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name          param.Field[string]                         `json:"name,required"`
	PackageConfig param.Field[shared.PackageConfigModelParam] `json:"package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanPackagePrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanPackagePrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanPackagePriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanPackagePriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanPackagePriceCadenceAnnual     PlanNewParamsPricesNewPlanPackagePriceCadence = "annual"
	PlanNewParamsPricesNewPlanPackagePriceCadenceSemiAnnual PlanNewParamsPricesNewPlanPackagePriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanPackagePriceCadenceMonthly    PlanNewParamsPricesNewPlanPackagePriceCadence = "monthly"
	PlanNewParamsPricesNewPlanPackagePriceCadenceQuarterly  PlanNewParamsPricesNewPlanPackagePriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanPackagePriceCadenceOneTime    PlanNewParamsPricesNewPlanPackagePriceCadence = "one_time"
	PlanNewParamsPricesNewPlanPackagePriceCadenceCustom     PlanNewParamsPricesNewPlanPackagePriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanPackagePriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanPackagePriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanPackagePriceModelType string
const (
	PlanNewParamsPricesNewPlanPackagePriceModelTypePackage PlanNewParamsPricesNewPlanPackagePriceModelType = "package"
)

func (PlanNewParamsPricesNewPlanPackagePriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanPackageWithAllocationPrice added in v0.2.0

type PlanNewParamsPricesNewPlanPackageWithAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                        `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                        param.Field[string]                                      `json:"name,required"`
	PackageWithAllocationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"package_with_allocation_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanPackageWithAllocationPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanPackageWithAllocationPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadenceAnnual     PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence = "annual"
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadenceMonthly    PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadenceQuarterly  PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadenceOneTime    PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadenceCustom     PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanPackageWithAllocationPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanPackageWithAllocationPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanPackageWithAllocationPriceModelType string
const (
	PlanNewParamsPricesNewPlanPackageWithAllocationPriceModelTypePackageWithAllocation PlanNewParamsPricesNewPlanPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (PlanNewParamsPricesNewPlanPackageWithAllocationPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPrice added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                  `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                  param.Field[string]                                      `json:"name,required"`
	ScalableMatrixWithTieredPricingConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"scalable_matrix_with_tiered_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPrice) MarshalJSON added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadenceAnnual     PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence = "annual"
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadenceMonthly    PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadenceQuarterly  PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadenceOneTime    PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadenceCustom     PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceModelType added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceModelType string
const (
	PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (PlanNewParamsPricesNewPlanScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPrice added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                param.Field[string]                                      `json:"name,required"`
	ScalableMatrixWithUnitPricingConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"scalable_matrix_with_unit_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPrice) MarshalJSON added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadenceAnnual     PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence = "annual"
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadenceMonthly    PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadenceQuarterly  PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadenceOneTime    PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadenceCustom     PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceModelType added in v0.91.0

type PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceModelType string
const (
	PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (PlanNewParamsPricesNewPlanScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.91.0

type PlanNewParamsPricesNewPlanThresholdTotalAmountPrice added in v0.2.0

type PlanNewParamsPricesNewPlanThresholdTotalAmountPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                       `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                       param.Field[string]                                      `json:"name,required"`
	ThresholdTotalAmountConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"threshold_total_amount_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanThresholdTotalAmountPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanThresholdTotalAmountPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadenceAnnual     PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence = "annual"
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadenceMonthly    PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadenceQuarterly  PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadenceOneTime    PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadenceCustom     PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanThresholdTotalAmountPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanThresholdTotalAmountPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanThresholdTotalAmountPriceModelType string
const (
	PlanNewParamsPricesNewPlanThresholdTotalAmountPriceModelTypeThresholdTotalAmount PlanNewParamsPricesNewPlanThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (PlanNewParamsPricesNewPlanThresholdTotalAmountPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTierWithProrationPrice added in v0.34.0

type PlanNewParamsPricesNewPlanTierWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanTierWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                    `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanTierWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                      param.Field[string]                                      `json:"name,required"`
	TieredWithProrationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanTierWithProrationPrice) MarshalJSON added in v0.34.0

func (r PlanNewParamsPricesNewPlanTierWithProrationPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanTierWithProrationPriceCadence added in v0.34.0

type PlanNewParamsPricesNewPlanTierWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanTierWithProrationPriceCadenceAnnual     PlanNewParamsPricesNewPlanTierWithProrationPriceCadence = "annual"
	PlanNewParamsPricesNewPlanTierWithProrationPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanTierWithProrationPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanTierWithProrationPriceCadenceMonthly    PlanNewParamsPricesNewPlanTierWithProrationPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanTierWithProrationPriceCadenceQuarterly  PlanNewParamsPricesNewPlanTierWithProrationPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanTierWithProrationPriceCadenceOneTime    PlanNewParamsPricesNewPlanTierWithProrationPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanTierWithProrationPriceCadenceCustom     PlanNewParamsPricesNewPlanTierWithProrationPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanTierWithProrationPriceCadence) IsKnown added in v0.34.0

type PlanNewParamsPricesNewPlanTierWithProrationPriceModelType added in v0.34.0

type PlanNewParamsPricesNewPlanTierWithProrationPriceModelType string
const (
	PlanNewParamsPricesNewPlanTierWithProrationPriceModelTypeTieredWithProration PlanNewParamsPricesNewPlanTierWithProrationPriceModelType = "tiered_with_proration"
)

func (PlanNewParamsPricesNewPlanTierWithProrationPriceModelType) IsKnown added in v0.34.0

type PlanNewParamsPricesNewPlanTieredBpsPrice added in v0.2.0

type PlanNewParamsPricesNewPlanTieredBpsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanTieredBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                            `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanTieredBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name            param.Field[string]                           `json:"name,required"`
	TieredBpsConfig param.Field[shared.TieredBpsConfigModelParam] `json:"tiered_bps_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanTieredBpsPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanTieredBpsPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanTieredBpsPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanTieredBpsPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanTieredBpsPriceCadenceAnnual     PlanNewParamsPricesNewPlanTieredBpsPriceCadence = "annual"
	PlanNewParamsPricesNewPlanTieredBpsPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanTieredBpsPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanTieredBpsPriceCadenceMonthly    PlanNewParamsPricesNewPlanTieredBpsPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanTieredBpsPriceCadenceQuarterly  PlanNewParamsPricesNewPlanTieredBpsPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanTieredBpsPriceCadenceOneTime    PlanNewParamsPricesNewPlanTieredBpsPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanTieredBpsPriceCadenceCustom     PlanNewParamsPricesNewPlanTieredBpsPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanTieredBpsPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredBpsPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanTieredBpsPriceModelType string
const (
	PlanNewParamsPricesNewPlanTieredBpsPriceModelTypeTieredBps PlanNewParamsPricesNewPlanTieredBpsPriceModelType = "tiered_bps"
)

func (PlanNewParamsPricesNewPlanTieredBpsPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredPackagePrice added in v0.2.0

type PlanNewParamsPricesNewPlanTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                param.Field[string]                                      `json:"name,required"`
	TieredPackageConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanTieredPackagePrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanTieredPackagePrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanTieredPackagePriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanTieredPackagePriceCadenceAnnual     PlanNewParamsPricesNewPlanTieredPackagePriceCadence = "annual"
	PlanNewParamsPricesNewPlanTieredPackagePriceCadenceSemiAnnual PlanNewParamsPricesNewPlanTieredPackagePriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanTieredPackagePriceCadenceMonthly    PlanNewParamsPricesNewPlanTieredPackagePriceCadence = "monthly"
	PlanNewParamsPricesNewPlanTieredPackagePriceCadenceQuarterly  PlanNewParamsPricesNewPlanTieredPackagePriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanTieredPackagePriceCadenceOneTime    PlanNewParamsPricesNewPlanTieredPackagePriceCadence = "one_time"
	PlanNewParamsPricesNewPlanTieredPackagePriceCadenceCustom     PlanNewParamsPricesNewPlanTieredPackagePriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanTieredPackagePriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredPackagePriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanTieredPackagePriceModelType string
const (
	PlanNewParamsPricesNewPlanTieredPackagePriceModelTypeTieredPackage PlanNewParamsPricesNewPlanTieredPackagePriceModelType = "tiered_package"
)

func (PlanNewParamsPricesNewPlanTieredPackagePriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredPrice added in v0.2.0

type PlanNewParamsPricesNewPlanTieredPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanTieredPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                         `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name         param.Field[string]                        `json:"name,required"`
	TieredConfig param.Field[shared.TieredConfigModelParam] `json:"tiered_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanTieredPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanTieredPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanTieredPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanTieredPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanTieredPriceCadenceAnnual     PlanNewParamsPricesNewPlanTieredPriceCadence = "annual"
	PlanNewParamsPricesNewPlanTieredPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanTieredPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanTieredPriceCadenceMonthly    PlanNewParamsPricesNewPlanTieredPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanTieredPriceCadenceQuarterly  PlanNewParamsPricesNewPlanTieredPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanTieredPriceCadenceOneTime    PlanNewParamsPricesNewPlanTieredPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanTieredPriceCadenceCustom     PlanNewParamsPricesNewPlanTieredPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanTieredPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanTieredPriceModelType string
const (
	PlanNewParamsPricesNewPlanTieredPriceModelTypeTiered PlanNewParamsPricesNewPlanTieredPriceModelType = "tiered"
)

func (PlanNewParamsPricesNewPlanTieredPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredWithMinimumPrice added in v0.2.0

type PlanNewParamsPricesNewPlanTieredWithMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                    `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                                      `json:"name,required"`
	TieredWithMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanTieredWithMinimumPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanTieredWithMinimumPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadenceAnnual     PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence = "annual"
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadenceMonthly    PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadenceQuarterly  PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadenceOneTime    PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadenceCustom     PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanTieredWithMinimumPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanTieredWithMinimumPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanTieredWithMinimumPriceModelType string
const (
	PlanNewParamsPricesNewPlanTieredWithMinimumPriceModelTypeTieredWithMinimum PlanNewParamsPricesNewPlanTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (PlanNewParamsPricesNewPlanTieredWithMinimumPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanUnitPrice added in v0.2.0

type PlanNewParamsPricesNewPlanUnitPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanUnitPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                       `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name       param.Field[string]                      `json:"name,required"`
	UnitConfig param.Field[shared.UnitConfigModelParam] `json:"unit_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanUnitPrice) MarshalJSON added in v0.2.0

func (r PlanNewParamsPricesNewPlanUnitPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanUnitPriceCadence added in v0.2.0

type PlanNewParamsPricesNewPlanUnitPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanUnitPriceCadenceAnnual     PlanNewParamsPricesNewPlanUnitPriceCadence = "annual"
	PlanNewParamsPricesNewPlanUnitPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanUnitPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanUnitPriceCadenceMonthly    PlanNewParamsPricesNewPlanUnitPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanUnitPriceCadenceQuarterly  PlanNewParamsPricesNewPlanUnitPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanUnitPriceCadenceOneTime    PlanNewParamsPricesNewPlanUnitPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanUnitPriceCadenceCustom     PlanNewParamsPricesNewPlanUnitPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanUnitPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanUnitPriceModelType added in v0.2.0

type PlanNewParamsPricesNewPlanUnitPriceModelType string
const (
	PlanNewParamsPricesNewPlanUnitPriceModelTypeUnit PlanNewParamsPricesNewPlanUnitPriceModelType = "unit"
)

func (PlanNewParamsPricesNewPlanUnitPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanUnitWithPercentPrice added in v0.20.0

type PlanNewParamsPricesNewPlanUnitWithPercentPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                  `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                  param.Field[string]                                      `json:"name,required"`
	UnitWithPercentConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"unit_with_percent_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanUnitWithPercentPrice) MarshalJSON added in v0.20.0

func (r PlanNewParamsPricesNewPlanUnitWithPercentPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence added in v0.20.0

type PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanUnitWithPercentPriceCadenceAnnual     PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence = "annual"
	PlanNewParamsPricesNewPlanUnitWithPercentPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanUnitWithPercentPriceCadenceMonthly    PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanUnitWithPercentPriceCadenceQuarterly  PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanUnitWithPercentPriceCadenceOneTime    PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanUnitWithPercentPriceCadenceCustom     PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanUnitWithPercentPriceCadence) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanUnitWithPercentPriceModelType added in v0.20.0

type PlanNewParamsPricesNewPlanUnitWithPercentPriceModelType string
const (
	PlanNewParamsPricesNewPlanUnitWithPercentPriceModelTypeUnitWithPercent PlanNewParamsPricesNewPlanUnitWithPercentPriceModelType = "unit_with_percent"
)

func (PlanNewParamsPricesNewPlanUnitWithPercentPriceModelType) IsKnown added in v0.24.0

type PlanNewParamsPricesNewPlanUnitWithProrationPrice added in v0.34.0

type PlanNewParamsPricesNewPlanUnitWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                    `json:"item_id,required"`
	ModelType param.Field[PlanNewParamsPricesNewPlanUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                                      `json:"name,required"`
	UnitWithProrationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"unit_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanNewParamsPricesNewPlanUnitWithProrationPrice) MarshalJSON added in v0.34.0

func (r PlanNewParamsPricesNewPlanUnitWithProrationPrice) MarshalJSON() (data []byte, err error)

type PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence added in v0.34.0

type PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	PlanNewParamsPricesNewPlanUnitWithProrationPriceCadenceAnnual     PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence = "annual"
	PlanNewParamsPricesNewPlanUnitWithProrationPriceCadenceSemiAnnual PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence = "semi_annual"
	PlanNewParamsPricesNewPlanUnitWithProrationPriceCadenceMonthly    PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence = "monthly"
	PlanNewParamsPricesNewPlanUnitWithProrationPriceCadenceQuarterly  PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence = "quarterly"
	PlanNewParamsPricesNewPlanUnitWithProrationPriceCadenceOneTime    PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence = "one_time"
	PlanNewParamsPricesNewPlanUnitWithProrationPriceCadenceCustom     PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence = "custom"
)

func (PlanNewParamsPricesNewPlanUnitWithProrationPriceCadence) IsKnown added in v0.34.0

type PlanNewParamsPricesNewPlanUnitWithProrationPriceModelType added in v0.34.0

type PlanNewParamsPricesNewPlanUnitWithProrationPriceModelType string
const (
	PlanNewParamsPricesNewPlanUnitWithProrationPriceModelTypeUnitWithProration PlanNewParamsPricesNewPlanUnitWithProrationPriceModelType = "unit_with_proration"
)

func (PlanNewParamsPricesNewPlanUnitWithProrationPriceModelType) IsKnown added in v0.34.0

type PlanNewParamsStatus added in v0.41.0

type PlanNewParamsStatus string

The status of the plan to create (either active or draft). If not specified, this defaults to active.

const (
	PlanNewParamsStatusActive PlanNewParamsStatus = "active"
	PlanNewParamsStatusDraft  PlanNewParamsStatus = "draft"
)

func (PlanNewParamsStatus) IsKnown added in v0.41.0

func (r PlanNewParamsStatus) IsKnown() bool

type PlanService

type PlanService struct {
	Options        []option.RequestOption
	ExternalPlanID *PlanExternalPlanIDService
}

PlanService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewPlanService method instead.

func NewPlanService

func NewPlanService(opts ...option.RequestOption) (r *PlanService)

NewPlanService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*PlanService) Fetch

func (r *PlanService) Fetch(ctx context.Context, planID string, opts ...option.RequestOption) (res *shared.PlanModel, err error)

This endpoint is used to fetch [plan](/core-concepts#plan-and-price) details given a plan identifier. It returns information about the prices included in the plan and their configuration, as well as the product that the plan is attached to.

## Serialized prices

Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a given [Price](/core-concepts#plan-and-price) object. The `model_type` field determines the key for the configuration object that is present. A detailed explanation of price types can be found in the [Price schema](/core-concepts#plan-and-price).

## Phases

Orb supports plan phases, also known as contract ramps. For plans with phases, the serialized prices refer to all prices across all phases.

func (*PlanService) List

This endpoint returns a list of all [plans](/core-concepts#plan-and-price) for an account in a list format. The list of plans is ordered starting from the most recently created plan. The response also includes [`pagination_metadata`](/api-reference/pagination), which lets the caller retrieve the next page of results if they exist.

func (*PlanService) ListAutoPaging

This endpoint returns a list of all [plans](/core-concepts#plan-and-price) for an account in a list format. The list of plans is ordered starting from the most recently created plan. The response also includes [`pagination_metadata`](/api-reference/pagination), which lets the caller retrieve the next page of results if they exist.

func (*PlanService) New

func (r *PlanService) New(ctx context.Context, body PlanNewParams, opts ...option.RequestOption) (res *shared.PlanModel, err error)

This endpoint allows creation of plans including their prices.

func (*PlanService) Update

func (r *PlanService) Update(ctx context.Context, planID string, body PlanUpdateParams, opts ...option.RequestOption) (res *shared.PlanModel, err error)

This endpoint can be used to update the `external_plan_id`, and `metadata` of an existing plan.

Other fields on a customer are currently immutable.

type PlanUpdateParams

type PlanUpdateParams struct {
	// An optional user-defined ID for this plan resource, used throughout the system
	// as an alias for this Plan. Use this field to identify a plan by an existing
	// identifier in your system.
	ExternalPlanID param.Field[string] `json:"external_plan_id"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PlanUpdateParams) MarshalJSON

func (r PlanUpdateParams) MarshalJSON() (data []byte, err error)

type PriceEvaluateParams added in v0.25.0

type PriceEvaluateParams struct {
	// The exclusive upper bound for event timestamps
	TimeframeEnd param.Field[time.Time] `json:"timeframe_end,required" format:"date-time"`
	// The inclusive lower bound for event timestamps
	TimeframeStart param.Field[time.Time] `json:"timeframe_start,required" format:"date-time"`
	// The ID of the customer to which this evaluation is scoped.
	CustomerID param.Field[string] `json:"customer_id"`
	// The external customer ID of the customer to which this evaluation is scoped.
	ExternalCustomerID param.Field[string] `json:"external_customer_id"`
	// A boolean
	// [computed property](/extensibility/advanced-metrics#computed-properties) used to
	// filter the underlying billable metric
	Filter param.Field[string] `json:"filter"`
	// Properties (or
	// [computed properties](/extensibility/advanced-metrics#computed-properties)) used
	// to group the underlying billable metric
	GroupingKeys param.Field[[]string] `json:"grouping_keys"`
}

func (PriceEvaluateParams) MarshalJSON added in v0.25.0

func (r PriceEvaluateParams) MarshalJSON() (data []byte, err error)

type PriceEvaluateResponse added in v0.25.0

type PriceEvaluateResponse struct {
	Data []EvaluatePriceGroup      `json:"data,required"`
	JSON priceEvaluateResponseJSON `json:"-"`
}

func (*PriceEvaluateResponse) UnmarshalJSON added in v0.25.0

func (r *PriceEvaluateResponse) UnmarshalJSON(data []byte) (err error)

type PriceExternalPriceIDService

type PriceExternalPriceIDService struct {
	Options []option.RequestOption
}

PriceExternalPriceIDService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewPriceExternalPriceIDService method instead.

func NewPriceExternalPriceIDService

func NewPriceExternalPriceIDService(opts ...option.RequestOption) (r *PriceExternalPriceIDService)

NewPriceExternalPriceIDService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*PriceExternalPriceIDService) Fetch

func (r *PriceExternalPriceIDService) Fetch(ctx context.Context, externalPriceID string, opts ...option.RequestOption) (res *shared.PriceModel, err error)

This endpoint returns a price given an external price id. See the [price creation API](/api-reference/price/create-price) for more information about external price aliases.

func (*PriceExternalPriceIDService) Update added in v0.42.0

This endpoint allows you to update the `metadata` property on a price. If you pass null for the metadata value, it will clear any existing metadata for that price.

type PriceExternalPriceIDUpdateParams added in v0.42.0

type PriceExternalPriceIDUpdateParams struct {
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceExternalPriceIDUpdateParams) MarshalJSON added in v0.42.0

func (r PriceExternalPriceIDUpdateParams) MarshalJSON() (data []byte, err error)

type PriceIntervalFixedFeeQuantityTransitionModelParam added in v0.103.0

type PriceIntervalFixedFeeQuantityTransitionModelParam = shared.PriceIntervalFixedFeeQuantityTransitionModelParam

This is an alias to an internal type.

type PriceIntervalModel added in v0.103.0

type PriceIntervalModel = shared.PriceIntervalModel

The Price Interval resource represents a period of time for which a price will bill on a subscription. A subscription’s price intervals define its billing behavior.

This is an alias to an internal type.

type PriceIntervalModelFixedFeeQuantityTransition added in v0.103.0

type PriceIntervalModelFixedFeeQuantityTransition = shared.PriceIntervalModelFixedFeeQuantityTransition

This is an alias to an internal type.

type PriceListParams

type PriceListParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit param.Field[int64] `query:"limit"`
}

func (PriceListParams) URLQuery

func (r PriceListParams) URLQuery() (v url.Values)

URLQuery serializes PriceListParams's query parameters as `url.Values`.

type PriceModel added in v0.103.0

type PriceModel = shared.PriceModel

The Price resource represents a price that can be billed on a subscription, resulting in a charge on an invoice in the form of an invoice line item. Prices take a quantity and determine an amount to bill.

Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a given Price object. The model_type field determines the key for the configuration object that is present.

For more on the types of prices, see [the core concepts documentation](/core-concepts#plan-and-price)

This is an alias to an internal type.

type PriceModelBpsPrice added in v0.103.0

type PriceModelBpsPrice = shared.PriceModelBpsPrice

This is an alias to an internal type.

type PriceModelBpsPriceCadence added in v0.103.0

type PriceModelBpsPriceCadence = shared.PriceModelBpsPriceCadence

This is an alias to an internal type.

type PriceModelBpsPriceModelType added in v0.103.0

type PriceModelBpsPriceModelType = shared.PriceModelBpsPriceModelType

This is an alias to an internal type.

type PriceModelBpsPricePriceType added in v0.103.0

type PriceModelBpsPricePriceType = shared.PriceModelBpsPricePriceType

This is an alias to an internal type.

type PriceModelBulkBpsPrice added in v0.103.0

type PriceModelBulkBpsPrice = shared.PriceModelBulkBpsPrice

This is an alias to an internal type.

type PriceModelBulkBpsPriceCadence added in v0.103.0

type PriceModelBulkBpsPriceCadence = shared.PriceModelBulkBpsPriceCadence

This is an alias to an internal type.

type PriceModelBulkBpsPriceModelType added in v0.103.0

type PriceModelBulkBpsPriceModelType = shared.PriceModelBulkBpsPriceModelType

This is an alias to an internal type.

type PriceModelBulkBpsPricePriceType added in v0.103.0

type PriceModelBulkBpsPricePriceType = shared.PriceModelBulkBpsPricePriceType

This is an alias to an internal type.

type PriceModelBulkPrice added in v0.103.0

type PriceModelBulkPrice = shared.PriceModelBulkPrice

This is an alias to an internal type.

type PriceModelBulkPriceCadence added in v0.103.0

type PriceModelBulkPriceCadence = shared.PriceModelBulkPriceCadence

This is an alias to an internal type.

type PriceModelBulkPriceModelType added in v0.103.0

type PriceModelBulkPriceModelType = shared.PriceModelBulkPriceModelType

This is an alias to an internal type.

type PriceModelBulkPricePriceType added in v0.103.0

type PriceModelBulkPricePriceType = shared.PriceModelBulkPricePriceType

This is an alias to an internal type.

type PriceModelBulkWithProrationPrice added in v0.103.0

type PriceModelBulkWithProrationPrice = shared.PriceModelBulkWithProrationPrice

This is an alias to an internal type.

type PriceModelBulkWithProrationPriceCadence added in v0.103.0

type PriceModelBulkWithProrationPriceCadence = shared.PriceModelBulkWithProrationPriceCadence

This is an alias to an internal type.

type PriceModelBulkWithProrationPriceModelType added in v0.103.0

type PriceModelBulkWithProrationPriceModelType = shared.PriceModelBulkWithProrationPriceModelType

This is an alias to an internal type.

type PriceModelBulkWithProrationPricePriceType added in v0.103.0

type PriceModelBulkWithProrationPricePriceType = shared.PriceModelBulkWithProrationPricePriceType

This is an alias to an internal type.

type PriceModelCadence added in v0.103.0

type PriceModelCadence = shared.PriceModelCadence

This is an alias to an internal type.

type PriceModelCumulativeGroupedBulkPrice added in v0.103.0

type PriceModelCumulativeGroupedBulkPrice = shared.PriceModelCumulativeGroupedBulkPrice

This is an alias to an internal type.

type PriceModelCumulativeGroupedBulkPriceCadence added in v0.103.0

type PriceModelCumulativeGroupedBulkPriceCadence = shared.PriceModelCumulativeGroupedBulkPriceCadence

This is an alias to an internal type.

type PriceModelCumulativeGroupedBulkPriceModelType added in v0.103.0

type PriceModelCumulativeGroupedBulkPriceModelType = shared.PriceModelCumulativeGroupedBulkPriceModelType

This is an alias to an internal type.

type PriceModelCumulativeGroupedBulkPricePriceType added in v0.103.0

type PriceModelCumulativeGroupedBulkPricePriceType = shared.PriceModelCumulativeGroupedBulkPricePriceType

This is an alias to an internal type.

type PriceModelGroupedAllocationPrice added in v0.103.0

type PriceModelGroupedAllocationPrice = shared.PriceModelGroupedAllocationPrice

This is an alias to an internal type.

type PriceModelGroupedAllocationPriceCadence added in v0.103.0

type PriceModelGroupedAllocationPriceCadence = shared.PriceModelGroupedAllocationPriceCadence

This is an alias to an internal type.

type PriceModelGroupedAllocationPriceModelType added in v0.103.0

type PriceModelGroupedAllocationPriceModelType = shared.PriceModelGroupedAllocationPriceModelType

This is an alias to an internal type.

type PriceModelGroupedAllocationPricePriceType added in v0.103.0

type PriceModelGroupedAllocationPricePriceType = shared.PriceModelGroupedAllocationPricePriceType

This is an alias to an internal type.

type PriceModelGroupedTieredPackagePrice added in v0.103.0

type PriceModelGroupedTieredPackagePrice = shared.PriceModelGroupedTieredPackagePrice

This is an alias to an internal type.

type PriceModelGroupedTieredPackagePriceCadence added in v0.103.0

type PriceModelGroupedTieredPackagePriceCadence = shared.PriceModelGroupedTieredPackagePriceCadence

This is an alias to an internal type.

type PriceModelGroupedTieredPackagePriceModelType added in v0.103.0

type PriceModelGroupedTieredPackagePriceModelType = shared.PriceModelGroupedTieredPackagePriceModelType

This is an alias to an internal type.

type PriceModelGroupedTieredPackagePricePriceType added in v0.103.0

type PriceModelGroupedTieredPackagePricePriceType = shared.PriceModelGroupedTieredPackagePricePriceType

This is an alias to an internal type.

type PriceModelGroupedTieredPrice added in v0.103.0

type PriceModelGroupedTieredPrice = shared.PriceModelGroupedTieredPrice

This is an alias to an internal type.

type PriceModelGroupedTieredPriceCadence added in v0.103.0

type PriceModelGroupedTieredPriceCadence = shared.PriceModelGroupedTieredPriceCadence

This is an alias to an internal type.

type PriceModelGroupedTieredPriceModelType added in v0.103.0

type PriceModelGroupedTieredPriceModelType = shared.PriceModelGroupedTieredPriceModelType

This is an alias to an internal type.

type PriceModelGroupedTieredPricePriceType added in v0.103.0

type PriceModelGroupedTieredPricePriceType = shared.PriceModelGroupedTieredPricePriceType

This is an alias to an internal type.

type PriceModelGroupedWithMeteredMinimumPrice added in v0.103.0

type PriceModelGroupedWithMeteredMinimumPrice = shared.PriceModelGroupedWithMeteredMinimumPrice

This is an alias to an internal type.

type PriceModelGroupedWithMeteredMinimumPriceCadence added in v0.103.0

type PriceModelGroupedWithMeteredMinimumPriceCadence = shared.PriceModelGroupedWithMeteredMinimumPriceCadence

This is an alias to an internal type.

type PriceModelGroupedWithMeteredMinimumPriceModelType added in v0.103.0

type PriceModelGroupedWithMeteredMinimumPriceModelType = shared.PriceModelGroupedWithMeteredMinimumPriceModelType

This is an alias to an internal type.

type PriceModelGroupedWithMeteredMinimumPricePriceType added in v0.103.0

type PriceModelGroupedWithMeteredMinimumPricePriceType = shared.PriceModelGroupedWithMeteredMinimumPricePriceType

This is an alias to an internal type.

type PriceModelGroupedWithProratedMinimumPrice added in v0.103.0

type PriceModelGroupedWithProratedMinimumPrice = shared.PriceModelGroupedWithProratedMinimumPrice

This is an alias to an internal type.

type PriceModelGroupedWithProratedMinimumPriceCadence added in v0.103.0

type PriceModelGroupedWithProratedMinimumPriceCadence = shared.PriceModelGroupedWithProratedMinimumPriceCadence

This is an alias to an internal type.

type PriceModelGroupedWithProratedMinimumPriceModelType added in v0.103.0

type PriceModelGroupedWithProratedMinimumPriceModelType = shared.PriceModelGroupedWithProratedMinimumPriceModelType

This is an alias to an internal type.

type PriceModelGroupedWithProratedMinimumPricePriceType added in v0.103.0

type PriceModelGroupedWithProratedMinimumPricePriceType = shared.PriceModelGroupedWithProratedMinimumPricePriceType

This is an alias to an internal type.

type PriceModelMatrixPrice added in v0.103.0

type PriceModelMatrixPrice = shared.PriceModelMatrixPrice

This is an alias to an internal type.

type PriceModelMatrixPriceCadence added in v0.103.0

type PriceModelMatrixPriceCadence = shared.PriceModelMatrixPriceCadence

This is an alias to an internal type.

type PriceModelMatrixPriceModelType added in v0.103.0

type PriceModelMatrixPriceModelType = shared.PriceModelMatrixPriceModelType

This is an alias to an internal type.

type PriceModelMatrixPricePriceType added in v0.103.0

type PriceModelMatrixPricePriceType = shared.PriceModelMatrixPricePriceType

This is an alias to an internal type.

type PriceModelMatrixWithAllocationPrice added in v0.103.0

type PriceModelMatrixWithAllocationPrice = shared.PriceModelMatrixWithAllocationPrice

This is an alias to an internal type.

type PriceModelMatrixWithAllocationPriceCadence added in v0.103.0

type PriceModelMatrixWithAllocationPriceCadence = shared.PriceModelMatrixWithAllocationPriceCadence

This is an alias to an internal type.

type PriceModelMatrixWithAllocationPriceModelType added in v0.103.0

type PriceModelMatrixWithAllocationPriceModelType = shared.PriceModelMatrixWithAllocationPriceModelType

This is an alias to an internal type.

type PriceModelMatrixWithAllocationPricePriceType added in v0.103.0

type PriceModelMatrixWithAllocationPricePriceType = shared.PriceModelMatrixWithAllocationPricePriceType

This is an alias to an internal type.

type PriceModelMatrixWithDisplayNamePrice added in v0.103.0

type PriceModelMatrixWithDisplayNamePrice = shared.PriceModelMatrixWithDisplayNamePrice

This is an alias to an internal type.

type PriceModelMatrixWithDisplayNamePriceCadence added in v0.103.0

type PriceModelMatrixWithDisplayNamePriceCadence = shared.PriceModelMatrixWithDisplayNamePriceCadence

This is an alias to an internal type.

type PriceModelMatrixWithDisplayNamePriceModelType added in v0.103.0

type PriceModelMatrixWithDisplayNamePriceModelType = shared.PriceModelMatrixWithDisplayNamePriceModelType

This is an alias to an internal type.

type PriceModelMatrixWithDisplayNamePricePriceType added in v0.103.0

type PriceModelMatrixWithDisplayNamePricePriceType = shared.PriceModelMatrixWithDisplayNamePricePriceType

This is an alias to an internal type.

type PriceModelMaxGroupTieredPackagePrice added in v0.103.0

type PriceModelMaxGroupTieredPackagePrice = shared.PriceModelMaxGroupTieredPackagePrice

This is an alias to an internal type.

type PriceModelMaxGroupTieredPackagePriceCadence added in v0.103.0

type PriceModelMaxGroupTieredPackagePriceCadence = shared.PriceModelMaxGroupTieredPackagePriceCadence

This is an alias to an internal type.

type PriceModelMaxGroupTieredPackagePriceModelType added in v0.103.0

type PriceModelMaxGroupTieredPackagePriceModelType = shared.PriceModelMaxGroupTieredPackagePriceModelType

This is an alias to an internal type.

type PriceModelMaxGroupTieredPackagePricePriceType added in v0.103.0

type PriceModelMaxGroupTieredPackagePricePriceType = shared.PriceModelMaxGroupTieredPackagePricePriceType

This is an alias to an internal type.

type PriceModelModelType added in v0.103.0

type PriceModelModelType = shared.PriceModelModelType

This is an alias to an internal type.

type PriceModelPackagePrice added in v0.103.0

type PriceModelPackagePrice = shared.PriceModelPackagePrice

This is an alias to an internal type.

type PriceModelPackagePriceCadence added in v0.103.0

type PriceModelPackagePriceCadence = shared.PriceModelPackagePriceCadence

This is an alias to an internal type.

type PriceModelPackagePriceModelType added in v0.103.0

type PriceModelPackagePriceModelType = shared.PriceModelPackagePriceModelType

This is an alias to an internal type.

type PriceModelPackagePricePriceType added in v0.103.0

type PriceModelPackagePricePriceType = shared.PriceModelPackagePricePriceType

This is an alias to an internal type.

type PriceModelPackageWithAllocationPrice added in v0.103.0

type PriceModelPackageWithAllocationPrice = shared.PriceModelPackageWithAllocationPrice

This is an alias to an internal type.

type PriceModelPackageWithAllocationPriceCadence added in v0.103.0

type PriceModelPackageWithAllocationPriceCadence = shared.PriceModelPackageWithAllocationPriceCadence

This is an alias to an internal type.

type PriceModelPackageWithAllocationPriceModelType added in v0.103.0

type PriceModelPackageWithAllocationPriceModelType = shared.PriceModelPackageWithAllocationPriceModelType

This is an alias to an internal type.

type PriceModelPackageWithAllocationPricePriceType added in v0.103.0

type PriceModelPackageWithAllocationPricePriceType = shared.PriceModelPackageWithAllocationPricePriceType

This is an alias to an internal type.

type PriceModelPriceType added in v0.103.0

type PriceModelPriceType = shared.PriceModelPriceType

This is an alias to an internal type.

type PriceModelScalableMatrixWithTieredPricingPrice added in v0.103.0

type PriceModelScalableMatrixWithTieredPricingPrice = shared.PriceModelScalableMatrixWithTieredPricingPrice

This is an alias to an internal type.

type PriceModelScalableMatrixWithTieredPricingPriceCadence added in v0.103.0

type PriceModelScalableMatrixWithTieredPricingPriceCadence = shared.PriceModelScalableMatrixWithTieredPricingPriceCadence

This is an alias to an internal type.

type PriceModelScalableMatrixWithTieredPricingPriceModelType added in v0.103.0

type PriceModelScalableMatrixWithTieredPricingPriceModelType = shared.PriceModelScalableMatrixWithTieredPricingPriceModelType

This is an alias to an internal type.

type PriceModelScalableMatrixWithTieredPricingPricePriceType added in v0.103.0

type PriceModelScalableMatrixWithTieredPricingPricePriceType = shared.PriceModelScalableMatrixWithTieredPricingPricePriceType

This is an alias to an internal type.

type PriceModelScalableMatrixWithUnitPricingPrice added in v0.103.0

type PriceModelScalableMatrixWithUnitPricingPrice = shared.PriceModelScalableMatrixWithUnitPricingPrice

This is an alias to an internal type.

type PriceModelScalableMatrixWithUnitPricingPriceCadence added in v0.103.0

type PriceModelScalableMatrixWithUnitPricingPriceCadence = shared.PriceModelScalableMatrixWithUnitPricingPriceCadence

This is an alias to an internal type.

type PriceModelScalableMatrixWithUnitPricingPriceModelType added in v0.103.0

type PriceModelScalableMatrixWithUnitPricingPriceModelType = shared.PriceModelScalableMatrixWithUnitPricingPriceModelType

This is an alias to an internal type.

type PriceModelScalableMatrixWithUnitPricingPricePriceType added in v0.103.0

type PriceModelScalableMatrixWithUnitPricingPricePriceType = shared.PriceModelScalableMatrixWithUnitPricingPricePriceType

This is an alias to an internal type.

type PriceModelThresholdTotalAmountPrice added in v0.103.0

type PriceModelThresholdTotalAmountPrice = shared.PriceModelThresholdTotalAmountPrice

This is an alias to an internal type.

type PriceModelThresholdTotalAmountPriceCadence added in v0.103.0

type PriceModelThresholdTotalAmountPriceCadence = shared.PriceModelThresholdTotalAmountPriceCadence

This is an alias to an internal type.

type PriceModelThresholdTotalAmountPriceModelType added in v0.103.0

type PriceModelThresholdTotalAmountPriceModelType = shared.PriceModelThresholdTotalAmountPriceModelType

This is an alias to an internal type.

type PriceModelThresholdTotalAmountPricePriceType added in v0.103.0

type PriceModelThresholdTotalAmountPricePriceType = shared.PriceModelThresholdTotalAmountPricePriceType

This is an alias to an internal type.

type PriceModelTieredBpsPrice added in v0.103.0

type PriceModelTieredBpsPrice = shared.PriceModelTieredBpsPrice

This is an alias to an internal type.

type PriceModelTieredBpsPriceCadence added in v0.103.0

type PriceModelTieredBpsPriceCadence = shared.PriceModelTieredBpsPriceCadence

This is an alias to an internal type.

type PriceModelTieredBpsPriceModelType added in v0.103.0

type PriceModelTieredBpsPriceModelType = shared.PriceModelTieredBpsPriceModelType

This is an alias to an internal type.

type PriceModelTieredBpsPricePriceType added in v0.103.0

type PriceModelTieredBpsPricePriceType = shared.PriceModelTieredBpsPricePriceType

This is an alias to an internal type.

type PriceModelTieredPackagePrice added in v0.103.0

type PriceModelTieredPackagePrice = shared.PriceModelTieredPackagePrice

This is an alias to an internal type.

type PriceModelTieredPackagePriceCadence added in v0.103.0

type PriceModelTieredPackagePriceCadence = shared.PriceModelTieredPackagePriceCadence

This is an alias to an internal type.

type PriceModelTieredPackagePriceModelType added in v0.103.0

type PriceModelTieredPackagePriceModelType = shared.PriceModelTieredPackagePriceModelType

This is an alias to an internal type.

type PriceModelTieredPackagePricePriceType added in v0.103.0

type PriceModelTieredPackagePricePriceType = shared.PriceModelTieredPackagePricePriceType

This is an alias to an internal type.

type PriceModelTieredPackageWithMinimumPrice added in v0.103.0

type PriceModelTieredPackageWithMinimumPrice = shared.PriceModelTieredPackageWithMinimumPrice

This is an alias to an internal type.

type PriceModelTieredPackageWithMinimumPriceCadence added in v0.103.0

type PriceModelTieredPackageWithMinimumPriceCadence = shared.PriceModelTieredPackageWithMinimumPriceCadence

This is an alias to an internal type.

type PriceModelTieredPackageWithMinimumPriceModelType added in v0.103.0

type PriceModelTieredPackageWithMinimumPriceModelType = shared.PriceModelTieredPackageWithMinimumPriceModelType

This is an alias to an internal type.

type PriceModelTieredPackageWithMinimumPricePriceType added in v0.103.0

type PriceModelTieredPackageWithMinimumPricePriceType = shared.PriceModelTieredPackageWithMinimumPricePriceType

This is an alias to an internal type.

type PriceModelTieredPrice added in v0.103.0

type PriceModelTieredPrice = shared.PriceModelTieredPrice

This is an alias to an internal type.

type PriceModelTieredPriceCadence added in v0.103.0

type PriceModelTieredPriceCadence = shared.PriceModelTieredPriceCadence

This is an alias to an internal type.

type PriceModelTieredPriceModelType added in v0.103.0

type PriceModelTieredPriceModelType = shared.PriceModelTieredPriceModelType

This is an alias to an internal type.

type PriceModelTieredPricePriceType added in v0.103.0

type PriceModelTieredPricePriceType = shared.PriceModelTieredPricePriceType

This is an alias to an internal type.

type PriceModelTieredWithMinimumPrice added in v0.103.0

type PriceModelTieredWithMinimumPrice = shared.PriceModelTieredWithMinimumPrice

This is an alias to an internal type.

type PriceModelTieredWithMinimumPriceCadence added in v0.103.0

type PriceModelTieredWithMinimumPriceCadence = shared.PriceModelTieredWithMinimumPriceCadence

This is an alias to an internal type.

type PriceModelTieredWithMinimumPriceModelType added in v0.103.0

type PriceModelTieredWithMinimumPriceModelType = shared.PriceModelTieredWithMinimumPriceModelType

This is an alias to an internal type.

type PriceModelTieredWithMinimumPricePriceType added in v0.103.0

type PriceModelTieredWithMinimumPricePriceType = shared.PriceModelTieredWithMinimumPricePriceType

This is an alias to an internal type.

type PriceModelTieredWithProrationPrice added in v0.103.0

type PriceModelTieredWithProrationPrice = shared.PriceModelTieredWithProrationPrice

This is an alias to an internal type.

type PriceModelTieredWithProrationPriceCadence added in v0.103.0

type PriceModelTieredWithProrationPriceCadence = shared.PriceModelTieredWithProrationPriceCadence

This is an alias to an internal type.

type PriceModelTieredWithProrationPriceModelType added in v0.103.0

type PriceModelTieredWithProrationPriceModelType = shared.PriceModelTieredWithProrationPriceModelType

This is an alias to an internal type.

type PriceModelTieredWithProrationPricePriceType added in v0.103.0

type PriceModelTieredWithProrationPricePriceType = shared.PriceModelTieredWithProrationPricePriceType

This is an alias to an internal type.

type PriceModelUnitPrice added in v0.103.0

type PriceModelUnitPrice = shared.PriceModelUnitPrice

This is an alias to an internal type.

type PriceModelUnitPriceCadence added in v0.103.0

type PriceModelUnitPriceCadence = shared.PriceModelUnitPriceCadence

This is an alias to an internal type.

type PriceModelUnitPriceModelType added in v0.103.0

type PriceModelUnitPriceModelType = shared.PriceModelUnitPriceModelType

This is an alias to an internal type.

type PriceModelUnitPricePriceType added in v0.103.0

type PriceModelUnitPricePriceType = shared.PriceModelUnitPricePriceType

This is an alias to an internal type.

type PriceModelUnitWithPercentPrice added in v0.103.0

type PriceModelUnitWithPercentPrice = shared.PriceModelUnitWithPercentPrice

This is an alias to an internal type.

type PriceModelUnitWithPercentPriceCadence added in v0.103.0

type PriceModelUnitWithPercentPriceCadence = shared.PriceModelUnitWithPercentPriceCadence

This is an alias to an internal type.

type PriceModelUnitWithPercentPriceModelType added in v0.103.0

type PriceModelUnitWithPercentPriceModelType = shared.PriceModelUnitWithPercentPriceModelType

This is an alias to an internal type.

type PriceModelUnitWithPercentPricePriceType added in v0.103.0

type PriceModelUnitWithPercentPricePriceType = shared.PriceModelUnitWithPercentPricePriceType

This is an alias to an internal type.

type PriceModelUnitWithProrationPrice added in v0.103.0

type PriceModelUnitWithProrationPrice = shared.PriceModelUnitWithProrationPrice

This is an alias to an internal type.

type PriceModelUnitWithProrationPriceCadence added in v0.103.0

type PriceModelUnitWithProrationPriceCadence = shared.PriceModelUnitWithProrationPriceCadence

This is an alias to an internal type.

type PriceModelUnitWithProrationPriceModelType added in v0.103.0

type PriceModelUnitWithProrationPriceModelType = shared.PriceModelUnitWithProrationPriceModelType

This is an alias to an internal type.

type PriceModelUnitWithProrationPricePriceType added in v0.103.0

type PriceModelUnitWithProrationPricePriceType = shared.PriceModelUnitWithProrationPricePriceType

This is an alias to an internal type.

type PriceNewParamsNewFloatingBpsPrice added in v0.2.0

type PriceNewParamsNewFloatingBpsPrice struct {
	BpsConfig param.Field[shared.BpsConfigModelParam] `json:"bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingBpsPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingBpsPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingBpsPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingBpsPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingBpsPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingBpsPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingBpsPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingBpsPriceCadenceAnnual     PriceNewParamsNewFloatingBpsPriceCadence = "annual"
	PriceNewParamsNewFloatingBpsPriceCadenceSemiAnnual PriceNewParamsNewFloatingBpsPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingBpsPriceCadenceMonthly    PriceNewParamsNewFloatingBpsPriceCadence = "monthly"
	PriceNewParamsNewFloatingBpsPriceCadenceQuarterly  PriceNewParamsNewFloatingBpsPriceCadence = "quarterly"
	PriceNewParamsNewFloatingBpsPriceCadenceOneTime    PriceNewParamsNewFloatingBpsPriceCadence = "one_time"
	PriceNewParamsNewFloatingBpsPriceCadenceCustom     PriceNewParamsNewFloatingBpsPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingBpsPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingBpsPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingBpsPriceModelType string
const (
	PriceNewParamsNewFloatingBpsPriceModelTypeBps PriceNewParamsNewFloatingBpsPriceModelType = "bps"
)

func (PriceNewParamsNewFloatingBpsPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingBulkBpsPrice added in v0.2.0

type PriceNewParamsNewFloatingBulkBpsPrice struct {
	BulkBpsConfig param.Field[shared.BulkBpsConfigModelParam] `json:"bulk_bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingBulkBpsPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                         `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingBulkBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingBulkBpsPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingBulkBpsPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingBulkBpsPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingBulkBpsPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingBulkBpsPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingBulkBpsPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingBulkBpsPriceCadenceAnnual     PriceNewParamsNewFloatingBulkBpsPriceCadence = "annual"
	PriceNewParamsNewFloatingBulkBpsPriceCadenceSemiAnnual PriceNewParamsNewFloatingBulkBpsPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingBulkBpsPriceCadenceMonthly    PriceNewParamsNewFloatingBulkBpsPriceCadence = "monthly"
	PriceNewParamsNewFloatingBulkBpsPriceCadenceQuarterly  PriceNewParamsNewFloatingBulkBpsPriceCadence = "quarterly"
	PriceNewParamsNewFloatingBulkBpsPriceCadenceOneTime    PriceNewParamsNewFloatingBulkBpsPriceCadence = "one_time"
	PriceNewParamsNewFloatingBulkBpsPriceCadenceCustom     PriceNewParamsNewFloatingBulkBpsPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingBulkBpsPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingBulkBpsPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingBulkBpsPriceModelType string
const (
	PriceNewParamsNewFloatingBulkBpsPriceModelTypeBulkBps PriceNewParamsNewFloatingBulkBpsPriceModelType = "bulk_bps"
)

func (PriceNewParamsNewFloatingBulkBpsPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingBulkPrice added in v0.2.0

type PriceNewParamsNewFloatingBulkPrice struct {
	BulkConfig param.Field[shared.BulkConfigModelParam] `json:"bulk_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingBulkPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                      `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingBulkPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingBulkPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingBulkPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingBulkPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingBulkPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingBulkPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingBulkPriceCadenceAnnual     PriceNewParamsNewFloatingBulkPriceCadence = "annual"
	PriceNewParamsNewFloatingBulkPriceCadenceSemiAnnual PriceNewParamsNewFloatingBulkPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingBulkPriceCadenceMonthly    PriceNewParamsNewFloatingBulkPriceCadence = "monthly"
	PriceNewParamsNewFloatingBulkPriceCadenceQuarterly  PriceNewParamsNewFloatingBulkPriceCadence = "quarterly"
	PriceNewParamsNewFloatingBulkPriceCadenceOneTime    PriceNewParamsNewFloatingBulkPriceCadence = "one_time"
	PriceNewParamsNewFloatingBulkPriceCadenceCustom     PriceNewParamsNewFloatingBulkPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingBulkPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingBulkPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingBulkPriceModelType string
const (
	PriceNewParamsNewFloatingBulkPriceModelTypeBulk PriceNewParamsNewFloatingBulkPriceModelType = "bulk"
)

func (PriceNewParamsNewFloatingBulkPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingBulkWithProrationPrice added in v0.49.0

type PriceNewParamsNewFloatingBulkWithProrationPrice struct {
	BulkWithProrationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"bulk_with_proration_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingBulkWithProrationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                   `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingBulkWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingBulkWithProrationPrice) ImplementsPriceNewParams added in v0.49.0

func (PriceNewParamsNewFloatingBulkWithProrationPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingBulkWithProrationPrice) MarshalJSON added in v0.49.0

func (r PriceNewParamsNewFloatingBulkWithProrationPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingBulkWithProrationPriceCadence added in v0.49.0

type PriceNewParamsNewFloatingBulkWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingBulkWithProrationPriceCadenceAnnual     PriceNewParamsNewFloatingBulkWithProrationPriceCadence = "annual"
	PriceNewParamsNewFloatingBulkWithProrationPriceCadenceSemiAnnual PriceNewParamsNewFloatingBulkWithProrationPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingBulkWithProrationPriceCadenceMonthly    PriceNewParamsNewFloatingBulkWithProrationPriceCadence = "monthly"
	PriceNewParamsNewFloatingBulkWithProrationPriceCadenceQuarterly  PriceNewParamsNewFloatingBulkWithProrationPriceCadence = "quarterly"
	PriceNewParamsNewFloatingBulkWithProrationPriceCadenceOneTime    PriceNewParamsNewFloatingBulkWithProrationPriceCadence = "one_time"
	PriceNewParamsNewFloatingBulkWithProrationPriceCadenceCustom     PriceNewParamsNewFloatingBulkWithProrationPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingBulkWithProrationPriceCadence) IsKnown added in v0.49.0

type PriceNewParamsNewFloatingBulkWithProrationPriceModelType added in v0.49.0

type PriceNewParamsNewFloatingBulkWithProrationPriceModelType string
const (
	PriceNewParamsNewFloatingBulkWithProrationPriceModelTypeBulkWithProration PriceNewParamsNewFloatingBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (PriceNewParamsNewFloatingBulkWithProrationPriceModelType) IsKnown added in v0.49.0

type PriceNewParamsNewFloatingCumulativeGroupedBulkPrice added in v0.94.0

type PriceNewParamsNewFloatingCumulativeGroupedBulkPrice struct {
	// The cadence to bill for this price on.
	Cadence                     param.Field[PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence] `json:"cadence,required"`
	CumulativeGroupedBulkConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                `json:"cumulative_grouped_bulk_config,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                       `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingCumulativeGroupedBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingCumulativeGroupedBulkPrice) ImplementsPriceNewParams added in v0.94.0

func (PriceNewParamsNewFloatingCumulativeGroupedBulkPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingCumulativeGroupedBulkPrice) MarshalJSON added in v0.94.0

func (r PriceNewParamsNewFloatingCumulativeGroupedBulkPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence added in v0.94.0

type PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadenceAnnual     PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence = "annual"
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadenceSemiAnnual PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadenceMonthly    PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence = "monthly"
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadenceQuarterly  PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence = "quarterly"
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadenceOneTime    PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence = "one_time"
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadenceCustom     PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingCumulativeGroupedBulkPriceCadence) IsKnown added in v0.94.0

type PriceNewParamsNewFloatingCumulativeGroupedBulkPriceModelType added in v0.94.0

type PriceNewParamsNewFloatingCumulativeGroupedBulkPriceModelType string
const (
	PriceNewParamsNewFloatingCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk PriceNewParamsNewFloatingCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (PriceNewParamsNewFloatingCumulativeGroupedBulkPriceModelType) IsKnown added in v0.94.0

type PriceNewParamsNewFloatingGroupedAllocationPrice added in v0.48.0

type PriceNewParamsNewFloatingGroupedAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingGroupedAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                param.Field[string]                                      `json:"currency,required"`
	GroupedAllocationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                   `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingGroupedAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingGroupedAllocationPrice) ImplementsPriceNewParams added in v0.48.0

func (PriceNewParamsNewFloatingGroupedAllocationPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingGroupedAllocationPrice) MarshalJSON added in v0.48.0

func (r PriceNewParamsNewFloatingGroupedAllocationPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingGroupedAllocationPriceCadence added in v0.48.0

type PriceNewParamsNewFloatingGroupedAllocationPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingGroupedAllocationPriceCadenceAnnual     PriceNewParamsNewFloatingGroupedAllocationPriceCadence = "annual"
	PriceNewParamsNewFloatingGroupedAllocationPriceCadenceSemiAnnual PriceNewParamsNewFloatingGroupedAllocationPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingGroupedAllocationPriceCadenceMonthly    PriceNewParamsNewFloatingGroupedAllocationPriceCadence = "monthly"
	PriceNewParamsNewFloatingGroupedAllocationPriceCadenceQuarterly  PriceNewParamsNewFloatingGroupedAllocationPriceCadence = "quarterly"
	PriceNewParamsNewFloatingGroupedAllocationPriceCadenceOneTime    PriceNewParamsNewFloatingGroupedAllocationPriceCadence = "one_time"
	PriceNewParamsNewFloatingGroupedAllocationPriceCadenceCustom     PriceNewParamsNewFloatingGroupedAllocationPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingGroupedAllocationPriceCadence) IsKnown added in v0.48.0

type PriceNewParamsNewFloatingGroupedAllocationPriceModelType added in v0.48.0

type PriceNewParamsNewFloatingGroupedAllocationPriceModelType string
const (
	PriceNewParamsNewFloatingGroupedAllocationPriceModelTypeGroupedAllocation PriceNewParamsNewFloatingGroupedAllocationPriceModelType = "grouped_allocation"
)

func (PriceNewParamsNewFloatingGroupedAllocationPriceModelType) IsKnown added in v0.48.0

type PriceNewParamsNewFloatingGroupedTieredPackagePrice added in v0.81.0

type PriceNewParamsNewFloatingGroupedTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                   param.Field[string]                                      `json:"currency,required"`
	GroupedTieredPackageConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_tiered_package_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                      `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingGroupedTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingGroupedTieredPackagePrice) ImplementsPriceNewParams added in v0.81.0

func (PriceNewParamsNewFloatingGroupedTieredPackagePrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingGroupedTieredPackagePrice) MarshalJSON added in v0.81.0

func (r PriceNewParamsNewFloatingGroupedTieredPackagePrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence added in v0.81.0

type PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingGroupedTieredPackagePriceCadenceAnnual     PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence = "annual"
	PriceNewParamsNewFloatingGroupedTieredPackagePriceCadenceSemiAnnual PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence = "semi_annual"
	PriceNewParamsNewFloatingGroupedTieredPackagePriceCadenceMonthly    PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence = "monthly"
	PriceNewParamsNewFloatingGroupedTieredPackagePriceCadenceQuarterly  PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence = "quarterly"
	PriceNewParamsNewFloatingGroupedTieredPackagePriceCadenceOneTime    PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence = "one_time"
	PriceNewParamsNewFloatingGroupedTieredPackagePriceCadenceCustom     PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence = "custom"
)

func (PriceNewParamsNewFloatingGroupedTieredPackagePriceCadence) IsKnown added in v0.81.0

type PriceNewParamsNewFloatingGroupedTieredPackagePriceModelType added in v0.81.0

type PriceNewParamsNewFloatingGroupedTieredPackagePriceModelType string
const (
	PriceNewParamsNewFloatingGroupedTieredPackagePriceModelTypeGroupedTieredPackage PriceNewParamsNewFloatingGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (PriceNewParamsNewFloatingGroupedTieredPackagePriceModelType) IsKnown added in v0.81.0

type PriceNewParamsNewFloatingGroupedTieredPrice added in v0.25.0

type PriceNewParamsNewFloatingGroupedTieredPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingGroupedTieredPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency            param.Field[string]                                      `json:"currency,required"`
	GroupedTieredConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_tiered_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                               `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingGroupedTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingGroupedTieredPrice) ImplementsPriceNewParams added in v0.25.0

func (PriceNewParamsNewFloatingGroupedTieredPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingGroupedTieredPrice) MarshalJSON added in v0.25.0

func (r PriceNewParamsNewFloatingGroupedTieredPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingGroupedTieredPriceCadence added in v0.25.0

type PriceNewParamsNewFloatingGroupedTieredPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingGroupedTieredPriceCadenceAnnual     PriceNewParamsNewFloatingGroupedTieredPriceCadence = "annual"
	PriceNewParamsNewFloatingGroupedTieredPriceCadenceSemiAnnual PriceNewParamsNewFloatingGroupedTieredPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingGroupedTieredPriceCadenceMonthly    PriceNewParamsNewFloatingGroupedTieredPriceCadence = "monthly"
	PriceNewParamsNewFloatingGroupedTieredPriceCadenceQuarterly  PriceNewParamsNewFloatingGroupedTieredPriceCadence = "quarterly"
	PriceNewParamsNewFloatingGroupedTieredPriceCadenceOneTime    PriceNewParamsNewFloatingGroupedTieredPriceCadence = "one_time"
	PriceNewParamsNewFloatingGroupedTieredPriceCadenceCustom     PriceNewParamsNewFloatingGroupedTieredPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingGroupedTieredPriceCadence) IsKnown added in v0.25.0

type PriceNewParamsNewFloatingGroupedTieredPriceModelType added in v0.25.0

type PriceNewParamsNewFloatingGroupedTieredPriceModelType string
const (
	PriceNewParamsNewFloatingGroupedTieredPriceModelTypeGroupedTiered PriceNewParamsNewFloatingGroupedTieredPriceModelType = "grouped_tiered"
)

func (PriceNewParamsNewFloatingGroupedTieredPriceModelType) IsKnown added in v0.25.0

type PriceNewParamsNewFloatingGroupedWithMeteredMinimumPrice added in v0.66.0

type PriceNewParamsNewFloatingGroupedWithMeteredMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                        param.Field[string]                                      `json:"currency,required"`
	GroupedWithMeteredMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_with_metered_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                           `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingGroupedWithMeteredMinimumPrice) ImplementsPriceNewParams added in v0.66.0

func (PriceNewParamsNewFloatingGroupedWithMeteredMinimumPrice) MarshalJSON added in v0.66.0

type PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence added in v0.66.0

type PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadenceAnnual     PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence = "annual"
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadenceSemiAnnual PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadenceMonthly    PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence = "monthly"
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadenceQuarterly  PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence = "quarterly"
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadenceOneTime    PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence = "one_time"
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadenceCustom     PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.66.0

type PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceModelType added in v0.66.0

type PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceModelType string
const (
	PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (PriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.66.0

type PriceNewParamsNewFloatingGroupedWithProratedMinimumPrice added in v0.58.0

type PriceNewParamsNewFloatingGroupedWithProratedMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                         param.Field[string]                                      `json:"currency,required"`
	GroupedWithProratedMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"grouped_with_prorated_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                            `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingGroupedWithProratedMinimumPrice) ImplementsPriceNewParams added in v0.58.0

func (PriceNewParamsNewFloatingGroupedWithProratedMinimumPrice) MarshalJSON added in v0.58.0

type PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence added in v0.58.0

type PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadenceAnnual     PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence = "annual"
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadenceSemiAnnual PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadenceMonthly    PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence = "monthly"
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadenceQuarterly  PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence = "quarterly"
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadenceOneTime    PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence = "one_time"
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadenceCustom     PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.58.0

type PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceModelType added in v0.58.0

type PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceModelType string
const (
	PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (PriceNewParamsNewFloatingGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.58.0

type PriceNewParamsNewFloatingMatrixPrice added in v0.2.0

type PriceNewParamsNewFloatingMatrixPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingMatrixPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID       param.Field[string]                                        `json:"item_id,required"`
	MatrixConfig param.Field[shared.MatrixConfigModelParam]                 `json:"matrix_config,required"`
	ModelType    param.Field[PriceNewParamsNewFloatingMatrixPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingMatrixPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingMatrixPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingMatrixPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingMatrixPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingMatrixPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingMatrixPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingMatrixPriceCadenceAnnual     PriceNewParamsNewFloatingMatrixPriceCadence = "annual"
	PriceNewParamsNewFloatingMatrixPriceCadenceSemiAnnual PriceNewParamsNewFloatingMatrixPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingMatrixPriceCadenceMonthly    PriceNewParamsNewFloatingMatrixPriceCadence = "monthly"
	PriceNewParamsNewFloatingMatrixPriceCadenceQuarterly  PriceNewParamsNewFloatingMatrixPriceCadence = "quarterly"
	PriceNewParamsNewFloatingMatrixPriceCadenceOneTime    PriceNewParamsNewFloatingMatrixPriceCadence = "one_time"
	PriceNewParamsNewFloatingMatrixPriceCadenceCustom     PriceNewParamsNewFloatingMatrixPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingMatrixPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingMatrixPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingMatrixPriceModelType string
const (
	PriceNewParamsNewFloatingMatrixPriceModelTypeMatrix PriceNewParamsNewFloatingMatrixPriceModelType = "matrix"
)

func (PriceNewParamsNewFloatingMatrixPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingMatrixWithAllocationPrice added in v0.22.0

type PriceNewParamsNewFloatingMatrixWithAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID                     param.Field[string]                                                      `json:"item_id,required"`
	MatrixWithAllocationConfig param.Field[shared.MatrixWithAllocationConfigModelParam]                 `json:"matrix_with_allocation_config,required"`
	ModelType                  param.Field[PriceNewParamsNewFloatingMatrixWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingMatrixWithAllocationPrice) ImplementsPriceNewParams added in v0.22.0

func (PriceNewParamsNewFloatingMatrixWithAllocationPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingMatrixWithAllocationPrice) MarshalJSON added in v0.22.0

func (r PriceNewParamsNewFloatingMatrixWithAllocationPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence added in v0.22.0

type PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingMatrixWithAllocationPriceCadenceAnnual     PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence = "annual"
	PriceNewParamsNewFloatingMatrixWithAllocationPriceCadenceSemiAnnual PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingMatrixWithAllocationPriceCadenceMonthly    PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence = "monthly"
	PriceNewParamsNewFloatingMatrixWithAllocationPriceCadenceQuarterly  PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence = "quarterly"
	PriceNewParamsNewFloatingMatrixWithAllocationPriceCadenceOneTime    PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence = "one_time"
	PriceNewParamsNewFloatingMatrixWithAllocationPriceCadenceCustom     PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingMatrixWithAllocationPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingMatrixWithAllocationPriceModelType added in v0.22.0

type PriceNewParamsNewFloatingMatrixWithAllocationPriceModelType string
const (
	PriceNewParamsNewFloatingMatrixWithAllocationPriceModelTypeMatrixWithAllocation PriceNewParamsNewFloatingMatrixWithAllocationPriceModelType = "matrix_with_allocation"
)

func (PriceNewParamsNewFloatingMatrixWithAllocationPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingMatrixWithDisplayNamePrice added in v0.78.0

type PriceNewParamsNewFloatingMatrixWithDisplayNamePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                       `json:"item_id,required"`
	MatrixWithDisplayNameConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                  `json:"matrix_with_display_name_config,required"`
	ModelType                   param.Field[PriceNewParamsNewFloatingMatrixWithDisplayNamePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingMatrixWithDisplayNamePrice) ImplementsPriceNewParams added in v0.78.0

func (PriceNewParamsNewFloatingMatrixWithDisplayNamePrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingMatrixWithDisplayNamePrice) MarshalJSON added in v0.78.0

func (r PriceNewParamsNewFloatingMatrixWithDisplayNamePrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence added in v0.78.0

type PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadenceAnnual     PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence = "annual"
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadenceSemiAnnual PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence = "semi_annual"
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadenceMonthly    PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence = "monthly"
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadenceQuarterly  PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence = "quarterly"
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadenceOneTime    PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence = "one_time"
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadenceCustom     PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence = "custom"
)

func (PriceNewParamsNewFloatingMatrixWithDisplayNamePriceCadence) IsKnown added in v0.78.0

type PriceNewParamsNewFloatingMatrixWithDisplayNamePriceModelType added in v0.78.0

type PriceNewParamsNewFloatingMatrixWithDisplayNamePriceModelType string
const (
	PriceNewParamsNewFloatingMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName PriceNewParamsNewFloatingMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (PriceNewParamsNewFloatingMatrixWithDisplayNamePriceModelType) IsKnown added in v0.78.0

type PriceNewParamsNewFloatingMaxGroupTieredPackagePrice added in v0.90.0

type PriceNewParamsNewFloatingMaxGroupTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                       `json:"item_id,required"`
	MaxGroupTieredPackageConfig param.Field[shared.CustomRatingFunctionConfigModelParam]                  `json:"max_group_tiered_package_config,required"`
	ModelType                   param.Field[PriceNewParamsNewFloatingMaxGroupTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingMaxGroupTieredPackagePrice) ImplementsPriceNewParams added in v0.90.0

func (PriceNewParamsNewFloatingMaxGroupTieredPackagePrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingMaxGroupTieredPackagePrice) MarshalJSON added in v0.90.0

func (r PriceNewParamsNewFloatingMaxGroupTieredPackagePrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence added in v0.90.0

type PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadenceAnnual     PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence = "annual"
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadenceSemiAnnual PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence = "semi_annual"
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadenceMonthly    PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence = "monthly"
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadenceQuarterly  PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence = "quarterly"
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadenceOneTime    PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence = "one_time"
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadenceCustom     PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence = "custom"
)

func (PriceNewParamsNewFloatingMaxGroupTieredPackagePriceCadence) IsKnown added in v0.90.0

type PriceNewParamsNewFloatingMaxGroupTieredPackagePriceModelType added in v0.90.0

type PriceNewParamsNewFloatingMaxGroupTieredPackagePriceModelType string
const (
	PriceNewParamsNewFloatingMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage PriceNewParamsNewFloatingMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (PriceNewParamsNewFloatingMaxGroupTieredPackagePriceModelType) IsKnown added in v0.90.0

type PriceNewParamsNewFloatingPackagePrice added in v0.2.0

type PriceNewParamsNewFloatingPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                         `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name          param.Field[string]                         `json:"name,required"`
	PackageConfig param.Field[shared.PackageConfigModelParam] `json:"package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingPackagePrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingPackagePrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingPackagePrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingPackagePrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingPackagePriceCadence added in v0.2.0

type PriceNewParamsNewFloatingPackagePriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingPackagePriceCadenceAnnual     PriceNewParamsNewFloatingPackagePriceCadence = "annual"
	PriceNewParamsNewFloatingPackagePriceCadenceSemiAnnual PriceNewParamsNewFloatingPackagePriceCadence = "semi_annual"
	PriceNewParamsNewFloatingPackagePriceCadenceMonthly    PriceNewParamsNewFloatingPackagePriceCadence = "monthly"
	PriceNewParamsNewFloatingPackagePriceCadenceQuarterly  PriceNewParamsNewFloatingPackagePriceCadence = "quarterly"
	PriceNewParamsNewFloatingPackagePriceCadenceOneTime    PriceNewParamsNewFloatingPackagePriceCadence = "one_time"
	PriceNewParamsNewFloatingPackagePriceCadenceCustom     PriceNewParamsNewFloatingPackagePriceCadence = "custom"
)

func (PriceNewParamsNewFloatingPackagePriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingPackagePriceModelType added in v0.2.0

type PriceNewParamsNewFloatingPackagePriceModelType string
const (
	PriceNewParamsNewFloatingPackagePriceModelTypePackage PriceNewParamsNewFloatingPackagePriceModelType = "package"
)

func (PriceNewParamsNewFloatingPackagePriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingPackageWithAllocationPrice added in v0.2.0

type PriceNewParamsNewFloatingPackageWithAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingPackageWithAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                       `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                        param.Field[string]                                      `json:"name,required"`
	PackageWithAllocationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"package_with_allocation_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingPackageWithAllocationPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingPackageWithAllocationPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingPackageWithAllocationPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingPackageWithAllocationPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingPackageWithAllocationPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingPackageWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingPackageWithAllocationPriceCadenceAnnual     PriceNewParamsNewFloatingPackageWithAllocationPriceCadence = "annual"
	PriceNewParamsNewFloatingPackageWithAllocationPriceCadenceSemiAnnual PriceNewParamsNewFloatingPackageWithAllocationPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingPackageWithAllocationPriceCadenceMonthly    PriceNewParamsNewFloatingPackageWithAllocationPriceCadence = "monthly"
	PriceNewParamsNewFloatingPackageWithAllocationPriceCadenceQuarterly  PriceNewParamsNewFloatingPackageWithAllocationPriceCadence = "quarterly"
	PriceNewParamsNewFloatingPackageWithAllocationPriceCadenceOneTime    PriceNewParamsNewFloatingPackageWithAllocationPriceCadence = "one_time"
	PriceNewParamsNewFloatingPackageWithAllocationPriceCadenceCustom     PriceNewParamsNewFloatingPackageWithAllocationPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingPackageWithAllocationPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingPackageWithAllocationPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingPackageWithAllocationPriceModelType string
const (
	PriceNewParamsNewFloatingPackageWithAllocationPriceModelTypePackageWithAllocation PriceNewParamsNewFloatingPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (PriceNewParamsNewFloatingPackageWithAllocationPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPrice added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                 `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                  param.Field[string]                                      `json:"name,required"`
	ScalableMatrixWithTieredPricingConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"scalable_matrix_with_tiered_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPrice) ImplementsPriceNewParams added in v0.91.0

func (PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPrice) MarshalJSON added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadenceAnnual     PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence = "annual"
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadenceSemiAnnual PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadenceMonthly    PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence = "monthly"
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadenceQuarterly  PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadenceOneTime    PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence = "one_time"
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadenceCustom     PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceModelType added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceModelType string
const (
	PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (PriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPrice added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                               `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                param.Field[string]                                      `json:"name,required"`
	ScalableMatrixWithUnitPricingConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"scalable_matrix_with_unit_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPrice) ImplementsPriceNewParams added in v0.91.0

func (PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPrice) MarshalJSON added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadenceAnnual     PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence = "annual"
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadenceSemiAnnual PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadenceMonthly    PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence = "monthly"
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadenceQuarterly  PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadenceOneTime    PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence = "one_time"
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadenceCustom     PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceModelType added in v0.91.0

type PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceModelType string
const (
	PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (PriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.91.0

type PriceNewParamsNewFloatingThresholdTotalAmountPrice added in v0.2.0

type PriceNewParamsNewFloatingThresholdTotalAmountPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                      `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                       param.Field[string]                                      `json:"name,required"`
	ThresholdTotalAmountConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"threshold_total_amount_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingThresholdTotalAmountPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingThresholdTotalAmountPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingThresholdTotalAmountPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingThresholdTotalAmountPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingThresholdTotalAmountPriceCadenceAnnual     PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence = "annual"
	PriceNewParamsNewFloatingThresholdTotalAmountPriceCadenceSemiAnnual PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingThresholdTotalAmountPriceCadenceMonthly    PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence = "monthly"
	PriceNewParamsNewFloatingThresholdTotalAmountPriceCadenceQuarterly  PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence = "quarterly"
	PriceNewParamsNewFloatingThresholdTotalAmountPriceCadenceOneTime    PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence = "one_time"
	PriceNewParamsNewFloatingThresholdTotalAmountPriceCadenceCustom     PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingThresholdTotalAmountPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingThresholdTotalAmountPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingThresholdTotalAmountPriceModelType string
const (
	PriceNewParamsNewFloatingThresholdTotalAmountPriceModelTypeThresholdTotalAmount PriceNewParamsNewFloatingThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (PriceNewParamsNewFloatingThresholdTotalAmountPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredBpsPrice added in v0.2.0

type PriceNewParamsNewFloatingTieredBpsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingTieredBpsPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                           `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingTieredBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name            param.Field[string]                           `json:"name,required"`
	TieredBpsConfig param.Field[shared.TieredBpsConfigModelParam] `json:"tiered_bps_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingTieredBpsPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingTieredBpsPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingTieredBpsPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingTieredBpsPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingTieredBpsPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingTieredBpsPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingTieredBpsPriceCadenceAnnual     PriceNewParamsNewFloatingTieredBpsPriceCadence = "annual"
	PriceNewParamsNewFloatingTieredBpsPriceCadenceSemiAnnual PriceNewParamsNewFloatingTieredBpsPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingTieredBpsPriceCadenceMonthly    PriceNewParamsNewFloatingTieredBpsPriceCadence = "monthly"
	PriceNewParamsNewFloatingTieredBpsPriceCadenceQuarterly  PriceNewParamsNewFloatingTieredBpsPriceCadence = "quarterly"
	PriceNewParamsNewFloatingTieredBpsPriceCadenceOneTime    PriceNewParamsNewFloatingTieredBpsPriceCadence = "one_time"
	PriceNewParamsNewFloatingTieredBpsPriceCadenceCustom     PriceNewParamsNewFloatingTieredBpsPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingTieredBpsPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredBpsPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingTieredBpsPriceModelType string
const (
	PriceNewParamsNewFloatingTieredBpsPriceModelTypeTieredBps PriceNewParamsNewFloatingTieredBpsPriceModelType = "tiered_bps"
)

func (PriceNewParamsNewFloatingTieredBpsPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredPackagePrice added in v0.2.0

type PriceNewParamsNewFloatingTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingTieredPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                               `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                param.Field[string]                                      `json:"name,required"`
	TieredPackageConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingTieredPackagePrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingTieredPackagePrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingTieredPackagePrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingTieredPackagePrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingTieredPackagePriceCadence added in v0.2.0

type PriceNewParamsNewFloatingTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingTieredPackagePriceCadenceAnnual     PriceNewParamsNewFloatingTieredPackagePriceCadence = "annual"
	PriceNewParamsNewFloatingTieredPackagePriceCadenceSemiAnnual PriceNewParamsNewFloatingTieredPackagePriceCadence = "semi_annual"
	PriceNewParamsNewFloatingTieredPackagePriceCadenceMonthly    PriceNewParamsNewFloatingTieredPackagePriceCadence = "monthly"
	PriceNewParamsNewFloatingTieredPackagePriceCadenceQuarterly  PriceNewParamsNewFloatingTieredPackagePriceCadence = "quarterly"
	PriceNewParamsNewFloatingTieredPackagePriceCadenceOneTime    PriceNewParamsNewFloatingTieredPackagePriceCadence = "one_time"
	PriceNewParamsNewFloatingTieredPackagePriceCadenceCustom     PriceNewParamsNewFloatingTieredPackagePriceCadence = "custom"
)

func (PriceNewParamsNewFloatingTieredPackagePriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredPackagePriceModelType added in v0.2.0

type PriceNewParamsNewFloatingTieredPackagePriceModelType string
const (
	PriceNewParamsNewFloatingTieredPackagePriceModelTypeTieredPackage PriceNewParamsNewFloatingTieredPackagePriceModelType = "tiered_package"
)

func (PriceNewParamsNewFloatingTieredPackagePriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredPackageWithMinimumPrice added in v0.20.0

type PriceNewParamsNewFloatingTieredPackageWithMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                          `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingTieredPackageWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                           param.Field[string]                                      `json:"name,required"`
	TieredPackageWithMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_package_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingTieredPackageWithMinimumPrice) ImplementsPriceNewParams added in v0.20.0

func (PriceNewParamsNewFloatingTieredPackageWithMinimumPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingTieredPackageWithMinimumPrice) MarshalJSON added in v0.20.0

type PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence added in v0.20.0

type PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadenceAnnual     PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence = "annual"
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadenceSemiAnnual PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadenceMonthly    PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence = "monthly"
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadenceQuarterly  PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence = "quarterly"
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadenceOneTime    PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence = "one_time"
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadenceCustom     PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingTieredPackageWithMinimumPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredPackageWithMinimumPriceModelType added in v0.20.0

type PriceNewParamsNewFloatingTieredPackageWithMinimumPriceModelType string
const (
	PriceNewParamsNewFloatingTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum PriceNewParamsNewFloatingTieredPackageWithMinimumPriceModelType = "tiered_package_with_minimum"
)

func (PriceNewParamsNewFloatingTieredPackageWithMinimumPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredPrice added in v0.2.0

type PriceNewParamsNewFloatingTieredPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingTieredPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                        `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name         param.Field[string]                        `json:"name,required"`
	TieredConfig param.Field[shared.TieredConfigModelParam] `json:"tiered_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingTieredPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingTieredPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingTieredPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingTieredPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingTieredPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingTieredPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingTieredPriceCadenceAnnual     PriceNewParamsNewFloatingTieredPriceCadence = "annual"
	PriceNewParamsNewFloatingTieredPriceCadenceSemiAnnual PriceNewParamsNewFloatingTieredPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingTieredPriceCadenceMonthly    PriceNewParamsNewFloatingTieredPriceCadence = "monthly"
	PriceNewParamsNewFloatingTieredPriceCadenceQuarterly  PriceNewParamsNewFloatingTieredPriceCadence = "quarterly"
	PriceNewParamsNewFloatingTieredPriceCadenceOneTime    PriceNewParamsNewFloatingTieredPriceCadence = "one_time"
	PriceNewParamsNewFloatingTieredPriceCadenceCustom     PriceNewParamsNewFloatingTieredPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingTieredPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingTieredPriceModelType string
const (
	PriceNewParamsNewFloatingTieredPriceModelTypeTiered PriceNewParamsNewFloatingTieredPriceModelType = "tiered"
)

func (PriceNewParamsNewFloatingTieredPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredWithMinimumPrice added in v0.2.0

type PriceNewParamsNewFloatingTieredWithMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingTieredWithMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                   `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                                      `json:"name,required"`
	TieredWithMinimumConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingTieredWithMinimumPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingTieredWithMinimumPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingTieredWithMinimumPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingTieredWithMinimumPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingTieredWithMinimumPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingTieredWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingTieredWithMinimumPriceCadenceAnnual     PriceNewParamsNewFloatingTieredWithMinimumPriceCadence = "annual"
	PriceNewParamsNewFloatingTieredWithMinimumPriceCadenceSemiAnnual PriceNewParamsNewFloatingTieredWithMinimumPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingTieredWithMinimumPriceCadenceMonthly    PriceNewParamsNewFloatingTieredWithMinimumPriceCadence = "monthly"
	PriceNewParamsNewFloatingTieredWithMinimumPriceCadenceQuarterly  PriceNewParamsNewFloatingTieredWithMinimumPriceCadence = "quarterly"
	PriceNewParamsNewFloatingTieredWithMinimumPriceCadenceOneTime    PriceNewParamsNewFloatingTieredWithMinimumPriceCadence = "one_time"
	PriceNewParamsNewFloatingTieredWithMinimumPriceCadenceCustom     PriceNewParamsNewFloatingTieredWithMinimumPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingTieredWithMinimumPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredWithMinimumPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingTieredWithMinimumPriceModelType string
const (
	PriceNewParamsNewFloatingTieredWithMinimumPriceModelTypeTieredWithMinimum PriceNewParamsNewFloatingTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (PriceNewParamsNewFloatingTieredWithMinimumPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingTieredWithProrationPrice added in v0.34.0

type PriceNewParamsNewFloatingTieredWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingTieredWithProrationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                     `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingTieredWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                      param.Field[string]                                      `json:"name,required"`
	TieredWithProrationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"tiered_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingTieredWithProrationPrice) ImplementsPriceNewParams added in v0.34.0

func (PriceNewParamsNewFloatingTieredWithProrationPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingTieredWithProrationPrice) MarshalJSON added in v0.34.0

func (r PriceNewParamsNewFloatingTieredWithProrationPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingTieredWithProrationPriceCadence added in v0.34.0

type PriceNewParamsNewFloatingTieredWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingTieredWithProrationPriceCadenceAnnual     PriceNewParamsNewFloatingTieredWithProrationPriceCadence = "annual"
	PriceNewParamsNewFloatingTieredWithProrationPriceCadenceSemiAnnual PriceNewParamsNewFloatingTieredWithProrationPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingTieredWithProrationPriceCadenceMonthly    PriceNewParamsNewFloatingTieredWithProrationPriceCadence = "monthly"
	PriceNewParamsNewFloatingTieredWithProrationPriceCadenceQuarterly  PriceNewParamsNewFloatingTieredWithProrationPriceCadence = "quarterly"
	PriceNewParamsNewFloatingTieredWithProrationPriceCadenceOneTime    PriceNewParamsNewFloatingTieredWithProrationPriceCadence = "one_time"
	PriceNewParamsNewFloatingTieredWithProrationPriceCadenceCustom     PriceNewParamsNewFloatingTieredWithProrationPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingTieredWithProrationPriceCadence) IsKnown added in v0.34.0

type PriceNewParamsNewFloatingTieredWithProrationPriceModelType added in v0.34.0

type PriceNewParamsNewFloatingTieredWithProrationPriceModelType string
const (
	PriceNewParamsNewFloatingTieredWithProrationPriceModelTypeTieredWithProration PriceNewParamsNewFloatingTieredWithProrationPriceModelType = "tiered_with_proration"
)

func (PriceNewParamsNewFloatingTieredWithProrationPriceModelType) IsKnown added in v0.34.0

type PriceNewParamsNewFloatingUnitPrice added in v0.2.0

type PriceNewParamsNewFloatingUnitPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingUnitPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                      `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name       param.Field[string]                      `json:"name,required"`
	UnitConfig param.Field[shared.UnitConfigModelParam] `json:"unit_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingUnitPrice) ImplementsPriceNewParams added in v0.2.0

func (PriceNewParamsNewFloatingUnitPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingUnitPrice) MarshalJSON added in v0.2.0

func (r PriceNewParamsNewFloatingUnitPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingUnitPriceCadence added in v0.2.0

type PriceNewParamsNewFloatingUnitPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingUnitPriceCadenceAnnual     PriceNewParamsNewFloatingUnitPriceCadence = "annual"
	PriceNewParamsNewFloatingUnitPriceCadenceSemiAnnual PriceNewParamsNewFloatingUnitPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingUnitPriceCadenceMonthly    PriceNewParamsNewFloatingUnitPriceCadence = "monthly"
	PriceNewParamsNewFloatingUnitPriceCadenceQuarterly  PriceNewParamsNewFloatingUnitPriceCadence = "quarterly"
	PriceNewParamsNewFloatingUnitPriceCadenceOneTime    PriceNewParamsNewFloatingUnitPriceCadence = "one_time"
	PriceNewParamsNewFloatingUnitPriceCadenceCustom     PriceNewParamsNewFloatingUnitPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingUnitPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingUnitPriceModelType added in v0.2.0

type PriceNewParamsNewFloatingUnitPriceModelType string
const (
	PriceNewParamsNewFloatingUnitPriceModelTypeUnit PriceNewParamsNewFloatingUnitPriceModelType = "unit"
)

func (PriceNewParamsNewFloatingUnitPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingUnitWithPercentPrice added in v0.20.0

type PriceNewParamsNewFloatingUnitWithPercentPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingUnitWithPercentPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                 `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                  param.Field[string]                                      `json:"name,required"`
	UnitWithPercentConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"unit_with_percent_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingUnitWithPercentPrice) ImplementsPriceNewParams added in v0.20.0

func (PriceNewParamsNewFloatingUnitWithPercentPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingUnitWithPercentPrice) MarshalJSON added in v0.20.0

func (r PriceNewParamsNewFloatingUnitWithPercentPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingUnitWithPercentPriceCadence added in v0.20.0

type PriceNewParamsNewFloatingUnitWithPercentPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingUnitWithPercentPriceCadenceAnnual     PriceNewParamsNewFloatingUnitWithPercentPriceCadence = "annual"
	PriceNewParamsNewFloatingUnitWithPercentPriceCadenceSemiAnnual PriceNewParamsNewFloatingUnitWithPercentPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingUnitWithPercentPriceCadenceMonthly    PriceNewParamsNewFloatingUnitWithPercentPriceCadence = "monthly"
	PriceNewParamsNewFloatingUnitWithPercentPriceCadenceQuarterly  PriceNewParamsNewFloatingUnitWithPercentPriceCadence = "quarterly"
	PriceNewParamsNewFloatingUnitWithPercentPriceCadenceOneTime    PriceNewParamsNewFloatingUnitWithPercentPriceCadence = "one_time"
	PriceNewParamsNewFloatingUnitWithPercentPriceCadenceCustom     PriceNewParamsNewFloatingUnitWithPercentPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingUnitWithPercentPriceCadence) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingUnitWithPercentPriceModelType added in v0.20.0

type PriceNewParamsNewFloatingUnitWithPercentPriceModelType string
const (
	PriceNewParamsNewFloatingUnitWithPercentPriceModelTypeUnitWithPercent PriceNewParamsNewFloatingUnitWithPercentPriceModelType = "unit_with_percent"
)

func (PriceNewParamsNewFloatingUnitWithPercentPriceModelType) IsKnown added in v0.24.0

type PriceNewParamsNewFloatingUnitWithProrationPrice added in v0.34.0

type PriceNewParamsNewFloatingUnitWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[PriceNewParamsNewFloatingUnitWithProrationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                   `json:"item_id,required"`
	ModelType param.Field[PriceNewParamsNewFloatingUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                                      `json:"name,required"`
	UnitWithProrationConfig param.Field[shared.CustomRatingFunctionConfigModelParam] `json:"unit_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[shared.NewBillingCycleConfigurationModelParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceNewParamsNewFloatingUnitWithProrationPrice) ImplementsPriceNewParams added in v0.34.0

func (PriceNewParamsNewFloatingUnitWithProrationPrice) ImplementsPriceNewParams()

func (PriceNewParamsNewFloatingUnitWithProrationPrice) MarshalJSON added in v0.34.0

func (r PriceNewParamsNewFloatingUnitWithProrationPrice) MarshalJSON() (data []byte, err error)

type PriceNewParamsNewFloatingUnitWithProrationPriceCadence added in v0.34.0

type PriceNewParamsNewFloatingUnitWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	PriceNewParamsNewFloatingUnitWithProrationPriceCadenceAnnual     PriceNewParamsNewFloatingUnitWithProrationPriceCadence = "annual"
	PriceNewParamsNewFloatingUnitWithProrationPriceCadenceSemiAnnual PriceNewParamsNewFloatingUnitWithProrationPriceCadence = "semi_annual"
	PriceNewParamsNewFloatingUnitWithProrationPriceCadenceMonthly    PriceNewParamsNewFloatingUnitWithProrationPriceCadence = "monthly"
	PriceNewParamsNewFloatingUnitWithProrationPriceCadenceQuarterly  PriceNewParamsNewFloatingUnitWithProrationPriceCadence = "quarterly"
	PriceNewParamsNewFloatingUnitWithProrationPriceCadenceOneTime    PriceNewParamsNewFloatingUnitWithProrationPriceCadence = "one_time"
	PriceNewParamsNewFloatingUnitWithProrationPriceCadenceCustom     PriceNewParamsNewFloatingUnitWithProrationPriceCadence = "custom"
)

func (PriceNewParamsNewFloatingUnitWithProrationPriceCadence) IsKnown added in v0.34.0

type PriceNewParamsNewFloatingUnitWithProrationPriceModelType added in v0.34.0

type PriceNewParamsNewFloatingUnitWithProrationPriceModelType string
const (
	PriceNewParamsNewFloatingUnitWithProrationPriceModelTypeUnitWithProration PriceNewParamsNewFloatingUnitWithProrationPriceModelType = "unit_with_proration"
)

func (PriceNewParamsNewFloatingUnitWithProrationPriceModelType) IsKnown added in v0.34.0

type PriceService

type PriceService struct {
	Options         []option.RequestOption
	ExternalPriceID *PriceExternalPriceIDService
}

PriceService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewPriceService method instead.

func NewPriceService

func NewPriceService(opts ...option.RequestOption) (r *PriceService)

NewPriceService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*PriceService) Evaluate added in v0.25.0

func (r *PriceService) Evaluate(ctx context.Context, priceID string, body PriceEvaluateParams, opts ...option.RequestOption) (res *PriceEvaluateResponse, err error)

This endpoint is used to evaluate the output of a price for a given customer and time range. It enables filtering and grouping the output using [computed properties](/extensibility/advanced-metrics#computed-properties), supporting the following workflows:

1. Showing detailed usage and costs to the end customer. 2. Auditing subtotals on invoice line items.

For these workflows, the expressiveness of computed properties in both the filters and grouping is critical. For example, if you'd like to show your customer their usage grouped by hour and another property, you can do so with the following `grouping_keys`: `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd like to examine a customer's usage for a specific property value, you can do so with the following `filter`: `my_property = 'foo' AND my_other_property = 'bar'`.

By default, the start of the time range must be no more than 100 days ago and the length of the results must be no greater than 1000. Note that this is a POST endpoint rather than a GET endpoint because it employs a JSON body rather than query parameters.

func (*PriceService) Fetch

func (r *PriceService) Fetch(ctx context.Context, priceID string, opts ...option.RequestOption) (res *shared.PriceModel, err error)

This endpoint returns a price given an identifier.

func (*PriceService) List

This endpoint is used to list all add-on prices created using the [price creation endpoint](/api-reference/price/create-price).

func (*PriceService) ListAutoPaging

This endpoint is used to list all add-on prices created using the [price creation endpoint](/api-reference/price/create-price).

func (*PriceService) New

func (r *PriceService) New(ctx context.Context, body PriceNewParams, opts ...option.RequestOption) (res *shared.PriceModel, err error)

This endpoint is used to create a [price](/product-catalog/price-configuration). A price created using this endpoint is always an add-on, meaning that it’s not associated with a specific plan and can instead be individually added to subscriptions, including subscriptions on different plans.

An `external_price_id` can be optionally specified as an alias to allow ergonomic interaction with prices in the Orb API.

See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations possible in this endpoint.

func (*PriceService) Update added in v0.42.0

func (r *PriceService) Update(ctx context.Context, priceID string, body PriceUpdateParams, opts ...option.RequestOption) (res *shared.PriceModel, err error)

This endpoint allows you to update the `metadata` property on a price. If you pass null for the metadata value, it will clear any existing metadata for that price.

type PriceUpdateParams added in v0.42.0

type PriceUpdateParams struct {
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (PriceUpdateParams) MarshalJSON added in v0.42.0

func (r PriceUpdateParams) MarshalJSON() (data []byte, err error)

type RemoveSubscriptionAdjustmentParams added in v0.103.0

type RemoveSubscriptionAdjustmentParams = shared.RemoveSubscriptionAdjustmentParams

This is an alias to an internal type.

type RemoveSubscriptionPriceParams added in v0.103.0

type RemoveSubscriptionPriceParams = shared.RemoveSubscriptionPriceParams

This is an alias to an internal type.

type ReplaceSubscriptionAdjustmentParams added in v0.103.0

type ReplaceSubscriptionAdjustmentParams = shared.ReplaceSubscriptionAdjustmentParams

This is an alias to an internal type.

type ReplaceSubscriptionPriceParams added in v0.103.0

type ReplaceSubscriptionPriceParams = shared.ReplaceSubscriptionPriceParams

This is an alias to an internal type.

type SubLineItemGroupingModel added in v0.103.0

type SubLineItemGroupingModel = shared.SubLineItemGroupingModel

This is an alias to an internal type.

type SubscriptionCancelParams

type SubscriptionCancelParams struct {
	// Determines the timing of subscription cancellation
	CancelOption param.Field[SubscriptionCancelParamsCancelOption] `json:"cancel_option,required"`
	// If false, this request will fail if it would void an issued invoice or create a
	// credit note. Consider using this as a safety mechanism if you do not expect
	// existing invoices to be changed.
	AllowInvoiceCreditOrVoid param.Field[bool] `json:"allow_invoice_credit_or_void"`
	// The date that the cancellation should take effect. This parameter can only be
	// passed if the `cancel_option` is `requested_date`.
	CancellationDate param.Field[time.Time] `json:"cancellation_date" format:"date-time"`
}

func (SubscriptionCancelParams) MarshalJSON

func (r SubscriptionCancelParams) MarshalJSON() (data []byte, err error)

type SubscriptionCancelParamsCancelOption

type SubscriptionCancelParamsCancelOption string

Determines the timing of subscription cancellation

const (
	SubscriptionCancelParamsCancelOptionEndOfSubscriptionTerm SubscriptionCancelParamsCancelOption = "end_of_subscription_term"
	SubscriptionCancelParamsCancelOptionImmediate             SubscriptionCancelParamsCancelOption = "immediate"
	SubscriptionCancelParamsCancelOptionRequestedDate         SubscriptionCancelParamsCancelOption = "requested_date"
)

func (SubscriptionCancelParamsCancelOption) IsKnown added in v0.24.0

type SubscriptionFetchCostsParams

type SubscriptionFetchCostsParams struct {
	// The currency or custom pricing unit to use.
	Currency param.Field[string] `query:"currency"`
	// Costs returned are exclusive of `timeframe_end`.
	TimeframeEnd param.Field[time.Time] `query:"timeframe_end" format:"date-time"`
	// Costs returned are inclusive of `timeframe_start`.
	TimeframeStart param.Field[time.Time] `query:"timeframe_start" format:"date-time"`
	// Controls whether Orb returns cumulative costs since the start of the billing
	// period, or incremental day-by-day costs. If your customer has minimums or
	// discounts, it's strongly recommended that you use the default cumulative
	// behavior.
	ViewMode param.Field[SubscriptionFetchCostsParamsViewMode] `query:"view_mode"`
}

func (SubscriptionFetchCostsParams) URLQuery

func (r SubscriptionFetchCostsParams) URLQuery() (v url.Values)

URLQuery serializes SubscriptionFetchCostsParams's query parameters as `url.Values`.

type SubscriptionFetchCostsParamsViewMode

type SubscriptionFetchCostsParamsViewMode string

Controls whether Orb returns cumulative costs since the start of the billing period, or incremental day-by-day costs. If your customer has minimums or discounts, it's strongly recommended that you use the default cumulative behavior.

const (
	SubscriptionFetchCostsParamsViewModePeriodic   SubscriptionFetchCostsParamsViewMode = "periodic"
	SubscriptionFetchCostsParamsViewModeCumulative SubscriptionFetchCostsParamsViewMode = "cumulative"
)

func (SubscriptionFetchCostsParamsViewMode) IsKnown added in v0.24.0

type SubscriptionFetchCostsResponse

type SubscriptionFetchCostsResponse struct {
	Data []shared.AggregatedCostModel       `json:"data,required"`
	JSON subscriptionFetchCostsResponseJSON `json:"-"`
}

func (*SubscriptionFetchCostsResponse) UnmarshalJSON

func (r *SubscriptionFetchCostsResponse) UnmarshalJSON(data []byte) (err error)

type SubscriptionFetchScheduleParams

type SubscriptionFetchScheduleParams struct {
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor param.Field[string] `query:"cursor"`
	// The number of items to fetch. Defaults to 20.
	Limit        param.Field[int64]     `query:"limit"`
	StartDateGt  param.Field[time.Time] `query:"start_date[gt]" format:"date-time"`
	StartDateGte param.Field[time.Time] `query:"start_date[gte]" format:"date-time"`
	StartDateLt  param.Field[time.Time] `query:"start_date[lt]" format:"date-time"`
	StartDateLte param.Field[time.Time] `query:"start_date[lte]" format:"date-time"`
}

func (SubscriptionFetchScheduleParams) URLQuery

func (r SubscriptionFetchScheduleParams) URLQuery() (v url.Values)

URLQuery serializes SubscriptionFetchScheduleParams's query parameters as `url.Values`.

type SubscriptionFetchScheduleResponse

type SubscriptionFetchScheduleResponse struct {
	CreatedAt time.Time                             `json:"created_at,required" format:"date-time"`
	EndDate   time.Time                             `json:"end_date,required,nullable" format:"date-time"`
	Plan      shared.PlanMinifiedModel              `json:"plan,required"`
	StartDate time.Time                             `json:"start_date,required" format:"date-time"`
	JSON      subscriptionFetchScheduleResponseJSON `json:"-"`
}

func (*SubscriptionFetchScheduleResponse) UnmarshalJSON

func (r *SubscriptionFetchScheduleResponse) UnmarshalJSON(data []byte) (err error)

type SubscriptionFetchUsageParams

type SubscriptionFetchUsageParams struct {
	// When specified in conjunction with `group_by`, this parameter filters usage to a
	// single billable metric. Note that both `group_by` and `billable_metric_id` must
	// be specified together.
	BillableMetricID    param.Field[string] `query:"billable_metric_id"`
	FirstDimensionKey   param.Field[string] `query:"first_dimension_key"`
	FirstDimensionValue param.Field[string] `query:"first_dimension_value"`
	// This determines the windowing of usage reporting.
	Granularity param.Field[SubscriptionFetchUsageParamsGranularity] `query:"granularity"`
	// Groups per-price usage by the key provided.
	GroupBy              param.Field[string] `query:"group_by"`
	SecondDimensionKey   param.Field[string] `query:"second_dimension_key"`
	SecondDimensionValue param.Field[string] `query:"second_dimension_value"`
	// Usage returned is exclusive of `timeframe_end`.
	TimeframeEnd param.Field[time.Time] `query:"timeframe_end" format:"date-time"`
	// Usage returned is inclusive of `timeframe_start`.
	TimeframeStart param.Field[time.Time] `query:"timeframe_start" format:"date-time"`
	// Controls whether Orb returns cumulative usage since the start of the billing
	// period, or incremental day-by-day usage. If your customer has minimums or
	// discounts, it's strongly recommended that you use the default cumulative
	// behavior.
	ViewMode param.Field[SubscriptionFetchUsageParamsViewMode] `query:"view_mode"`
}

func (SubscriptionFetchUsageParams) URLQuery

func (r SubscriptionFetchUsageParams) URLQuery() (v url.Values)

URLQuery serializes SubscriptionFetchUsageParams's query parameters as `url.Values`.

type SubscriptionFetchUsageParamsGranularity

type SubscriptionFetchUsageParamsGranularity string

This determines the windowing of usage reporting.

const (
	SubscriptionFetchUsageParamsGranularityDay SubscriptionFetchUsageParamsGranularity = "day"
)

func (SubscriptionFetchUsageParamsGranularity) IsKnown added in v0.24.0

type SubscriptionFetchUsageParamsViewMode

type SubscriptionFetchUsageParamsViewMode string

Controls whether Orb returns cumulative usage since the start of the billing period, or incremental day-by-day usage. If your customer has minimums or discounts, it's strongly recommended that you use the default cumulative behavior.

const (
	SubscriptionFetchUsageParamsViewModePeriodic   SubscriptionFetchUsageParamsViewMode = "periodic"
	SubscriptionFetchUsageParamsViewModeCumulative SubscriptionFetchUsageParamsViewMode = "cumulative"
)

func (SubscriptionFetchUsageParamsViewMode) IsKnown added in v0.24.0

type SubscriptionListParams

type SubscriptionListParams struct {
	CreatedAtGt  param.Field[time.Time] `query:"created_at[gt]" format:"date-time"`
	CreatedAtGte param.Field[time.Time] `query:"created_at[gte]" format:"date-time"`
	CreatedAtLt  param.Field[time.Time] `query:"created_at[lt]" format:"date-time"`
	CreatedAtLte param.Field[time.Time] `query:"created_at[lte]" format:"date-time"`
	// Cursor for pagination. This can be populated by the `next_cursor` value returned
	// from the initial request.
	Cursor             param.Field[string]   `query:"cursor"`
	CustomerID         param.Field[[]string] `query:"customer_id"`
	ExternalCustomerID param.Field[string]   `query:"external_customer_id"`
	// The number of items to fetch. Defaults to 20.
	Limit  param.Field[int64]                        `query:"limit"`
	Status param.Field[SubscriptionListParamsStatus] `query:"status"`
}

func (SubscriptionListParams) URLQuery

func (r SubscriptionListParams) URLQuery() (v url.Values)

URLQuery serializes SubscriptionListParams's query parameters as `url.Values`.

type SubscriptionListParamsStatus

type SubscriptionListParamsStatus string
const (
	SubscriptionListParamsStatusActive   SubscriptionListParamsStatus = "active"
	SubscriptionListParamsStatusEnded    SubscriptionListParamsStatus = "ended"
	SubscriptionListParamsStatusUpcoming SubscriptionListParamsStatus = "upcoming"
)

func (SubscriptionListParamsStatus) IsKnown added in v0.24.0

func (r SubscriptionListParamsStatus) IsKnown() bool

type SubscriptionMinifiedModel added in v0.103.0

type SubscriptionMinifiedModel = shared.SubscriptionMinifiedModel

This is an alias to an internal type.

type SubscriptionModel added in v0.103.0

type SubscriptionModel = shared.SubscriptionModel

A [subscription](/core-concepts#subscription) represents the purchase of a plan by a customer.

By default, subscriptions begin on the day that they're created and renew automatically for each billing cycle at the cadence that's configured in the plan definition.

Subscriptions also default to **beginning of month alignment**, which means the first invoice issued for the subscription will have pro-rated charges between the `start_date` and the first of the following month. Subsequent billing periods will always start and end on a month boundary (e.g. subsequent month starts for monthly billing).

Depending on the plan configuration, any _flat_ recurring fees will be billed either at the beginning (in-advance) or end (in-arrears) of each billing cycle. Plans default to **in-advance billing**. Usage-based fees are billed in arrears as usage is accumulated. In the normal course of events, you can expect an invoice to contain usage-based charges for the previous period, and a recurring fee for the following period.

This is an alias to an internal type.

type SubscriptionModelDiscountInterval added in v0.103.0

type SubscriptionModelDiscountInterval = shared.SubscriptionModelDiscountInterval

This is an alias to an internal type.

type SubscriptionModelDiscountIntervalsDiscountType added in v0.103.0

type SubscriptionModelDiscountIntervalsDiscountType = shared.SubscriptionModelDiscountIntervalsDiscountType

This is an alias to an internal type.

type SubscriptionModelStatus added in v0.103.0

type SubscriptionModelStatus = shared.SubscriptionModelStatus

This is an alias to an internal type.

type SubscriptionNewParams

type SubscriptionNewParams struct {
	// Additional adjustments to be added to the subscription. (Only available for
	// accounts that have migrated off of legacy subscription overrides)
	AddAdjustments param.Field[[]shared.AddSubscriptionAdjustmentParams] `json:"add_adjustments"`
	// Additional prices to be added to the subscription. (Only available for accounts
	// that have migrated off of legacy subscription overrides)
	AddPrices                             param.Field[[]shared.AddSubscriptionPriceParams] `json:"add_prices"`
	AlignBillingWithSubscriptionStartDate param.Field[bool]                                `json:"align_billing_with_subscription_start_date"`
	// Determines whether issued invoices for this subscription will automatically be
	// charged with the saved payment method on the due date. If not specified, this
	// defaults to the behavior configured for this customer.
	AutoCollection                  param.Field[bool]                                             `json:"auto_collection"`
	AwsRegion                       param.Field[string]                                           `json:"aws_region"`
	BillingCycleAnchorConfiguration param.Field[shared.BillingCycleAnchorConfigurationModelParam] `json:"billing_cycle_anchor_configuration"`
	// Redemption code to be used for this subscription. If the coupon cannot be found
	// by its redemption code, or cannot be redeemed, an error response will be
	// returned and the subscription creation or plan change will not be scheduled.
	CouponRedemptionCode param.Field[string]  `json:"coupon_redemption_code"`
	CreditsOverageRate   param.Field[float64] `json:"credits_overage_rate"`
	CustomerID           param.Field[string]  `json:"customer_id"`
	// Determines the default memo on this subscription's invoices. Note that if this
	// is not provided, it is determined by the plan configuration.
	DefaultInvoiceMemo             param.Field[string]                                   `json:"default_invoice_memo"`
	EndDate                        param.Field[time.Time]                                `json:"end_date" format:"date-time"`
	ExternalCustomerID             param.Field[string]                                   `json:"external_customer_id"`
	ExternalMarketplace            param.Field[SubscriptionNewParamsExternalMarketplace] `json:"external_marketplace"`
	ExternalMarketplaceReportingID param.Field[string]                                   `json:"external_marketplace_reporting_id"`
	// The external_plan_id of the plan that the given subscription should be switched
	// to. Note that either this property or `plan_id` must be specified.
	ExternalPlanID param.Field[string] `json:"external_plan_id"`
	// An additional filter to apply to usage queries. This filter must be expressed as
	// a boolean
	// [computed property](/extensibility/advanced-metrics#computed-properties). If
	// null, usage queries will not include any additional filter.
	Filter param.Field[string] `json:"filter"`
	// The phase of the plan to start with
	InitialPhaseOrder param.Field[int64] `json:"initial_phase_order"`
	// When this subscription's accrued usage reaches this threshold, an invoice will
	// be issued for the subscription. If not specified, invoices will only be issued
	// at the end of the billing period.
	InvoicingThreshold param.Field[string] `json:"invoicing_threshold"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0. If not provided, this defaults to the value specified in the plan.
	NetTerms               param.Field[int64]   `json:"net_terms"`
	PerCreditOverageAmount param.Field[float64] `json:"per_credit_overage_amount"`
	// The plan that the given subscription should be switched to. Note that either
	// this property or `external_plan_id` must be specified.
	PlanID param.Field[string] `json:"plan_id"`
	// Specifies which version of the plan to subscribe to. If null, the default
	// version will be used.
	PlanVersionNumber param.Field[int64] `json:"plan_version_number"`
	// Optionally provide a list of overrides for prices on the plan
	PriceOverrides param.Field[[]interface{}] `json:"price_overrides"`
	// Plan adjustments to be removed from the subscription. (Only available for
	// accounts that have migrated off of legacy subscription overrides)
	RemoveAdjustments param.Field[[]shared.RemoveSubscriptionAdjustmentParams] `json:"remove_adjustments"`
	// Plan prices to be removed from the subscription. (Only available for accounts
	// that have migrated off of legacy subscription overrides)
	RemovePrices param.Field[[]shared.RemoveSubscriptionPriceParams] `json:"remove_prices"`
	// Plan adjustments to be replaced with additional adjustments on the subscription.
	// (Only available for accounts that have migrated off of legacy subscription
	// overrides)
	ReplaceAdjustments param.Field[[]shared.ReplaceSubscriptionAdjustmentParams] `json:"replace_adjustments"`
	// Plan prices to be replaced with additional prices on the subscription. (Only
	// available for accounts that have migrated off of legacy subscription overrides)
	ReplacePrices param.Field[[]shared.ReplaceSubscriptionPriceParams] `json:"replace_prices"`
	StartDate     param.Field[time.Time]                               `json:"start_date" format:"date-time"`
	// The duration of the trial period in days. If not provided, this defaults to the
	// value specified in the plan. If `0` is provided, the trial on the plan will be
	// skipped.
	TrialDurationDays param.Field[int64] `json:"trial_duration_days"`
	// A list of customer IDs whose usage events will be aggregated and billed under
	// this subscription. By default, a subscription only considers usage events
	// associated with its attached customer's customer_id. When usage_customer_ids is
	// provided, the subscription includes usage events from the specified customers
	// only. Provided usage_customer_ids must be either the customer for this
	// subscription itself, or any of that customer's children.
	UsageCustomerIDs param.Field[[]string] `json:"usage_customer_ids"`
}

func (SubscriptionNewParams) MarshalJSON

func (r SubscriptionNewParams) MarshalJSON() (data []byte, err error)

type SubscriptionNewParamsExternalMarketplace

type SubscriptionNewParamsExternalMarketplace string
const (
	SubscriptionNewParamsExternalMarketplaceGoogle SubscriptionNewParamsExternalMarketplace = "google"
	SubscriptionNewParamsExternalMarketplaceAws    SubscriptionNewParamsExternalMarketplace = "aws"
	SubscriptionNewParamsExternalMarketplaceAzure  SubscriptionNewParamsExternalMarketplace = "azure"
)

func (SubscriptionNewParamsExternalMarketplace) IsKnown added in v0.24.0

type SubscriptionPriceIntervalsParams

type SubscriptionPriceIntervalsParams struct {
	// A list of price intervals to add to the subscription.
	Add param.Field[[]SubscriptionPriceIntervalsParamsAdd] `json:"add"`
	// A list of adjustments to add to the subscription.
	AddAdjustments param.Field[[]SubscriptionPriceIntervalsParamsAddAdjustment] `json:"add_adjustments"`
	// If false, this request will fail if it would void an issued invoice or create a
	// credit note. Consider using this as a safety mechanism if you do not expect
	// existing invoices to be changed.
	AllowInvoiceCreditOrVoid param.Field[bool] `json:"allow_invoice_credit_or_void"`
	// A list of price intervals to edit on the subscription.
	Edit param.Field[[]SubscriptionPriceIntervalsParamsEdit] `json:"edit"`
	// A list of adjustments to edit on the subscription.
	EditAdjustments param.Field[[]SubscriptionPriceIntervalsParamsEditAdjustment] `json:"edit_adjustments"`
}

func (SubscriptionPriceIntervalsParams) MarshalJSON

func (r SubscriptionPriceIntervalsParams) MarshalJSON() (data []byte, err error)

type SubscriptionPriceIntervalsParamsAdd

type SubscriptionPriceIntervalsParamsAdd struct {
	// The start date of the price interval. This is the date that the price will start
	// billing on the subscription.
	StartDate param.Field[SubscriptionPriceIntervalsParamsAddStartDateUnion] `json:"start_date,required" format:"date-time"`
	// The definition of a new allocation price to create and add to the subscription.
	AllocationPrice param.Field[shared.NewAllocationPriceModelParam] `json:"allocation_price"`
	// A list of discounts to initialize on the price interval.
	Discounts param.Field[[]SubscriptionPriceIntervalsParamsAddDiscountUnion] `json:"discounts"`
	// The end date of the price interval. This is the date that the price will stop
	// billing on the subscription.
	EndDate param.Field[SubscriptionPriceIntervalsParamsAddEndDateUnion] `json:"end_date" format:"date-time"`
	// The external price id of the price to add to the subscription.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// An additional filter to apply to usage queries. This filter must be expressed as
	// a boolean
	// [computed property](/extensibility/advanced-metrics#computed-properties). If
	// null, usage queries will not include any additional filter.
	Filter param.Field[string] `json:"filter"`
	// A list of fixed fee quantity transitions to initialize on the price interval.
	FixedFeeQuantityTransitions param.Field[[]shared.PriceIntervalFixedFeeQuantityTransitionModelParam] `json:"fixed_fee_quantity_transitions"`
	// The maximum amount that will be billed for this price interval for a given
	// billing period.
	MaximumAmount param.Field[float64] `json:"maximum_amount"`
	// The minimum amount that will be billed for this price interval for a given
	// billing period.
	MinimumAmount param.Field[float64] `json:"minimum_amount"`
	// The definition of a new price to create and add to the subscription.
	Price param.Field[shared.NewFloatingPriceModelUnionParam] `json:"price"`
	// The id of the price to add to the subscription.
	PriceID param.Field[string] `json:"price_id"`
	// A list of customer IDs whose usage events will be aggregated and billed under
	// this subscription. By default, a subscription only considers usage events
	// associated with its attached customer's customer_id. When usage_customer_ids is
	// provided, the subscription includes usage events from the specified customers
	// only. Provided usage_customer_ids must be either the customer for this
	// subscription itself, or any of that customer's children.
	UsageCustomerIDs param.Field[[]string] `json:"usage_customer_ids"`
}

func (SubscriptionPriceIntervalsParamsAdd) MarshalJSON

func (r SubscriptionPriceIntervalsParamsAdd) MarshalJSON() (data []byte, err error)

type SubscriptionPriceIntervalsParamsAddAdjustment added in v0.35.0

type SubscriptionPriceIntervalsParamsAddAdjustment struct {
	// The definition of a new adjustment to create and add to the subscription.
	Adjustment param.Field[shared.NewAdjustmentModelUnionParam] `json:"adjustment,required"`
	// The start date of the adjustment interval. This is the date that the adjustment
	// will start affecting prices on the subscription.
	StartDate param.Field[SubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion] `json:"start_date,required" format:"date-time"`
	// The end date of the adjustment interval. This is the date that the adjustment
	// will stop affecting prices on the subscription.
	EndDate param.Field[SubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion] `json:"end_date" format:"date-time"`
}

func (SubscriptionPriceIntervalsParamsAddAdjustment) MarshalJSON added in v0.35.0

func (r SubscriptionPriceIntervalsParamsAddAdjustment) MarshalJSON() (data []byte, err error)

type SubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion added in v0.35.0

type SubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion()
}

The end date of the adjustment interval. This is the date that the adjustment will stop affecting prices on the subscription.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion added in v0.35.0

type SubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion()
}

The start date of the adjustment interval. This is the date that the adjustment will start affecting prices on the subscription.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsAddDiscount

type SubscriptionPriceIntervalsParamsAddDiscount struct {
	DiscountType param.Field[SubscriptionPriceIntervalsParamsAddDiscountsDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[float64] `json:"amount_discount"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount param.Field[float64] `json:"percentage_discount"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for.
	UsageDiscount param.Field[float64] `json:"usage_discount"`
}

func (SubscriptionPriceIntervalsParamsAddDiscount) MarshalJSON added in v0.25.0

func (r SubscriptionPriceIntervalsParamsAddDiscount) MarshalJSON() (data []byte, err error)

type SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParams

type SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParams struct {
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[float64]                                                                              `json:"amount_discount,required"`
	DiscountType   param.Field[SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParamsDiscountType] `json:"discount_type,required"`
}

func (SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParams) MarshalJSON

type SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParamsDiscountType

type SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParamsDiscountType string
const (
	SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParamsDiscountTypeAmount SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParamsDiscountType = "amount"
)

func (SubscriptionPriceIntervalsParamsAddDiscountsAmountDiscountCreationParamsDiscountType) IsKnown added in v0.24.0

type SubscriptionPriceIntervalsParamsAddDiscountsDiscountType added in v0.25.0

type SubscriptionPriceIntervalsParamsAddDiscountsDiscountType string
const (
	SubscriptionPriceIntervalsParamsAddDiscountsDiscountTypeAmount     SubscriptionPriceIntervalsParamsAddDiscountsDiscountType = "amount"
	SubscriptionPriceIntervalsParamsAddDiscountsDiscountTypePercentage SubscriptionPriceIntervalsParamsAddDiscountsDiscountType = "percentage"
	SubscriptionPriceIntervalsParamsAddDiscountsDiscountTypeUsage      SubscriptionPriceIntervalsParamsAddDiscountsDiscountType = "usage"
)

func (SubscriptionPriceIntervalsParamsAddDiscountsDiscountType) IsKnown added in v0.25.0

type SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParams

type SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParams struct {
	DiscountType param.Field[SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParamsDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount param.Field[float64] `json:"percentage_discount,required"`
}

func (SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParams) MarshalJSON

type SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParamsDiscountType

type SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParamsDiscountType string
const (
	SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParamsDiscountTypePercentage SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParamsDiscountType = "percentage"
)

func (SubscriptionPriceIntervalsParamsAddDiscountsPercentageDiscountCreationParamsDiscountType) IsKnown added in v0.24.0

type SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParams

type SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParams struct {
	DiscountType param.Field[SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParamsDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for.
	UsageDiscount param.Field[float64] `json:"usage_discount,required"`
}

func (SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParams) MarshalJSON

type SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParamsDiscountType

type SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParamsDiscountType string
const (
	SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParamsDiscountTypeUsage SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParamsDiscountType = "usage"
)

func (SubscriptionPriceIntervalsParamsAddDiscountsUsageDiscountCreationParamsDiscountType) IsKnown added in v0.24.0

type SubscriptionPriceIntervalsParamsAddEndDateUnion added in v0.25.0

type SubscriptionPriceIntervalsParamsAddEndDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsAddEndDateUnion()
}

The end date of the price interval. This is the date that the price will stop billing on the subscription.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsAddStartDateUnion added in v0.25.0

type SubscriptionPriceIntervalsParamsAddStartDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsAddStartDateUnion()
}

The start date of the price interval. This is the date that the price will start billing on the subscription.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsEdit

type SubscriptionPriceIntervalsParamsEdit struct {
	// The id of the price interval to edit.
	PriceIntervalID param.Field[string] `json:"price_interval_id,required"`
	// The updated billing cycle day for this price interval. If not specified, the
	// billing cycle day will not be updated. Note that overlapping price intervals
	// must have the same billing cycle day.
	BillingCycleDay param.Field[int64] `json:"billing_cycle_day"`
	// The updated end date of this price interval. If not specified, the start date
	// will not be updated.
	EndDate param.Field[SubscriptionPriceIntervalsParamsEditEndDateUnion] `json:"end_date" format:"date-time"`
	// An additional filter to apply to usage queries. This filter must be expressed as
	// a boolean
	// [computed property](/extensibility/advanced-metrics#computed-properties). If
	// null, usage queries will not include any additional filter.
	Filter param.Field[string] `json:"filter"`
	// A list of fixed fee quantity transitions to use for this price interval. Note
	// that this list will overwrite all existing fixed fee quantity transitions on the
	// price interval.
	FixedFeeQuantityTransitions param.Field[[]shared.PriceIntervalFixedFeeQuantityTransitionModelParam] `json:"fixed_fee_quantity_transitions"`
	// The updated start date of this price interval. If not specified, the start date
	// will not be updated.
	StartDate param.Field[SubscriptionPriceIntervalsParamsEditStartDateUnion] `json:"start_date" format:"date-time"`
	// A list of customer IDs whose usage events will be aggregated and billed under
	// this subscription. By default, a subscription only considers usage events
	// associated with its attached customer's customer_id. When usage_customer_ids is
	// provided, the subscription includes usage events from the specified customers
	// only. Provided usage_customer_ids must be either the customer for this
	// subscription itself, or any of that customer's children.
	UsageCustomerIDs param.Field[[]string] `json:"usage_customer_ids"`
}

func (SubscriptionPriceIntervalsParamsEdit) MarshalJSON

func (r SubscriptionPriceIntervalsParamsEdit) MarshalJSON() (data []byte, err error)

type SubscriptionPriceIntervalsParamsEditAdjustment added in v0.35.0

type SubscriptionPriceIntervalsParamsEditAdjustment struct {
	// The id of the adjustment interval to edit.
	AdjustmentIntervalID param.Field[string] `json:"adjustment_interval_id,required"`
	// The updated end date of this adjustment interval. If not specified, the start
	// date will not be updated.
	EndDate param.Field[SubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion] `json:"end_date" format:"date-time"`
	// The updated start date of this adjustment interval. If not specified, the start
	// date will not be updated.
	StartDate param.Field[SubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion] `json:"start_date" format:"date-time"`
}

func (SubscriptionPriceIntervalsParamsEditAdjustment) MarshalJSON added in v0.35.0

func (r SubscriptionPriceIntervalsParamsEditAdjustment) MarshalJSON() (data []byte, err error)

type SubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion added in v0.35.0

type SubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion()
}

The updated end date of this adjustment interval. If not specified, the start date will not be updated.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion added in v0.35.0

type SubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion()
}

The updated start date of this adjustment interval. If not specified, the start date will not be updated.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsEditEndDateUnion added in v0.25.0

type SubscriptionPriceIntervalsParamsEditEndDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsEditEndDateUnion()
}

The updated end date of this price interval. If not specified, the start date will not be updated.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionPriceIntervalsParamsEditStartDateUnion added in v0.25.0

type SubscriptionPriceIntervalsParamsEditStartDateUnion interface {
	ImplementsSubscriptionPriceIntervalsParamsEditStartDateUnion()
}

The updated start date of this price interval. If not specified, the start date will not be updated.

Satisfied by shared.UnionTime, shared.BillingCycleRelativeDate.

type SubscriptionSchedulePlanChangeParams

type SubscriptionSchedulePlanChangeParams struct {
	ChangeOption param.Field[SubscriptionSchedulePlanChangeParamsChangeOption] `json:"change_option,required"`
	// Additional adjustments to be added to the subscription. (Only available for
	// accounts that have migrated off of legacy subscription overrides)
	AddAdjustments param.Field[[]shared.AddSubscriptionAdjustmentParams] `json:"add_adjustments"`
	// Additional prices to be added to the subscription. (Only available for accounts
	// that have migrated off of legacy subscription overrides)
	AddPrices param.Field[[]shared.AddSubscriptionPriceParams] `json:"add_prices"`
	// [DEPRECATED] Use billing_cycle_alignment instead. Reset billing periods to be
	// aligned with the plan change's effective date.
	AlignBillingWithPlanChangeDate param.Field[bool] `json:"align_billing_with_plan_change_date"`
	// Determines whether issued invoices for this subscription will automatically be
	// charged with the saved payment method on the due date. If not specified, this
	// defaults to the behavior configured for this customer.
	AutoCollection param.Field[bool] `json:"auto_collection"`
	// Reset billing periods to be aligned with the plan change's effective date or
	// start of the month. Defaults to `unchanged` which keeps subscription's existing
	// billing cycle alignment.
	BillingCycleAlignment           param.Field[SubscriptionSchedulePlanChangeParamsBillingCycleAlignment] `json:"billing_cycle_alignment"`
	BillingCycleAnchorConfiguration param.Field[shared.BillingCycleAnchorConfigurationModelParam]          `json:"billing_cycle_anchor_configuration"`
	// The date that the plan change should take effect. This parameter can only be
	// passed if the `change_option` is `requested_date`. If a date with no time is
	// passed, the plan change will happen at midnight in the customer's timezone.
	ChangeDate param.Field[time.Time] `json:"change_date" format:"date-time"`
	// Redemption code to be used for this subscription. If the coupon cannot be found
	// by its redemption code, or cannot be redeemed, an error response will be
	// returned and the subscription creation or plan change will not be scheduled.
	CouponRedemptionCode param.Field[string]  `json:"coupon_redemption_code"`
	CreditsOverageRate   param.Field[float64] `json:"credits_overage_rate"`
	// Determines the default memo on this subscription's invoices. Note that if this
	// is not provided, it is determined by the plan configuration.
	DefaultInvoiceMemo param.Field[string] `json:"default_invoice_memo"`
	// The external_plan_id of the plan that the given subscription should be switched
	// to. Note that either this property or `plan_id` must be specified.
	ExternalPlanID param.Field[string] `json:"external_plan_id"`
	// An additional filter to apply to usage queries. This filter must be expressed as
	// a boolean
	// [computed property](/extensibility/advanced-metrics#computed-properties). If
	// null, usage queries will not include any additional filter.
	Filter param.Field[string] `json:"filter"`
	// The phase of the plan to start with
	InitialPhaseOrder param.Field[int64] `json:"initial_phase_order"`
	// When this subscription's accrued usage reaches this threshold, an invoice will
	// be issued for the subscription. If not specified, invoices will only be issued
	// at the end of the billing period.
	InvoicingThreshold param.Field[string] `json:"invoicing_threshold"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0. If not provided, this defaults to the value specified in the plan.
	NetTerms               param.Field[int64]   `json:"net_terms"`
	PerCreditOverageAmount param.Field[float64] `json:"per_credit_overage_amount"`
	// The plan that the given subscription should be switched to. Note that either
	// this property or `external_plan_id` must be specified.
	PlanID param.Field[string] `json:"plan_id"`
	// Specifies which version of the plan to change to. If null, the default version
	// will be used.
	PlanVersionNumber param.Field[int64] `json:"plan_version_number"`
	// Optionally provide a list of overrides for prices on the plan
	PriceOverrides param.Field[[]interface{}] `json:"price_overrides"`
	// Plan adjustments to be removed from the subscription. (Only available for
	// accounts that have migrated off of legacy subscription overrides)
	RemoveAdjustments param.Field[[]shared.RemoveSubscriptionAdjustmentParams] `json:"remove_adjustments"`
	// Plan prices to be removed from the subscription. (Only available for accounts
	// that have migrated off of legacy subscription overrides)
	RemovePrices param.Field[[]shared.RemoveSubscriptionPriceParams] `json:"remove_prices"`
	// Plan adjustments to be replaced with additional adjustments on the subscription.
	// (Only available for accounts that have migrated off of legacy subscription
	// overrides)
	ReplaceAdjustments param.Field[[]shared.ReplaceSubscriptionAdjustmentParams] `json:"replace_adjustments"`
	// Plan prices to be replaced with additional prices on the subscription. (Only
	// available for accounts that have migrated off of legacy subscription overrides)
	ReplacePrices param.Field[[]shared.ReplaceSubscriptionPriceParams] `json:"replace_prices"`
	// The duration of the trial period in days. If not provided, this defaults to the
	// value specified in the plan. If `0` is provided, the trial on the plan will be
	// skipped.
	TrialDurationDays param.Field[int64] `json:"trial_duration_days"`
	// A list of customer IDs whose usage events will be aggregated and billed under
	// this subscription. By default, a subscription only considers usage events
	// associated with its attached customer's customer_id. When usage_customer_ids is
	// provided, the subscription includes usage events from the specified customers
	// only. Provided usage_customer_ids must be either the customer for this
	// subscription itself, or any of that customer's children.
	UsageCustomerIDs param.Field[[]string] `json:"usage_customer_ids"`
}

func (SubscriptionSchedulePlanChangeParams) MarshalJSON

func (r SubscriptionSchedulePlanChangeParams) MarshalJSON() (data []byte, err error)

type SubscriptionSchedulePlanChangeParamsBillingCycleAlignment

type SubscriptionSchedulePlanChangeParamsBillingCycleAlignment string

Reset billing periods to be aligned with the plan change's effective date or start of the month. Defaults to `unchanged` which keeps subscription's existing billing cycle alignment.

const (
	SubscriptionSchedulePlanChangeParamsBillingCycleAlignmentUnchanged      SubscriptionSchedulePlanChangeParamsBillingCycleAlignment = "unchanged"
	SubscriptionSchedulePlanChangeParamsBillingCycleAlignmentPlanChangeDate SubscriptionSchedulePlanChangeParamsBillingCycleAlignment = "plan_change_date"
	SubscriptionSchedulePlanChangeParamsBillingCycleAlignmentStartOfMonth   SubscriptionSchedulePlanChangeParamsBillingCycleAlignment = "start_of_month"
)

func (SubscriptionSchedulePlanChangeParamsBillingCycleAlignment) IsKnown added in v0.24.0

type SubscriptionSchedulePlanChangeParamsChangeOption

type SubscriptionSchedulePlanChangeParamsChangeOption string
const (
	SubscriptionSchedulePlanChangeParamsChangeOptionRequestedDate         SubscriptionSchedulePlanChangeParamsChangeOption = "requested_date"
	SubscriptionSchedulePlanChangeParamsChangeOptionEndOfSubscriptionTerm SubscriptionSchedulePlanChangeParamsChangeOption = "end_of_subscription_term"
	SubscriptionSchedulePlanChangeParamsChangeOptionImmediate             SubscriptionSchedulePlanChangeParamsChangeOption = "immediate"
)

func (SubscriptionSchedulePlanChangeParamsChangeOption) IsKnown added in v0.24.0

type SubscriptionService

type SubscriptionService struct {
	Options []option.RequestOption
}

SubscriptionService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewSubscriptionService method instead.

func NewSubscriptionService

func NewSubscriptionService(opts ...option.RequestOption) (r *SubscriptionService)

NewSubscriptionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*SubscriptionService) Cancel

This endpoint can be used to cancel an existing subscription. It returns the serialized subscription object with an `end_date` parameter that signifies when the subscription will transition to an ended state.

The body parameter `cancel_option` determines the cancellation behavior. Orb supports three cancellation options:

  • `end_of_subscription_term`: stops the subscription from auto-renewing. Subscriptions that have been cancelled with this option can still incur charges for the remainder of their term:

  • Issuing this cancellation request for a monthly subscription will keep the subscription active until the start of the subsequent month, and potentially issue an invoice for any usage charges incurred in the intervening period.

  • Issuing this cancellation request for a quarterly subscription will keep the subscription active until the end of the quarter and potentially issue an invoice for any usage charges incurred in the intervening period.

  • Issuing this cancellation request for a yearly subscription will keep the subscription active for the full year. For example, a yearly subscription starting on 2021-11-01 and cancelled on 2021-12-08 will remain active until 2022-11-01 and potentially issue charges in the intervening months for any recurring monthly usage charges in its plan.

  • **Note**: If a subscription's plan contains prices with difference cadences, the end of term date will be determined by the largest cadence value. For example, cancelling end of term for a subscription with a quarterly fixed fee with a monthly usage fee will result in the subscription ending at the end of the quarter.

  • `immediate`: ends the subscription immediately, setting the `end_date` to the current time:

  • Subscriptions that have been cancelled with this option will be invoiced immediately. This invoice will include any usage fees incurred in the billing period up to the cancellation, along with any prorated recurring fees for the billing period, if applicable.

  • **Note**: If the subscription has a recurring fee that was paid in-advance, the prorated amount for the remaining time period will be added to the [customer's balance](list-balance-transactions) upon immediate cancellation. However, if the customer is ineligible to use the customer balance, the subscription cannot be cancelled immediately.

  • `requested_date`: ends the subscription on a specified date, which requires a `cancellation_date` to be passed in. If no timezone is provided, the customer's timezone is used. For example, a subscription starting on January 1st with a monthly price can be set to be cancelled on the first of any month after January 1st (e.g. March 1st, April 1st, May 1st). A subscription with multiple prices with different cadences defines the "term" to be the highest cadence of the prices.

Upcoming subscriptions are only eligible for immediate cancellation, which will set the `end_date` equal to the `start_date` upon cancellation.

## Backdated cancellations

Orb allows you to cancel a subscription in the past as long as there are no paid invoices between the `requested_date` and the current time. If the cancellation is after the latest issued invoice, Orb will generate a balance refund for the current period. If the cancellation is before the most recently issued invoice, Orb will void the intervening invoice and generate a new one based on the new dates for the subscription. See the section on [cancellation behaviors](/product-catalog/creating-subscriptions#cancellation-behaviors).

func (*SubscriptionService) Fetch

func (r *SubscriptionService) Fetch(ctx context.Context, subscriptionID string, opts ...option.RequestOption) (res *shared.SubscriptionModel, err error)

This endpoint is used to fetch a [Subscription](/core-concepts##subscription) given an identifier.

func (*SubscriptionService) FetchCosts

This endpoint is used to fetch a day-by-day snapshot of a subscription's costs in Orb, calculated by applying pricing information to the underlying usage (see the [subscription usage endpoint](fetch-subscription-usage) to fetch usage per metric, in usage units rather than a currency).

The semantics of this endpoint exactly mirror those of [fetching a customer's costs](fetch-customer-costs). Use this endpoint to limit your analysis of costs to a specific subscription for the customer (e.g. to de-aggregate costs when a customer's subscription has started and stopped on the same day).

func (*SubscriptionService) FetchSchedule

This endpoint returns a [paginated](/api-reference/pagination) list of all plans associated with a subscription along with their start and end dates. This list contains the subscription's initial plan along with past and future plan changes.

func (*SubscriptionService) FetchScheduleAutoPaging

This endpoint returns a [paginated](/api-reference/pagination) list of all plans associated with a subscription along with their start and end dates. This list contains the subscription's initial plan along with past and future plan changes.

func (*SubscriptionService) FetchUsage

func (r *SubscriptionService) FetchUsage(ctx context.Context, subscriptionID string, query SubscriptionFetchUsageParams, opts ...option.RequestOption) (res *SubscriptionUsage, err error)

This endpoint is used to fetch a subscription's usage in Orb. Especially when combined with optional query parameters, this endpoint is a powerful way to build visualizations on top of Orb's event data and metrics.

With no query parameters specified, this endpoint returns usage for the subscription's _current billing period_ across each billable metric that participates in the subscription. Usage quantities returned are the result of evaluating the metric definition for the entirety of the customer's billing period.

### Default response shape

Orb returns a `data` array with an object corresponding to each billable metric. Nested within this object is a `usage` array which has a `quantity` value and a corresponding `timeframe_start` and `timeframe_end`. The `quantity` value represents the calculated usage value for the billable metric over the specified timeframe (inclusive of the `timeframe_start` timestamp and exclusive of the `timeframe_end` timestamp).

Orb will include _every_ window in the response starting from the beginning of the billing period, even when there were no events (and therefore no usage) in the window. This increases the size of the response but prevents the caller from filling in gaps and handling cumbersome time-based logic.

The query parameters in this endpoint serve to override this behavior and provide some key functionality, as listed below. Note that this functionality can also be used _in conjunction_ with each other, e.g. to display grouped usage on a custom timeframe.

## Custom timeframe

In order to view usage for a custom timeframe rather than the current billing period, specify a `timeframe_start` and `timeframe_end`. This will calculate quantities for usage incurred between timeframe_start (inclusive) and timeframe_end (exclusive), i.e. `[timeframe_start, timeframe_end)`.

Note:

  • These timestamps must be specified in ISO 8601 format and UTC timezone, e.g. `2022-02-01T05:00:00Z`.
  • Both parameters must be specified if either is specified.

## Grouping by custom attributes

In order to view a single metric grouped by a specific _attribute_ that each event is tagged with (e.g. `cluster`), you must additionally specify a `billable_metric_id` and a `group_by` key. The `group_by` key denotes the event property on which to group.

When returning grouped usage, only usage for `billable_metric_id` is returned, and a separate object in the `data` array is returned for each value of the `group_by` key present in your events. The `quantity` value is the result of evaluating the billable metric for events filtered to a single value of the `group_by` key.

Orb expects that events that match the billable metric will contain values in the `properties` dictionary that correspond to the `group_by` key specified. By default, Orb will not return a `null` group (i.e. events that match the metric but do not have the key set). Currently, it is only possible to view usage grouped by a single attribute at a time.

When viewing grouped usage, Orb uses pagination to limit the response size to 1000 groups by default. If there are more groups for a given subscription, pagination metadata in the response can be used to fetch all of the data.

The following example shows usage for an "API Requests" billable metric grouped by `region`. Note the extra `metric_group` dictionary in the response, which provides metadata about the group:

```json

{
    "data": [
        {
            "usage": [
                {
                    "quantity": 0.19291,
                    "timeframe_start": "2021-10-01T07:00:00Z",
                    "timeframe_end": "2021-10-02T07:00:00Z",
                },
                ...
            ],
            "metric_group": {
                "property_key": "region",
                "property_value": "asia/pacific"
            },
            "billable_metric": {
                "id": "Fe9pbpMk86xpwdGB",
                "name": "API Requests"
            },
            "view_mode": "periodic"
        },
        ...
    ]
}

```

## Windowed usage

The `granularity` parameter can be used to _window_ the usage `quantity` value into periods. When not specified, usage is returned for the entirety of the time range.

When `granularity = day` is specified with a timeframe longer than a day, Orb will return a `quantity` value for each full day between `timeframe_start` and `timeframe_end`. Note that the days are demarcated by the _customer's local midnight_.

For example, with `timeframe_start = 2022-02-01T05:00:00Z`, `timeframe_end = 2022-02-04T01:00:00Z` and `granularity=day`, the following windows will be returned for a customer in the `America/Los_Angeles` timezone since local midnight is `08:00` UTC:

- `[2022-02-01T05:00:00Z, 2022-02-01T08:00:00Z)` - `[2022-02-01T08:00:00, 2022-02-02T08:00:00Z)` - `[2022-02-02T08:00:00, 2022-02-03T08:00:00Z)` - `[2022-02-03T08:00:00, 2022-02-04T01:00:00Z)`

```json

{
    "data": [
        {
            "billable_metric": {
                "id": "Q8w89wjTtBdejXKsm",
                "name": "API Requests"
            },
            "usage": [
                {
                    "quantity": 0,
                    "timeframe_end": "2022-02-01T08:00:00+00:00",
                    "timeframe_start": "2022-02-01T05:00:00+00:00"
                },
                {

                    "quantity": 0,
                    "timeframe_end": "2022-02-02T08:00:00+00:00",
                    "timeframe_start": "2022-02-01T08:00:00+00:00"
                },
                {
                    "quantity": 0,
                    "timeframe_end": "2022-02-03T08:00:00+00:00",
                    "timeframe_start": "2022-02-02T08:00:00+00:00"
                },
                {
                    "quantity": 0,
                    "timeframe_end": "2022-02-04T01:00:00+00:00",
                    "timeframe_start": "2022-02-03T08:00:00+00:00"
                }
            ],
            "view_mode": "periodic"
        },
        ...
    ]
}

```

## Decomposable vs. non-decomposable metrics

Billable metrics fall into one of two categories: decomposable and non-decomposable. A decomposable billable metric, such as a sum or a count, can be displayed and aggregated across arbitrary timescales. On the other hand, a non-decomposable metric is not meaningful when only a slice of the billing window is considered.

As an example, if we have a billable metric that's defined to count unique users, displaying a graph of unique users for each day is not representative of the billable metric value over the month (days could have an overlapping set of 'unique' users). Instead, what's useful for any given day is the number of unique users in the billing period so far, which are the _cumulative_ unique users.

Accordingly, this endpoint returns treats these two types of metrics differently when `group_by` is specified:

  • Decomposable metrics can be grouped by any event property.
  • Non-decomposable metrics can only be grouped by the corresponding price's invoice grouping key. If no invoice grouping key is present, the metric does not support `group_by`.

## Matrix prices

When a billable metric is attached to a price that uses matrix pricing, it's important to view usage grouped by those matrix dimensions. In this case, use the query parameters `first_dimension_key`, `first_dimension_value` and `second_dimension_key`, `second_dimension_value` while filtering to a specific `billable_metric_id`.

For example, if your compute metric has a separate unit price (i.e. a matrix pricing model) per `region` and `provider`, your request might provide the following parameters:

- `first_dimension_key`: `region` - `first_dimension_value`: `us-east-1` - `second_dimension_key`: `provider` - `second_dimension_value`: `aws`

func (*SubscriptionService) List

This endpoint returns a list of all subscriptions for an account as a [paginated](/api-reference/pagination) list, ordered starting from the most recently created subscription. For a full discussion of the subscription resource, see [Subscription](/core-concepts##subscription).

Subscriptions can be filtered for a specific customer by using either the customer_id or external_customer_id query parameters. To filter subscriptions for multiple customers, use the customer_id[] or external_customer_id[] query parameters.

func (*SubscriptionService) ListAutoPaging

This endpoint returns a list of all subscriptions for an account as a [paginated](/api-reference/pagination) list, ordered starting from the most recently created subscription. For a full discussion of the subscription resource, see [Subscription](/core-concepts##subscription).

Subscriptions can be filtered for a specific customer by using either the customer_id or external_customer_id query parameters. To filter subscriptions for multiple customers, use the customer_id[] or external_customer_id[] query parameters.

func (*SubscriptionService) New

A subscription represents the purchase of a plan by a customer. The customer is identified by either the `customer_id` or the `external_customer_id`, and exactly one of these fields must be provided.

By default, subscriptions begin on the day that they're created and renew automatically for each billing cycle at the cadence that's configured in the plan definition.

The default configuration for subscriptions in Orb is **In-advance billing** and **Beginning of month alignment** (see [Subscription](/core-concepts##subscription) for more details).

In order to change the alignment behavior, Orb also supports billing subscriptions on the day of the month they are created. If `align_billing_with_subscription_start_date = true` is specified, subscriptions have billing cycles that are aligned with their `start_date`. For example, a subscription that begins on January 15th will have a billing cycle from January 15th to February 15th. Every subsequent billing cycle will continue to start and invoice on the 15th.

If the "day" value is greater than the number of days in the month, the next billing cycle will start at the end of the month. For example, if the start_date is January 31st, the next billing cycle will start on February 28th.

If a customer was created with a currency, Orb only allows subscribing the customer to a plan with a matching `invoicing_currency`. If the customer does not have a currency set, on subscription creation, we set the customer's currency to be the `invoicing_currency` of the plan.

## Customize your customer's subscriptions

Prices and adjustments in a plan can be added, removed, or replaced for the subscription being created. This is useful when a customer has prices that differ from the default prices for a specific plan.

<Note> This feature is only available for accounts that have migrated to Subscription Overrides Version 2. You can find your Subscription Overrides Version at the bottom of your [Plans page](https://app.withorb.com/plans) </Note>

### Adding Prices

To add prices, provide a list of objects with the key `add_prices`. An object in the list must specify an existing add-on price with a `price_id` or `external_price_id` field, or create a new add-on price by including an object with the key `price`, identical to what would be used in the request body for the [create price endpoint](/api-reference/price/create-price). See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations possible in this object.

If the plan has phases, each object in the list must include a number with `plan_phase_order` key to indicate which phase the price should be added to.

An object in the list can specify an optional `start_date` and optional `end_date`. This is equivalent to creating a price interval with the [add/edit price intervals endpoint](/api-reference/price-interval/add-or-edit-price-intervals). If unspecified, the start or end date of the phase or subscription will be used.

An object in the list can specify an optional `minimum_amount`, `maximum_amount`, or `discounts`. This will create adjustments which apply only to this price.

Additionally, an object in the list can specify an optional `reference_id`. This ID can be used to reference this price when [adding an adjustment](#adding-adjustments) in the same API call. However the ID is _transient_ and cannot be used to refer to the price in future API calls.

### Removing Prices

To remove prices, provide a list of objects with the key `remove_prices`. An object in the list must specify a plan price with either a `price_id` or `external_price_id` field.

### Replacing Prices

To replace prices, provide a list of objects with the key `replace_prices`. An object in the list must specify a plan price to replace with the `replaces_price_id` key, and it must specify a price to replace it with by either referencing an existing add-on price with a `price_id` or `external_price_id` field, or by creating a new add-on price by including an object with the key `price`, identical to what would be used in the request body for the [create price endpoint](/api-reference/price/create-price). See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations possible in this object.

For fixed fees, an object in the list can supply a `fixed_price_quantity` instead of a `price`, `price_id`, or `external_price_id` field. This will update only the quantity for the price, similar to the [Update price quantity](/api-reference/subscription/update-price-quantity) endpoint.

The replacement price will have the same phase, if applicable, and the same start and end dates as the price it replaces.

An object in the list can specify an optional `minimum_amount`, `maximum_amount`, or `discounts`. This will create adjustments which apply only to this price.

Additionally, an object in the list can specify an optional `reference_id`. This ID can be used to reference the replacement price when [adding an adjustment](#adding-adjustments) in the same API call. However the ID is _transient_ and cannot be used to refer to the price in future API calls.

### Adding adjustments

To add adjustments, provide a list of objects with the key `add_adjustments`. An object in the list must include an object with the key `adjustment`, identical to the adjustment object in the [add/edit price intervals endpoint](/api-reference/price-interval/add-or-edit-price-intervals).

If the plan has phases, each object in the list must include a number with `plan_phase_order` key to indicate which phase the adjustment should be added to.

An object in the list can specify an optional `start_date` and optional `end_date`. If unspecified, the start or end date of the phase or subscription will be used.

### Removing adjustments

To remove adjustments, provide a list of objects with the key `remove_adjustments`. An object in the list must include a key, `adjustment_id`, with the ID of the adjustment to be removed.

### Replacing adjustments

To replace adjustments, provide a list of objects with the key `replace_adjustments`. An object in the list must specify a plan adjustment to replace with the `replaces_adjustment_id` key, and it must specify an adjustment to replace it with by including an object with the key `adjustment`, identical to the adjustment object in the [add/edit price intervals endpoint](/api-reference/price-interval/add-or-edit-price-intervals).

The replacement adjustment will have the same phase, if applicable, and the same start and end dates as the adjustment it replaces.

## Price overrides (DEPRECATED)

<Note> Price overrides are being phased out in favor adding/removing/replacing prices. (See [Customize your customer's subscriptions](/api-reference/subscription/create-subscription)) </Note>

Price overrides are used to update some or all prices in a plan for the specific subscription being created. This is useful when a new customer has negotiated a rate that is unique to the customer.

To override prices, provide a list of objects with the key `price_overrides`. The price object in the list of overrides is expected to contain the existing price id, the `model_type` and configuration. (See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations.) The numerical values can be updated, but the billable metric, cadence, type, and name of a price can not be overridden.

### Maximums and Minimums

Minimums and maximums, much like price overrides, can be useful when a new customer has negotiated a new or different minimum or maximum spend cap than the default for a given price. If one exists for a price and null is provided for the minimum/maximum override on creation, then there will be no minimum/maximum on the new subscription. If no value is provided, then the default price maximum or minimum is used.

To add a minimum for a specific price, add `minimum_amount` to the specific price in the `price_overrides` object.

To add a maximum for a specific price, add `maximum_amount` to the specific price in the `price_overrides` object.

### Minimum override example

Price minimum override example:

```json

{
  ...
  "id": "price_id",
  "model_type": "unit",
  "unit_config": {
    "unit_amount": "0.50"
  },
  "minimum_amount": "100.00"
  ...
}

```

Removing an existing minimum example

```json

{
  ...
  "id": "price_id",
  "model_type": "unit",
  "unit_config": {
    "unit_amount": "0.50"
  },
  "minimum_amount": null
  ...
}

```

### Discounts

Discounts, like price overrides, can be useful when a new customer has negotiated a new or different discount than the default for a price. If a discount exists for a price and a null discount is provided on creation, then there will be no discount on the new subscription.

To add a discount for a specific price, add `discount` to the price in the `price_overrides` object. Discount should be a dictionary of the format:

```ts

{
  "discount_type": "amount" | "percentage" | "usage",
  "amount_discount": string,
  "percentage_discount": string,
  "usage_discount": string
}

```

where either `amount_discount`, `percentage_discount`, or `usage_discount` is provided.

Price discount example

```json

{
  ...
  "id": "price_id",
  "model_type": "unit",
  "unit_config": {
    "unit_amount": "0.50"
  },
  "discount": {"discount_type": "amount", "amount_discount": "175"},
}

```

Removing an existing discount example

```json

{
  "customer_id": "customer_id",
  "plan_id": "plan_id",
  "discount": null,
  "price_overrides": [ ... ]
  ...
}

```

## Threshold Billing

Orb supports invoicing for a subscription when a preconfigured usage threshold is hit. To enable threshold billing, pass in an `invoicing_threshold`, which is specified in the subscription's invoicing currency, when creating a subscription. E.g. pass in `10.00` to issue an invoice when usage amounts hit $10.00 for a subscription that invoices in USD.

func (*SubscriptionService) PriceIntervals

func (r *SubscriptionService) PriceIntervals(ctx context.Context, subscriptionID string, body SubscriptionPriceIntervalsParams, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

This endpoint is used to add and edit subscription [price intervals](/api-reference/price-interval/add-or-edit-price-intervals). By making modifications to a subscription’s price intervals, you can [flexibly and atomically control the billing behavior of a subscription](/product-catalog/modifying-subscriptions).

## Adding price intervals

Prices can be added as price intervals to a subscription by specifying them in the `add` array. A `price_id` or `external_price_id` from an add-on price or previously removed plan price can be specified to reuse an existing price definition (however, please note that prices from other plans cannot be added to the subscription). Additionally, a new price can be specified using the `price` field — this price will be created automatically.

A `start_date` must be specified for the price interval. This is the date when the price will start billing on the subscription, so this will notably result in an immediate charge at this time for any billed in advance fixed fees. The `end_date` will default to null, resulting in a price interval that will bill on a continually recurring basis. Both of these dates can be set in the past or the future and Orb will generate or modify invoices to ensure the subscription’s invoicing behavior is correct.

Additionally, a discount, minimum, or maximum can be specified on the price interval. This will only apply to this price interval, not any other price intervals on the subscription.

## Adjustment intervals

An adjustment interval represents the time period that a particular adjustment (a discount, minimum, or maximum) applies to the prices on a subscription. Adjustment intervals can be added to a subscription by specifying them in the `add_adjustments` array, or modified via the `edit_adjustments` array. When creating an adjustment interval, you'll need to provide the definition of the new adjustment (the type of adjustment, and which prices it applies to), as well as the start and end dates for the adjustment interval. The start and end dates of an existing adjustment interval can be edited via the `edit_adjustments` field (just like price intervals). (To "change" the amount of a discount, minimum, or maximum, then, you'll need to end the existing interval, and create a new adjustment interval with the new amount and a start date that matches the end date of the previous interval.)

## Editing price intervals

Price intervals can be adjusted by specifying edits to make in the `edit` array. A `price_interval_id` to edit must be specified — this can be retrieved from the `price_intervals` field on the subscription.

A new `start_date` or `end_date` can be specified to change the range of the price interval, which will modify past or future invoices to ensure correctness. If either of these dates are unspecified, they will default to the existing date on the price interval. To remove a price interval entirely from a subscription, set the `end_date` to be equivalent to the `start_date`.

## Fixed fee quantity transitions

The fixed fee quantity transitions for a fixed fee price interval can also be specified when adding or editing by passing an array for `fixed_fee_quantity_transitions`. A fixed fee quantity transition must have a `quantity` and an `effective_date`, which is the date after which the new quantity will be used for billing. If a fixed fee quantity transition is scheduled at a billing period boundary, the full quantity will be billed on an invoice with the other prices on the subscription. If the fixed fee quantity transition is scheduled mid-billing period, the difference between the existing quantity and quantity specified in the transition will be prorated for the rest of the billing period and billed immediately, which will generate a new invoice.

Notably, the list of fixed fee quantity transitions passed will overwrite the existing fixed fee quantity transitions on the price interval, so the entire list of transitions must be specified to add additional transitions. The existing list of transitions can be retrieved using the `fixed_fee_quantity_transitions` property on a subscription’s serialized price intervals.

func (*SubscriptionService) SchedulePlanChange

func (r *SubscriptionService) SchedulePlanChange(ctx context.Context, subscriptionID string, body SubscriptionSchedulePlanChangeParams, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

This endpoint can be used to change an existing subscription's plan. It returns the serialized updated subscription object.

The body parameter `change_option` determines when the plan change occurrs. Orb supports three options:

  • `end_of_subscription_term`: changes the plan at the end of the existing plan's term.
  • Issuing this plan change request for a monthly subscription will keep the existing plan active until the start of the subsequent month. Issuing this plan change request for a yearly subscription will keep the existing plan active for the full year. Charges incurred in the remaining period will be invoiced as normal.
  • Example: The plan is billed monthly on the 1st of the month, the request is made on January 15th, so the plan will be changed on February 1st, and invoice will be issued on February 1st for the last month of the original plan.
  • `immediate`: changes the plan immediately.
  • Subscriptions that have their plan changed with this option will move to the new plan immediately, and be invoiced immediately.
  • This invoice will include any usage fees incurred in the billing period up to the change, along with any prorated recurring fees for the billing period, if applicable.
  • Example: The plan is billed monthly on the 1st of the month, the request is made on January 15th, so the plan will be changed on January 15th, and an invoice will be issued for the partial month, from January 1 to January 15, on the original plan.
  • `requested_date`: changes the plan on the requested date (`change_date`).
  • If no timezone is provided, the customer's timezone is used. The `change_date` body parameter is required if this option is chosen.
  • Example: The plan is billed monthly on the 1st of the month, the request is made on January 15th, with a requested `change_date` of February 15th, so the plan will be changed on February 15th, and invoices will be issued on February 1st and February 15th.

Note that one of `plan_id` or `external_plan_id` is required in the request body for this operation.

## Customize your customer's subscriptions

Prices and adjustments in a plan can be added, removed, or replaced on the subscription when you schedule the plan change. This is useful when a customer has prices that differ from the default prices for a specific plan.

<Note> This feature is only available for accounts that have migrated to Subscription Overrides Version 2. You can find your Subscription Overrides Version at the bottom of your [Plans page](https://app.withorb.com/plans) </Note>

### Adding Prices

To add prices, provide a list of objects with the key `add_prices`. An object in the list must specify an existing add-on price with a `price_id` or `external_price_id` field, or create a new add-on price by including an object with the key `price`, identical to what would be used in the request body for the [create price endpoint](/api-reference/price/create-price). See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations possible in this object.

If the plan has phases, each object in the list must include a number with `plan_phase_order` key to indicate which phase the price should be added to.

An object in the list can specify an optional `start_date` and optional `end_date`. If `start_date` is unspecified, the start of the phase / plan change time will be used. If `end_date` is unspecified, it will finish at the end of the phase / have no end time.

An object in the list can specify an optional `minimum_amount`, `maximum_amount`, or `discounts`. This will create adjustments which apply only to this price.

Additionally, an object in the list can specify an optional `reference_id`. This ID can be used to reference this price when [adding an adjustment](#adding-adjustments) in the same API call. However the ID is _transient_ and cannot be used to refer to the price in future API calls.

### Removing Prices

To remove prices, provide a list of objects with the key `remove_prices`. An object in the list must specify a plan price with either a `price_id` or `external_price_id` field.

### Replacing Prices

To replace prices, provide a list of objects with the key `replace_prices`. An object in the list must specify a plan price to replace with the `replaces_price_id` key, and it must specify a price to replace it with by either referencing an existing add-on price with a `price_id` or `external_price_id` field, or by creating a new add-on price by including an object with the key `price`, identical to what would be used in the request body for the [create price endpoint](/api-reference/price/create-price). See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations possible in this object.

For fixed fees, an object in the list can supply a `fixed_price_quantity` instead of a `price`, `price_id`, or `external_price_id` field. This will update only the quantity for the price, similar to the [Update price quantity](/api-reference/subscription/update-price-quantity) endpoint.

The replacement price will have the same phase, if applicable, and the same start and end dates as the price it replaces.

An object in the list can specify an optional `minimum_amount`, `maximum_amount`, or `discounts`. This will create adjustments which apply only to this price.

Additionally, an object in the list can specify an optional `reference_id`. This ID can be used to reference the replacement price when [adding an adjustment](#adding-adjustments) in the same API call. However the ID is _transient_ and cannot be used to refer to the price in future API calls.

### Adding adjustments

To add adjustments, provide a list of objects with the key `add_adjustments`. An object in the list must include an object with the key `adjustment`, identical to the adjustment object in the [add/edit price intervals endpoint](/api-reference/price-interval/add-or-edit-price-intervals).

If the plan has phases, each object in the list must include a number with `plan_phase_order` key to indicate which phase the adjustment should be added to.

An object in the list can specify an optional `start_date` and optional `end_date`. If `start_date` is unspecified, the start of the phase / plan change time will be used. If `end_date` is unspecified, it will finish at the end of the phase / have no end time.

### Removing adjustments

To remove adjustments, provide a list of objects with the key `remove_adjustments`. An object in the list must include a key, `adjustment_id`, with the ID of the adjustment to be removed.

### Replacing adjustments

To replace adjustments, provide a list of objects with the key `replace_adjustments`. An object in the list must specify a plan adjustment to replace with the `replaces_adjustment_id` key, and it must specify an adjustment to replace it with by including an object with the key `adjustment`, identical to the adjustment object in the [add/edit price intervals endpoint](/api-reference/price-interval/add-or-edit-price-intervals).

The replacement adjustment will have the same phase, if applicable, and the same start and end dates as the adjustment it replaces.

## Price overrides (DEPRECATED)

<Note> Price overrides are being phased out in favor adding/removing/replacing prices. (See [Customize your customer's subscriptions](/api-reference/subscription/schedule-plan-change)) </Note>

Price overrides are used to update some or all prices in a plan for the specific subscription being created. This is useful when a new customer has negotiated a rate that is unique to the customer.

To override prices, provide a list of objects with the key `price_overrides`. The price object in the list of overrides is expected to contain the existing price id, the `model_type` and configuration. (See the [Price resource](/product-catalog/price-configuration) for the specification of different price model configurations.) The numerical values can be updated, but the billable metric, cadence, type, and name of a price can not be overridden.

### Maximums, and minimums

Price overrides are used to update some or all prices in the target plan. Minimums and maximums, much like price overrides, can be useful when a new customer has negotiated a new or different minimum or maximum spend cap than the default for the plan. The request format for maximums and minimums is the same as those in [subscription creation](create-subscription).

## Scheduling multiple plan changes

When scheduling multiple plan changes with the same date, the latest plan change on that day takes effect.

## Prorations for in-advance fees

By default, Orb calculates the prorated difference in any fixed fees when making a plan change, adjusting the customer balance as needed. For details on this behavior, see [Modifying subscriptions](/product-catalog/modifying-subscriptions#prorations-for-in-advance-fees).

func (*SubscriptionService) TriggerPhase

func (r *SubscriptionService) TriggerPhase(ctx context.Context, subscriptionID string, body SubscriptionTriggerPhaseParams, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

Manually trigger a phase, effective the given date (or the current time, if not specified).

func (*SubscriptionService) UnscheduleCancellation

func (r *SubscriptionService) UnscheduleCancellation(ctx context.Context, subscriptionID string, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

This endpoint can be used to unschedule any pending cancellations for a subscription.

To be eligible, the subscription must currently be active and have a future cancellation. This operation will turn on auto-renew, ensuring that the subscription does not end at the currently scheduled cancellation time.

func (*SubscriptionService) UnscheduleFixedFeeQuantityUpdates

func (r *SubscriptionService) UnscheduleFixedFeeQuantityUpdates(ctx context.Context, subscriptionID string, body SubscriptionUnscheduleFixedFeeQuantityUpdatesParams, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

This endpoint can be used to clear scheduled updates to the quantity for a fixed fee.

If there are no updates scheduled, a request validation error will be returned with a 400 status code.

func (*SubscriptionService) UnschedulePendingPlanChanges

func (r *SubscriptionService) UnschedulePendingPlanChanges(ctx context.Context, subscriptionID string, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

This endpoint can be used to unschedule any pending plan changes on an existing subscription.

func (*SubscriptionService) Update added in v0.25.0

func (r *SubscriptionService) Update(ctx context.Context, subscriptionID string, body SubscriptionUpdateParams, opts ...option.RequestOption) (res *shared.SubscriptionModel, err error)

This endpoint can be used to update the `metadata`, `net terms`, `auto_collection`, `invoicing_threshold`, and `default_invoice_memo` properties on a subscription.

func (*SubscriptionService) UpdateFixedFeeQuantity

func (r *SubscriptionService) UpdateFixedFeeQuantity(ctx context.Context, subscriptionID string, body SubscriptionUpdateFixedFeeQuantityParams, opts ...option.RequestOption) (res *shared.MutatedSubscriptionModel, err error)

This endpoint can be used to update the quantity for a fixed fee.

To be eligible, the subscription must currently be active and the price specified must be a fixed fee (not usage-based). This operation will immediately update the quantity for the fee, or if a `effective_date` is passed in, will update the quantity on the requested date at midnight in the customer's timezone.

In order to change the fixed fee quantity as of the next draft invoice for this subscription, pass `change_option=upcoming_invoice` without an `effective_date` specified.

If the fee is an in-advance fixed fee, it will also issue an immediate invoice for the difference for the remainder of the billing period.

func (*SubscriptionService) UpdateTrial added in v0.74.0

This endpoint is used to update the trial end date for a subscription. The new trial end date must be within the time range of the current plan (i.e. the new trial end date must be on or after the subscription's start date on the current plan, and on or before the subscription end date).

In order to retroactively remove a trial completely, the end date can be set to the transition date of the subscription to this plan (or, if this is the first plan for this subscription, the subscription's start date). In order to end a trial immediately, the keyword `immediate` can be provided as the trial end date.

By default, Orb will shift only the trial end date (and price intervals that start or end on the previous trial end date), and leave all other future price intervals untouched. If the `shift` parameter is set to `true`, Orb will shift all subsequent price and adjustment intervals by the same amount as the trial end date shift (so, e.g., if a plan change is scheduled or an add-on price was added, that change will be pushed back by the same amount of time the trial is extended).

type SubscriptionTrialInfoModel added in v0.103.0

type SubscriptionTrialInfoModel = shared.SubscriptionTrialInfoModel

This is an alias to an internal type.

type SubscriptionTriggerPhaseParams

type SubscriptionTriggerPhaseParams struct {
	// If false, this request will fail if it would void an issued invoice or create a
	// credit note. Consider using this as a safety mechanism if you do not expect
	// existing invoices to be changed.
	AllowInvoiceCreditOrVoid param.Field[bool] `json:"allow_invoice_credit_or_void"`
	// The date on which the phase change should take effect. If not provided, defaults
	// to today in the customer's timezone.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date"`
}

func (SubscriptionTriggerPhaseParams) MarshalJSON

func (r SubscriptionTriggerPhaseParams) MarshalJSON() (data []byte, err error)

type SubscriptionUnscheduleFixedFeeQuantityUpdatesParams

type SubscriptionUnscheduleFixedFeeQuantityUpdatesParams struct {
	// Price for which the updates should be cleared. Must be a fixed fee.
	PriceID param.Field[string] `json:"price_id,required"`
}

func (SubscriptionUnscheduleFixedFeeQuantityUpdatesParams) MarshalJSON

func (r SubscriptionUnscheduleFixedFeeQuantityUpdatesParams) MarshalJSON() (data []byte, err error)

type SubscriptionUpdateFixedFeeQuantityParams

type SubscriptionUpdateFixedFeeQuantityParams struct {
	// Price for which the quantity should be updated. Must be a fixed fee.
	PriceID  param.Field[string]  `json:"price_id,required"`
	Quantity param.Field[float64] `json:"quantity,required"`
	// If false, this request will fail if it would void an issued invoice or create a
	// credit note. Consider using this as a safety mechanism if you do not expect
	// existing invoices to be changed.
	AllowInvoiceCreditOrVoid param.Field[bool] `json:"allow_invoice_credit_or_void"`
	// Determines when the change takes effect. Note that if `effective_date` is
	// specified, this defaults to `effective_date`. Otherwise, this defaults to
	// `immediate` unless it's explicitly set to `upcoming_invoice`.
	ChangeOption param.Field[SubscriptionUpdateFixedFeeQuantityParamsChangeOption] `json:"change_option"`
	// The date that the quantity change should take effect, localized to the
	// customer's timezone. Ifthis parameter is not passed in, the quantity change is
	// effective according to `change_option`.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date"`
}

func (SubscriptionUpdateFixedFeeQuantityParams) MarshalJSON

func (r SubscriptionUpdateFixedFeeQuantityParams) MarshalJSON() (data []byte, err error)

type SubscriptionUpdateFixedFeeQuantityParamsChangeOption

type SubscriptionUpdateFixedFeeQuantityParamsChangeOption string

Determines when the change takes effect. Note that if `effective_date` is specified, this defaults to `effective_date`. Otherwise, this defaults to `immediate` unless it's explicitly set to `upcoming_invoice`.

const (
	SubscriptionUpdateFixedFeeQuantityParamsChangeOptionImmediate       SubscriptionUpdateFixedFeeQuantityParamsChangeOption = "immediate"
	SubscriptionUpdateFixedFeeQuantityParamsChangeOptionUpcomingInvoice SubscriptionUpdateFixedFeeQuantityParamsChangeOption = "upcoming_invoice"
	SubscriptionUpdateFixedFeeQuantityParamsChangeOptionEffectiveDate   SubscriptionUpdateFixedFeeQuantityParamsChangeOption = "effective_date"
)

func (SubscriptionUpdateFixedFeeQuantityParamsChangeOption) IsKnown added in v0.24.0

type SubscriptionUpdateParams added in v0.25.0

type SubscriptionUpdateParams struct {
	// Determines whether issued invoices for this subscription will automatically be
	// charged with the saved payment method on the due date. This property defaults to
	// the plan's behavior.
	AutoCollection param.Field[bool] `json:"auto_collection"`
	// Determines the default memo on this subscription's invoices. Note that if this
	// is not provided, it is determined by the plan configuration.
	DefaultInvoiceMemo param.Field[string] `json:"default_invoice_memo"`
	// When this subscription's accrued usage reaches this threshold, an invoice will
	// be issued for the subscription. If not specified, invoices will only be issued
	// at the end of the billing period.
	InvoicingThreshold param.Field[string] `json:"invoicing_threshold"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// Determines the difference between the invoice issue date for subscription
	// invoices as the date that they are due. A value of `0` here represents that the
	// invoice is due on issue, whereas a value of `30` represents that the customer
	// has a month to pay the invoice.
	NetTerms param.Field[int64] `json:"net_terms"`
}

func (SubscriptionUpdateParams) MarshalJSON added in v0.25.0

func (r SubscriptionUpdateParams) MarshalJSON() (data []byte, err error)

type SubscriptionUpdateTrialParams added in v0.74.0

type SubscriptionUpdateTrialParams struct {
	// The new date that the trial should end, or the literal string `immediate` to end
	// the trial immediately.
	TrialEndDate param.Field[SubscriptionUpdateTrialParamsTrialEndDateUnion] `json:"trial_end_date,required" format:"date-time"`
	// If true, shifts subsequent price and adjustment intervals (preserving their
	// durations, but adjusting their absolute dates).
	Shift param.Field[bool] `json:"shift"`
}

func (SubscriptionUpdateTrialParams) MarshalJSON added in v0.74.0

func (r SubscriptionUpdateTrialParams) MarshalJSON() (data []byte, err error)

type SubscriptionUpdateTrialParamsTrialEndDateString added in v0.74.0

type SubscriptionUpdateTrialParamsTrialEndDateString string
const (
	SubscriptionUpdateTrialParamsTrialEndDateStringImmediate SubscriptionUpdateTrialParamsTrialEndDateString = "immediate"
)

func (SubscriptionUpdateTrialParamsTrialEndDateString) ImplementsSubscriptionUpdateTrialParamsTrialEndDateUnion added in v0.74.0

func (r SubscriptionUpdateTrialParamsTrialEndDateString) ImplementsSubscriptionUpdateTrialParamsTrialEndDateUnion()

func (SubscriptionUpdateTrialParamsTrialEndDateString) IsKnown added in v0.74.0

type SubscriptionUpdateTrialParamsTrialEndDateUnion added in v0.74.0

type SubscriptionUpdateTrialParamsTrialEndDateUnion interface {
	ImplementsSubscriptionUpdateTrialParamsTrialEndDateUnion()
}

The new date that the trial should end, or the literal string `immediate` to end the trial immediately.

Satisfied by shared.UnionTime, SubscriptionUpdateTrialParamsTrialEndDateString.

type SubscriptionUsage

type SubscriptionUsage struct {
	// This field can have the runtime type of
	// [[]SubscriptionUsageUngroupedSubscriptionUsageData],
	// [[]SubscriptionUsageGroupedSubscriptionUsageData].
	Data               interface{}               `json:"data,required"`
	PaginationMetadata shared.PaginationMetadata `json:"pagination_metadata,nullable"`
	JSON               subscriptionUsageJSON     `json:"-"`
	// contains filtered or unexported fields
}

func (SubscriptionUsage) AsUnion added in v0.25.0

AsUnion returns a SubscriptionUsageUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are SubscriptionUsageUngroupedSubscriptionUsage, SubscriptionUsageGroupedSubscriptionUsage.

func (*SubscriptionUsage) UnmarshalJSON added in v0.25.0

func (r *SubscriptionUsage) UnmarshalJSON(data []byte) (err error)

type SubscriptionUsageGroupedSubscriptionUsage

type SubscriptionUsageGroupedSubscriptionUsage struct {
	Data               []SubscriptionUsageGroupedSubscriptionUsageData `json:"data,required"`
	PaginationMetadata shared.PaginationMetadata                       `json:"pagination_metadata,nullable"`
	JSON               subscriptionUsageGroupedSubscriptionUsageJSON   `json:"-"`
}

func (*SubscriptionUsageGroupedSubscriptionUsage) UnmarshalJSON

func (r *SubscriptionUsageGroupedSubscriptionUsage) UnmarshalJSON(data []byte) (err error)

type SubscriptionUsageGroupedSubscriptionUsageData

type SubscriptionUsageGroupedSubscriptionUsageData struct {
	BillableMetric shared.BillableMetricSimpleModel                         `json:"billable_metric,required"`
	MetricGroup    SubscriptionUsageGroupedSubscriptionUsageDataMetricGroup `json:"metric_group,required"`
	Usage          []shared.UsageModel                                      `json:"usage,required"`
	ViewMode       SubscriptionUsageGroupedSubscriptionUsageDataViewMode    `json:"view_mode,required"`
	JSON           subscriptionUsageGroupedSubscriptionUsageDataJSON        `json:"-"`
}

func (*SubscriptionUsageGroupedSubscriptionUsageData) UnmarshalJSON

func (r *SubscriptionUsageGroupedSubscriptionUsageData) UnmarshalJSON(data []byte) (err error)

type SubscriptionUsageGroupedSubscriptionUsageDataMetricGroup

type SubscriptionUsageGroupedSubscriptionUsageDataMetricGroup struct {
	PropertyKey   string                                                       `json:"property_key,required"`
	PropertyValue string                                                       `json:"property_value,required"`
	JSON          subscriptionUsageGroupedSubscriptionUsageDataMetricGroupJSON `json:"-"`
}

func (*SubscriptionUsageGroupedSubscriptionUsageDataMetricGroup) UnmarshalJSON

type SubscriptionUsageGroupedSubscriptionUsageDataViewMode

type SubscriptionUsageGroupedSubscriptionUsageDataViewMode string
const (
	SubscriptionUsageGroupedSubscriptionUsageDataViewModePeriodic   SubscriptionUsageGroupedSubscriptionUsageDataViewMode = "periodic"
	SubscriptionUsageGroupedSubscriptionUsageDataViewModeCumulative SubscriptionUsageGroupedSubscriptionUsageDataViewMode = "cumulative"
)

func (SubscriptionUsageGroupedSubscriptionUsageDataViewMode) IsKnown added in v0.24.0

type SubscriptionUsageUngroupedSubscriptionUsage

type SubscriptionUsageUngroupedSubscriptionUsage struct {
	Data []SubscriptionUsageUngroupedSubscriptionUsageData `json:"data,required"`
	JSON subscriptionUsageUngroupedSubscriptionUsageJSON   `json:"-"`
}

func (*SubscriptionUsageUngroupedSubscriptionUsage) UnmarshalJSON

func (r *SubscriptionUsageUngroupedSubscriptionUsage) UnmarshalJSON(data []byte) (err error)

type SubscriptionUsageUngroupedSubscriptionUsageData

type SubscriptionUsageUngroupedSubscriptionUsageData struct {
	BillableMetric shared.BillableMetricSimpleModel                        `json:"billable_metric,required"`
	Usage          []shared.UsageModel                                     `json:"usage,required"`
	ViewMode       SubscriptionUsageUngroupedSubscriptionUsageDataViewMode `json:"view_mode,required"`
	JSON           subscriptionUsageUngroupedSubscriptionUsageDataJSON     `json:"-"`
}

func (*SubscriptionUsageUngroupedSubscriptionUsageData) UnmarshalJSON

func (r *SubscriptionUsageUngroupedSubscriptionUsageData) UnmarshalJSON(data []byte) (err error)

type SubscriptionUsageUngroupedSubscriptionUsageDataViewMode

type SubscriptionUsageUngroupedSubscriptionUsageDataViewMode string
const (
	SubscriptionUsageUngroupedSubscriptionUsageDataViewModePeriodic   SubscriptionUsageUngroupedSubscriptionUsageDataViewMode = "periodic"
	SubscriptionUsageUngroupedSubscriptionUsageDataViewModeCumulative SubscriptionUsageUngroupedSubscriptionUsageDataViewMode = "cumulative"
)

func (SubscriptionUsageUngroupedSubscriptionUsageDataViewMode) IsKnown added in v0.24.0

type SubscriptionUsageUnion added in v0.25.0

type SubscriptionUsageUnion interface {
	// contains filtered or unexported methods
}

Union satisfied by SubscriptionUsageUngroupedSubscriptionUsage or SubscriptionUsageGroupedSubscriptionUsage.

type SubscriptionsModel added in v0.103.0

type SubscriptionsModel = shared.SubscriptionsModel

This is an alias to an internal type.

type TaxAmountModel added in v0.103.0

type TaxAmountModel = shared.TaxAmountModel

This is an alias to an internal type.

type ThresholdModel added in v0.103.0

type ThresholdModel = shared.ThresholdModel

Thresholds are used to define the conditions under which an alert will be triggered.

This is an alias to an internal type.

type ThresholdModelParam added in v0.103.0

type ThresholdModelParam = shared.ThresholdModelParam

Thresholds are used to define the conditions under which an alert will be triggered.

This is an alias to an internal type.

type TieredBpsConfigModel added in v0.103.0

type TieredBpsConfigModel = shared.TieredBpsConfigModel

This is an alias to an internal type.

type TieredBpsConfigModelParam added in v0.103.0

type TieredBpsConfigModelParam = shared.TieredBpsConfigModelParam

This is an alias to an internal type.

type TieredBpsConfigModelTier added in v0.103.0

type TieredBpsConfigModelTier = shared.TieredBpsConfigModelTier

This is an alias to an internal type.

type TieredBpsConfigModelTierParam added in v0.103.0

type TieredBpsConfigModelTierParam = shared.TieredBpsConfigModelTierParam

This is an alias to an internal type.

type TieredConfigModel added in v0.103.0

type TieredConfigModel = shared.TieredConfigModel

This is an alias to an internal type.

type TieredConfigModelParam added in v0.103.0

type TieredConfigModelParam = shared.TieredConfigModelParam

This is an alias to an internal type.

type TieredConfigModelTier added in v0.103.0

type TieredConfigModelTier = shared.TieredConfigModelTier

This is an alias to an internal type.

type TieredConfigModelTierParam added in v0.103.0

type TieredConfigModelTierParam = shared.TieredConfigModelTierParam

This is an alias to an internal type.

type TopLevelPingResponse

type TopLevelPingResponse struct {
	Response string                   `json:"response,required"`
	JSON     topLevelPingResponseJSON `json:"-"`
}

func (*TopLevelPingResponse) UnmarshalJSON

func (r *TopLevelPingResponse) UnmarshalJSON(data []byte) (err error)

type TopLevelService

type TopLevelService struct {
	Options []option.RequestOption
}

TopLevelService contains methods and other services that help with interacting with the orb API.

Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewTopLevelService method instead.

func NewTopLevelService

func NewTopLevelService(opts ...option.RequestOption) (r *TopLevelService)

NewTopLevelService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*TopLevelService) Ping

func (r *TopLevelService) Ping(ctx context.Context, opts ...option.RequestOption) (res *TopLevelPingResponse, err error)

This endpoint allows you to test your connection to the Orb API and check the validity of your API key, passed in the Authorization header. This is particularly useful for checking that your environment is set up properly, and is a great choice for connectors and integrations.

This API does not have any side-effects or return any Orb resources.

type TopUpModel added in v0.103.0

type TopUpModel = shared.TopUpModel

This is an alias to an internal type.

type TopUpModelExpiresAfterUnit added in v0.103.0

type TopUpModelExpiresAfterUnit = shared.TopUpModelExpiresAfterUnit

The unit of expires_after.

This is an alias to an internal type.

type TopUpModelInvoiceSettings added in v0.103.0

type TopUpModelInvoiceSettings = shared.TopUpModelInvoiceSettings

Settings for invoices generated by triggered top-ups.

This is an alias to an internal type.

type TopUpsModel added in v0.103.0

type TopUpsModel = shared.TopUpsModel

This is an alias to an internal type.

type TrialDiscount added in v0.67.0

type TrialDiscount = shared.TrialDiscount

This is an alias to an internal type.

type TrialDiscountDiscountType added in v0.67.0

type TrialDiscountDiscountType = shared.TrialDiscountDiscountType

This is an alias to an internal type.

type TrialDiscountParam added in v0.67.0

type TrialDiscountParam = shared.TrialDiscountParam

This is an alias to an internal type.

type UnitConfigModel added in v0.103.0

type UnitConfigModel = shared.UnitConfigModel

This is an alias to an internal type.

type UnitConfigModelParam added in v0.103.0

type UnitConfigModelParam = shared.UnitConfigModelParam

This is an alias to an internal type.

type UsageDiscountIntervalModel added in v0.103.0

type UsageDiscountIntervalModel = shared.UsageDiscountIntervalModel

This is an alias to an internal type.

type UsageDiscountIntervalModelDiscountType added in v0.103.0

type UsageDiscountIntervalModelDiscountType = shared.UsageDiscountIntervalModelDiscountType

This is an alias to an internal type.

type UsageModel added in v0.103.0

type UsageModel = shared.UsageModel

This is an alias to an internal type.

type WebhookService added in v0.25.0

type WebhookService struct {
	Options []option.RequestOption
	// contains filtered or unexported fields
}

WebhookService contains methods and other services that help with interacting with the Orb API. Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewWebhookService method instead.

func NewWebhookService added in v0.25.0

func NewWebhookService(opts ...option.RequestOption) (r *WebhookService)

NewWebhookService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.

func (*WebhookService) VerifySignature added in v0.25.0

func (r *WebhookService) VerifySignature(payload []byte, headers http.Header, secret string, now time.Time) (err error)

Validates whether or not the webhook payload was sent by Orb. Pass an empty string to use the secret defined at the client level.

An error will be raised if the webhook payload was not sent by Orb.

type WebhookVerifySignatureParams added in v0.25.0

type WebhookVerifySignatureParams struct {
}

Directories

Path Synopsis
packages

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL