v3

package
v1.0.0-beta.228 Latest Latest
Warning

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

Go to latest
Published: May 19, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package v3 provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.6.1-0.20260403235458-a76544bd16ff DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL

func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler

func HandlerWithOptions

func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

Types

type Addon

type Addon struct {
	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency The currency code of the add-on.
	Currency BillingCurrencyCode `json:"currency"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// EffectiveFrom The date and time when the add-on becomes effective. When not specified, the
	// add-on is a draft.
	EffectiveFrom *DateTime `json:"effective_from,omitempty"`

	// EffectiveTo The date and time when the add-on is no longer effective. When not specified,
	// the add-on is effective indefinitely.
	EffectiveTo *DateTime `json:"effective_to,omitempty"`
	Id          ULID      `json:"id"`

	// InstanceType The InstanceType of the add-ons. Can be "single" or "multiple".
	InstanceType AddonInstanceType `json:"instance_type"`

	// Key A key is a semi-unique string that is used to identify the add-on. It is used to
	// reference the latest `active` version of the add-on and is unique with the
	// version number.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// RateCards The rate cards of the add-on.
	RateCards []BillingRateCard `json:"rate_cards"`

	// Status The status of the add-on. Computed based on the effective start and end dates:
	//
	// - `draft`: `effective_from` is not set.
	// - `active`: `effective_from <= now` and (`effective_to` is not set or
	// `now < effective_to`).
	// - `archived`: `effective_to <= now`.
	Status AddonStatus `json:"status"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// ValidationErrors List of validation errors.
	ValidationErrors *[]ProductCatalogValidationError `json:"validation_errors,omitempty"`

	// Version Version of the add-on. Incremented when the add-on is updated.
	Version int `json:"version"`
}

Addon Add-on allows extending subscriptions with compatible plans with additional ratecards.

type AddonInstanceType

type AddonInstanceType string

AddonInstanceType The instanceType of the add-on.

- `single`: Can be added to a subscription only once. - `multiple`: Can be added to a subscription more than once.

const (
	AddonInstanceTypeMultiple AddonInstanceType = "multiple"
	AddonInstanceTypeSingle   AddonInstanceType = "single"
)

Defines values for AddonInstanceType.

func (AddonInstanceType) Valid

func (e AddonInstanceType) Valid() bool

Valid indicates whether the value is a known member of the AddonInstanceType enum.

type AddonPagePaginatedResponse

type AddonPagePaginatedResponse struct {
	Data []Addon `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

AddonPagePaginatedResponse Page paginated response.

type AddonReference

type AddonReference struct {
	// Id ULID (Universally Unique Lexicographically Sortable Identifier).
	Id ULID `json:"id"`
}

AddonReference Addon reference.

type AddonReferenceItem

type AddonReferenceItem struct {
	// Id ULID (Universally Unique Lexicographically Sortable Identifier).
	Id ULID `json:"id"`
}

AddonReferenceItem Addon reference.

type AddonStatus

type AddonStatus string

AddonStatus The status of the add-on defined by the `effective_from` and `effective_to` properties.

- `draft`: The add-on has not yet been published and can be edited. - `active`: The add-on is published and available for use. - `archived`: The add-on is no longer available for use.

const (
	AddonStatusActive   AddonStatus = "active"
	AddonStatusArchived AddonStatus = "archived"
	AddonStatusDraft    AddonStatus = "draft"
)

Defines values for AddonStatus.

func (AddonStatus) Valid

func (e AddonStatus) Valid() bool

Valid indicates whether the value is a known member of the AddonStatus enum.

type Address

type Address struct {
	// City City.
	City *string `json:"city,omitempty"`

	// Country Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
	// alpha-2 format.
	Country *CountryCode `json:"country,omitempty"`

	// Line1 First line of the address.
	Line1 *string `json:"line1,omitempty"`

	// Line2 Second line of the address.
	Line2 *string `json:"line2,omitempty"`

	// PhoneNumber Phone number.
	PhoneNumber *string `json:"phone_number,omitempty"`

	// PostalCode Postal code.
	PostalCode *string `json:"postal_code,omitempty"`

	// State State or province.
	State *string `json:"state,omitempty"`
}

Address Address

type AppPagePaginatedResponse

type AppPagePaginatedResponse struct {
	Data []BillingApp `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

AppPagePaginatedResponse Page paginated response.

type BadRequest

type BadRequest = BadRequestError

BadRequest defines model for BadRequest.

type BadRequestError

type BadRequestError struct {
	// Detail A human readable explanation specific to this occurence of the problem.
	// This field may contain request/entity data to help the user understand
	// what went wrong. Enclose variable values in square brackets. Should be
	// provided as "Sentence case" for direct use in the UI.
	Detail string `json:"detail"`

	// Instance Used to return the correlation ID back to the user, in the format
	// kong:trace:<correlation_id>. This helps us find the relevant logs
	// when a customer reports an issue.
	Instance string `json:"instance"`

	// InvalidParameters invalid parameters
	InvalidParameters InvalidParameters `json:"invalid_parameters"`

	// Status The HTTP status code of the error. Useful when passing the response
	// body to child properties in a frontend UI. Must be returned as an integer.
	Status int `json:"status"`

	// Title A short, human-readable summary of the problem. It should not
	// change between occurences of a problem, except for localization.
	// Should be provided as "Sentence case" for direct use in the UI.
	Title string `json:"title"`

	// Type The error type.
	Type *string `json:"type,omitempty"`
}

BadRequestError defines model for BadRequestError.

type BaseError

type BaseError struct {
	// Detail A human readable explanation specific to this occurence of the problem.
	// This field may contain request/entity data to help the user understand
	// what went wrong. Enclose variable values in square brackets. Should be
	// provided as "Sentence case" for direct use in the UI.
	Detail string `json:"detail"`

	// Instance Used to return the correlation ID back to the user, in the format
	// kong:trace:<correlation_id>. This helps us find the relevant logs
	// when a customer reports an issue.
	Instance string `json:"instance"`

	// Status The HTTP status code of the error. Useful when passing the response
	// body to child properties in a frontend UI. Must be returned as an integer.
	Status int `json:"status"`

	// Title A short, human-readable summary of the problem. It should not
	// change between occurences of a problem, except for localization.
	// Should be provided as "Sentence case" for direct use in the UI.
	Title string `json:"title"`

	// Type The error type.
	Type *string `json:"type,omitempty"`
}

BaseError standard error

type BillingAddress

type BillingAddress struct {
	// City City.
	City *string `json:"city,omitempty"`

	// Country Country code in [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
	// alpha-2 format.
	Country *CountryCode `json:"country,omitempty"`

	// Line1 First line of the address.
	Line1 *string `json:"line1,omitempty"`

	// Line2 Second line of the address.
	Line2 *string `json:"line2,omitempty"`

	// PhoneNumber Phone number.
	PhoneNumber *string `json:"phone_number,omitempty"`

	// PostalCode Postal code.
	PostalCode *string `json:"postal_code,omitempty"`

	// State State or province.
	State *string `json:"state,omitempty"`
}

BillingAddress Address

type BillingApp

type BillingApp struct {
	// contains filtered or unexported fields
}

BillingApp Installed application.

func (BillingApp) AsBillingAppExternalInvoicing

func (t BillingApp) AsBillingAppExternalInvoicing() (BillingAppExternalInvoicing, error)

AsBillingAppExternalInvoicing returns the union data inside the BillingApp as a BillingAppExternalInvoicing

func (BillingApp) AsBillingAppSandbox

func (t BillingApp) AsBillingAppSandbox() (BillingAppSandbox, error)

AsBillingAppSandbox returns the union data inside the BillingApp as a BillingAppSandbox

func (BillingApp) AsBillingAppStripe

func (t BillingApp) AsBillingAppStripe() (BillingAppStripe, error)

AsBillingAppStripe returns the union data inside the BillingApp as a BillingAppStripe

func (BillingApp) Discriminator

func (t BillingApp) Discriminator() (string, error)

func (*BillingApp) FromBillingAppExternalInvoicing

func (t *BillingApp) FromBillingAppExternalInvoicing(v BillingAppExternalInvoicing) error

FromBillingAppExternalInvoicing overwrites any union data inside the BillingApp as the provided BillingAppExternalInvoicing

func (*BillingApp) FromBillingAppSandbox

func (t *BillingApp) FromBillingAppSandbox(v BillingAppSandbox) error

FromBillingAppSandbox overwrites any union data inside the BillingApp as the provided BillingAppSandbox

func (*BillingApp) FromBillingAppStripe

func (t *BillingApp) FromBillingAppStripe(v BillingAppStripe) error

FromBillingAppStripe overwrites any union data inside the BillingApp as the provided BillingAppStripe

func (BillingApp) MarshalJSON

func (t BillingApp) MarshalJSON() ([]byte, error)

func (*BillingApp) MergeBillingAppExternalInvoicing

func (t *BillingApp) MergeBillingAppExternalInvoicing(v BillingAppExternalInvoicing) error

MergeBillingAppExternalInvoicing performs a merge with any union data inside the BillingApp, using the provided BillingAppExternalInvoicing

func (*BillingApp) MergeBillingAppSandbox

func (t *BillingApp) MergeBillingAppSandbox(v BillingAppSandbox) error

MergeBillingAppSandbox performs a merge with any union data inside the BillingApp, using the provided BillingAppSandbox

func (*BillingApp) MergeBillingAppStripe

func (t *BillingApp) MergeBillingAppStripe(v BillingAppStripe) error

MergeBillingAppStripe performs a merge with any union data inside the BillingApp, using the provided BillingAppStripe

func (*BillingApp) UnmarshalJSON

func (t *BillingApp) UnmarshalJSON(b []byte) error

func (BillingApp) ValueByDiscriminator

func (t BillingApp) ValueByDiscriminator() (interface{}, error)

type BillingAppCatalogItem

type BillingAppCatalogItem struct {
	// Description Description of the app.
	Description string `json:"description"`

	// Name Name of the app.
	Name string `json:"name"`

	// Type Type of the app.
	Type BillingAppType `json:"type"`
}

BillingAppCatalogItem Available apps for billing integrations to connect with third-party services. Apps can have various capabilities like syncing data from or to external systems, integrating with third-party services for tax calculation, delivery of invoices, collection of payments, etc.

type BillingAppCustomerData

type BillingAppCustomerData struct {
	// ExternalInvoicing Used if the customer has a linked external invoicing app.
	ExternalInvoicing *BillingAppCustomerDataExternalInvoicing `json:"external_invoicing,omitempty"`

	// Stripe Used if the customer has a linked Stripe app.
	Stripe *BillingAppCustomerDataStripe `json:"stripe,omitempty"`
}

BillingAppCustomerData App customer data.

type BillingAppCustomerDataExternalInvoicing

type BillingAppCustomerDataExternalInvoicing struct {
	// Labels Labels for this external invoicing integration on the customer.
	Labels *Labels `json:"labels,omitempty"`
}

BillingAppCustomerDataExternalInvoicing External invoicing customer data.

type BillingAppCustomerDataStripe

type BillingAppCustomerDataStripe struct {
	// CustomerId The Stripe customer ID used.
	CustomerId *string `json:"customer_id,omitempty"`

	// DefaultPaymentMethodId The Stripe default payment method ID.
	DefaultPaymentMethodId *string `json:"default_payment_method_id,omitempty"`

	// Labels Labels for this Stripe integration on the customer.
	Labels *Labels `json:"labels,omitempty"`
}

BillingAppCustomerDataStripe Stripe customer data.

type BillingAppExternalInvoicing

type BillingAppExternalInvoicing struct {
	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Definition The app catalog definition that this installed app is based on.
	Definition BillingAppCatalogItem `json:"definition"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// EnableDraftSyncHook Enable draft synchronization hook.
	//
	// When enabled, invoices will pause at the draft state and wait for the
	// integration to call the draft synchronized endpoint before progressing to the
	// issuing state. This allows the external system to validate and prepare the
	// invoice data.
	//
	// When disabled, invoices automatically progress through the draft state based on
	// the configured workflow timing.
	EnableDraftSyncHook bool `json:"enable_draft_sync_hook"`

	// EnableIssuingSyncHook Enable issuing synchronization hook.
	//
	// When enabled, invoices will pause at the issuing state and wait for the
	// integration to call the issuing synchronized endpoint before progressing to the
	// issued state. This ensures the external invoicing system has successfully
	// created and finalized the invoice before it is marked as issued.
	//
	// When disabled, invoices automatically progress through the issuing state and are
	// immediately marked as issued.
	EnableIssuingSyncHook bool `json:"enable_issuing_sync_hook"`
	Id                    ULID `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Status Status of the app connection.
	Status BillingAppStatus `json:"status"`

	// Type The app type.
	Type BillingAppExternalInvoicingType `json:"type"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingAppExternalInvoicing External Invoicing app enables integration with third-party invoicing or payment system.

The app supports a bi-directional synchronization pattern where OpenMeter Billing manages the invoice lifecycle while the external system handles invoice presentation and payment collection.

Integration workflow:

1. The billing system creates invoices and transitions them through lifecycle states (draft → issuing → issued) 2. The integration receives webhook notifications about invoice state changes 3. The integration calls back to provide external system IDs and metadata 4. The integration reports payment events back via the payment status API

State synchronization is controlled by hooks that pause invoice progression until the external system confirms synchronization via API callbacks.

type BillingAppExternalInvoicingType

type BillingAppExternalInvoicingType string

BillingAppExternalInvoicingType The app type.

const (
	BillingAppExternalInvoicingTypeExternalInvoicing BillingAppExternalInvoicingType = "external_invoicing"
)

Defines values for BillingAppExternalInvoicingType.

func (BillingAppExternalInvoicingType) Valid

Valid indicates whether the value is a known member of the BillingAppExternalInvoicingType enum.

type BillingAppReference

type BillingAppReference struct {
	// Id The ID of the app.
	Id ULID `json:"id"`
}

BillingAppReference App reference.

type BillingAppSandbox

type BillingAppSandbox struct {
	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Definition The app catalog definition that this installed app is based on.
	Definition BillingAppCatalogItem `json:"definition"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Status Status of the app connection.
	Status BillingAppStatus `json:"status"`

	// Type The app type.
	Type BillingAppSandboxType `json:"type"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingAppSandbox Sandbox app can be used for testing billing features.

type BillingAppSandboxType

type BillingAppSandboxType string

BillingAppSandboxType The app type.

const (
	BillingAppSandboxTypeSandbox BillingAppSandboxType = "sandbox"
)

Defines values for BillingAppSandboxType.

func (BillingAppSandboxType) Valid

func (e BillingAppSandboxType) Valid() bool

Valid indicates whether the value is a known member of the BillingAppSandboxType enum.

type BillingAppStatus

type BillingAppStatus string

BillingAppStatus Connection status of an installed app.

const (
	BillingAppStatusReady        BillingAppStatus = "ready"
	BillingAppStatusUnauthorized BillingAppStatus = "unauthorized"
)

Defines values for BillingAppStatus.

func (BillingAppStatus) Valid

func (e BillingAppStatus) Valid() bool

Valid indicates whether the value is a known member of the BillingAppStatus enum.

type BillingAppStripe

type BillingAppStripe struct {
	// AccountId The Stripe account ID associated with the connected Stripe account.
	AccountId string `json:"account_id"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Definition The app catalog definition that this installed app is based on.
	Definition BillingAppCatalogItem `json:"definition"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Livemode Indicates whether the app is connected to a live Stripe account.
	Livemode bool `json:"livemode"`

	// MaskedApiKey The masked Stripe API key that only exposes the first and last few characters.
	MaskedApiKey string `json:"masked_api_key"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Status Status of the app connection.
	Status BillingAppStatus `json:"status"`

	// Type The app type.
	Type BillingAppStripeType `json:"type"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingAppStripe Stripe app.

type BillingAppStripeCheckoutSessionCustomTextParams

type BillingAppStripeCheckoutSessionCustomTextParams struct {
	// AfterSubmit Text displayed after the payment confirmation button.
	AfterSubmit *struct {
		// Message The custom message text (max 1200 characters).
		Message *string `json:"message,omitempty"`
	} `json:"after_submit,omitempty"`

	// ShippingAddress Text displayed alongside shipping address collection.
	ShippingAddress *struct {
		// Message The custom message text (max 1200 characters).
		Message *string `json:"message,omitempty"`
	} `json:"shipping_address,omitempty"`

	// Submit Text displayed alongside the payment confirmation button.
	Submit *struct {
		// Message The custom message text (max 1200 characters).
		Message *string `json:"message,omitempty"`
	} `json:"submit,omitempty"`

	// TermsOfServiceAcceptance Text replacing the default terms of service agreement text.
	TermsOfServiceAcceptance *struct {
		// Message The custom message text (max 1200 characters).
		Message *string `json:"message,omitempty"`
	} `json:"terms_of_service_acceptance,omitempty"`
}

BillingAppStripeCheckoutSessionCustomTextParams Custom text displayed at various stages of the checkout flow.

type BillingAppStripeCheckoutSessionMode

type BillingAppStripeCheckoutSessionMode string

BillingAppStripeCheckoutSessionMode Stripe Checkout Session mode.

Determines the primary purpose of the checkout session.

const (
	BillingAppStripeCheckoutSessionModeSetup BillingAppStripeCheckoutSessionMode = "setup"
)

Defines values for BillingAppStripeCheckoutSessionMode.

func (BillingAppStripeCheckoutSessionMode) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCheckoutSessionMode enum.

type BillingAppStripeCheckoutSessionUIMode

type BillingAppStripeCheckoutSessionUIMode string

BillingAppStripeCheckoutSessionUIMode Checkout Session UI mode.

const (
	BillingAppStripeCheckoutSessionUIModeEmbedded BillingAppStripeCheckoutSessionUIMode = "embedded"
	BillingAppStripeCheckoutSessionUIModeHosted   BillingAppStripeCheckoutSessionUIMode = "hosted"
)

Defines values for BillingAppStripeCheckoutSessionUIMode.

func (BillingAppStripeCheckoutSessionUIMode) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCheckoutSessionUIMode enum.

type BillingAppStripeCreateCheckoutSessionBillingAddressCollection

type BillingAppStripeCreateCheckoutSessionBillingAddressCollection string

BillingAppStripeCreateCheckoutSessionBillingAddressCollection Controls whether Checkout collects the customer's billing address.

const (
	BillingAppStripeCreateCheckoutSessionBillingAddressCollectionAuto     BillingAppStripeCreateCheckoutSessionBillingAddressCollection = "auto"
	BillingAppStripeCreateCheckoutSessionBillingAddressCollectionRequired BillingAppStripeCreateCheckoutSessionBillingAddressCollection = "required"
)

Defines values for BillingAppStripeCreateCheckoutSessionBillingAddressCollection.

func (BillingAppStripeCreateCheckoutSessionBillingAddressCollection) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionBillingAddressCollection enum.

type BillingAppStripeCreateCheckoutSessionConsentCollection

type BillingAppStripeCreateCheckoutSessionConsentCollection struct {
	// PaymentMethodReuseAgreement Controls the visibility of payment method reuse agreement.
	PaymentMethodReuseAgreement *BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreement `json:"payment_method_reuse_agreement,omitempty"`

	// Promotions Enables collection of promotional communication consent.
	//
	// Only available to US merchants. When set to "auto", Checkout determines whether
	// to show the option based on the customer's locale.
	Promotions *BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions `json:"promotions,omitempty"`

	// TermsOfService Requires customers to accept terms of service before payment.
	//
	// Requires a valid terms of service URL in your Stripe Dashboard settings.
	TermsOfService *BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService `json:"terms_of_service,omitempty"`
}

BillingAppStripeCreateCheckoutSessionConsentCollection Checkout Session consent collection configuration.

type BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreement

type BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreement struct {
	// Position Position and visibility of the payment method reuse agreement.
	Position *BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition `json:"position,omitempty"`
}

BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreement Payment method reuse agreement configuration.

type BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition

type BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition string

BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition Position of payment method reuse agreement in the UI.

const (
	BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPositionAuto   BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition = "auto"
	BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPositionHidden BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition = "hidden"
)

Defines values for BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition.

func (BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition enum.

type BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions

type BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions string

BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions Promotional communication consent collection setting.

const (
	BillingAppStripeCreateCheckoutSessionConsentCollectionPromotionsAuto BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions = "auto"
	BillingAppStripeCreateCheckoutSessionConsentCollectionPromotionsNone BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions = "none"
)

Defines values for BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions.

func (BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionConsentCollectionPromotions enum.

type BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService

type BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService string

BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService Terms of service acceptance requirement.

const (
	BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfServiceNone     BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService = "none"
	BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfServiceRequired BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService = "required"
)

Defines values for BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService.

func (BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionConsentCollectionTermsOfService enum.

type BillingAppStripeCreateCheckoutSessionCustomerUpdate

type BillingAppStripeCreateCheckoutSessionCustomerUpdate struct {
	// Address Whether to save the billing address to customer.address.
	//
	// Defaults to "never".
	Address *BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior `json:"address,omitempty"`

	// Name Whether to save the customer name to customer.name.
	//
	// Defaults to "never".
	Name *BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior `json:"name,omitempty"`

	// Shipping Whether to save shipping information to customer.shipping.
	//
	// Defaults to "never".
	Shipping *BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior `json:"shipping,omitempty"`
}

BillingAppStripeCreateCheckoutSessionCustomerUpdate Controls which customer fields can be updated by the checkout session.

type BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior

type BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior string

BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior Behavior for updating customer fields from checkout session.

const (
	BillingAppStripeCreateCheckoutSessionCustomerUpdateBehaviorAuto  BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior = "auto"
	BillingAppStripeCreateCheckoutSessionCustomerUpdateBehaviorNever BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior = "never"
)

Defines values for BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior.

func (BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionCustomerUpdateBehavior enum.

type BillingAppStripeCreateCheckoutSessionRedirectOnCompletion

type BillingAppStripeCreateCheckoutSessionRedirectOnCompletion string

BillingAppStripeCreateCheckoutSessionRedirectOnCompletion Redirect behavior for embedded checkout sessions.

const (
	BillingAppStripeCreateCheckoutSessionRedirectOnCompletionAlways     BillingAppStripeCreateCheckoutSessionRedirectOnCompletion = "always"
	BillingAppStripeCreateCheckoutSessionRedirectOnCompletionIfRequired BillingAppStripeCreateCheckoutSessionRedirectOnCompletion = "if_required"
	BillingAppStripeCreateCheckoutSessionRedirectOnCompletionNever      BillingAppStripeCreateCheckoutSessionRedirectOnCompletion = "never"
)

Defines values for BillingAppStripeCreateCheckoutSessionRedirectOnCompletion.

func (BillingAppStripeCreateCheckoutSessionRedirectOnCompletion) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionRedirectOnCompletion enum.

type BillingAppStripeCreateCheckoutSessionRequestOptions

type BillingAppStripeCreateCheckoutSessionRequestOptions struct {
	// BillingAddressCollection Whether to collect the customer's billing address.
	//
	// Defaults to auto, which only collects the address when necessary for tax
	// calculation.
	BillingAddressCollection *BillingAppStripeCreateCheckoutSessionBillingAddressCollection `json:"billing_address_collection,omitempty"`

	// CancelUrl URL to redirect customers who cancel the checkout session.
	//
	// Not allowed when ui_mode is "embedded".
	CancelUrl *string `json:"cancel_url,omitempty"`

	// ClientReferenceId Unique reference string for reconciling sessions with internal systems.
	//
	// Can be a customer ID, cart ID, or any other identifier.
	ClientReferenceId *string `json:"client_reference_id,omitempty"`

	// ConsentCollection Configuration for collecting customer consent during checkout.
	ConsentCollection *BillingAppStripeCreateCheckoutSessionConsentCollection `json:"consent_collection,omitempty"`

	// Currency Three-letter ISO 4217 currency code in uppercase.
	//
	// Required for payment mode sessions. Optional for setup mode sessions.
	Currency *CurrencyCode `json:"currency,omitempty"`

	// CustomText Custom text to display during checkout at various stages.
	CustomText *BillingAppStripeCheckoutSessionCustomTextParams `json:"custom_text,omitempty"`

	// CustomerUpdate Controls which customer fields can be updated by the checkout session.
	CustomerUpdate *BillingAppStripeCreateCheckoutSessionCustomerUpdate `json:"customer_update,omitempty"`

	// ExpiresAt Unix timestamp when the checkout session expires.
	//
	// Can be 30 minutes to 24 hours from creation. Defaults to 24 hours.
	ExpiresAt *int64 `json:"expires_at,omitempty"`

	// Locale IETF language tag for the checkout UI locale.
	//
	// If blank or "auto", uses the browser's locale. Example: "en", "fr", "de".
	Locale *string `json:"locale,omitempty"`

	// Metadata Set of key-value pairs to attach to the checkout session.
	//
	// Useful for storing additional structured information.
	Metadata *map[string]string `json:"metadata,omitempty"`

	// PaymentMethodTypes List of payment method types to enable (e.g., "card", "us_bank_account").
	//
	// If not specified, Stripe enables all relevant payment methods.
	PaymentMethodTypes *[]string `json:"payment_method_types,omitempty"`

	// RedirectOnCompletion Redirect behavior for embedded checkout sessions.
	//
	// Controls when to redirect users after completion. See:
	// https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form
	RedirectOnCompletion *BillingAppStripeCreateCheckoutSessionRedirectOnCompletion `json:"redirect_on_completion,omitempty"`

	// ReturnUrl Return URL for embedded checkout sessions after payment authentication.
	//
	// Required if ui_mode is "embedded" and redirect-based payment methods are
	// enabled.
	ReturnUrl *string `json:"return_url,omitempty"`

	// SuccessUrl Success URL to redirect customers after completing payment or setup.
	//
	// Not allowed when ui_mode is "embedded". See:
	// https://docs.stripe.com/payments/checkout/custom-success-page
	SuccessUrl *string `json:"success_url,omitempty"`

	// TaxIdCollection Configuration for collecting tax IDs during checkout.
	TaxIdCollection *BillingAppStripeCreateCheckoutSessionTaxIdCollection `json:"tax_id_collection,omitempty"`

	// UiMode The UI mode for the checkout session.
	//
	// "hosted" displays a Stripe-hosted page. "embedded" integrates directly into your
	// app. Defaults to "hosted".
	UiMode *BillingAppStripeCheckoutSessionUIMode `json:"ui_mode,omitempty"`
}

BillingAppStripeCreateCheckoutSessionRequestOptions Configuration options for creating a Stripe Checkout Session.

Based on Stripe's [Checkout Session API parameters](https://docs.stripe.com/api/checkout/sessions/create).

type BillingAppStripeCreateCheckoutSessionResult

type BillingAppStripeCreateCheckoutSessionResult struct {
	// CancelUrl The cancel URL where customers are redirected if they cancel.
	CancelUrl *string `json:"cancel_url,omitempty"`

	// ClientReferenceId The client reference ID provided in the request.
	//
	// Useful for reconciling the session with your internal systems.
	ClientReferenceId *string `json:"client_reference_id,omitempty"`

	// ClientSecret Client secret for initializing Stripe.js on the client side.
	//
	// Required for embedded checkout sessions. See:
	// https://docs.stripe.com/payments/checkout/custom-success-page
	ClientSecret *string `json:"client_secret,omitempty"`

	// CreatedAt Timestamp when the checkout session was created.
	CreatedAt DateTime `json:"created_at"`

	// Currency Currency code for the checkout session.
	Currency *CurrencyCode `json:"currency,omitempty"`

	// CustomerEmail Customer's email address if provided to Stripe.
	CustomerEmail *string `json:"customer_email,omitempty"`

	// CustomerId The customer ID in the billing system.
	CustomerId ULID `json:"customer_id"`

	// ExpiresAt Timestamp when the checkout session will expire.
	ExpiresAt *DateTime `json:"expires_at,omitempty"`

	// Metadata Metadata attached to the checkout session.
	Metadata *map[string]string `json:"metadata,omitempty"`

	// Mode Mode of the checkout session.
	//
	// Currently only "setup" mode is supported for collecting payment methods.
	Mode BillingAppStripeCheckoutSessionMode `json:"mode"`

	// ReturnUrl The return URL for embedded sessions after authentication.
	ReturnUrl *string `json:"return_url,omitempty"`

	// SessionId The Stripe checkout session ID.
	SessionId string `json:"session_id"`

	// SetupIntentId The setup intent ID created for collecting the payment method.
	SetupIntentId string `json:"setup_intent_id"`

	// Status The status of the checkout session.
	//
	// See:
	// https://docs.stripe.com/api/checkout/sessions/object#checkout_session_object-status
	Status *string `json:"status,omitempty"`

	// StripeCustomerId The Stripe customer ID.
	StripeCustomerId string `json:"stripe_customer_id"`

	// SuccessUrl The success URL where customers are redirected after completion.
	SuccessUrl *string `json:"success_url,omitempty"`

	// Url URL to redirect customers to the checkout page (for hosted mode).
	Url *string `json:"url,omitempty"`
}

BillingAppStripeCreateCheckoutSessionResult Result of creating a Stripe Checkout Session.

Contains all the information needed to redirect customers to the checkout or initialize an embedded checkout flow.

type BillingAppStripeCreateCheckoutSessionTaxIdCollection

type BillingAppStripeCreateCheckoutSessionTaxIdCollection struct {
	// Enabled Enable tax ID collection during checkout.
	//
	// Defaults to false.
	Enabled *bool `json:"enabled,omitempty"`

	// Required Whether tax ID collection is required.
	//
	// Defaults to "never".
	Required *BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired `json:"required,omitempty"`
}

BillingAppStripeCreateCheckoutSessionTaxIdCollection Tax ID collection configuration for checkout sessions.

type BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired

type BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired string

BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired Tax ID collection requirement level.

const (
	BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequiredIfSupported BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired = "if_supported"
	BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequiredNever       BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired = "never"
)

Defines values for BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired.

func (BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired) Valid

Valid indicates whether the value is a known member of the BillingAppStripeCreateCheckoutSessionTaxIdCollectionRequired enum.

type BillingAppStripeCreateCustomerPortalSessionOptions

type BillingAppStripeCreateCustomerPortalSessionOptions struct {
	// ConfigurationId The ID of an existing
	// [Stripe configuration](https://docs.stripe.com/api/customer_portal/configurations)
	// to use for this session, describing its functionality and features. If not
	// specified, the session uses the default configuration.
	ConfigurationId *string `json:"configuration_id,omitempty"`

	// Locale The IETF
	// [language tag](https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-locale)
	// of the locale customer portal is displayed in. If blank or `auto`, the
	// customer's preferred_locales or browser's locale is used.
	Locale *string `json:"locale,omitempty"`

	// ReturnUrl The
	// [URL to redirect](https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url)
	// the customer to after they have completed their requested actions.
	ReturnUrl *string `json:"return_url,omitempty"`
}

BillingAppStripeCreateCustomerPortalSessionOptions Request to create a Stripe Customer Portal Session.

type BillingAppStripeCreateCustomerPortalSessionResult

type BillingAppStripeCreateCustomerPortalSessionResult struct {
	// ConfigurationId Configuration used to customize the customer portal.
	//
	// See:
	// https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-configuration
	ConfigurationId string `json:"configuration_id"`

	// CreatedAt Created at.
	//
	// See:
	// https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-created
	CreatedAt DateTime `json:"created_at"`

	// Id The ID of the customer portal session.
	//
	// See:
	// https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-id
	Id string `json:"id"`

	// Livemode Livemode.
	//
	// See:
	// https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-livemode
	Livemode bool `json:"livemode"`

	// Locale The IETF language tag of the locale customer portal is displayed in.
	//
	// See:
	// https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-locale
	Locale string `json:"locale"`

	// ReturnUrl Return URL.
	//
	// See:
	// https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-return_url
	ReturnUrl string `json:"return_url"`

	// StripeCustomerId The ID of the stripe customer.
	StripeCustomerId string `json:"stripe_customer_id"`

	// Url The URL to redirect the customer to after they have completed their requested
	// actions.
	Url string `json:"url"`
}

BillingAppStripeCreateCustomerPortalSessionResult Result of creating a [Stripe Customer Portal Session](https://docs.stripe.com/api/customer_portal/sessions/object).

Contains all the information needed to redirect the customer to the Stripe Customer Portal.

type BillingAppStripeType

type BillingAppStripeType string

BillingAppStripeType The app type.

const (
	BillingAppStripeTypeStripe BillingAppStripeType = "stripe"
)

Defines values for BillingAppStripeType.

func (BillingAppStripeType) Valid

func (e BillingAppStripeType) Valid() bool

Valid indicates whether the value is a known member of the BillingAppStripeType enum.

type BillingAppType

type BillingAppType string

BillingAppType The type of the app.

const (
	BillingAppTypeExternalInvoicing BillingAppType = "external_invoicing"
	BillingAppTypeSandbox           BillingAppType = "sandbox"
	BillingAppTypeStripe            BillingAppType = "stripe"
)

Defines values for BillingAppType.

func (BillingAppType) Valid

func (e BillingAppType) Valid() bool

Valid indicates whether the value is a known member of the BillingAppType enum.

type BillingCharge

type BillingCharge struct {
	// contains filtered or unexported fields
}

BillingCharge Customer charge.

func (BillingCharge) AsBillingFlatFeeCharge

func (t BillingCharge) AsBillingFlatFeeCharge() (BillingFlatFeeCharge, error)

AsBillingFlatFeeCharge returns the union data inside the BillingCharge as a BillingFlatFeeCharge

func (BillingCharge) AsBillingUsageBasedCharge

func (t BillingCharge) AsBillingUsageBasedCharge() (BillingUsageBasedCharge, error)

AsBillingUsageBasedCharge returns the union data inside the BillingCharge as a BillingUsageBasedCharge

func (BillingCharge) Discriminator

func (t BillingCharge) Discriminator() (string, error)

func (*BillingCharge) FromBillingFlatFeeCharge

func (t *BillingCharge) FromBillingFlatFeeCharge(v BillingFlatFeeCharge) error

FromBillingFlatFeeCharge overwrites any union data inside the BillingCharge as the provided BillingFlatFeeCharge

func (*BillingCharge) FromBillingUsageBasedCharge

func (t *BillingCharge) FromBillingUsageBasedCharge(v BillingUsageBasedCharge) error

FromBillingUsageBasedCharge overwrites any union data inside the BillingCharge as the provided BillingUsageBasedCharge

func (BillingCharge) MarshalJSON

func (t BillingCharge) MarshalJSON() ([]byte, error)

func (*BillingCharge) MergeBillingFlatFeeCharge

func (t *BillingCharge) MergeBillingFlatFeeCharge(v BillingFlatFeeCharge) error

MergeBillingFlatFeeCharge performs a merge with any union data inside the BillingCharge, using the provided BillingFlatFeeCharge

func (*BillingCharge) MergeBillingUsageBasedCharge

func (t *BillingCharge) MergeBillingUsageBasedCharge(v BillingUsageBasedCharge) error

MergeBillingUsageBasedCharge performs a merge with any union data inside the BillingCharge, using the provided BillingUsageBasedCharge

func (*BillingCharge) UnmarshalJSON

func (t *BillingCharge) UnmarshalJSON(b []byte) error

func (BillingCharge) ValueByDiscriminator

func (t BillingCharge) ValueByDiscriminator() (interface{}, error)

type BillingChargeStatus

type BillingChargeStatus string

BillingChargeStatus Lifecycle status of a charge.

Values:

- `created`: The charge has been created but is not active yet. - `active`: The charge is active. - `final`: The charge is fully finalized and no further changes are expected. - `deleted`: The charge has been deleted.

const (
	BillingChargeStatusActive  BillingChargeStatus = "active"
	BillingChargeStatusCreated BillingChargeStatus = "created"
	BillingChargeStatusDeleted BillingChargeStatus = "deleted"
	BillingChargeStatusFinal   BillingChargeStatus = "final"
)

Defines values for BillingChargeStatus.

func (BillingChargeStatus) Valid

func (e BillingChargeStatus) Valid() bool

Valid indicates whether the value is a known member of the BillingChargeStatus enum.

type BillingChargeTotals

type BillingChargeTotals struct {
	// Booked The amount of the charge already booked to the internal accounting system.
	Booked BillingTotals `json:"booked"`

	// Realtime The realtime amount of the charge.
	//
	// Requires the `realtime_usage` expand.
	Realtime *BillingTotals `json:"realtime,omitempty"`
}

BillingChargeTotals The totals of a change.

RealTime is only expanded when the `real_time_usage` expand is used.

type BillingChargesExpand

type BillingChargesExpand string

BillingChargesExpand Expands for customer charges.

Values:

- `real_time_usage`: The charge's real-time usage.

const (
	BillingChargesExpandRealTimeUsage BillingChargesExpand = "real_time_usage"
)

Defines values for BillingChargesExpand.

func (BillingChargesExpand) Valid

func (e BillingChargesExpand) Valid() bool

Valid indicates whether the value is a known member of the BillingChargesExpand enum.

type BillingCostBasis

type BillingCostBasis struct {
	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// EffectiveFrom An ISO-8601 timestamp representation of the date from which the cost basis is
	// effective. If not provided, it will be effective immediately and will be set to
	// `now` by the system.
	EffectiveFrom *DateTime `json:"effective_from,omitempty"`

	// FiatCode The fiat currency code for the cost basis.
	FiatCode CurrencyCode `json:"fiat_code"`
	Id       ULID         `json:"id"`

	// Rate The cost rate for the currency.
	Rate Numeric `json:"rate"`
}

BillingCostBasis Describes currency basis supported by billing system.

type BillingCreditAdjustment

type BillingCreditAdjustment struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`
}

BillingCreditAdjustment A credit adjustment can be used to make manual adjustments to a customer's credit balance.

Supported use-cases:

- Usage correction

type BillingCreditAvailabilityPolicy

type BillingCreditAvailabilityPolicy string

BillingCreditAvailabilityPolicy When credits become available for consumption.

- `on_creation`: Credits are available as soon as the grant is created. - `on_authorization`: Credits are available once the payment is authorized. - `on_settlement`: Credits are available once the payment is settled.

const (
	BillingCreditAvailabilityPolicyOnCreation BillingCreditAvailabilityPolicy = "on_creation"
)

Defines values for BillingCreditAvailabilityPolicy.

func (BillingCreditAvailabilityPolicy) Valid

Valid indicates whether the value is a known member of the BillingCreditAvailabilityPolicy enum.

type BillingCreditBalances

type BillingCreditBalances struct {
	// Balances The balances by currencies.
	Balances []CreditBalance `json:"balances"`

	// RetrievedAt The timestamp of the balance retrieval.
	RetrievedAt DateTime `json:"retrieved_at"`
}

BillingCreditBalances The balances of the credits of a customer.

type BillingCreditFundingMethod

type BillingCreditFundingMethod string

BillingCreditFundingMethod The funding method describes how the grant is funded.

- `none`: No funding workflow applies, for example promotional grants - `invoice`: The grant is funded by an in-system invoice flow - `external`: The grant is funded outside the system (e.g., wire transfer, external invoice, or manual reconciliation)

const (
	BillingCreditFundingMethodExternal BillingCreditFundingMethod = "external"
	BillingCreditFundingMethodInvoice  BillingCreditFundingMethod = "invoice"
	BillingCreditFundingMethodNone     BillingCreditFundingMethod = "none"
)

Defines values for BillingCreditFundingMethod.

func (BillingCreditFundingMethod) Valid

func (e BillingCreditFundingMethod) Valid() bool

Valid indicates whether the value is a known member of the BillingCreditFundingMethod enum.

type BillingCreditGrant

type BillingCreditGrant struct {
	// Amount Granted credit amount.
	Amount Numeric `json:"amount"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency The currency of the granted credits.
	Currency BillingCurrencyCode `json:"currency"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Filters Filters for the credit grant.
	Filters *struct {
		// Features Limit the credit grant to specific features. If no features are specified, the
		// credit grant can be used for any feature.
		Features *[]ResourceKey `json:"features,omitempty"`
	} `json:"filters,omitempty"`

	// FundingMethod Funding method of the grant.
	FundingMethod BillingCreditFundingMethod `json:"funding_method"`
	Id            ULID                       `json:"id"`

	// Invoice Invoice references for the grant. Available when `funding_method` is `invoice`.
	Invoice *struct {
		// Id Identifier of the invoice associated with the grant.
		Id *ULID `json:"id,omitempty"`

		// Line Identifier of the invoice line associated with the grant.
		Line *struct {
			// Id ULID (Universally Unique Lexicographically Sortable Identifier).
			Id ULID `json:"id"`
		} `json:"line,omitempty"`
	} `json:"invoice,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Priority Draw-down priority of the grant. Lower values have higher priority.
	Priority *int16 `json:"priority,omitempty"`

	// Purchase Purchase and payment terms of the grant. Present when a funding workflow applies
	// (funding_method is not `none`).
	Purchase *struct {
		// Amount The purchase amount. Calculated from `per_unit_cost_basis` and credit `amount`.
		Amount Numeric `json:"amount"`

		// AvailabilityPolicy Controls when credits become available for consumption.
		//
		// Defaults to `on_creation`.
		AvailabilityPolicy *BillingCreditAvailabilityPolicy `json:"availability_policy,omitempty"`

		// Currency Currency of the purchase amount.
		Currency CurrencyCode `json:"currency"`

		// PerUnitCostBasis Cost basis per credit unit used to calculate the purchase amount.
		//
		// If `per_unit_cost_basis` is 0.50 and credit amount is $100.00, the total charge
		// is $50.00. The value must be greater than 0. If the cost basis is 0, use
		// `funding_method=none` instead.
		//
		// Defaults to 1.0.
		PerUnitCostBasis *Numeric `json:"per_unit_cost_basis,omitempty"`

		// SettlementStatus Current payment settlement status.
		SettlementStatus *BillingCreditPurchasePaymentSettlementStatus `json:"settlement_status,omitempty"`
	} `json:"purchase,omitempty"`

	// Status Current lifecycle status of the grant.
	Status BillingCreditGrantStatus `json:"status"`

	// TaxConfig Tax configuration for the grant.
	//
	// For `invoice` and `external` funding methods, tax configuration should be
	// provided to ensure correct revenue recognition. When not provided, the default
	// credit grant tax code is applied, if that's not set the global default taxcode
	// is used.
	TaxConfig *BillingCreditGrantTaxConfig `json:"tax_config,omitempty"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// VoidedAt Timestamp when the grant was voided.
	VoidedAt *DateTime `json:"voided_at,omitempty"`
}

BillingCreditGrant A credit grant allocates credits to a customer.

Credits are drawn down against charges according to the settlement mode configured on the rate card.

type BillingCreditGrantStatus

type BillingCreditGrantStatus string

BillingCreditGrantStatus Credit grant lifecycle status.

- `pending`: The credit block has been created but is not yet valid. (`effective_at` is in the future or availability_policy is not met) - `active`: The credit block is currently valid and eligible for consumption. (`effective_at` is in the past, `expires_at` is in the future and availability_policy is met) - `expired`: The credit block expired with remaining unused balance, `expires_at` time has passed. - `voided`: The credit block was voided. Remaining balance is forfeited.

const (
	BillingCreditGrantStatusActive  BillingCreditGrantStatus = "active"
	BillingCreditGrantStatusExpired BillingCreditGrantStatus = "expired"
	BillingCreditGrantStatusPending BillingCreditGrantStatus = "pending"
	BillingCreditGrantStatusVoided  BillingCreditGrantStatus = "voided"
)

Defines values for BillingCreditGrantStatus.

func (BillingCreditGrantStatus) Valid

func (e BillingCreditGrantStatus) Valid() bool

Valid indicates whether the value is a known member of the BillingCreditGrantStatus enum.

type BillingCreditGrantTaxConfig

type BillingCreditGrantTaxConfig struct {
	// Behavior Tax behavior applied to the invoice line item.
	Behavior *BillingTaxBehavior `json:"behavior,omitempty"`

	// TaxCode Tax code applied to the invoice line item.
	TaxCode *BillingTaxCodeReference `json:"tax_code,omitempty"`
}

BillingCreditGrantTaxConfig Tax configuration for a credit grant.

Tax configuration should be provided to ensure correct revenue recognition, including for externally funded grants.

type BillingCreditPurchasePaymentSettlementStatus

type BillingCreditPurchasePaymentSettlementStatus string

BillingCreditPurchasePaymentSettlementStatus Credit purchase payment settlement status.

- `pending`: Payment has been initiated and is not yet authorized. - `authorized`: Payment has been authorized. - `settled`: Payment has been settled.

const (
	BillingCreditPurchasePaymentSettlementStatusAuthorized BillingCreditPurchasePaymentSettlementStatus = "authorized"
	BillingCreditPurchasePaymentSettlementStatusPending    BillingCreditPurchasePaymentSettlementStatus = "pending"
	BillingCreditPurchasePaymentSettlementStatusSettled    BillingCreditPurchasePaymentSettlementStatus = "settled"
)

Defines values for BillingCreditPurchasePaymentSettlementStatus.

func (BillingCreditPurchasePaymentSettlementStatus) Valid

Valid indicates whether the value is a known member of the BillingCreditPurchasePaymentSettlementStatus enum.

type BillingCreditTransaction

type BillingCreditTransaction struct {
	// Amount Signed amount of the credit movement. Positive values add balance, negative
	// values reduce balance.
	Amount Numeric `json:"amount"`

	// AvailableBalance The available balance before and after the transaction.
	AvailableBalance struct {
		// After Numeric represents an arbitrary precision number.
		After Numeric `json:"after"`

		// Before Numeric represents an arbitrary precision number.
		Before Numeric `json:"before"`
	} `json:"available_balance"`

	// BookedAt The date and time the transaction was booked.
	BookedAt DateTime `json:"booked_at"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency Currency of the balance affected by the transaction.
	Currency BillingCurrencyCode `json:"currency"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Type The type of credit transaction.
	Type BillingCreditTransactionType `json:"type"`
}

BillingCreditTransaction A credit transaction represents a single credit movement on the customer's balance.

Credit transactions are immutable.

type BillingCreditTransactionType

type BillingCreditTransactionType string

BillingCreditTransactionType The type of the credit transaction.

- `funded`: Credit granted and available for consumption. - `consumed`: Credit consumed by usage or fees.

const (
	BillingCreditTransactionTypeConsumed BillingCreditTransactionType = "consumed"
	BillingCreditTransactionTypeFunded   BillingCreditTransactionType = "funded"
)

Defines values for BillingCreditTransactionType.

func (BillingCreditTransactionType) Valid

Valid indicates whether the value is a known member of the BillingCreditTransactionType enum.

type BillingCurrency

type BillingCurrency struct {
	// contains filtered or unexported fields
}

BillingCurrency Fiat or custom currency.

func (BillingCurrency) AsBillingCurrencyCustom

func (t BillingCurrency) AsBillingCurrencyCustom() (BillingCurrencyCustom, error)

AsBillingCurrencyCustom returns the union data inside the BillingCurrency as a BillingCurrencyCustom

func (BillingCurrency) AsBillingCurrencyFiat

func (t BillingCurrency) AsBillingCurrencyFiat() (BillingCurrencyFiat, error)

AsBillingCurrencyFiat returns the union data inside the BillingCurrency as a BillingCurrencyFiat

func (BillingCurrency) Discriminator

func (t BillingCurrency) Discriminator() (string, error)

func (*BillingCurrency) FromBillingCurrencyCustom

func (t *BillingCurrency) FromBillingCurrencyCustom(v BillingCurrencyCustom) error

FromBillingCurrencyCustom overwrites any union data inside the BillingCurrency as the provided BillingCurrencyCustom

func (*BillingCurrency) FromBillingCurrencyFiat

func (t *BillingCurrency) FromBillingCurrencyFiat(v BillingCurrencyFiat) error

FromBillingCurrencyFiat overwrites any union data inside the BillingCurrency as the provided BillingCurrencyFiat

func (BillingCurrency) MarshalJSON

func (t BillingCurrency) MarshalJSON() ([]byte, error)

func (*BillingCurrency) MergeBillingCurrencyCustom

func (t *BillingCurrency) MergeBillingCurrencyCustom(v BillingCurrencyCustom) error

MergeBillingCurrencyCustom performs a merge with any union data inside the BillingCurrency, using the provided BillingCurrencyCustom

func (*BillingCurrency) MergeBillingCurrencyFiat

func (t *BillingCurrency) MergeBillingCurrencyFiat(v BillingCurrencyFiat) error

MergeBillingCurrencyFiat performs a merge with any union data inside the BillingCurrency, using the provided BillingCurrencyFiat

func (*BillingCurrency) UnmarshalJSON

func (t *BillingCurrency) UnmarshalJSON(b []byte) error

func (BillingCurrency) ValueByDiscriminator

func (t BillingCurrency) ValueByDiscriminator() (interface{}, error)

type BillingCurrencyCode

type BillingCurrencyCode = CurrencyCode

BillingCurrencyCode Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.

type BillingCurrencyCodeCustom

type BillingCurrencyCodeCustom = string

BillingCurrencyCodeCustom Custom currency code. It should be a unique code but not conflicting with any existing fiat currency codes.

type BillingCurrencyCustom

type BillingCurrencyCustom struct {
	// Code Custom currency code. It should be a unique code but not conflicting with any
	// existing fiat currency codes.
	Code BillingCurrencyCodeCustom `json:"code"`

	// CreatedAt An ISO-8601 timestamp representation of the custom currency creation date.
	CreatedAt DateTime `json:"created_at"`

	// Description Description of the currency.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Name The name of the currency. It should be a human-readable string that represents
	// the name of the currency, such as "US Dollar" or "Euro".
	Name string `json:"name"`

	// Symbol The symbol of the currency. It should be a string that represents the symbol of
	// the currency, such as "$" for US Dollar or "€" for Euro.
	Symbol *string `json:"symbol,omitempty"`

	// Type The type of the currency.
	Type BillingCurrencyCustomType `json:"type"`
}

BillingCurrencyCustom Describes custom currency.

type BillingCurrencyCustomType

type BillingCurrencyCustomType string

BillingCurrencyCustomType The type of the currency.

const (
	BillingCurrencyCustomTypeCustom BillingCurrencyCustomType = "custom"
)

Defines values for BillingCurrencyCustomType.

func (BillingCurrencyCustomType) Valid

func (e BillingCurrencyCustomType) Valid() bool

Valid indicates whether the value is a known member of the BillingCurrencyCustomType enum.

type BillingCurrencyFiat

type BillingCurrencyFiat struct {
	Code CurrencyCode `json:"code"`

	// Description Description of the currency.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Name The name of the currency. It should be a human-readable string that represents
	// the name of the currency, such as "US Dollar" or "Euro".
	Name string `json:"name"`

	// Symbol The symbol of the currency. It should be a string that represents the symbol of
	// the currency, such as "$" for US Dollar or "€" for Euro.
	Symbol *string `json:"symbol,omitempty"`

	// Type The type of the currency.
	Type BillingCurrencyFiatType `json:"type"`
}

BillingCurrencyFiat Currency describes a currency supported by the billing system.

type BillingCurrencyFiatType

type BillingCurrencyFiatType string

BillingCurrencyFiatType The type of the currency.

const (
	BillingCurrencyFiatTypeFiat BillingCurrencyFiatType = "fiat"
)

Defines values for BillingCurrencyFiatType.

func (BillingCurrencyFiatType) Valid

func (e BillingCurrencyFiatType) Valid() bool

Valid indicates whether the value is a known member of the BillingCurrencyFiatType enum.

type BillingCurrencyType

type BillingCurrencyType string

BillingCurrencyType Currency type for custom currencies. It should be a unique code but not conflicting with any existing standard currency codes.

const (
	BillingCurrencyTypeCustom BillingCurrencyType = "custom"
	BillingCurrencyTypeFiat   BillingCurrencyType = "fiat"
)

Defines values for BillingCurrencyType.

func (BillingCurrencyType) Valid

func (e BillingCurrencyType) Valid() bool

Valid indicates whether the value is a known member of the BillingCurrencyType enum.

type BillingCustomer

type BillingCustomer struct {
	// BillingAddress The billing address of the customer. Used for tax and invoicing.
	BillingAddress *BillingAddress `json:"billing_address,omitempty"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency Currency of the customer. Used for billing, tax and invoicing.
	Currency *CurrencyCode `json:"currency,omitempty"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Key ExternalResourceKey is a unique string that is used to identify a resource in an
	// external system.
	Key ExternalResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// PrimaryEmail The primary email address of the customer.
	PrimaryEmail *string `json:"primary_email,omitempty"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// UsageAttribution Mapping to attribute metered usage to the customer by the event subject.
	UsageAttribution *BillingCustomerUsageAttribution `json:"usage_attribution,omitempty"`
}

BillingCustomer Customers can be individuals or organizations that can subscribe to plans and have access to features.

type BillingCustomerData

type BillingCustomerData struct {
	// AppData App customer data.
	AppData *BillingAppCustomerData `json:"app_data,omitempty"`

	// BillingProfile The billing profile for the customer.
	//
	// If not provided, the default billing profile will be used.
	BillingProfile *BillingProfileReference `json:"billing_profile,omitempty"`
}

BillingCustomerData Billing customer data.

type BillingCustomerReference

type BillingCustomerReference struct {
	// Id The ID of the customer.
	Id ULID `json:"id"`
}

BillingCustomerReference Customer reference.

type BillingCustomerStripeCreateCheckoutSessionRequest

type BillingCustomerStripeCreateCheckoutSessionRequest struct {
	// StripeOptions Options for configuring the Stripe Checkout Session.
	//
	// These options are passed directly to Stripe's
	// [checkout session creation API](https://docs.stripe.com/api/checkout/sessions/create).
	StripeOptions BillingAppStripeCreateCheckoutSessionRequestOptions `json:"stripe_options"`
}

BillingCustomerStripeCreateCheckoutSessionRequest Request to create a Stripe Checkout Session for the customer.

Checkout Sessions are used to collect payment method information from customers in a secure, Stripe-hosted interface. This integration uses setup mode to collect payment methods that can be charged later for subscription billing.

type BillingCustomerStripeCreateCustomerPortalSessionRequest

type BillingCustomerStripeCreateCustomerPortalSessionRequest struct {
	// StripeOptions Options for configuring the Stripe Customer Portal Session.
	StripeOptions BillingAppStripeCreateCustomerPortalSessionOptions `json:"stripe_options"`
}

BillingCustomerStripeCreateCustomerPortalSessionRequest Request to create a Stripe Customer Portal Session for the customer.

Useful to redirect the customer to the Stripe Customer Portal to manage their payment methods, change their billing address and access their invoice history. Only returns URL if the customer billing profile is linked to a stripe app and customer.

type BillingCustomerUsageAttribution

type BillingCustomerUsageAttribution struct {
	// SubjectKeys The subjects that are attributed to the customer. Can be empty when no usage
	// event subjects are associated with the customer.
	SubjectKeys []UsageAttributionSubjectKey `json:"subject_keys"`
}

BillingCustomerUsageAttribution Mapping to attribute metered usage to the customer. One customer can have zero or more subjects, but one subject can only belong to one customer.

type BillingEntitlementAccessResult

type BillingEntitlementAccessResult struct {
	// Config Only available for static entitlements. Config is the JSON parsable
	// configuration of the entitlement. Useful to describe per customer configuration.
	Config *string `json:"config,omitempty"`

	// FeatureKey The feature key of the entitlement.
	FeatureKey ResourceKey `json:"feature_key"`

	// HasAccess Whether the customer has access to the feature. Always true for `boolean` and
	// `static` entitlements. Depends on balance for `metered` entitlements.
	HasAccess bool `json:"has_access"`

	// Type The type of the entitlement.
	Type BillingEntitlementType `json:"type"`
}

BillingEntitlementAccessResult Entitlement access result.

type BillingEntitlementType

type BillingEntitlementType string

BillingEntitlementType The type of the entitlement.

const (
	BillingEntitlementTypeBoolean BillingEntitlementType = "boolean"
	BillingEntitlementTypeMetered BillingEntitlementType = "metered"
	BillingEntitlementTypeStatic  BillingEntitlementType = "static"
)

Defines values for BillingEntitlementType.

func (BillingEntitlementType) Valid

func (e BillingEntitlementType) Valid() bool

Valid indicates whether the value is a known member of the BillingEntitlementType enum.

type BillingFeatureLLMTokenType

type BillingFeatureLLMTokenType string

BillingFeatureLLMTokenType Token type for LLM cost lookup.

const (
	BillingFeatureLLMTokenTypeCacheRead  BillingFeatureLLMTokenType = "cache_read"
	BillingFeatureLLMTokenTypeCacheWrite BillingFeatureLLMTokenType = "cache_write"
	BillingFeatureLLMTokenTypeInput      BillingFeatureLLMTokenType = "input"
	BillingFeatureLLMTokenTypeOutput     BillingFeatureLLMTokenType = "output"
	BillingFeatureLLMTokenTypeReasoning  BillingFeatureLLMTokenType = "reasoning"
	BillingFeatureLLMTokenTypeRequest    BillingFeatureLLMTokenType = "request"
	BillingFeatureLLMTokenTypeResponse   BillingFeatureLLMTokenType = "response"
)

Defines values for BillingFeatureLLMTokenType.

func (BillingFeatureLLMTokenType) Valid

func (e BillingFeatureLLMTokenType) Valid() bool

Valid indicates whether the value is a known member of the BillingFeatureLLMTokenType enum.

type BillingFeatureLLMUnitCost

type BillingFeatureLLMUnitCost struct {
	// Model Static model ID value (e.g., "gpt-4", "claude-3-5-sonnet"). Use this when the
	// feature tracks a single model. Mutually exclusive with `model_property`.
	Model *string `json:"model,omitempty"`

	// ModelProperty Meter group-by property that holds the model ID. Use this when the meter has a
	// group-by dimension for model. Mutually exclusive with `model`.
	ModelProperty *string `json:"model_property,omitempty"`

	// Pricing Resolved per-token pricing from the LLM cost database. Populated in responses
	// when the provider and model can be determined, either from static values or from
	// meter group-by filters with exact matches.
	Pricing *BillingFeatureLLMUnitCostPricing `json:"pricing,omitempty"`

	// Provider Static LLM provider value (e.g., "openai", "anthropic"). Use this when the
	// feature tracks a single provider. Mutually exclusive with `provider_property`.
	Provider *string `json:"provider,omitempty"`

	// ProviderProperty Meter group-by property that holds the LLM provider. Use this when the meter has
	// a group-by dimension for provider. Mutually exclusive with `provider`.
	ProviderProperty *string `json:"provider_property,omitempty"`

	// TokenType Static token type value. Use this when the feature tracks a single token type
	// (e.g., only input tokens). `request` is an alias for `input`, `response` is an
	// alias for `output`. Mutually exclusive with `token_type_property`.
	TokenType *BillingFeatureLLMTokenType `json:"token_type,omitempty"`

	// TokenTypeProperty Meter group-by property that holds the token type. Use this when the meter has a
	// group-by dimension for token type. Mutually exclusive with `token_type`.
	TokenTypeProperty *string `json:"token_type_property,omitempty"`

	// Type The type discriminator for LLM unit cost.
	Type BillingFeatureLLMUnitCostType `json:"type"`
}

BillingFeatureLLMUnitCost LLM cost lookup configuration. Each dimension (provider, model, token type) can be specified as either a static value or a meter group-by property name (mutually exclusive).

type BillingFeatureLLMUnitCostPricing

type BillingFeatureLLMUnitCostPricing struct {
	// CacheReadPerToken Cost per cache read token in USD.
	CacheReadPerToken *Numeric `json:"cache_read_per_token,omitempty"`

	// CacheWritePerToken Cost per cache write token in USD.
	CacheWritePerToken *Numeric `json:"cache_write_per_token,omitempty"`

	// InputPerToken Cost per input token in USD.
	InputPerToken Numeric `json:"input_per_token"`

	// OutputPerToken Cost per output token in USD.
	OutputPerToken Numeric `json:"output_per_token"`

	// ReasoningPerToken Cost per reasoning token in USD.
	ReasoningPerToken *Numeric `json:"reasoning_per_token,omitempty"`
}

BillingFeatureLLMUnitCostPricing Resolved per-token pricing from the LLM cost database.

type BillingFeatureLLMUnitCostType

type BillingFeatureLLMUnitCostType string

BillingFeatureLLMUnitCostType The type discriminator for LLM unit cost.

const (
	BillingFeatureLLMUnitCostTypeLlm BillingFeatureLLMUnitCostType = "llm"
)

Defines values for BillingFeatureLLMUnitCostType.

func (BillingFeatureLLMUnitCostType) Valid

Valid indicates whether the value is a known member of the BillingFeatureLLMUnitCostType enum.

type BillingFeatureManualUnitCost

type BillingFeatureManualUnitCost struct {
	// Amount Fixed per-unit cost amount in USD.
	Amount Numeric `json:"amount"`

	// Type The type discriminator for manual unit cost.
	Type BillingFeatureManualUnitCostType `json:"type"`
}

BillingFeatureManualUnitCost A fixed per-unit cost amount.

type BillingFeatureManualUnitCostType

type BillingFeatureManualUnitCostType string

BillingFeatureManualUnitCostType The type discriminator for manual unit cost.

const (
	BillingFeatureManualUnitCostTypeManual BillingFeatureManualUnitCostType = "manual"
)

Defines values for BillingFeatureManualUnitCostType.

func (BillingFeatureManualUnitCostType) Valid

Valid indicates whether the value is a known member of the BillingFeatureManualUnitCostType enum.

type BillingFeatureUnitCost

type BillingFeatureUnitCost struct {
	// contains filtered or unexported fields
}

BillingFeatureUnitCost Per-unit cost configuration for a feature. Either a fixed manual amount or a dynamic LLM cost lookup.

func (BillingFeatureUnitCost) AsBillingFeatureLLMUnitCost

func (t BillingFeatureUnitCost) AsBillingFeatureLLMUnitCost() (BillingFeatureLLMUnitCost, error)

AsBillingFeatureLLMUnitCost returns the union data inside the BillingFeatureUnitCost as a BillingFeatureLLMUnitCost

func (BillingFeatureUnitCost) AsBillingFeatureManualUnitCost

func (t BillingFeatureUnitCost) AsBillingFeatureManualUnitCost() (BillingFeatureManualUnitCost, error)

AsBillingFeatureManualUnitCost returns the union data inside the BillingFeatureUnitCost as a BillingFeatureManualUnitCost

func (BillingFeatureUnitCost) Discriminator

func (t BillingFeatureUnitCost) Discriminator() (string, error)

func (*BillingFeatureUnitCost) FromBillingFeatureLLMUnitCost

func (t *BillingFeatureUnitCost) FromBillingFeatureLLMUnitCost(v BillingFeatureLLMUnitCost) error

FromBillingFeatureLLMUnitCost overwrites any union data inside the BillingFeatureUnitCost as the provided BillingFeatureLLMUnitCost

func (*BillingFeatureUnitCost) FromBillingFeatureManualUnitCost

func (t *BillingFeatureUnitCost) FromBillingFeatureManualUnitCost(v BillingFeatureManualUnitCost) error

FromBillingFeatureManualUnitCost overwrites any union data inside the BillingFeatureUnitCost as the provided BillingFeatureManualUnitCost

func (BillingFeatureUnitCost) MarshalJSON

func (t BillingFeatureUnitCost) MarshalJSON() ([]byte, error)

func (*BillingFeatureUnitCost) MergeBillingFeatureLLMUnitCost

func (t *BillingFeatureUnitCost) MergeBillingFeatureLLMUnitCost(v BillingFeatureLLMUnitCost) error

MergeBillingFeatureLLMUnitCost performs a merge with any union data inside the BillingFeatureUnitCost, using the provided BillingFeatureLLMUnitCost

func (*BillingFeatureUnitCost) MergeBillingFeatureManualUnitCost

func (t *BillingFeatureUnitCost) MergeBillingFeatureManualUnitCost(v BillingFeatureManualUnitCost) error

MergeBillingFeatureManualUnitCost performs a merge with any union data inside the BillingFeatureUnitCost, using the provided BillingFeatureManualUnitCost

func (*BillingFeatureUnitCost) UnmarshalJSON

func (t *BillingFeatureUnitCost) UnmarshalJSON(b []byte) error

func (BillingFeatureUnitCost) ValueByDiscriminator

func (t BillingFeatureUnitCost) ValueByDiscriminator() (interface{}, error)

type BillingFlatFeeCharge

type BillingFlatFeeCharge struct {
	// AdvanceAfter The earliest time when the charge should be advanced again by background
	// processing.
	AdvanceAfter *DateTime `json:"advance_after,omitempty"`

	// AmountAfterProration The amount after proration of the charge.
	AmountAfterProration CurrencyAmount `json:"amount_after_proration"`

	// BillingPeriod The billing period the charge belongs to.
	BillingPeriod ClosedPeriod `json:"billing_period"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency The currency of the charge.
	Currency CurrencyCode `json:"currency"`

	// Customer The customer owning the charge.
	Customer BillingCustomerReference `json:"customer"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Discounts The discounts applied to the charge.
	Discounts *BillingFlatFeeDiscounts `json:"discounts,omitempty"`

	// FeatureKey The feature associated with the charge, when applicable.
	FeatureKey *string `json:"feature_key,omitempty"`

	// FullServicePeriod The full, unprorated service period of the charge.
	FullServicePeriod ClosedPeriod `json:"full_service_period"`
	Id                ULID         `json:"id"`

	// InvoiceAt The timestamp when the charge is intended to be invoiced.
	InvoiceAt DateTime `json:"invoice_at"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// ManagedBy The charge is managed by the following entity.
	ManagedBy ResourceManagedBy `json:"managed_by"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// PaymentTerm Payment term of the flat fee charge.
	PaymentTerm BillingPricePaymentTerm `json:"payment_term"`

	// Price The price of the charge.
	Price BillingPrice `json:"price"`

	// ProrationConfiguration The proration configuration of the charge.
	ProrationConfiguration BillingRateCardProrationConfiguration `json:"proration_configuration"`

	// ServicePeriod The effective service period covered by the charge.
	ServicePeriod ClosedPeriod `json:"service_period"`

	// SettlementMode Settlement mode of the charge.
	SettlementMode BillingSettlementMode `json:"settlement_mode"`

	// Status The lifecycle status of the charge.
	Status BillingChargeStatus `json:"status"`

	// Subscription The subscription that originated the charge, when the charge was created from a
	// subscription item.
	Subscription *BillingSubscriptionReference `json:"subscription,omitempty"`

	// TaxConfig Tax configuration of the charge.
	TaxConfig *BillingTaxConfig `json:"tax_config,omitempty"`

	// Type The type of the charge.
	Type BillingFlatFeeChargeType `json:"type"`

	// UniqueReferenceId Unique reference ID of the charge.
	UniqueReferenceId *string `json:"unique_reference_id,omitempty"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingFlatFeeCharge A flat fee charge for a customer.

type BillingFlatFeeChargeType

type BillingFlatFeeChargeType string

BillingFlatFeeChargeType The type of the charge.

const (
	BillingFlatFeeChargeTypeFlatFee BillingFlatFeeChargeType = "flat_fee"
)

Defines values for BillingFlatFeeChargeType.

func (BillingFlatFeeChargeType) Valid

func (e BillingFlatFeeChargeType) Valid() bool

Valid indicates whether the value is a known member of the BillingFlatFeeChargeType enum.

type BillingFlatFeeDiscounts

type BillingFlatFeeDiscounts struct {
	// Percentage Percentage discount applied to the price (0–100).
	Percentage *float32 `json:"percentage,omitempty"`
}

BillingFlatFeeDiscounts Discounts applicable to flat fee charges.

This is the same as `ProductCatalog.Discounts` but without the `usage` field, which is not applicable to flat fee charges.

type BillingParty

type BillingParty struct {
	// Addresses Address for where information should be sent if needed.
	Addresses *BillingPartyAddresses `json:"addresses,omitempty"`

	// Id Unique identifier for the party.
	Id *string `json:"id,omitempty"`

	// Key An optional unique key of the party.
	Key *ExternalResourceKey `json:"key,omitempty"`

	// Name Legal name or representation of the party.
	Name *string `json:"name,omitempty"`

	// TaxId The entity's legal identification used for tax purposes. They may have other
	// numbers, but we're only interested in those valid for tax purposes.
	TaxId *BillingPartyTaxIdentity `json:"tax_id,omitempty"`
}

BillingParty Party represents a person or business entity.

type BillingPartyAddresses

type BillingPartyAddresses struct {
	// BillingAddress Billing address.
	BillingAddress Address `json:"billing_address"`
}

BillingPartyAddresses A collection of addresses for the party.

type BillingPartyTaxIdentity

type BillingPartyTaxIdentity struct {
	// Code Normalized tax identification code shown on the original identity document.
	Code *BillingTaxIdentificationCode `json:"code,omitempty"`
}

BillingPartyTaxIdentity Identity stores the details required to identify an entity for tax purposes in a specific country.

type BillingPlan

type BillingPlan struct {
	// BillingCadence The billing cadence for subscriptions using this plan.
	BillingCadence ISO8601Duration `json:"billing_cadence"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency The currency code of the plan.
	Currency CurrencyCode `json:"currency"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// EffectiveFrom The date and time when the plan becomes `active`. When not specified, the plan
	// is in `draft` status.
	EffectiveFrom *DateTime `json:"effective_from,omitempty"`

	// EffectiveTo A scheduled date and time when the plan becomes `archived`. When not specified,
	// the plan is in `active` status indefinitely.
	EffectiveTo *DateTime `json:"effective_to,omitempty"`
	Id          ULID      `json:"id"`

	// Key A key is a semi-unique string that is used to identify the plan. It is used to
	// reference the latest `active` version of the plan and is unique with the version
	// number.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Phases The plan phases define the pricing ramp for a subscription. A phase switch
	// occurs only at the end of a billing period. At least one phase is required.
	Phases []BillingPlanPhase `json:"phases"`

	// ProRatingEnabled Whether pro-rating is enabled for this plan.
	ProRatingEnabled *bool `json:"pro_rating_enabled,omitempty"`

	// Status The status of the plan. Computed based on the effective start and end dates:
	//
	// - `draft`: `effective_from` is not set.
	// - `scheduled`: `now < effective_from`.
	// - `active`: `effective_from <= now` and (`effective_to` is not set or
	// `now < effective_to`).
	// - `archived`: `effective_to <= now`.
	Status BillingPlanStatus `json:"status"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// ValidationErrors List of validation errors in `draft` state that prevent the plan from being
	// published.
	ValidationErrors *[]ProductCatalogValidationError `json:"validation_errors,omitempty"`

	// Version Plans are versioned to allow you to make changes without affecting running
	// subscriptions.
	Version int `json:"version"`
}

BillingPlan Plans provide a template for subscriptions.

type BillingPlanPhase

type BillingPlanPhase struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Duration The duration of the phase. When not specified, the phase runs indefinitely. Only
	// the last phase may omit the duration.
	Duration *ISO8601Duration `json:"duration,omitempty"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// RateCards The rate cards of the plan.
	RateCards []BillingRateCard `json:"rate_cards"`
}

BillingPlanPhase The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses.

type BillingPlanStatus

type BillingPlanStatus string

BillingPlanStatus The status of a plan.

- `draft`: The plan has not yet been published and can be edited. - `active`: The plan is published and can be used in subscriptions. - `archived`: The plan is no longer available for use. - `scheduled`: The plan is scheduled to be published at a future date.

const (
	BillingPlanStatusActive    BillingPlanStatus = "active"
	BillingPlanStatusArchived  BillingPlanStatus = "archived"
	BillingPlanStatusDraft     BillingPlanStatus = "draft"
	BillingPlanStatusScheduled BillingPlanStatus = "scheduled"
)

Defines values for BillingPlanStatus.

func (BillingPlanStatus) Valid

func (e BillingPlanStatus) Valid() bool

Valid indicates whether the value is a known member of the BillingPlanStatus enum.

type BillingPrice

type BillingPrice struct {
	// contains filtered or unexported fields
}

BillingPrice Price.

func (BillingPrice) AsBillingPriceFlat

func (t BillingPrice) AsBillingPriceFlat() (BillingPriceFlat, error)

AsBillingPriceFlat returns the union data inside the BillingPrice as a BillingPriceFlat

func (BillingPrice) AsBillingPriceFree

func (t BillingPrice) AsBillingPriceFree() (BillingPriceFree, error)

AsBillingPriceFree returns the union data inside the BillingPrice as a BillingPriceFree

func (BillingPrice) AsBillingPriceGraduated

func (t BillingPrice) AsBillingPriceGraduated() (BillingPriceGraduated, error)

AsBillingPriceGraduated returns the union data inside the BillingPrice as a BillingPriceGraduated

func (BillingPrice) AsBillingPriceUnit

func (t BillingPrice) AsBillingPriceUnit() (BillingPriceUnit, error)

AsBillingPriceUnit returns the union data inside the BillingPrice as a BillingPriceUnit

func (BillingPrice) AsBillingPriceVolume

func (t BillingPrice) AsBillingPriceVolume() (BillingPriceVolume, error)

AsBillingPriceVolume returns the union data inside the BillingPrice as a BillingPriceVolume

func (BillingPrice) Discriminator

func (t BillingPrice) Discriminator() (string, error)

func (*BillingPrice) FromBillingPriceFlat

func (t *BillingPrice) FromBillingPriceFlat(v BillingPriceFlat) error

FromBillingPriceFlat overwrites any union data inside the BillingPrice as the provided BillingPriceFlat

func (*BillingPrice) FromBillingPriceFree

func (t *BillingPrice) FromBillingPriceFree(v BillingPriceFree) error

FromBillingPriceFree overwrites any union data inside the BillingPrice as the provided BillingPriceFree

func (*BillingPrice) FromBillingPriceGraduated

func (t *BillingPrice) FromBillingPriceGraduated(v BillingPriceGraduated) error

FromBillingPriceGraduated overwrites any union data inside the BillingPrice as the provided BillingPriceGraduated

func (*BillingPrice) FromBillingPriceUnit

func (t *BillingPrice) FromBillingPriceUnit(v BillingPriceUnit) error

FromBillingPriceUnit overwrites any union data inside the BillingPrice as the provided BillingPriceUnit

func (*BillingPrice) FromBillingPriceVolume

func (t *BillingPrice) FromBillingPriceVolume(v BillingPriceVolume) error

FromBillingPriceVolume overwrites any union data inside the BillingPrice as the provided BillingPriceVolume

func (BillingPrice) MarshalJSON

func (t BillingPrice) MarshalJSON() ([]byte, error)

func (*BillingPrice) MergeBillingPriceFlat

func (t *BillingPrice) MergeBillingPriceFlat(v BillingPriceFlat) error

MergeBillingPriceFlat performs a merge with any union data inside the BillingPrice, using the provided BillingPriceFlat

func (*BillingPrice) MergeBillingPriceFree

func (t *BillingPrice) MergeBillingPriceFree(v BillingPriceFree) error

MergeBillingPriceFree performs a merge with any union data inside the BillingPrice, using the provided BillingPriceFree

func (*BillingPrice) MergeBillingPriceGraduated

func (t *BillingPrice) MergeBillingPriceGraduated(v BillingPriceGraduated) error

MergeBillingPriceGraduated performs a merge with any union data inside the BillingPrice, using the provided BillingPriceGraduated

func (*BillingPrice) MergeBillingPriceUnit

func (t *BillingPrice) MergeBillingPriceUnit(v BillingPriceUnit) error

MergeBillingPriceUnit performs a merge with any union data inside the BillingPrice, using the provided BillingPriceUnit

func (*BillingPrice) MergeBillingPriceVolume

func (t *BillingPrice) MergeBillingPriceVolume(v BillingPriceVolume) error

MergeBillingPriceVolume performs a merge with any union data inside the BillingPrice, using the provided BillingPriceVolume

func (*BillingPrice) UnmarshalJSON

func (t *BillingPrice) UnmarshalJSON(b []byte) error

func (BillingPrice) ValueByDiscriminator

func (t BillingPrice) ValueByDiscriminator() (interface{}, error)

type BillingPriceFlat

type BillingPriceFlat struct {
	// Amount The amount of the flat price.
	Amount Numeric `json:"amount"`

	// Type The type of the price.
	Type BillingPriceFlatType `json:"type"`
}

BillingPriceFlat Flat price.

type BillingPriceFlatType

type BillingPriceFlatType string

BillingPriceFlatType The type of the price.

const (
	BillingPriceFlatTypeFlat BillingPriceFlatType = "flat"
)

Defines values for BillingPriceFlatType.

func (BillingPriceFlatType) Valid

func (e BillingPriceFlatType) Valid() bool

Valid indicates whether the value is a known member of the BillingPriceFlatType enum.

type BillingPriceFree

type BillingPriceFree struct {
	// Type The type of the price.
	Type BillingPriceFreeType `json:"type"`
}

BillingPriceFree Free price.

type BillingPriceFreeType

type BillingPriceFreeType string

BillingPriceFreeType The type of the price.

const (
	BillingPriceFreeTypeFree BillingPriceFreeType = "free"
)

Defines values for BillingPriceFreeType.

func (BillingPriceFreeType) Valid

func (e BillingPriceFreeType) Valid() bool

Valid indicates whether the value is a known member of the BillingPriceFreeType enum.

type BillingPriceGraduated

type BillingPriceGraduated struct {
	// Tiers The tiers of the graduated price. At least one tier is required.
	Tiers []BillingPriceTier `json:"tiers"`

	// Type The type of the price.
	Type BillingPriceGraduatedType `json:"type"`
}

BillingPriceGraduated Graduated tiered price.

Each tier's rate applies only to the usage within that tier. Pricing can change as cumulative usage crosses tier boundaries.

When UnitConfig is present on the rate card, tier boundaries (up_to_amount) are expressed in converted billing units.

type BillingPriceGraduatedType

type BillingPriceGraduatedType string

BillingPriceGraduatedType The type of the price.

const (
	BillingPriceGraduatedTypeGraduated BillingPriceGraduatedType = "graduated"
)

Defines values for BillingPriceGraduatedType.

func (BillingPriceGraduatedType) Valid

func (e BillingPriceGraduatedType) Valid() bool

Valid indicates whether the value is a known member of the BillingPriceGraduatedType enum.

type BillingPricePaymentTerm

type BillingPricePaymentTerm string

BillingPricePaymentTerm The payment term of a flat price.

const (
	BillingPricePaymentTermInAdvance BillingPricePaymentTerm = "in_advance"
	BillingPricePaymentTermInArrears BillingPricePaymentTerm = "in_arrears"
)

Defines values for BillingPricePaymentTerm.

func (BillingPricePaymentTerm) Valid

func (e BillingPricePaymentTerm) Valid() bool

Valid indicates whether the value is a known member of the BillingPricePaymentTerm enum.

type BillingPriceTier

type BillingPriceTier struct {
	// FlatPrice The flat price component of the tier. Charged once when the tier is entered.
	FlatPrice *BillingPriceFlat `json:"flat_price,omitempty"`

	// UnitPrice The unit price component of the tier. Charged per billing unit within the tier.
	UnitPrice *BillingPriceUnit `json:"unit_price,omitempty"`

	// UpToAmount Up to and including this quantity will be contained in the tier. If undefined,
	// the tier is open-ended (the last tier).
	UpToAmount *Numeric `json:"up_to_amount,omitempty"`
}

BillingPriceTier A price tier used in graduated and volume pricing.

At least one price component (flat_price or unit_price) must be set. When UnitConfig is present on the rate card, up_to_amount is expressed in converted billing units.

type BillingPriceUnit

type BillingPriceUnit struct {
	// Amount The amount of the unit price.
	Amount Numeric `json:"amount"`

	// Type The type of the price.
	Type BillingPriceUnitType `json:"type"`
}

BillingPriceUnit Unit price.

Charges a fixed rate per billing unit. When UnitConfig is present on the rate card, billing units are the converted quantities (e.g. GB instead of bytes).

type BillingPriceUnitType

type BillingPriceUnitType string

BillingPriceUnitType The type of the price.

const (
	BillingPriceUnitTypeUnit BillingPriceUnitType = "unit"
)

Defines values for BillingPriceUnitType.

func (BillingPriceUnitType) Valid

func (e BillingPriceUnitType) Valid() bool

Valid indicates whether the value is a known member of the BillingPriceUnitType enum.

type BillingPriceVolume

type BillingPriceVolume struct {
	// Tiers The tiers of the volume price. At least one tier is required.
	Tiers []BillingPriceTier `json:"tiers"`

	// Type The type of the price.
	Type BillingPriceVolumeType `json:"type"`
}

BillingPriceVolume Volume tiered price.

The maximum quantity within a period determines the per-unit price for all units in that period.

When UnitConfig is present on the rate card, tier boundaries (up_to_amount) are expressed in converted billing units.

type BillingPriceVolumeType

type BillingPriceVolumeType string

BillingPriceVolumeType The type of the price.

const (
	BillingPriceVolumeTypeVolume BillingPriceVolumeType = "volume"
)

Defines values for BillingPriceVolumeType.

func (BillingPriceVolumeType) Valid

func (e BillingPriceVolumeType) Valid() bool

Valid indicates whether the value is a known member of the BillingPriceVolumeType enum.

type BillingProfile

type BillingProfile struct {
	// Apps The applications used by this billing profile.
	Apps BillingProfileAppReferences `json:"apps"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Default Whether this is the default profile.
	Default bool `json:"default"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Supplier The name and contact information for the supplier this billing profile
	// represents
	Supplier BillingParty `json:"supplier"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// Workflow The billing workflow settings for this profile
	Workflow BillingWorkflow `json:"workflow"`
}

BillingProfile Billing profiles contain the settings for billing and controls invoice generation.

type BillingProfileAppReferences

type BillingProfileAppReferences struct {
	// Invoicing The invoicing app used for this workflow.
	Invoicing BillingAppReference `json:"invoicing"`

	// Payment The payment app used for this workflow.
	Payment BillingAppReference `json:"payment"`

	// Tax The tax app used for this workflow.
	Tax BillingAppReference `json:"tax"`
}

BillingProfileAppReferences References to the applications used by a billing profile.

type BillingProfilePagePaginatedResponse

type BillingProfilePagePaginatedResponse struct {
	Data []BillingProfile `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

BillingProfilePagePaginatedResponse Page paginated response.

type BillingProfileReference

type BillingProfileReference struct {
	// Id The ID of the billing profile.
	Id ULID `json:"id"`
}

BillingProfileReference Billing profile reference.

type BillingRateCard

type BillingRateCard struct {
	// BillingCadence The billing cadence of the rate card. When null, the charge is one-time
	// (non-recurring). Only valid for flat prices.
	BillingCadence *ISO8601Duration `json:"billing_cadence,omitempty"`

	// Commitments Spend commitments for this rate card. Only applicable to usage-based prices
	// (unit, graduated, volume).
	Commitments *BillingSpendCommitments `json:"commitments,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Discounts The discounts of the rate card.
	Discounts *BillingRateCardDiscounts `json:"discounts,omitempty"`

	// Feature The feature associated with the rate card.
	Feature *FeatureReferenceItem `json:"feature,omitempty"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// PaymentTerm The payment term of the rate card. In advance payment term can only be used for
	// flat prices.
	PaymentTerm *BillingPricePaymentTerm `json:"payment_term,omitempty"`

	// Price The price of the rate card.
	Price BillingPrice `json:"price"`

	// TaxConfig The tax config of the rate card.
	TaxConfig *BillingRateCardTaxConfig `json:"tax_config,omitempty"`
}

BillingRateCard A rate card defines the pricing and entitlement of a feature or service.

type BillingRateCardDiscounts

type BillingRateCardDiscounts struct {
	// Percentage Percentage discount applied to the price (0–100).
	Percentage *float32 `json:"percentage,omitempty"`

	// Usage Number of usage units granted free before billing starts. Only applies to
	// usage-based lines (not flat fees). Usage is treated as zero until this amount is
	// exhausted.
	Usage *Numeric `json:"usage,omitempty"`
}

BillingRateCardDiscounts Discount configuration for a rate card.

type BillingRateCardProrationConfiguration

type BillingRateCardProrationConfiguration struct {
	// Mode The proration mode of the rate card.
	Mode BillingRateCardProrationMode `json:"mode"`
}

BillingRateCardProrationConfiguration The proration configuration of the rate card.

type BillingRateCardProrationMode

type BillingRateCardProrationMode string

BillingRateCardProrationMode The proration mode of the rate card.

Values:

- `no_proration`: No proration. - `prorate_prices`: Prorate the price based on the time remaining in the billing period.

const (
	BillingRateCardProrationModeNoProration   BillingRateCardProrationMode = "no_proration"
	BillingRateCardProrationModeProratePrices BillingRateCardProrationMode = "prorate_prices"
)

Defines values for BillingRateCardProrationMode.

func (BillingRateCardProrationMode) Valid

Valid indicates whether the value is a known member of the BillingRateCardProrationMode enum.

type BillingRateCardTaxConfig

type BillingRateCardTaxConfig struct {
	// Behavior Tax behavior.
	//
	// This enum is used to specify whether tax is included in the price or excluded
	// from the price.
	Behavior *BillingTaxBehavior `json:"behavior,omitempty"`

	// Code TaxCode reference.
	Code TaxCodeReferenceItem `json:"code"`
}

BillingRateCardTaxConfig The tax config of the rate card.

type BillingSettlementMode

type BillingSettlementMode string

BillingSettlementMode Settlement mode for billing.

Values:

- `credit_then_invoice`: Credits are applied first, then any remainder is invoiced. - `credit_only`: Usage is settled exclusively against credits.

const (
	BillingSettlementModeCreditOnly        BillingSettlementMode = "credit_only"
	BillingSettlementModeCreditThenInvoice BillingSettlementMode = "credit_then_invoice"
)

Defines values for BillingSettlementMode.

func (BillingSettlementMode) Valid

func (e BillingSettlementMode) Valid() bool

Valid indicates whether the value is a known member of the BillingSettlementMode enum.

type BillingSpendCommitments

type BillingSpendCommitments struct {
	// MaximumAmount The customer is limited to spend at most the amount.
	MaximumAmount *Numeric `json:"maximum_amount,omitempty"`

	// MinimumAmount The customer is committed to spend at least the amount.
	MinimumAmount *Numeric `json:"minimum_amount,omitempty"`
}

BillingSpendCommitments Spend commitments for a rate card. The customer is committed to spend at least the minimum amount and at most the maximum amount.

type BillingSubscription

type BillingSubscription struct {
	// BillingAnchor A billing anchor is the fixed point in time that determines the subscription's
	// recurring billing cycle. It affects when charges occur and how prorations are
	// calculated. Common anchors:
	//
	// - Calendar month (1st of each month): `2025-01-01T00:00:00Z`
	// - Subscription anniversary (day customer signed up)
	// - Custom date (customer-specified day)
	BillingAnchor DateTime `json:"billing_anchor"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// CustomerId The customer ID of the subscription.
	CustomerId ULID `json:"customer_id"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`
	Id        ULID      `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// PlanId The plan ID of the subscription. Set if subscription is created from a plan.
	PlanId *ULID `json:"plan_id,omitempty"`

	// Status The status of the subscription.
	Status BillingSubscriptionStatus `json:"status"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingSubscription Subscription.

type BillingSubscriptionCancel

type BillingSubscriptionCancel struct {
	// Timing If not provided the subscription is canceled immediately.
	Timing *BillingSubscriptionEditTiming `json:"timing,omitempty"`
}

BillingSubscriptionCancel Request for canceling a subscription.

type BillingSubscriptionChange

type BillingSubscriptionChange struct {
	// BillingAnchor A billing anchor is the fixed point in time that determines the subscription's
	// recurring billing cycle. It affects when charges occur and how prorations are
	// calculated. Common anchors:
	//
	// - Calendar month (1st of each month): `2025-01-01T00:00:00Z`
	// - Subscription anniversary (day customer signed up)
	// - Custom date (customer-specified day)
	//
	// If not provided, the subscription will be created with the subscription's
	// creation time as the billing anchor.
	BillingAnchor *DateTime `json:"billing_anchor,omitempty"`

	// Customer The customer to create the subscription for.
	Customer struct {
		// Id The ID of the customer to create the subscription for.
		//
		// Either customer ID or customer key must be provided. If both are provided, the
		// ID will be used.
		Id *ULID `json:"id,omitempty"`

		// Key The key of the customer to create the subscription for.
		//
		// Either customer ID or customer key must be provided. If both are provided, the
		// ID will be used.
		Key *ExternalResourceKey `json:"key,omitempty"`
	} `json:"customer"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Plan The plan reference of the subscription.
	Plan struct {
		// Id The plan ID of the subscription. Set if subscription is created from a plan.
		//
		// ID or Key of the plan is required if creating a subscription from a plan. If
		// both are provided, the ID will be used.
		Id *ULID `json:"id,omitempty"`

		// Key The plan Key of the subscription, if any. Set if subscription is created from a
		// plan.
		//
		// ID or Key of the plan is required if creating a subscription from a plan. If
		// both are provided, the ID will be used.
		Key *ResourceKey `json:"key,omitempty"`

		// Version The plan version of the subscription, if any. If not provided, the latest
		// version of the plan will be used.
		Version *int `json:"version,omitempty"`
	} `json:"plan"`

	// Timing Timing configuration for the change, when the change should take effect. For
	// changing a subscription, the accepted values depend on the subscription
	// configuration.
	Timing BillingSubscriptionEditTiming `json:"timing"`
}

BillingSubscriptionChange Request for changing a subscription.

type BillingSubscriptionChangeResponse

type BillingSubscriptionChangeResponse struct {
	// Current The current subscription before the change.
	Current BillingSubscription `json:"current"`

	// Next The new state of the subscription after the change.
	Next BillingSubscription `json:"next"`
}

BillingSubscriptionChangeResponse Response for changing a subscription.

type BillingSubscriptionCreate

type BillingSubscriptionCreate struct {
	// BillingAnchor A billing anchor is the fixed point in time that determines the subscription's
	// recurring billing cycle. It affects when charges occur and how prorations are
	// calculated. Common anchors:
	//
	// - Calendar month (1st of each month): `2025-01-01T00:00:00Z`
	// - Subscription anniversary (day customer signed up)
	// - Custom date (customer-specified day)
	//
	// If not provided, the subscription will be created with the subscription's
	// creation time as the billing anchor.
	BillingAnchor *DateTime `json:"billing_anchor,omitempty"`

	// Customer The customer to create the subscription for.
	Customer struct {
		// Id The ID of the customer to create the subscription for.
		//
		// Either customer ID or customer key must be provided. If both are provided, the
		// ID will be used.
		Id *ULID `json:"id,omitempty"`

		// Key The key of the customer to create the subscription for.
		//
		// Either customer ID or customer key must be provided. If both are provided, the
		// ID will be used.
		Key *ExternalResourceKey `json:"key,omitempty"`
	} `json:"customer"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Plan The plan reference of the subscription.
	Plan struct {
		// Id The plan ID of the subscription. Set if subscription is created from a plan.
		//
		// ID or Key of the plan is required if creating a subscription from a plan. If
		// both are provided, the ID will be used.
		Id *ULID `json:"id,omitempty"`

		// Key The plan Key of the subscription, if any. Set if subscription is created from a
		// plan.
		//
		// ID or Key of the plan is required if creating a subscription from a plan. If
		// both are provided, the ID will be used.
		Key *ResourceKey `json:"key,omitempty"`

		// Version The plan version of the subscription, if any. If not provided, the latest
		// version of the plan will be used.
		Version *int `json:"version,omitempty"`
	} `json:"plan"`
}

BillingSubscriptionCreate Subscription create request.

type BillingSubscriptionEditTiming

type BillingSubscriptionEditTiming struct {
	// contains filtered or unexported fields
}

BillingSubscriptionEditTiming Subscription edit timing defined when the changes should take effect. If the provided configuration is not supported by the subscription, an error will be returned.

func (BillingSubscriptionEditTiming) AsBillingSubscriptionEditTimingEnum

func (t BillingSubscriptionEditTiming) AsBillingSubscriptionEditTimingEnum() (BillingSubscriptionEditTimingEnum, error)

AsBillingSubscriptionEditTimingEnum returns the union data inside the BillingSubscriptionEditTiming as a BillingSubscriptionEditTimingEnum

func (BillingSubscriptionEditTiming) AsDateTime

func (t BillingSubscriptionEditTiming) AsDateTime() (DateTime, error)

AsDateTime returns the union data inside the BillingSubscriptionEditTiming as a DateTime

func (*BillingSubscriptionEditTiming) FromBillingSubscriptionEditTimingEnum

func (t *BillingSubscriptionEditTiming) FromBillingSubscriptionEditTimingEnum(v BillingSubscriptionEditTimingEnum) error

FromBillingSubscriptionEditTimingEnum overwrites any union data inside the BillingSubscriptionEditTiming as the provided BillingSubscriptionEditTimingEnum

func (*BillingSubscriptionEditTiming) FromDateTime

func (t *BillingSubscriptionEditTiming) FromDateTime(v DateTime) error

FromDateTime overwrites any union data inside the BillingSubscriptionEditTiming as the provided DateTime

func (BillingSubscriptionEditTiming) MarshalJSON

func (t BillingSubscriptionEditTiming) MarshalJSON() ([]byte, error)

func (*BillingSubscriptionEditTiming) MergeBillingSubscriptionEditTimingEnum

func (t *BillingSubscriptionEditTiming) MergeBillingSubscriptionEditTimingEnum(v BillingSubscriptionEditTimingEnum) error

MergeBillingSubscriptionEditTimingEnum performs a merge with any union data inside the BillingSubscriptionEditTiming, using the provided BillingSubscriptionEditTimingEnum

func (*BillingSubscriptionEditTiming) MergeDateTime

func (t *BillingSubscriptionEditTiming) MergeDateTime(v DateTime) error

MergeDateTime performs a merge with any union data inside the BillingSubscriptionEditTiming, using the provided DateTime

func (*BillingSubscriptionEditTiming) UnmarshalJSON

func (t *BillingSubscriptionEditTiming) UnmarshalJSON(b []byte) error

type BillingSubscriptionEditTimingEnum

type BillingSubscriptionEditTimingEnum string

BillingSubscriptionEditTimingEnum Subscription edit timing. When immediate, the requested changes take effect immediately. When next_billing_cycle, the requested changes take effect at the next billing cycle.

const (
	BillingSubscriptionEditTimingEnumImmediate        BillingSubscriptionEditTimingEnum = "immediate"
	BillingSubscriptionEditTimingEnumNextBillingCycle BillingSubscriptionEditTimingEnum = "next_billing_cycle"
)

Defines values for BillingSubscriptionEditTimingEnum.

func (BillingSubscriptionEditTimingEnum) Valid

Valid indicates whether the value is a known member of the BillingSubscriptionEditTimingEnum enum.

type BillingSubscriptionReference

type BillingSubscriptionReference struct {
	// Id The ID of the subscription.
	Id ULID `json:"id"`

	// Phase The phase of the subscription.
	Phase struct {
		// Id The ID of the phase.
		Id ULID `json:"id"`

		// Item The item of the phase.
		Item struct {
			// Id The ID of the item.
			Id ULID `json:"id"`
		} `json:"item"`
	} `json:"phase"`
}

BillingSubscriptionReference Subscription reference represents a reference to the specific subscription item this entity represents.

type BillingSubscriptionStatus

type BillingSubscriptionStatus string

BillingSubscriptionStatus Subscription status.

const (
	BillingSubscriptionStatusActive    BillingSubscriptionStatus = "active"
	BillingSubscriptionStatusCanceled  BillingSubscriptionStatus = "canceled"
	BillingSubscriptionStatusInactive  BillingSubscriptionStatus = "inactive"
	BillingSubscriptionStatusScheduled BillingSubscriptionStatus = "scheduled"
)

Defines values for BillingSubscriptionStatus.

func (BillingSubscriptionStatus) Valid

func (e BillingSubscriptionStatus) Valid() bool

Valid indicates whether the value is a known member of the BillingSubscriptionStatus enum.

type BillingTaxBehavior

type BillingTaxBehavior string

BillingTaxBehavior Tax behavior.

This enum is used to specify whether tax is included in the price or excluded from the price.

const (
	BillingTaxBehaviorExclusive BillingTaxBehavior = "exclusive"
	BillingTaxBehaviorInclusive BillingTaxBehavior = "inclusive"
)

Defines values for BillingTaxBehavior.

func (BillingTaxBehavior) Valid

func (e BillingTaxBehavior) Valid() bool

Valid indicates whether the value is a known member of the BillingTaxBehavior enum.

type BillingTaxCode

type BillingTaxCode struct {
	// AppMappings Mapping of app types to tax codes.
	AppMappings []BillingTaxCodeAppMapping `json:"app_mappings"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingTaxCode Tax codes by provider.

type BillingTaxCodeAppMapping

type BillingTaxCodeAppMapping struct {
	// AppType The app type that the tax code is associated with.
	AppType BillingAppType `json:"app_type"`

	// TaxCode Tax code.
	TaxCode string `json:"tax_code"`
}

BillingTaxCodeAppMapping Mapping of app types to tax codes.

type BillingTaxCodeReference

type BillingTaxCodeReference = TaxCodeReference

BillingTaxCodeReference TaxCode reference.

type BillingTaxConfig

type BillingTaxConfig struct {
	// Behavior Tax behavior.
	//
	// If not specified the billing profile is used to determine the tax behavior. If
	// not specified in the billing profile, the provider's default behavior is used.
	Behavior *BillingTaxBehavior `json:"behavior,omitempty"`

	// ExternalInvoicing External invoicing tax config.
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	ExternalInvoicing *BillingTaxConfigExternalInvoicing `json:"external_invoicing,omitempty"`

	// Stripe Stripe tax config.
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	Stripe *BillingTaxConfigStripe `json:"stripe,omitempty"`

	// TaxCode Tax code reference.
	//
	// When both `tax_code` and `tax_code_id` are provided, `tax_code` takes
	// precedence. When `stripe.code` is also provided, `tax_code` still wins and
	// `stripe.code` is ignored.
	TaxCode *BillingTaxCodeReference `json:"tax_code,omitempty"`

	// TaxCodeId Tax code ID.
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	TaxCodeId *ULID `json:"tax_code_id,omitempty"`
}

BillingTaxConfig Set of provider specific tax configs.

type BillingTaxConfigExternalInvoicing

type BillingTaxConfigExternalInvoicing struct {
	// Code The tax code should be interpreted by the external invoicing provider.
	Code string `json:"code"`
}

BillingTaxConfigExternalInvoicing External invoicing tax config.

type BillingTaxConfigStripe

type BillingTaxConfigStripe struct {
	// Code Product [tax code](https://docs.stripe.com/tax/tax-codes).
	Code string `json:"code"`
}

BillingTaxConfigStripe The tax config for Stripe.

type BillingTaxIdentificationCode

type BillingTaxIdentificationCode = string

BillingTaxIdentificationCode Tax identifier code is a normalized tax code shown on the original identity document.

type BillingTotals

type BillingTotals struct {
	// Amount The total value of the resource before taxes, discounts and commitments.
	Amount Numeric `json:"amount"`

	// ChargesTotal The total amount contributed by additional charges.
	ChargesTotal Numeric `json:"charges_total"`

	// CreditsTotal The total amount deducted through credits before taxes are applied.
	CreditsTotal Numeric `json:"credits_total"`

	// DiscountsTotal The total amount deducted through discounts.
	DiscountsTotal Numeric `json:"discounts_total"`

	// TaxesExclusiveTotal The total tax amount added on top of the resource amount.
	TaxesExclusiveTotal Numeric `json:"taxes_exclusive_total"`

	// TaxesInclusiveTotal The total tax amount already included in the resource amount.
	TaxesInclusiveTotal Numeric `json:"taxes_inclusive_total"`

	// TaxesTotal The total tax amount applied to the resource.
	TaxesTotal Numeric `json:"taxes_total"`

	// Total The final total value of the resource after taxes, discounts and commitments.
	Total Numeric `json:"total"`
}

BillingTotals Totals contains the summaries of all calculations for a billing resource.

type BillingUsageBasedCharge

type BillingUsageBasedCharge struct {
	// AdvanceAfter The earliest time when the charge should be advanced again by background
	// processing.
	AdvanceAfter *DateTime `json:"advance_after,omitempty"`

	// BillingPeriod The billing period the charge belongs to.
	BillingPeriod ClosedPeriod `json:"billing_period"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// Currency The currency of the charge.
	Currency CurrencyCode `json:"currency"`

	// Customer The customer owning the charge.
	Customer BillingCustomerReference `json:"customer"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Discounts Discounts applied to the usage-based charge.
	Discounts *BillingRateCardDiscounts `json:"discounts,omitempty"`

	// FeatureKey The feature associated with the charge.
	FeatureKey string `json:"feature_key"`

	// FullServicePeriod The full, unprorated service period of the charge.
	FullServicePeriod ClosedPeriod `json:"full_service_period"`
	Id                ULID         `json:"id"`

	// InvoiceAt The timestamp when the charge is intended to be invoiced.
	InvoiceAt DateTime `json:"invoice_at"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// ManagedBy The charge is managed by the following entity.
	ManagedBy ResourceManagedBy `json:"managed_by"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Price The price of the charge.
	Price BillingPrice `json:"price"`

	// ServicePeriod The effective service period covered by the charge.
	ServicePeriod ClosedPeriod `json:"service_period"`

	// SettlementMode Settlement mode of the charge.
	SettlementMode BillingSettlementMode `json:"settlement_mode"`

	// Status The lifecycle status of the charge.
	Status BillingChargeStatus `json:"status"`

	// Subscription The subscription that originated the charge, when the charge was created from a
	// subscription item.
	Subscription *BillingSubscriptionReference `json:"subscription,omitempty"`

	// TaxConfig Tax configuration of the charge.
	TaxConfig *BillingTaxConfig `json:"tax_config,omitempty"`

	// Totals Aggregated booked and realtime totals for the charge.
	Totals BillingChargeTotals `json:"totals"`

	// Type The type of the charge.
	Type BillingUsageBasedChargeType `json:"type"`

	// UniqueReferenceId Unique reference ID of the charge.
	UniqueReferenceId *string `json:"unique_reference_id,omitempty"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

BillingUsageBasedCharge A usage-based charge for a customer.

type BillingUsageBasedChargeType

type BillingUsageBasedChargeType string

BillingUsageBasedChargeType The type of the charge.

const (
	BillingUsageBasedChargeTypeUsageBased BillingUsageBasedChargeType = "usage_based"
)

Defines values for BillingUsageBasedChargeType.

func (BillingUsageBasedChargeType) Valid

Valid indicates whether the value is a known member of the BillingUsageBasedChargeType enum.

type BillingWorkflow

type BillingWorkflow struct {
	// Collection The collection settings for this workflow
	Collection *BillingWorkflowCollectionSettings `json:"collection,omitempty"`

	// Invoicing The invoicing settings for this workflow
	Invoicing *BillingWorkflowInvoicingSettings `json:"invoicing,omitempty"`

	// Payment The payment settings for this workflow
	Payment *BillingWorkflowPaymentSettings `json:"payment,omitempty"`

	// Tax The tax settings for this workflow
	Tax *BillingWorkflowTaxSettings `json:"tax,omitempty"`
}

BillingWorkflow Billing workflow settings.

type BillingWorkflowCollectionAlignment

type BillingWorkflowCollectionAlignment struct {
	// contains filtered or unexported fields
}

BillingWorkflowCollectionAlignment The alignment for collecting the pending line items into an invoice.

Defaults to subscription, which means that we are to create a new invoice every time the a subscription period starts (for in advance items) or ends (for in arrears items).

func (BillingWorkflowCollectionAlignment) AsBillingWorkflowCollectionAlignmentAnchored

func (t BillingWorkflowCollectionAlignment) AsBillingWorkflowCollectionAlignmentAnchored() (BillingWorkflowCollectionAlignmentAnchored, error)

AsBillingWorkflowCollectionAlignmentAnchored returns the union data inside the BillingWorkflowCollectionAlignment as a BillingWorkflowCollectionAlignmentAnchored

func (BillingWorkflowCollectionAlignment) AsBillingWorkflowCollectionAlignmentSubscription

func (t BillingWorkflowCollectionAlignment) AsBillingWorkflowCollectionAlignmentSubscription() (BillingWorkflowCollectionAlignmentSubscription, error)

AsBillingWorkflowCollectionAlignmentSubscription returns the union data inside the BillingWorkflowCollectionAlignment as a BillingWorkflowCollectionAlignmentSubscription

func (BillingWorkflowCollectionAlignment) Discriminator

func (t BillingWorkflowCollectionAlignment) Discriminator() (string, error)

func (*BillingWorkflowCollectionAlignment) FromBillingWorkflowCollectionAlignmentAnchored

func (t *BillingWorkflowCollectionAlignment) FromBillingWorkflowCollectionAlignmentAnchored(v BillingWorkflowCollectionAlignmentAnchored) error

FromBillingWorkflowCollectionAlignmentAnchored overwrites any union data inside the BillingWorkflowCollectionAlignment as the provided BillingWorkflowCollectionAlignmentAnchored

func (*BillingWorkflowCollectionAlignment) FromBillingWorkflowCollectionAlignmentSubscription

func (t *BillingWorkflowCollectionAlignment) FromBillingWorkflowCollectionAlignmentSubscription(v BillingWorkflowCollectionAlignmentSubscription) error

FromBillingWorkflowCollectionAlignmentSubscription overwrites any union data inside the BillingWorkflowCollectionAlignment as the provided BillingWorkflowCollectionAlignmentSubscription

func (BillingWorkflowCollectionAlignment) MarshalJSON

func (t BillingWorkflowCollectionAlignment) MarshalJSON() ([]byte, error)

func (*BillingWorkflowCollectionAlignment) MergeBillingWorkflowCollectionAlignmentAnchored

func (t *BillingWorkflowCollectionAlignment) MergeBillingWorkflowCollectionAlignmentAnchored(v BillingWorkflowCollectionAlignmentAnchored) error

MergeBillingWorkflowCollectionAlignmentAnchored performs a merge with any union data inside the BillingWorkflowCollectionAlignment, using the provided BillingWorkflowCollectionAlignmentAnchored

func (*BillingWorkflowCollectionAlignment) MergeBillingWorkflowCollectionAlignmentSubscription

func (t *BillingWorkflowCollectionAlignment) MergeBillingWorkflowCollectionAlignmentSubscription(v BillingWorkflowCollectionAlignmentSubscription) error

MergeBillingWorkflowCollectionAlignmentSubscription performs a merge with any union data inside the BillingWorkflowCollectionAlignment, using the provided BillingWorkflowCollectionAlignmentSubscription

func (*BillingWorkflowCollectionAlignment) UnmarshalJSON

func (t *BillingWorkflowCollectionAlignment) UnmarshalJSON(b []byte) error

func (BillingWorkflowCollectionAlignment) ValueByDiscriminator

func (t BillingWorkflowCollectionAlignment) ValueByDiscriminator() (interface{}, error)

type BillingWorkflowCollectionAlignmentAnchored

type BillingWorkflowCollectionAlignmentAnchored struct {
	// RecurringPeriod The recurring period for the alignment.
	RecurringPeriod RecurringPeriod `json:"recurring_period"`

	// Type The type of alignment.
	Type BillingWorkflowCollectionAlignmentAnchoredType `json:"type"`
}

BillingWorkflowCollectionAlignmentAnchored BillingWorkflowCollectionAlignmentAnchored specifies the alignment for collecting the pending line items into an invoice.

type BillingWorkflowCollectionAlignmentAnchoredType

type BillingWorkflowCollectionAlignmentAnchoredType string

BillingWorkflowCollectionAlignmentAnchoredType The type of alignment.

const (
	BillingWorkflowCollectionAlignmentAnchoredTypeAnchored BillingWorkflowCollectionAlignmentAnchoredType = "anchored"
)

Defines values for BillingWorkflowCollectionAlignmentAnchoredType.

func (BillingWorkflowCollectionAlignmentAnchoredType) Valid

Valid indicates whether the value is a known member of the BillingWorkflowCollectionAlignmentAnchoredType enum.

type BillingWorkflowCollectionAlignmentSubscription

type BillingWorkflowCollectionAlignmentSubscription struct {
	// Type The type of alignment.
	Type BillingWorkflowCollectionAlignmentSubscriptionType `json:"type"`
}

BillingWorkflowCollectionAlignmentSubscription BillingWorkflowCollectionAlignmentSubscription specifies the alignment for collecting the pending line items into an invoice.

type BillingWorkflowCollectionAlignmentSubscriptionType

type BillingWorkflowCollectionAlignmentSubscriptionType string

BillingWorkflowCollectionAlignmentSubscriptionType The type of alignment.

const (
	BillingWorkflowCollectionAlignmentSubscriptionTypeSubscription BillingWorkflowCollectionAlignmentSubscriptionType = "subscription"
)

Defines values for BillingWorkflowCollectionAlignmentSubscriptionType.

func (BillingWorkflowCollectionAlignmentSubscriptionType) Valid

Valid indicates whether the value is a known member of the BillingWorkflowCollectionAlignmentSubscriptionType enum.

type BillingWorkflowCollectionSettings

type BillingWorkflowCollectionSettings struct {
	// Alignment The alignment for collecting the pending line items into an invoice.
	Alignment *BillingWorkflowCollectionAlignment `json:"alignment,omitempty"`

	// Interval This grace period can be used to delay the collection of the pending line items
	// specified in alignment.
	//
	// This is useful, in case of multiple subscriptions having slightly different
	// billing periods.
	Interval *string `json:"interval,omitempty"`
}

BillingWorkflowCollectionSettings Workflow collection specifies how to collect the pending line items for an invoice.

type BillingWorkflowInvoicingSettings

type BillingWorkflowInvoicingSettings struct {
	// AutoAdvance Whether to automatically issue the invoice after the draftPeriod has passed.
	AutoAdvance *bool `json:"auto_advance,omitempty"`

	// DraftPeriod The period for the invoice to be kept in draft status for manual reviews.
	DraftPeriod *string `json:"draft_period,omitempty"`

	// ProgressiveBilling Should progressive billing be allowed for this workflow?
	ProgressiveBilling *bool `json:"progressive_billing,omitempty"`
}

BillingWorkflowInvoicingSettings Invoice settings for a billing workflow.

type BillingWorkflowPaymentChargeAutomaticallySettings

type BillingWorkflowPaymentChargeAutomaticallySettings struct {
	// CollectionMethod The collection method for the invoice.
	CollectionMethod BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod `json:"collection_method"`
}

BillingWorkflowPaymentChargeAutomaticallySettings Payment settings for a billing workflow when the collection method is charge automatically.

type BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod

type BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod string

BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod The collection method for the invoice.

const (
	BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethodChargeAutomatically BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod = "charge_automatically"
)

Defines values for BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod.

func (BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod) Valid

Valid indicates whether the value is a known member of the BillingWorkflowPaymentChargeAutomaticallySettingsCollectionMethod enum.

type BillingWorkflowPaymentSendInvoiceSettings

type BillingWorkflowPaymentSendInvoiceSettings struct {
	// CollectionMethod The collection method for the invoice.
	CollectionMethod BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod `json:"collection_method"`

	// DueAfter The period after which the invoice is due. With some payment solutions it's only
	// applicable for manual collection method.
	DueAfter *string `json:"due_after,omitempty"`
}

BillingWorkflowPaymentSendInvoiceSettings Payment settings for a billing workflow when the collection method is send invoice.

type BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod

type BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod string

BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod The collection method for the invoice.

const (
	BillingWorkflowPaymentSendInvoiceSettingsCollectionMethodSendInvoice BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod = "send_invoice"
)

Defines values for BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod.

func (BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod) Valid

Valid indicates whether the value is a known member of the BillingWorkflowPaymentSendInvoiceSettingsCollectionMethod enum.

type BillingWorkflowPaymentSettings

type BillingWorkflowPaymentSettings struct {
	// contains filtered or unexported fields
}

BillingWorkflowPaymentSettings Payment settings for a billing workflow.

func (BillingWorkflowPaymentSettings) AsBillingWorkflowPaymentChargeAutomaticallySettings

func (t BillingWorkflowPaymentSettings) AsBillingWorkflowPaymentChargeAutomaticallySettings() (BillingWorkflowPaymentChargeAutomaticallySettings, error)

AsBillingWorkflowPaymentChargeAutomaticallySettings returns the union data inside the BillingWorkflowPaymentSettings as a BillingWorkflowPaymentChargeAutomaticallySettings

func (BillingWorkflowPaymentSettings) AsBillingWorkflowPaymentSendInvoiceSettings

func (t BillingWorkflowPaymentSettings) AsBillingWorkflowPaymentSendInvoiceSettings() (BillingWorkflowPaymentSendInvoiceSettings, error)

AsBillingWorkflowPaymentSendInvoiceSettings returns the union data inside the BillingWorkflowPaymentSettings as a BillingWorkflowPaymentSendInvoiceSettings

func (BillingWorkflowPaymentSettings) Discriminator

func (t BillingWorkflowPaymentSettings) Discriminator() (string, error)

func (*BillingWorkflowPaymentSettings) FromBillingWorkflowPaymentChargeAutomaticallySettings

func (t *BillingWorkflowPaymentSettings) FromBillingWorkflowPaymentChargeAutomaticallySettings(v BillingWorkflowPaymentChargeAutomaticallySettings) error

FromBillingWorkflowPaymentChargeAutomaticallySettings overwrites any union data inside the BillingWorkflowPaymentSettings as the provided BillingWorkflowPaymentChargeAutomaticallySettings

func (*BillingWorkflowPaymentSettings) FromBillingWorkflowPaymentSendInvoiceSettings

func (t *BillingWorkflowPaymentSettings) FromBillingWorkflowPaymentSendInvoiceSettings(v BillingWorkflowPaymentSendInvoiceSettings) error

FromBillingWorkflowPaymentSendInvoiceSettings overwrites any union data inside the BillingWorkflowPaymentSettings as the provided BillingWorkflowPaymentSendInvoiceSettings

func (BillingWorkflowPaymentSettings) MarshalJSON

func (t BillingWorkflowPaymentSettings) MarshalJSON() ([]byte, error)

func (*BillingWorkflowPaymentSettings) MergeBillingWorkflowPaymentChargeAutomaticallySettings

func (t *BillingWorkflowPaymentSettings) MergeBillingWorkflowPaymentChargeAutomaticallySettings(v BillingWorkflowPaymentChargeAutomaticallySettings) error

MergeBillingWorkflowPaymentChargeAutomaticallySettings performs a merge with any union data inside the BillingWorkflowPaymentSettings, using the provided BillingWorkflowPaymentChargeAutomaticallySettings

func (*BillingWorkflowPaymentSettings) MergeBillingWorkflowPaymentSendInvoiceSettings

func (t *BillingWorkflowPaymentSettings) MergeBillingWorkflowPaymentSendInvoiceSettings(v BillingWorkflowPaymentSendInvoiceSettings) error

MergeBillingWorkflowPaymentSendInvoiceSettings performs a merge with any union data inside the BillingWorkflowPaymentSettings, using the provided BillingWorkflowPaymentSendInvoiceSettings

func (*BillingWorkflowPaymentSettings) UnmarshalJSON

func (t *BillingWorkflowPaymentSettings) UnmarshalJSON(b []byte) error

func (BillingWorkflowPaymentSettings) ValueByDiscriminator

func (t BillingWorkflowPaymentSettings) ValueByDiscriminator() (interface{}, error)

type BillingWorkflowTaxSettings

type BillingWorkflowTaxSettings struct {
	// DefaultTaxConfig Default tax configuration to apply to the invoices for line items.
	DefaultTaxConfig *BillingTaxConfig `json:"default_tax_config,omitempty"`

	// Enabled Enable automatic tax calculation when tax is supported by the app. For example,
	// with Stripe Invoicing when enabled, tax is calculated via Stripe Tax.
	Enabled *bool `json:"enabled,omitempty"`

	// Enforced Enforce tax calculation when tax is supported by the app. When enabled, the
	// billing system will not allow to create an invoice without tax calculation.
	// Enforcement is different per apps, for example, Stripe app requires customer to
	// have a tax location when starting a paid subscription.
	Enforced *bool `json:"enforced,omitempty"`
}

BillingWorkflowTaxSettings Tax settings for a billing workflow.

type CancelSubscriptionJSONRequestBody

type CancelSubscriptionJSONRequestBody = BillingSubscriptionCancel

CancelSubscriptionJSONRequestBody defines body for CancelSubscription for application/json ContentType.

type ChangeSubscriptionJSONRequestBody

type ChangeSubscriptionJSONRequestBody = BillingSubscriptionChange

ChangeSubscriptionJSONRequestBody defines body for ChangeSubscription for application/json ContentType.

type ChargePagePaginatedResponse

type ChargePagePaginatedResponse struct {
	Data []BillingCharge `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

ChargePagePaginatedResponse Page paginated response.

type ChiServerOptions

type ChiServerOptions struct {
	BaseURL          string
	BaseRouter       chi.Router
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type ClosedPeriod

type ClosedPeriod struct {
	// From The start of the period.
	//
	// The period is inclusive at the start.
	From DateTime `json:"from"`

	// To The end of the period.
	//
	// The period is exclusive at the end.
	To DateTime `json:"to"`
}

ClosedPeriod A period with defined start and end dates.

The period is always inclusive at the start and exclusive at the end.

type Conflict

type Conflict = ConflictError

Conflict defines model for Conflict.

type ConflictError

type ConflictError struct {
	Detail   interface{} `json:"detail"`
	Instance interface{} `json:"instance"`
	Status   interface{} `json:"status"`
	Title    interface{} `json:"title"`
	Type     interface{} `json:"type,omitempty"`
}

ConflictError defines model for ConflictError.

type CostBasisPagePaginatedResponse

type CostBasisPagePaginatedResponse struct {
	Data []BillingCostBasis `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

CostBasisPagePaginatedResponse Page paginated response.

type CountryCode

type CountryCode = string

CountryCode [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. Custom two-letter country codes are also supported for convenience.

type CreateAddonJSONRequestBody

type CreateAddonJSONRequestBody = CreateAddonRequest

CreateAddonJSONRequestBody defines body for CreateAddon for application/json ContentType.

type CreateAddonRequest

type CreateAddonRequest struct {
	// Currency The currency code of the add-on.
	Currency BillingCurrencyCode `json:"currency"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// InstanceType The InstanceType of the add-ons. Can be "single" or "multiple".
	InstanceType AddonInstanceType `json:"instance_type"`

	// Key A key is a semi-unique string that is used to identify the add-on. It is used to
	// reference the latest `active` version of the add-on and is unique with the
	// version number.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// RateCards The rate cards of the add-on.
	RateCards []BillingRateCard `json:"rate_cards"`
}

CreateAddonRequest Addon create request.

type CreateBillingProfileJSONRequestBody

type CreateBillingProfileJSONRequestBody = CreateBillingProfileRequest

CreateBillingProfileJSONRequestBody defines body for CreateBillingProfile for application/json ContentType.

type CreateBillingProfileRequest

type CreateBillingProfileRequest struct {
	// Apps The applications used by this billing profile.
	Apps BillingProfileAppReferences `json:"apps"`

	// Default Whether this is the default profile.
	Default bool `json:"default"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Supplier The name and contact information for the supplier this billing profile
	// represents
	Supplier BillingParty `json:"supplier"`

	// Workflow The billing workflow settings for this profile
	Workflow BillingWorkflow `json:"workflow"`
}

CreateBillingProfileRequest BillingProfile create request.

type CreateCostBasisJSONRequestBody

type CreateCostBasisJSONRequestBody = CreateCostBasisRequest

CreateCostBasisJSONRequestBody defines body for CreateCostBasis for application/json ContentType.

type CreateCostBasisRequest

type CreateCostBasisRequest struct {
	// EffectiveFrom An ISO-8601 timestamp representation of the date from which the cost basis is
	// effective. If not provided, it will be effective immediately and will be set to
	// `now` by the system.
	EffectiveFrom *DateTime `json:"effective_from,omitempty"`

	// FiatCode The fiat currency code for the cost basis.
	FiatCode CurrencyCode `json:"fiat_code"`

	// Rate The cost rate for the currency.
	Rate Numeric `json:"rate"`
}

CreateCostBasisRequest CostBasis create request.

type CreateCreditAdjustmentJSONRequestBody

type CreateCreditAdjustmentJSONRequestBody = CreateCreditAdjustmentRequest

CreateCreditAdjustmentJSONRequestBody defines body for CreateCreditAdjustment for application/json ContentType.

type CreateCreditAdjustmentRequest

type CreateCreditAdjustmentRequest struct {
	// Amount Granted credit amount.
	Amount Numeric `json:"amount"`

	// Currency The currency of the granted credits.
	Currency BillingCurrencyCode `json:"currency"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`
}

CreateCreditAdjustmentRequest CreditAdjustment create request.

type CreateCreditGrantJSONRequestBody

type CreateCreditGrantJSONRequestBody = CreateCreditGrantRequest

CreateCreditGrantJSONRequestBody defines body for CreateCreditGrant for application/json ContentType.

type CreateCreditGrantRequest

type CreateCreditGrantRequest struct {
	// Amount Granted credit amount.
	Amount Numeric `json:"amount"`

	// Currency The currency of the granted credits.
	Currency BillingCurrencyCode `json:"currency"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Filters Filters for the credit grant.
	Filters *struct {
		// Features Limit the credit grant to specific features. If no features are specified, the
		// credit grant can be used for any feature.
		Features *[]ResourceKey `json:"features,omitempty"`
	} `json:"filters,omitempty"`

	// FundingMethod Funding method of the grant.
	FundingMethod BillingCreditFundingMethod `json:"funding_method"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Priority Draw-down priority of the grant. Lower values have higher priority.
	Priority *int16 `json:"priority,omitempty"`

	// Purchase Purchase and payment terms of the grant. Present when a funding workflow applies
	// (funding_method is not `none`).
	Purchase *struct {
		// AvailabilityPolicy Controls when credits become available for consumption.
		//
		// Defaults to `on_creation`.
		AvailabilityPolicy *BillingCreditAvailabilityPolicy `json:"availability_policy,omitempty"`

		// Currency Currency of the purchase amount.
		Currency CurrencyCode `json:"currency"`

		// PerUnitCostBasis Cost basis per credit unit used to calculate the purchase amount.
		//
		// If `per_unit_cost_basis` is 0.50 and credit amount is $100.00, the total charge
		// is $50.00. The value must be greater than 0. If the cost basis is 0, use
		// `funding_method=none` instead.
		//
		// Defaults to 1.0.
		PerUnitCostBasis *Numeric `json:"per_unit_cost_basis,omitempty"`
	} `json:"purchase,omitempty"`

	// TaxConfig Tax configuration for the grant.
	//
	// For `invoice` and `external` funding methods, tax configuration should be
	// provided to ensure correct revenue recognition. When not provided, the default
	// credit grant tax code is applied, if that's not set the global default taxcode
	// is used.
	TaxConfig *BillingCreditGrantTaxConfig `json:"tax_config,omitempty"`
}

CreateCreditGrantRequest CreditGrant create request.

type CreateCurrencyCustomRequest

type CreateCurrencyCustomRequest struct {
	// Code Custom currency code. It should be a unique code but not conflicting with any
	// existing fiat currency codes.
	Code BillingCurrencyCodeCustom `json:"code"`

	// Description Description of the currency.
	Description *string `json:"description,omitempty"`

	// Name The name of the currency. It should be a human-readable string that represents
	// the name of the currency, such as "US Dollar" or "Euro".
	Name string `json:"name"`

	// Symbol The symbol of the currency. It should be a string that represents the symbol of
	// the currency, such as "$" for US Dollar or "€" for Euro.
	Symbol *string `json:"symbol,omitempty"`
}

CreateCurrencyCustomRequest CurrencyCustom create request.

type CreateCustomCurrencyJSONRequestBody

type CreateCustomCurrencyJSONRequestBody = CreateCurrencyCustomRequest

CreateCustomCurrencyJSONRequestBody defines body for CreateCustomCurrency for application/json ContentType.

type CreateCustomerJSONRequestBody

type CreateCustomerJSONRequestBody = CreateCustomerRequest

CreateCustomerJSONRequestBody defines body for CreateCustomer for application/json ContentType.

type CreateCustomerRequest

type CreateCustomerRequest struct {
	// BillingAddress The billing address of the customer. Used for tax and invoicing.
	BillingAddress *BillingAddress `json:"billing_address,omitempty"`

	// Currency Currency of the customer. Used for billing, tax and invoicing.
	Currency *CurrencyCode `json:"currency,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Key ExternalResourceKey is a unique string that is used to identify a resource in an
	// external system.
	Key ExternalResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// PrimaryEmail The primary email address of the customer.
	PrimaryEmail *string `json:"primary_email,omitempty"`

	// UsageAttribution Mapping to attribute metered usage to the customer by the event subject.
	UsageAttribution *BillingCustomerUsageAttribution `json:"usage_attribution,omitempty"`
}

CreateCustomerRequest Customer create request.

type CreateCustomerStripeCheckoutSessionJSONRequestBody

type CreateCustomerStripeCheckoutSessionJSONRequestBody = BillingCustomerStripeCreateCheckoutSessionRequest

CreateCustomerStripeCheckoutSessionJSONRequestBody defines body for CreateCustomerStripeCheckoutSession for application/json ContentType.

type CreateCustomerStripePortalSessionJSONRequestBody

type CreateCustomerStripePortalSessionJSONRequestBody = BillingCustomerStripeCreateCustomerPortalSessionRequest

CreateCustomerStripePortalSessionJSONRequestBody defines body for CreateCustomerStripePortalSession for application/json ContentType.

type CreateFeatureJSONRequestBody

type CreateFeatureJSONRequestBody = CreateFeatureRequest

CreateFeatureJSONRequestBody defines body for CreateFeature for application/json ContentType.

type CreateFeatureRequest

type CreateFeatureRequest struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Meter The meter that the feature is associated with and based on which usage is
	// calculated. If not specified, the feature is static.
	Meter *FeatureMeterReference `json:"meter,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// UnitCost Optional per-unit cost configuration. Use "manual" for a fixed per-unit cost, or
	// "llm" to look up cost from the LLM cost database based on meter group-by
	// properties.
	UnitCost *BillingFeatureUnitCost `json:"unit_cost,omitempty"`
}

CreateFeatureRequest Feature create request.

type CreateLlmCostOverrideJSONRequestBody

type CreateLlmCostOverrideJSONRequestBody = LLMCostOverrideCreate

CreateLlmCostOverrideJSONRequestBody defines body for CreateLlmCostOverride for application/json ContentType.

type CreateMeterJSONRequestBody

type CreateMeterJSONRequestBody = CreateMeterRequest

CreateMeterJSONRequestBody defines body for CreateMeter for application/json ContentType.

type CreateMeterRequest

type CreateMeterRequest struct {
	// Aggregation The aggregation type to use for the meter.
	Aggregation MeterAggregation `json:"aggregation"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Dimensions Named JSONPath expressions to extract the group by values from the event data.
	//
	// Keys must be unique and consist only alphanumeric and underscore characters.
	Dimensions *map[string]string `json:"dimensions,omitempty"`

	// EventType The event type to include in the aggregation.
	EventType string `json:"event_type"`

	// EventsFrom The date since the meter should include events. Useful to skip old events. If
	// not specified, all historical events are included.
	EventsFrom *DateTime `json:"events_from,omitempty"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// ValueProperty JSONPath expression to extract the value from the ingested event's data
	// property.
	//
	// The ingested value for sum, avg, min, and max aggregations is a number or a
	// string that can be parsed to a number.
	//
	// For unique_count aggregation, the ingested value must be a string. For count
	// aggregation the value_property is ignored.
	ValueProperty *string `json:"value_property,omitempty"`
}

CreateMeterRequest Meter create request.

type CreatePlanAddonJSONRequestBody

type CreatePlanAddonJSONRequestBody = CreatePlanAddonRequest

CreatePlanAddonJSONRequestBody defines body for CreatePlanAddon for application/json ContentType.

type CreatePlanAddonRequest

type CreatePlanAddonRequest struct {
	// Addon The add-on associated with the plan.
	Addon AddonReference `json:"addon"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// FromPlanPhase The key of the plan phase from which the add-on becomes available for purchase.
	FromPlanPhase ResourceKey `json:"from_plan_phase"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// MaxQuantity The maximum number of times the add-on can be purchased for the plan. For
	// single-instance add-ons this field must be omitted. For multi-instance add-ons
	// when omitted, unlimited quantity can be purchased.
	MaxQuantity *int `json:"max_quantity,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`
}

CreatePlanAddonRequest PlanAddon create request.

type CreatePlanJSONRequestBody

type CreatePlanJSONRequestBody = CreatePlanRequest

CreatePlanJSONRequestBody defines body for CreatePlan for application/json ContentType.

type CreatePlanRequest

type CreatePlanRequest struct {
	// BillingCadence The billing cadence for subscriptions using this plan.
	BillingCadence ISO8601Duration `json:"billing_cadence"`

	// Currency The currency code of the plan.
	Currency CurrencyCode `json:"currency"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Key A key is a semi-unique string that is used to identify the plan. It is used to
	// reference the latest `active` version of the plan and is unique with the version
	// number.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Phases The plan phases define the pricing ramp for a subscription. A phase switch
	// occurs only at the end of a billing period. At least one phase is required.
	Phases []BillingPlanPhase `json:"phases"`

	// ProRatingEnabled Whether pro-rating is enabled for this plan.
	ProRatingEnabled *bool `json:"pro_rating_enabled,omitempty"`
}

CreatePlanRequest Plan create request.

type CreateSubscriptionJSONRequestBody

type CreateSubscriptionJSONRequestBody = BillingSubscriptionCreate

CreateSubscriptionJSONRequestBody defines body for CreateSubscription for application/json ContentType.

type CreateTaxCodeJSONRequestBody

type CreateTaxCodeJSONRequestBody = CreateTaxCodeRequest

CreateTaxCodeJSONRequestBody defines body for CreateTaxCode for application/json ContentType.

type CreateTaxCodeRequest

type CreateTaxCodeRequest struct {
	// AppMappings Mapping of app types to tax codes.
	AppMappings []BillingTaxCodeAppMapping `json:"app_mappings"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`
}

CreateTaxCodeRequest TaxCode create request.

type CreditBalance

type CreditBalance struct {
	// Available Credits that can be consumed right now. Derived from cleared grants after
	// applying eligibility and restriction rules.
	Available Numeric             `json:"available"`
	Currency  BillingCurrencyCode `json:"currency"`

	// Pending Credits that have been granted but cannot yet be consumed. Includes grants
	// awaiting payment clearance or with a future effective date.
	Pending Numeric `json:"pending"`
}

CreditBalance The credit balance by currency.

type CreditGrantPagePaginatedResponse

type CreditGrantPagePaginatedResponse struct {
	Data []BillingCreditGrant `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

CreditGrantPagePaginatedResponse Page paginated response.

type CreditTransactionPaginatedResponse

type CreditTransactionPaginatedResponse struct {
	Data []BillingCreditTransaction `json:"data"`

	// Meta Pagination metadata.
	Meta CursorMeta `json:"meta"`
}

CreditTransactionPaginatedResponse Cursor paginated response.

type CurrencyAmount

type CurrencyAmount struct {
	// Amount Numeric represents an arbitrary precision number.
	Amount Numeric `json:"amount"`

	// Currency Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html)
	// currency code. Custom three-letter currency codes are also supported for
	// convenience.
	Currency CurrencyCode `json:"currency"`
}

CurrencyAmount Monetary amount in a specific currency.

type CurrencyCode

type CurrencyCode = string

CurrencyCode Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.

type CurrencyPagePaginatedResponse

type CurrencyPagePaginatedResponse struct {
	Data []BillingCurrency `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

CurrencyPagePaginatedResponse Page paginated response.

type CursorMeta

type CursorMeta struct {
	Page CursorMetaPage `json:"page"`
}

CursorMeta Pagination metadata.

type CursorMetaPage

type CursorMetaPage struct {
	// First URI to the first page
	First *string `json:"first,omitempty"`

	// Last URI to the last page
	Last *string `json:"last,omitempty"`

	// Next URI to the next page
	Next nullable.Nullable[string] `json:"next"`

	// Previous URI to the previous page
	Previous nullable.Nullable[string] `json:"previous"`

	// Size Requested page size
	Size float32 `json:"size"`
}

CursorMetaPage defines model for CursorMetaPage.

type CursorPaginationQuery

type CursorPaginationQuery = CursorPaginationQueryPage

CursorPaginationQuery Determines which page of the collection to retrieve.

type CursorPaginationQueryPage

type CursorPaginationQueryPage struct {
	// After Request the next page of data, starting with the item after this parameter.
	After *string `json:"after,omitempty"`

	// Before Request the previous page of data, starting with the item before this parameter.
	Before *string `json:"before,omitempty"`

	// Size The number of items to include per page.
	Size *int `json:"size,omitempty"`
}

CursorPaginationQueryPage Determines which page of the collection to retrieve.

type CustomerPagePaginatedResponse

type CustomerPagePaginatedResponse struct {
	Data []BillingCustomer `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

CustomerPagePaginatedResponse Page paginated response.

type CustomerReference

type CustomerReference struct {
	// Id ULID (Universally Unique Lexicographically Sortable Identifier).
	Id ULID `json:"id"`
}

CustomerReference Customer reference.

type DateTime

type DateTime = time.Time

DateTime [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC.

type DateTimeFieldFilter

type DateTimeFieldFilter = filters.FilterDateTime

DateTimeFieldFilter Filters on the given datetime (RFC-3339) field value. All properties are optional; provide exactly one to specify the comparison.

type ExternalResourceKey

type ExternalResourceKey = string

ExternalResourceKey ExternalResourceKey is a unique string that is used to identify a resource in an external system.

type Feature

type Feature struct {
	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Meter The meter that the feature is associated with and based on which usage is
	// calculated. If not specified, the feature is static.
	Meter *FeatureMeterReference `json:"meter,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// UnitCost Optional per-unit cost configuration. Use "manual" for a fixed per-unit cost, or
	// "llm" to look up cost from the LLM cost database based on meter group-by
	// properties.
	UnitCost *BillingFeatureUnitCost `json:"unit_cost,omitempty"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

Feature A capability or billable dimension offered by a provider.

type FeatureCostQueryResult

type FeatureCostQueryResult struct {
	// Data The cost data rows.
	Data []FeatureCostQueryRow `json:"data"`

	// From Start of the queried period.
	From *DateTime `json:"from,omitempty"`

	// To End of the queried period.
	To *DateTime `json:"to,omitempty"`
}

FeatureCostQueryResult Result of a feature cost query.

type FeatureCostQueryRow

type FeatureCostQueryRow struct {
	// Cost The computed cost amount (usage × unit cost). Null when pricing is not available
	// for the given combination of dimensions.
	Cost nullable.Nullable[Numeric] `json:"cost"`

	// Currency The currency code of the cost amount.
	Currency CurrencyCode `json:"currency"`

	// Detail Detail message when cost amount is null, explaining why the cost could not be
	// resolved.
	Detail *string `json:"detail,omitempty"`

	// Dimensions The dimensions the value is aggregated over. `subject` and `customer_id` are
	// reserved dimensions.
	Dimensions map[string]string `json:"dimensions"`

	// From The start of the time bucket the value is aggregated over.
	From DateTime `json:"from"`

	// To The end of the time bucket the value is aggregated over.
	To DateTime `json:"to"`

	// Usage The metered usage value for the period.
	Usage Numeric `json:"usage"`
}

FeatureCostQueryRow A row in the result of a feature cost query.

type FeatureMeterReference

type FeatureMeterReference struct {
	// Filters Filters to apply to the dimensions of the meter.
	Filters *map[string]QueryFilterStringMapItem `json:"filters,omitempty"`

	// Id The ID of the meter to associate with this feature.
	Id ULID `json:"id"`
}

FeatureMeterReference Reference to a meter associated with a feature.

type FeaturePagePaginatedResponse

type FeaturePagePaginatedResponse struct {
	Data []Feature `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

FeaturePagePaginatedResponse Page paginated response.

type FeatureReferenceItem

type FeatureReferenceItem struct {
	// Id ULID (Universally Unique Lexicographically Sortable Identifier).
	Id ULID `json:"id"`
}

FeatureReferenceItem Feature reference.

type Forbidden

type Forbidden = ForbiddenError

Forbidden defines model for Forbidden.

type ForbiddenError

type ForbiddenError struct {
	Detail   interface{} `json:"detail"`
	Instance interface{} `json:"instance"`
	Status   interface{} `json:"status"`
	Title    interface{} `json:"title"`
	Type     interface{} `json:"type,omitempty"`
}

ForbiddenError defines model for ForbiddenError.

type GetCreditBalanceParamsFilter

type GetCreditBalanceParamsFilter struct {
	// Currency Filter credit balance by currency.
	Currency *BillingCurrencyCode `json:"currency,omitempty"`
}

GetCreditBalanceParamsFilter Filter options for getting a credit balance.

type GetCustomerCreditBalanceParams

type GetCustomerCreditBalanceParams struct {
	Filter *GetCreditBalanceParamsFilter `json:"filter,omitempty"`
}

GetCustomerCreditBalanceParams defines parameters for GetCustomerCreditBalance.

type Gone

type Gone = GoneError

Gone defines model for Gone.

type GoneError

type GoneError struct {
	Detail   interface{} `json:"detail"`
	Instance interface{} `json:"instance"`
	Status   interface{} `json:"status"`
	Title    interface{} `json:"title"`
	Type     interface{} `json:"type,omitempty"`
}

GoneError defines model for GoneError.

type GovernanceFeatureAccess

type GovernanceFeatureAccess struct {
	// HasAccess Whether the customer currently has access to the feature.
	//
	// `true` for boolean and static entitlements that are available, and for metered
	// entitlements with remaining balance. `false` when the feature is unavailable,
	// the usage limit has been reached, or (when applicable) credits have been
	// exhausted.
	HasAccess bool `json:"has_access"`

	// Reason Optional reason when the customer does not have access to the feature. Populated
	// when `has_access` is `false`.
	Reason *GovernanceFeatureAccessReason `json:"reason,omitempty"`
}

GovernanceFeatureAccess Access status for a single feature.

type GovernanceFeatureAccessReason

type GovernanceFeatureAccessReason struct {
	// Attributes Additional structured context.
	Attributes *map[string]interface{} `json:"attributes,omitempty"`

	// Code Machine-readable error code.
	Code GovernanceFeatureAccessReasonCode `json:"code"`

	// Message Human-readable description of the error.
	Message string `json:"message"`
}

GovernanceFeatureAccessReason Reason a feature is not accessible to a customer.

type GovernanceFeatureAccessReasonCode

type GovernanceFeatureAccessReasonCode string

GovernanceFeatureAccessReasonCode Machine-readable reason code for denied feature access.

const (
	GovernanceFeatureAccessReasonCodeFeatureNotFound    GovernanceFeatureAccessReasonCode = "feature_not_found"
	GovernanceFeatureAccessReasonCodeFeatureUnavailable GovernanceFeatureAccessReasonCode = "feature_unavailable"
	GovernanceFeatureAccessReasonCodeNoCreditAvailable  GovernanceFeatureAccessReasonCode = "no_credit_available"
	GovernanceFeatureAccessReasonCodeUnknown            GovernanceFeatureAccessReasonCode = "unknown"
	GovernanceFeatureAccessReasonCodeUsageLimitReached  GovernanceFeatureAccessReasonCode = "usage_limit_reached"
)

Defines values for GovernanceFeatureAccessReasonCode.

func (GovernanceFeatureAccessReasonCode) Valid

Valid indicates whether the value is a known member of the GovernanceFeatureAccessReasonCode enum.

type GovernanceQueryError

type GovernanceQueryError struct {
	// Attributes Additional structured context.
	Attributes *map[string]interface{} `json:"attributes,omitempty"`

	// Code Machine-readable error code.
	Code GovernanceQueryErrorCode `json:"code"`

	// Customer The customer identifier from the request that produced this error.
	Customer *string `json:"customer,omitempty"`

	// Message Human-readable description of the error.
	Message string `json:"message"`
}

GovernanceQueryError Query error within a partially successful governance query response.

type GovernanceQueryErrorCode

type GovernanceQueryErrorCode string

GovernanceQueryErrorCode Error code for a governance query failure.

const (
	GovernanceQueryErrorCodeCustomerNotFound GovernanceQueryErrorCode = "customer_not_found"
	GovernanceQueryErrorCodeUnknown          GovernanceQueryErrorCode = "unknown"
)

Defines values for GovernanceQueryErrorCode.

func (GovernanceQueryErrorCode) Valid

func (e GovernanceQueryErrorCode) Valid() bool

Valid indicates whether the value is a known member of the GovernanceQueryErrorCode enum.

type GovernanceQueryRequest

type GovernanceQueryRequest struct {
	Customer GovernanceQueryRequestCustomers `json:"customer"`
	Feature  *GovernanceQueryRequestFeatures `json:"feature,omitempty"`

	// IncludeCredits Whether to include credit balance availability for each resolved customer. When
	// true, each feature evaluation includes credit balance checks.
	//
	// Defaults to `false`.
	IncludeCredits *bool `json:"include_credits,omitempty"`
}

GovernanceQueryRequest Query to evaluate feature access for a list of customers.

type GovernanceQueryRequestCustomers

type GovernanceQueryRequestCustomers struct {
	// Keys Each entry can be a customer `key` or a usage-attribution subject `key`.
	// Identifiers that cannot be resolved to a customer are reported in the response
	// `errors` array.
	Keys []string `json:"keys"`
}

GovernanceQueryRequestCustomers List of customer identifiers to evaluate access for.

type GovernanceQueryRequestFeatures

type GovernanceQueryRequestFeatures struct {
	// Keys List of feature keys to evaluate access for.
	Keys []string `json:"keys"`
}

GovernanceQueryRequestFeatures Optional list of feature keys to evaluate access for. If omitted, all features available in the organization are returned. Providing this list is recommended to reduce the response size and the load on the backend services.

type GovernanceQueryResponse

type GovernanceQueryResponse struct {
	// Data Access evaluation results, one entry per resolved customer.
	Data []GovernanceQueryResult `json:"data"`

	// Errors Partial errors encountered while processing the request.
	Errors []GovernanceQueryError `json:"errors"`

	// Meta Pagination metadata. The endpoint may return a partial response if the full
	// response would exceed server-side limits.
	Meta CursorMeta `json:"meta"`
}

GovernanceQueryResponse Response of the governance query.

type GovernanceQueryResult

type GovernanceQueryResult struct {
	// Customer The customer the matched identifiers resolved to.
	Customer BillingCustomer `json:"customer"`

	// Features Map of features with their access status.
	//
	// Map keys are the feature keys requested in `feature.keys`, or every feature
	// `key` available in the organization when the feature filter was omitted.
	Features map[string]GovernanceFeatureAccess `json:"features"`

	// Matched The list of identifiers from the request that resolved to this customer. Each
	// entry is either the customer `key` or one of its usage-attribution subject
	// `key`s.
	//
	// Duplicate or aliased identifiers that resolve to the same customer collapse to a
	// single result entry, with every requested identifier listed here.
	Matched []string `json:"matched"`

	// UpdatedAt Timestamp of the most recent change to the customer's access state reflected in
	// this result.
	UpdatedAt DateTime `json:"updated_at"`
}

GovernanceQueryResult Access evaluation result for a single resolved customer.

type IngestMeteringEventsApplicationCloudeventsBatchPlusJSONBody

type IngestMeteringEventsApplicationCloudeventsBatchPlusJSONBody = []MeteringEvent

IngestMeteringEventsApplicationCloudeventsBatchPlusJSONBody defines parameters for IngestMeteringEvents.

type IngestMeteringEventsApplicationCloudeventsBatchPlusJSONRequestBody

type IngestMeteringEventsApplicationCloudeventsBatchPlusJSONRequestBody = IngestMeteringEventsApplicationCloudeventsBatchPlusJSONBody

IngestMeteringEventsApplicationCloudeventsBatchPlusJSONRequestBody defines body for IngestMeteringEvents for application/cloudevents-batch+json ContentType.

type IngestMeteringEventsApplicationCloudeventsPlusJSONRequestBody

type IngestMeteringEventsApplicationCloudeventsPlusJSONRequestBody = MeteringEvent

IngestMeteringEventsApplicationCloudeventsPlusJSONRequestBody defines body for IngestMeteringEvents for application/cloudevents+json ContentType.

type IngestMeteringEventsJSONBody

type IngestMeteringEventsJSONBody struct {
	// contains filtered or unexported fields
}

IngestMeteringEventsJSONBody defines parameters for IngestMeteringEvents.

type IngestMeteringEventsJSONBody1

type IngestMeteringEventsJSONBody1 = []MeteringEvent

IngestMeteringEventsJSONBody1 defines parameters for IngestMeteringEvents.

type IngestMeteringEventsJSONRequestBody

type IngestMeteringEventsJSONRequestBody IngestMeteringEventsJSONBody

IngestMeteringEventsJSONRequestBody defines body for IngestMeteringEvents for application/json ContentType.

type IngestedEventPaginatedResponse

type IngestedEventPaginatedResponse struct {
	Data []MeteringIngestedEvent `json:"data"`

	// Meta Pagination metadata.
	Meta CursorMeta `json:"meta"`
}

IngestedEventPaginatedResponse Cursor paginated response.

type InvalidParamFormatError

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (*InvalidParamFormatError) Error

func (e *InvalidParamFormatError) Error() string

func (*InvalidParamFormatError) Unwrap

func (e *InvalidParamFormatError) Unwrap() error

type InvalidParameterChoiceItem

type InvalidParameterChoiceItem struct {
	Choices []interface{} `json:"choices"`
	Field   string        `json:"field"`
	Reason  string        `json:"reason"`

	// Rule invalid parameters rules
	Rule   InvalidParameterChoiceItemRule `json:"rule"`
	Source *string                        `json:"source,omitempty"`
}

InvalidParameterChoiceItem defines model for InvalidParameterChoiceItem.

type InvalidParameterChoiceItemRule

type InvalidParameterChoiceItemRule string

InvalidParameterChoiceItemRule invalid parameters rules

const (
	InvalidParameterChoiceItemRuleEnum InvalidParameterChoiceItemRule = "enum"
)

Defines values for InvalidParameterChoiceItemRule.

func (InvalidParameterChoiceItemRule) Valid

Valid indicates whether the value is a known member of the InvalidParameterChoiceItemRule enum.

type InvalidParameterDependentItem

type InvalidParameterDependentItem struct {
	Dependents nullable.Nullable[[]interface{}] `json:"dependents"`
	Field      string                           `json:"field"`
	Reason     string                           `json:"reason"`

	// Rule invalid parameters rules
	Rule   nullable.Nullable[InvalidParameterDependentItemRule] `json:"rule"`
	Source *string                                              `json:"source,omitempty"`
}

InvalidParameterDependentItem defines model for InvalidParameterDependentItem.

type InvalidParameterDependentItemRule

type InvalidParameterDependentItemRule string

InvalidParameterDependentItemRule invalid parameters rules

const (
	InvalidParameterDependentItemRuleDependentFields InvalidParameterDependentItemRule = "dependent_fields"
)

Defines values for InvalidParameterDependentItemRule.

func (InvalidParameterDependentItemRule) Valid

Valid indicates whether the value is a known member of the InvalidParameterDependentItemRule enum.

type InvalidParameterMaximumLength

type InvalidParameterMaximumLength struct {
	Field   string `json:"field"`
	Maximum int    `json:"maximum"`
	Reason  string `json:"reason"`

	// Rule invalid parameters rules
	Rule   InvalidParameterMaximumLengthRule `json:"rule"`
	Source *string                           `json:"source,omitempty"`
}

InvalidParameterMaximumLength defines model for InvalidParameterMaximumLength.

type InvalidParameterMaximumLengthRule

type InvalidParameterMaximumLengthRule string

InvalidParameterMaximumLengthRule invalid parameters rules

const (
	InvalidParameterMaximumLengthRuleMax       InvalidParameterMaximumLengthRule = "max"
	InvalidParameterMaximumLengthRuleMaxItems  InvalidParameterMaximumLengthRule = "max_items"
	InvalidParameterMaximumLengthRuleMaxLength InvalidParameterMaximumLengthRule = "max_length"
)

Defines values for InvalidParameterMaximumLengthRule.

func (InvalidParameterMaximumLengthRule) Valid

Valid indicates whether the value is a known member of the InvalidParameterMaximumLengthRule enum.

type InvalidParameterMinimumLength

type InvalidParameterMinimumLength struct {
	Field   string `json:"field"`
	Minimum int    `json:"minimum"`
	Reason  string `json:"reason"`

	// Rule invalid parameters rules
	Rule   InvalidParameterMinimumLengthRule `json:"rule"`
	Source *string                           `json:"source,omitempty"`
}

InvalidParameterMinimumLength defines model for InvalidParameterMinimumLength.

type InvalidParameterMinimumLengthRule

type InvalidParameterMinimumLengthRule string

InvalidParameterMinimumLengthRule invalid parameters rules

const (
	InvalidParameterMinimumLengthRuleMin          InvalidParameterMinimumLengthRule = "min"
	InvalidParameterMinimumLengthRuleMinDigits    InvalidParameterMinimumLengthRule = "min_digits"
	InvalidParameterMinimumLengthRuleMinItems     InvalidParameterMinimumLengthRule = "min_items"
	InvalidParameterMinimumLengthRuleMinLength    InvalidParameterMinimumLengthRule = "min_length"
	InvalidParameterMinimumLengthRuleMinLowercase InvalidParameterMinimumLengthRule = "min_lowercase"
	InvalidParameterMinimumLengthRuleMinSymbols   InvalidParameterMinimumLengthRule = "min_symbols"
	InvalidParameterMinimumLengthRuleMinUppercase InvalidParameterMinimumLengthRule = "min_uppercase"
)

Defines values for InvalidParameterMinimumLengthRule.

func (InvalidParameterMinimumLengthRule) Valid

Valid indicates whether the value is a known member of the InvalidParameterMinimumLengthRule enum.

type InvalidParameterStandard

type InvalidParameterStandard struct {
	Field  string `json:"field"`
	Reason string `json:"reason"`

	// Rule invalid parameters rules
	Rule   nullable.Nullable[InvalidRules] `json:"rule,omitempty"`
	Source *string                         `json:"source,omitempty"`
}

InvalidParameterStandard defines model for InvalidParameterStandard.

type InvalidParameters

type InvalidParameters = []InvalidParameters_Item

InvalidParameters invalid parameters

type InvalidParameters_Item

type InvalidParameters_Item struct {
	// contains filtered or unexported fields
}

InvalidParameters_Item defines model for InvalidParameters.Item.

func (InvalidParameters_Item) AsInvalidParameterChoiceItem

func (t InvalidParameters_Item) AsInvalidParameterChoiceItem() (InvalidParameterChoiceItem, error)

AsInvalidParameterChoiceItem returns the union data inside the InvalidParameters_Item as a InvalidParameterChoiceItem

func (InvalidParameters_Item) AsInvalidParameterDependentItem

func (t InvalidParameters_Item) AsInvalidParameterDependentItem() (InvalidParameterDependentItem, error)

AsInvalidParameterDependentItem returns the union data inside the InvalidParameters_Item as a InvalidParameterDependentItem

func (InvalidParameters_Item) AsInvalidParameterMaximumLength

func (t InvalidParameters_Item) AsInvalidParameterMaximumLength() (InvalidParameterMaximumLength, error)

AsInvalidParameterMaximumLength returns the union data inside the InvalidParameters_Item as a InvalidParameterMaximumLength

func (InvalidParameters_Item) AsInvalidParameterMinimumLength

func (t InvalidParameters_Item) AsInvalidParameterMinimumLength() (InvalidParameterMinimumLength, error)

AsInvalidParameterMinimumLength returns the union data inside the InvalidParameters_Item as a InvalidParameterMinimumLength

func (InvalidParameters_Item) AsInvalidParameterStandard

func (t InvalidParameters_Item) AsInvalidParameterStandard() (InvalidParameterStandard, error)

AsInvalidParameterStandard returns the union data inside the InvalidParameters_Item as a InvalidParameterStandard

func (*InvalidParameters_Item) FromInvalidParameterChoiceItem

func (t *InvalidParameters_Item) FromInvalidParameterChoiceItem(v InvalidParameterChoiceItem) error

FromInvalidParameterChoiceItem overwrites any union data inside the InvalidParameters_Item as the provided InvalidParameterChoiceItem

func (*InvalidParameters_Item) FromInvalidParameterDependentItem

func (t *InvalidParameters_Item) FromInvalidParameterDependentItem(v InvalidParameterDependentItem) error

FromInvalidParameterDependentItem overwrites any union data inside the InvalidParameters_Item as the provided InvalidParameterDependentItem

func (*InvalidParameters_Item) FromInvalidParameterMaximumLength

func (t *InvalidParameters_Item) FromInvalidParameterMaximumLength(v InvalidParameterMaximumLength) error

FromInvalidParameterMaximumLength overwrites any union data inside the InvalidParameters_Item as the provided InvalidParameterMaximumLength

func (*InvalidParameters_Item) FromInvalidParameterMinimumLength

func (t *InvalidParameters_Item) FromInvalidParameterMinimumLength(v InvalidParameterMinimumLength) error

FromInvalidParameterMinimumLength overwrites any union data inside the InvalidParameters_Item as the provided InvalidParameterMinimumLength

func (*InvalidParameters_Item) FromInvalidParameterStandard

func (t *InvalidParameters_Item) FromInvalidParameterStandard(v InvalidParameterStandard) error

FromInvalidParameterStandard overwrites any union data inside the InvalidParameters_Item as the provided InvalidParameterStandard

func (InvalidParameters_Item) MarshalJSON

func (t InvalidParameters_Item) MarshalJSON() ([]byte, error)

func (*InvalidParameters_Item) MergeInvalidParameterChoiceItem

func (t *InvalidParameters_Item) MergeInvalidParameterChoiceItem(v InvalidParameterChoiceItem) error

MergeInvalidParameterChoiceItem performs a merge with any union data inside the InvalidParameters_Item, using the provided InvalidParameterChoiceItem

func (*InvalidParameters_Item) MergeInvalidParameterDependentItem

func (t *InvalidParameters_Item) MergeInvalidParameterDependentItem(v InvalidParameterDependentItem) error

MergeInvalidParameterDependentItem performs a merge with any union data inside the InvalidParameters_Item, using the provided InvalidParameterDependentItem

func (*InvalidParameters_Item) MergeInvalidParameterMaximumLength

func (t *InvalidParameters_Item) MergeInvalidParameterMaximumLength(v InvalidParameterMaximumLength) error

MergeInvalidParameterMaximumLength performs a merge with any union data inside the InvalidParameters_Item, using the provided InvalidParameterMaximumLength

func (*InvalidParameters_Item) MergeInvalidParameterMinimumLength

func (t *InvalidParameters_Item) MergeInvalidParameterMinimumLength(v InvalidParameterMinimumLength) error

MergeInvalidParameterMinimumLength performs a merge with any union data inside the InvalidParameters_Item, using the provided InvalidParameterMinimumLength

func (*InvalidParameters_Item) MergeInvalidParameterStandard

func (t *InvalidParameters_Item) MergeInvalidParameterStandard(v InvalidParameterStandard) error

MergeInvalidParameterStandard performs a merge with any union data inside the InvalidParameters_Item, using the provided InvalidParameterStandard

func (*InvalidParameters_Item) UnmarshalJSON

func (t *InvalidParameters_Item) UnmarshalJSON(b []byte) error

type InvalidRules

type InvalidRules string

InvalidRules invalid parameters rules

const (
	InvalidRulesInvalid                                InvalidRules = "invalid"
	InvalidRulesIsArn                                  InvalidRules = "is_arn"
	InvalidRulesIsArray                                InvalidRules = "is_array"
	InvalidRulesIsBase64                               InvalidRules = "is_base64"
	InvalidRulesIsBoolean                              InvalidRules = "is_boolean"
	InvalidRulesIsDateTime                             InvalidRules = "is_date_time"
	InvalidRulesIsFqdn                                 InvalidRules = "is_fqdn"
	InvalidRulesIsInteger                              InvalidRules = "is_integer"
	InvalidRulesIsLabel                                InvalidRules = "is_label"
	InvalidRulesIsNull                                 InvalidRules = "is_null"
	InvalidRulesIsNumber                               InvalidRules = "is_number"
	InvalidRulesIsObject                               InvalidRules = "is_object"
	InvalidRulesIsString                               InvalidRules = "is_string"
	InvalidRulesIsSupportedNetworkAvailabilityZoneList InvalidRules = "is_supported_network_availability_zone_list"
	InvalidRulesIsSupportedNetworkCidrBlock            InvalidRules = "is_supported_network_cidr_block"
	InvalidRulesIsSupportedProviderRegion              InvalidRules = "is_supported_provider_region"
	InvalidRulesIsUuid                                 InvalidRules = "is_uuid"
	InvalidRulesMatchesRegex                           InvalidRules = "matches_regex"
	InvalidRulesMissingReference                       InvalidRules = "missing_reference"
	InvalidRulesRequired                               InvalidRules = "required"
	InvalidRulesType                                   InvalidRules = "type"
	InvalidRulesUnknownProperty                        InvalidRules = "unknown_property"
)

Defines values for InvalidRules.

func (InvalidRules) Valid

func (e InvalidRules) Valid() bool

Valid indicates whether the value is a known member of the InvalidRules enum.

type LLMCostModel

type LLMCostModel struct {
	// Id Identifier of the model, e.g., "gpt-4", "claude-3-5-sonnet".
	Id string `json:"id"`

	// Name Name of the model, e.g., "GPT-4", "Claude 3.5 Sonnet".
	Name string `json:"name"`
}

LLMCostModel LLM Model

type LLMCostModelPricing

type LLMCostModelPricing struct {
	// CacheReadPerToken Cache read price per token (USD).
	CacheReadPerToken *Numeric `json:"cache_read_per_token,omitempty"`

	// CacheWritePerToken Cache write price per token (USD).
	CacheWritePerToken *Numeric `json:"cache_write_per_token,omitempty"`

	// InputPerToken Input price per token (USD).
	InputPerToken Numeric `json:"input_per_token"`

	// OutputPerToken Output price per token (USD).
	OutputPerToken Numeric `json:"output_per_token"`

	// ReasoningPerToken Reasoning output price per token (USD).
	ReasoningPerToken *Numeric `json:"reasoning_per_token,omitempty"`
}

LLMCostModelPricing Token pricing for an LLM model, denominated per token.

type LLMCostOverrideCreate

type LLMCostOverrideCreate struct {
	// Currency Currency code.
	Currency CurrencyCode `json:"currency"`

	// EffectiveFrom When this override becomes effective.
	EffectiveFrom DateTime `json:"effective_from"`

	// EffectiveTo When this override expires.
	EffectiveTo *DateTime `json:"effective_to,omitempty"`

	// ModelId Canonical model identifier.
	ModelId string `json:"model_id"`

	// ModelName Human-readable model name.
	ModelName *string `json:"model_name,omitempty"`

	// Pricing Token pricing data.
	Pricing LLMCostModelPricing `json:"pricing"`

	// Provider Provider/vendor of the model.
	Provider string `json:"provider"`
}

LLMCostOverrideCreate Input for creating a per-namespace price override. Unique per provider, model and currency. If an override already exists for the given provider, model and currency, it will be updated. If an override does not exist, it will be created.

type LLMCostPrice

type LLMCostPrice struct {
	// CreatedAt Creation timestamp.
	CreatedAt DateTime `json:"created_at"`

	// Currency Currency code (currently always "USD").
	Currency CurrencyCode `json:"currency"`

	// EffectiveFrom When this price becomes effective.
	EffectiveFrom DateTime `json:"effective_from"`

	// EffectiveTo When this price expires. Omitted when the price is currently effective.
	EffectiveTo *DateTime `json:"effective_to,omitempty"`

	// Id Unique identifier.
	Id ULID `json:"id"`

	// Model The model.
	Model LLMCostModel `json:"model"`

	// Pricing Token pricing data.
	Pricing LLMCostModelPricing `json:"pricing"`

	// Provider Provider of the model.
	Provider LLMCostProvider `json:"provider"`

	// Source Where this price came from.
	Source LLMCostPriceSource `json:"source"`

	// UpdatedAt Last update timestamp.
	UpdatedAt DateTime `json:"updated_at"`
}

LLMCostPrice An LLM cost price record, representing the cost per token for a specific model from a specific provider.

type LLMCostPriceSource

type LLMCostPriceSource string

LLMCostPriceSource Identifies where an LLM cost price came from.

const (
	LLMCostPriceSourceManual LLMCostPriceSource = "manual"
	LLMCostPriceSourceSystem LLMCostPriceSource = "system"
)

Defines values for LLMCostPriceSource.

func (LLMCostPriceSource) Valid

func (e LLMCostPriceSource) Valid() bool

Valid indicates whether the value is a known member of the LLMCostPriceSource enum.

type LLMCostProvider

type LLMCostProvider struct {
	// Id Identifier of the provider, e.g., "openai", "anthropic".
	Id string `json:"id"`

	// Name Name of the provider, e.g., "OpenAI", "Anthropic".
	Name string `json:"name"`
}

LLMCostProvider LLM Provider

type Labels

type Labels map[string]string

Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.

Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".

type ListAddonsParams

type ListAddonsParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort add-ons returned in the response. Supported sort attributes are:
	//
	// - `id`
	// - `key`
	// - `name`
	// - `created_at` (default)
	// - `updated_at`
	//
	// The `asc` suffix is optional as the default sort order is ascending. The `desc`
	// suffix is used to specify a descending order.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter add-ons returned in the response.
	Filter *ListAddonsParamsFilter `json:"filter,omitempty"`
}

ListAddonsParams defines parameters for ListAddons.

type ListAddonsParamsFilter

type ListAddonsParamsFilter struct {
	// Currency Filters on the given string field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Currency *StringFieldFilterExact `json:"currency,omitempty"`

	// Id Filters on the given ULID field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Id *ULIDFieldFilter `json:"id,omitempty"`

	// Key Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Key *StringFieldFilter `json:"key,omitempty"`

	// Name Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Name *StringFieldFilter `json:"name,omitempty"`

	// Status Filters on the given string field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Status *StringFieldFilterExact `json:"status,omitempty"`
}

ListAddonsParamsFilter Filter options for listing add-ons.

type ListAppsParams

type ListAppsParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
}

ListAppsParams defines parameters for ListApps.

type ListBillingProfilesParams

type ListBillingProfilesParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
}

ListBillingProfilesParams defines parameters for ListBillingProfiles.

type ListChargesParamsFilter

type ListChargesParamsFilter struct {
	// Status Filter charges by status.
	//
	// Supported statuses are:
	//
	// - `created`
	// - `active`
	// - `final`
	// - `deleted`
	//
	// If omitted, all statuses are returned except for `deleted`.
	Status *StringFieldFilterExact `json:"status,omitempty"`
}

ListChargesParamsFilter Filter options for listing charges.

type ListCostBasesParams

type ListCostBasesParams struct {
	// Filter Filter cost bases returned in the response.
	//
	// To filter cost bases by fiat currency code add the following query param:
	// filter[fiat_code]=USD
	Filter *ListCostBasesParamsFilter `json:"filter,omitempty"`

	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
}

ListCostBasesParams defines parameters for ListCostBases.

type ListCostBasesParamsFilter

type ListCostBasesParamsFilter struct {
	// FiatCode Filter cost bases by fiat currency code.
	FiatCode *CurrencyCode `json:"fiat_code,omitempty"`
}

ListCostBasesParamsFilter Filter options for listing cost bases.

type ListCreditGrantsParams

type ListCreditGrantsParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Filter Filter credit grants returned in the response.
	Filter *ListCreditGrantsParamsFilter `json:"filter,omitempty"`
}

ListCreditGrantsParams defines parameters for ListCreditGrants.

type ListCreditGrantsParamsFilter

type ListCreditGrantsParamsFilter struct {
	// Currency Filter credit grants by currency.
	Currency *CurrencyCode `json:"currency,omitempty"`

	// Status Filter credit grants by status.
	Status *BillingCreditGrantStatus `json:"status,omitempty"`
}

ListCreditGrantsParamsFilter Filter options for listing credit grants.

type ListCreditTransactionsParams

type ListCreditTransactionsParams struct {
	Page *CursorPaginationQuery `json:"page,omitempty"`

	// Filter Filter credit transactions returned in the response.
	Filter *ListCreditTransactionsParamsFilter `json:"filter,omitempty"`
}

ListCreditTransactionsParams defines parameters for ListCreditTransactions.

type ListCreditTransactionsParamsFilter

type ListCreditTransactionsParamsFilter struct {
	// Currency Filter credit transactions by currency.
	Currency *BillingCurrencyCode `json:"currency,omitempty"`

	// Type Filter credit transactions by type.
	Type *BillingCreditTransactionType `json:"type,omitempty"`
}

ListCreditTransactionsParamsFilter Filter options for listing credit transactions.

type ListCurrenciesParams

type ListCurrenciesParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort currencies returned in the response. Supported sort attributes are:
	//
	// - `code` (default)
	// - `name`
	//
	// The `asc` suffix is optional as the default sort order is ascending. The `desc`
	// suffix is used to specify a descending order.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter currencies returned in the response.
	//
	// To filter currencies by type add the following query param: filter[type]=custom
	Filter *ListCurrenciesParamsFilter `json:"filter,omitempty"`
}

ListCurrenciesParams defines parameters for ListCurrencies.

type ListCurrenciesParamsFilter

type ListCurrenciesParamsFilter struct {
	// Code Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Code *StringFieldFilter `json:"code,omitempty"`

	// Type Currency type for custom currencies. It should be a unique code but not
	// conflicting with any existing standard currency codes.
	Type *BillingCurrencyType `json:"type,omitempty"`
}

ListCurrenciesParamsFilter Filter options for listing currencies.

type ListCustomerChargesParams

type ListCustomerChargesParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort charges returned in the response.
	//
	// Supported sort attributes are:
	//
	// - `id`
	// - `created_at`
	// - `service_period.from`
	// - `billing_period.from`
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter charges.
	//
	// To filter charges by status add the following query param:
	// `filter[status][oeq]=created,active`
	Filter *ListChargesParamsFilter `json:"filter,omitempty"`

	// Expand Expand full objects for referenced entities.
	//
	// Supported values are:
	//
	// - `real_time_usage`: Expand the charge's real-time usage.
	Expand *[]BillingChargesExpand `form:"expand,omitempty" json:"expand,omitempty"`
}

ListCustomerChargesParams defines parameters for ListCustomerCharges.

type ListCustomerEntitlementAccessResponseData

type ListCustomerEntitlementAccessResponseData struct {
	// Data The list of entitlement access results.
	Data []BillingEntitlementAccessResult `json:"data"`
}

ListCustomerEntitlementAccessResponseData List customer entitlement access response data.

type ListCustomersParams

type ListCustomersParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort customers returned in the response. Supported sort attributes are:
	//
	// - `id`
	// - `name` (default)
	// - `created_at`
	//
	// The `asc` suffix is optional as the default sort order is ascending. The `desc`
	// suffix is used to specify a descending order.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter customers returned in the response.
	//
	// To filter customers by key add the following query param: filter[key]=my-db-id
	Filter *ListCustomersParamsFilter `json:"filter,omitempty"`
}

ListCustomersParams defines parameters for ListCustomers.

type ListCustomersParamsFilter

type ListCustomersParamsFilter struct {
	// BillingProfileId Filters on the given ULID field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	BillingProfileId *ULIDFieldFilter `json:"billing_profile_id,omitempty"`

	// Key Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Key *StringFieldFilter `json:"key,omitempty"`

	// Name Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Name *StringFieldFilter `json:"name,omitempty"`

	// PlanKey Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	PlanKey *StringFieldFilter `json:"plan_key,omitempty"`

	// PrimaryEmail Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	PrimaryEmail *StringFieldFilter `json:"primary_email,omitempty"`

	// UsageAttributionSubjectKey Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	UsageAttributionSubjectKey *StringFieldFilter `json:"usage_attribution_subject_key,omitempty"`
}

ListCustomersParamsFilter Filter options for listing customers.

type ListEventsParamsFilter

type ListEventsParamsFilter struct {
	// CustomerId Filter events by the associated customer ID.
	CustomerId *ULIDFieldFilter `json:"customer_id,omitempty"`

	// Id Filter events by ID.
	Id *StringFieldFilter `json:"id,omitempty"`

	// IngestedAt Filter events by the time the event was ingested.
	IngestedAt *DateTimeFieldFilter `json:"ingested_at,omitempty"`

	// Source Filter events by source.
	Source *StringFieldFilter `json:"source,omitempty"`

	// StoredAt Filter events by the time the event was stored.
	StoredAt *DateTimeFieldFilter `json:"stored_at,omitempty"`

	// Subject Filter events by subject.
	Subject *StringFieldFilter `json:"subject,omitempty"`

	// Time Filter events by event time.
	Time *DateTimeFieldFilter `json:"time,omitempty"`

	// Type Filter events by type.
	Type *StringFieldFilter `json:"type,omitempty"`
}

ListEventsParamsFilter Filter options for listing ingested events.

type ListFeatureParamsFilter

type ListFeatureParamsFilter struct {
	// Key Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Key *StringFieldFilter `json:"key,omitempty"`

	// MeterId Filters on the given ULID field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	MeterId *ULIDFieldFilter `json:"meter_id,omitempty"`

	// Name Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Name *StringFieldFilter `json:"name,omitempty"`
}

ListFeatureParamsFilter Filter options for listing features.

type ListFeaturesParams

type ListFeaturesParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort features returned in the response. Supported sort attributes are:
	//
	// - `key`
	// - `name`
	// - `created_at` (default)
	// - `updated_at`
	//
	// The `asc` suffix is optional as the default sort order is ascending. The `desc`
	// suffix is used to specify a descending order.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter features returned in the response.
	//
	// To filter features by meter_id add the following query param:
	// filter[meter_id][oeq]=<id>
	Filter *ListFeatureParamsFilter `json:"filter,omitempty"`
}

ListFeaturesParams defines parameters for ListFeatures.

type ListLLMCostPricesParamsFilter

type ListLLMCostPricesParamsFilter struct {
	// Currency Filter by currency code. e.g. ?filter[currency][eq]=USD
	Currency *StringFieldFilter `json:"currency,omitempty"`

	// ModelId Filter by model ID. e.g. ?filter[model_id][eq]=gpt-4
	ModelId *StringFieldFilter `json:"model_id,omitempty"`

	// ModelName Filter by model name. e.g. ?filter[model_name][contains]=gpt
	ModelName *StringFieldFilter `json:"model_name,omitempty"`

	// Provider Filter by provider. e.g. ?filter[provider][eq]=openai
	Provider *StringFieldFilter `json:"provider,omitempty"`

	// Source Filter by source. e.g. ?filter[source][eq]=system
	Source *StringFieldFilter `json:"source,omitempty"`
}

ListLLMCostPricesParamsFilter Filter options for listing LLM cost prices.

type ListLlmCostOverridesParams

type ListLlmCostOverridesParams struct {
	Filter *ListLLMCostPricesParamsFilter `json:"filter,omitempty"`

	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
}

ListLlmCostOverridesParams defines parameters for ListLlmCostOverrides.

type ListLlmCostPricesParams

type ListLlmCostPricesParams struct {
	// Filter Filter prices.
	Filter *ListLLMCostPricesParamsFilter `json:"filter,omitempty"`

	// Sort Sort prices returned in the response. Supported sort attributes are:
	//
	// - `id`
	// - `provider.id`
	// - `model.id` (default)
	// - `effective_from`
	// - `effective_to`
	//
	// The `asc` suffix is optional as the default sort order is ascending. The `desc`
	// suffix is used to specify a descending order.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
}

ListLlmCostPricesParams defines parameters for ListLlmCostPrices.

type ListMeteringEventsParams

type ListMeteringEventsParams struct {
	Page *CursorPaginationQuery `json:"page,omitempty"`

	// Filter Filter events returned in the response.
	//
	// To filter events by subject add the following query param:
	// filter[subject][eq]=customer-1
	Filter *ListEventsParamsFilter `json:"filter,omitempty"`

	// Sort Sort events returned in the response. Supported sort attributes are:
	//
	// - `time` (default)
	// - `ingested_at`
	// - `stored_at`
	//
	// When omitted, events are sorted by `time desc` (most recent first). When a sort
	// field is provided without a suffix, it sorts descending. Append the `asc` suffix
	// to sort ascending, or the `desc` suffix to sort descending.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`
}

ListMeteringEventsParams defines parameters for ListMeteringEvents.

type ListMetersParams

type ListMetersParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort meters returned in the response. Supported sort attributes are:
	//
	// - `key`
	// - `name`
	// - `aggregation`
	// - `createdAt` (default)
	// - `updatedAt`
	//
	// The `asc` suffix is optional as the default sort order is ascending. The `desc`
	// suffix is used to specify a descending order.
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter meters returned in the response.
	//
	// To filter meters by key add the following query param: filter[key]=my-meter-key
	Filter *ListMetersParamsFilter `json:"filter,omitempty"`
}

ListMetersParams defines parameters for ListMeters.

type ListMetersParamsFilter

type ListMetersParamsFilter struct {
	// Key Filter meters by key.
	Key *StringFieldFilter `json:"key,omitempty"`

	// Name Filter meters by name.
	Name *StringFieldFilter `json:"name,omitempty"`
}

ListMetersParamsFilter Filter options for listing meters.

type ListPlanAddonsParams

type ListPlanAddonsParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
}

ListPlanAddonsParams defines parameters for ListPlanAddons.

type ListPlansParams

type ListPlansParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort plans returned in the response. Supported sort attributes are:
	//
	// - `id`
	// - `key`
	// - `version`
	// - `created_at` (default)
	// - `updated_at`
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter plans returned in the response.
	Filter *ListPlansParamsFilter `json:"filter,omitempty"`
}

ListPlansParams defines parameters for ListPlans.

type ListPlansParamsFilter

type ListPlansParamsFilter struct {
	// Currency Filters on the given string field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Currency *StringFieldFilterExact `json:"currency,omitempty"`

	// Key Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Key *StringFieldFilter `json:"key,omitempty"`

	// Name Filters on the given string field value by either exact or fuzzy match. All
	// properties are optional; provide exactly one to specify the comparison.
	Name *StringFieldFilter `json:"name,omitempty"`

	// Status Filters on the given string field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Status *StringFieldFilterExact `json:"status,omitempty"`
}

ListPlansParamsFilter Filter options for listing plans.

type ListSubscriptionAddonsParams

type ListSubscriptionAddonsParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`
	Sort *SortQuery           `form:"sort,omitempty" json:"sort,omitempty"`
}

ListSubscriptionAddonsParams defines parameters for ListSubscriptionAddons.

type ListSubscriptionsParams

type ListSubscriptionsParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// Sort Sort subscriptions returned in the response. Supported sort attributes are:
	//
	// - `id`
	// - `active_from` (default)
	// - `active_to`
	Sort *SortQuery `form:"sort,omitempty" json:"sort,omitempty"`

	// Filter Filter subscriptions.
	Filter *ListSubscriptionsParamsFilter `json:"filter,omitempty"`
}

ListSubscriptionsParams defines parameters for ListSubscriptions.

type ListSubscriptionsParamsFilter

type ListSubscriptionsParamsFilter struct {
	// CustomerId Filters on the given ULID field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	CustomerId *ULIDFieldFilter `json:"customer_id,omitempty"`

	// Id Filters on the given ULID field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Id *ULIDFieldFilter `json:"id,omitempty"`

	// PlanId Filters on the given ULID field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	PlanId *ULIDFieldFilter `json:"plan_id,omitempty"`

	// PlanKey Filters on the given string field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	PlanKey *StringFieldFilterExact `json:"plan_key,omitempty"`

	// Status Filters on the given string field value by exact match. All properties are
	// optional; provide exactly one to specify the comparison.
	Status *StringFieldFilterExact `json:"status,omitempty"`
}

ListSubscriptionsParamsFilter Filter options for listing subscriptions.

type ListTaxCodesParams

type ListTaxCodesParams struct {
	// Page Determines which page of the collection to retrieve.
	Page *PagePaginationQuery `json:"page,omitempty"`

	// IncludeDeleted Include deleted tax codes in the response.
	IncludeDeleted *bool `form:"include_deleted,omitempty" json:"include_deleted,omitempty"`
}

ListTaxCodesParams defines parameters for ListTaxCodes.

type Meter

type Meter struct {
	// Aggregation The aggregation type to use for the meter.
	Aggregation MeterAggregation `json:"aggregation"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Dimensions Named JSONPath expressions to extract the group by values from the event data.
	//
	// Keys must be unique and consist only alphanumeric and underscore characters.
	Dimensions *map[string]string `json:"dimensions,omitempty"`

	// EventType The event type to include in the aggregation.
	EventType string `json:"event_type"`

	// EventsFrom The date since the meter should include events. Useful to skip old events. If
	// not specified, all historical events are included.
	EventsFrom *DateTime `json:"events_from,omitempty"`
	Id         ULID      `json:"id"`

	// Key A key is a unique string that is used to identify a resource.
	Key ResourceKey `json:"key"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// ValueProperty JSONPath expression to extract the value from the ingested event's data
	// property.
	//
	// The ingested value for sum, avg, min, and max aggregations is a number or a
	// string that can be parsed to a number.
	//
	// For unique_count aggregation, the ingested value must be a string. For count
	// aggregation the value_property is ignored.
	ValueProperty *string `json:"value_property,omitempty"`
}

Meter A meter is a configuration that defines how to match and aggregate events.

type MeterAggregation

type MeterAggregation string

MeterAggregation The aggregation type to use for the meter.

const (
	MeterAggregationAvg         MeterAggregation = "avg"
	MeterAggregationCount       MeterAggregation = "count"
	MeterAggregationLatest      MeterAggregation = "latest"
	MeterAggregationMax         MeterAggregation = "max"
	MeterAggregationMin         MeterAggregation = "min"
	MeterAggregationSum         MeterAggregation = "sum"
	MeterAggregationUniqueCount MeterAggregation = "unique_count"
)

Defines values for MeterAggregation.

func (MeterAggregation) Valid

func (e MeterAggregation) Valid() bool

Valid indicates whether the value is a known member of the MeterAggregation enum.

type MeterPagePaginatedResponse

type MeterPagePaginatedResponse struct {
	Data []Meter `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

MeterPagePaginatedResponse Page paginated response.

type MeterQueryFilters

type MeterQueryFilters struct {
	// Dimensions Filters to apply to the dimensions of the query. For `subject` and `customer_id`
	// only equals ("eq", "in") comparisons are supported.
	Dimensions *map[string]QueryFilterStringMapItem `json:"dimensions,omitempty"`
}

MeterQueryFilters Filters to apply to a meter query.

type MeterQueryGranularity

type MeterQueryGranularity string

MeterQueryGranularity The granularity of the time grouping. Time durations are specified in ISO 8601 format.

const (
	MeterQueryGranularityP1D  MeterQueryGranularity = "P1D"
	MeterQueryGranularityP1M  MeterQueryGranularity = "P1M"
	MeterQueryGranularityPT1H MeterQueryGranularity = "PT1H"
	MeterQueryGranularityPT1M MeterQueryGranularity = "PT1M"
)

Defines values for MeterQueryGranularity.

func (MeterQueryGranularity) Valid

func (e MeterQueryGranularity) Valid() bool

Valid indicates whether the value is a known member of the MeterQueryGranularity enum.

type MeterQueryRequest

type MeterQueryRequest struct {
	// Filters Filters to apply to the query.
	Filters *MeterQueryFilters `json:"filters,omitempty"`

	// From The start of the period the usage is queried from.
	From *DateTime `json:"from,omitempty"`

	// Granularity The size of the time buckets to group the usage into. If not specified, the
	// usage is aggregated over the entire period.
	Granularity *MeterQueryGranularity `json:"granularity,omitempty"`

	// GroupByDimensions The dimensions to group the results by.
	GroupByDimensions *[]string `json:"group_by_dimensions,omitempty"`

	// TimeZone The value is the name of the time zone as defined in the IANA Time Zone Database
	// (http://www.iana.org/time-zones). The time zone is used to determine the start
	// and end of the time buckets. If not specified, the UTC timezone will be used.
	TimeZone *string `json:"time_zone,omitempty"`

	// To The end of the period the usage is queried to.
	To *DateTime `json:"to,omitempty"`
}

MeterQueryRequest A meter query request.

type MeterQueryResult

type MeterQueryResult struct {
	// Data The usage data. If no data is available, an empty array is returned.
	Data []MeterQueryRow `json:"data"`

	// From The start of the period the usage is queried from.
	From *DateTime `json:"from,omitempty"`

	// To The end of the period the usage is queried to.
	To *DateTime `json:"to,omitempty"`
}

MeterQueryResult Meter query result.

type MeterQueryRow

type MeterQueryRow struct {
	// Dimensions The dimensions the value is aggregated over. `subject` and `customer_id` are
	// reserved dimensions.
	Dimensions map[string]string `json:"dimensions"`

	// From The start of the time bucket the value is aggregated over.
	From DateTime `json:"from"`

	// To The end of the time bucket the value is aggregated over.
	To DateTime `json:"to"`

	// Value The aggregated value.
	Value Numeric `json:"value"`
}

MeterQueryRow A row in the result of a meter query.

type MeteringEvent

type MeteringEvent struct {
	// Data The event payload. Optional, if present it must be a JSON object.
	Data nullable.Nullable[map[string]interface{}] `json:"data,omitempty"`

	// Datacontenttype Content type of the CloudEvents data value. Only the value "application/json" is
	// allowed over HTTP.
	Datacontenttype nullable.Nullable[MeteringEventDatacontenttype] `json:"datacontenttype,omitempty"`

	// Dataschema Identifies the schema that data adheres to.
	Dataschema nullable.Nullable[string] `json:"dataschema,omitempty"`

	// Id Identifies the event.
	Id string `json:"id"`

	// Source Identifies the context in which an event happened.
	Source string `json:"source"`

	// Specversion The version of the CloudEvents specification which the event uses.
	Specversion string `json:"specversion"`

	// Subject Describes the subject of the event in the context of the event producer
	// (identified by source).
	Subject string `json:"subject"`

	// Time Timestamp of when the occurrence happened. Must adhere to RFC 3339.
	Time nullable.Nullable[DateTime] `json:"time,omitempty"`

	// Type Contains a value describing the type of event related to the originating
	// occurrence.
	Type string `json:"type"`
}

MeteringEvent Metering event following the CloudEvents specification.

type MeteringEventDatacontenttype

type MeteringEventDatacontenttype string

MeteringEventDatacontenttype Content type of the CloudEvents data value. Only the value "application/json" is allowed over HTTP.

const (
	MeteringEventDatacontenttypeApplicationjson MeteringEventDatacontenttype = "application/json"
)

Defines values for MeteringEventDatacontenttype.

func (MeteringEventDatacontenttype) Valid

Valid indicates whether the value is a known member of the MeteringEventDatacontenttype enum.

type MeteringIngestedEvent

type MeteringIngestedEvent struct {
	// Customer The customer if the event is associated with a customer.
	Customer *CustomerReference `json:"customer,omitempty"`

	// Event The original event ingested.
	Event MeteringEvent `json:"event"`

	// IngestedAt The date and time the event was ingested and its processing started.
	IngestedAt DateTime `json:"ingested_at"`

	// StoredAt The date and time the event was stored in the database.
	StoredAt DateTime `json:"stored_at"`

	// ValidationErrors The validation errors of the ingested event.
	ValidationErrors *[]MeteringIngestedEventValidationError `json:"validation_errors,omitempty"`
}

MeteringIngestedEvent An ingested metering event with ingestion metadata.

type MeteringIngestedEventValidationError

type MeteringIngestedEventValidationError struct {
	// Attributes Additional attributes.
	Attributes *map[string]interface{} `json:"attributes,omitempty"`

	// Code The machine readable code of the error.
	Code string `json:"code"`

	// Message The human readable description of the error.
	Message string `json:"message"`
}

MeteringIngestedEventValidationError Event validation errors.

type MiddlewareFunc

type MiddlewareFunc func(http.Handler) http.Handler

type NotFound

type NotFound = NotFoundError

NotFound defines model for NotFound.

type NotFoundError

type NotFoundError struct {
	Detail   interface{} `json:"detail"`
	Instance interface{} `json:"instance"`
	Status   interface{} `json:"status"`
	Title    interface{} `json:"title"`
	Type     interface{} `json:"type,omitempty"`
}

NotFoundError defines model for NotFoundError.

type Numeric

type Numeric = string

Numeric Numeric represents an arbitrary precision number.

type OrganizationDefaultTaxCodes

type OrganizationDefaultTaxCodes struct {
	// CreatedAt Timestamp of creation.
	CreatedAt DateTime `json:"created_at"`

	// CreditGrantTaxCode Default tax code for credit grants.
	CreditGrantTaxCode TaxCodeReference `json:"credit_grant_tax_code"`

	// InvoicingTaxCode Default tax code for invoicing.
	InvoicingTaxCode TaxCodeReference `json:"invoicing_tax_code"`

	// UpdatedAt Timestamp of last update.
	UpdatedAt DateTime `json:"updated_at"`
}

OrganizationDefaultTaxCodes Organization-level default tax code references.

Stores the default tax codes applied to specific billing contexts for this organization. Provisioned automatically when the organization is created.

type PageMeta

type PageMeta struct {
	Number float32 `json:"number"`
	Size   float32 `json:"size"`
	Total  float32 `json:"total"`
}

PageMeta Contains pagination query parameters and the total number of objects returned.

type PagePaginationQuery

type PagePaginationQuery struct {
	// Number The page number.
	Number *int `json:"number,omitempty"`

	// Size The number of items to include per page.
	Size *int `json:"size,omitempty"`
}

PagePaginationQuery defines model for PagePaginationQuery.

type PaginatedMeta

type PaginatedMeta struct {
	// Page Contains pagination query parameters and the total number of objects returned.
	Page PageMeta `json:"page"`
}

PaginatedMeta returns the pagination information

type PlanAddon

type PlanAddon struct {
	// Addon The add-on associated with the plan.
	Addon AddonReferenceItem `json:"addon"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// FromPlanPhase The key of the plan phase from which the add-on becomes available for purchase.
	FromPlanPhase ResourceKey `json:"from_plan_phase"`
	Id            ULID        `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// MaxQuantity The maximum number of times the add-on can be purchased for the plan. For
	// single-instance add-ons this field must be omitted. For multi-instance add-ons
	// when omitted, unlimited quantity can be purchased.
	MaxQuantity *int `json:"max_quantity,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`

	// ValidationErrors List of validation errors.
	ValidationErrors *[]ProductCatalogValidationError `json:"validation_errors,omitempty"`
}

PlanAddon PlanAddon represents an association between a plan and an add-on, controlling which add-ons are available for purchase within a plan.

type PlanAddonPagePaginatedResponse

type PlanAddonPagePaginatedResponse struct {
	Data []PlanAddon `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

PlanAddonPagePaginatedResponse Page paginated response.

type PlanPagePaginatedResponse

type PlanPagePaginatedResponse struct {
	Data []BillingPlan `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

PlanPagePaginatedResponse Page paginated response.

type PricePagePaginatedResponse

type PricePagePaginatedResponse struct {
	Data []LLMCostPrice `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

PricePagePaginatedResponse Page paginated response.

type ProductCatalogValidationError

type ProductCatalogValidationError struct {
	// Attributes Additional structured context.
	Attributes *map[string]interface{} `json:"attributes,omitempty"`

	// Code Machine-readable error code.
	Code string `json:"code"`

	// Field The path to the field.
	Field string `json:"field"`

	// Message Human-readable description of the error.
	Message string `json:"message"`
}

ProductCatalogValidationError Validation errors providing detailed description of the issue.

type QueryFeatureCostJSONRequestBody

type QueryFeatureCostJSONRequestBody = MeterQueryRequest

QueryFeatureCostJSONRequestBody defines body for QueryFeatureCost for application/json ContentType.

type QueryFilterString

type QueryFilterString struct {
	// And Combines the provided filters with a logical AND.
	And *[]QueryFilterString `json:"and,omitempty"`

	// Contains The attribute contains the provided value.
	Contains *string `json:"contains,omitempty"`

	// Eq The attribute equals the provided value.
	Eq *string `json:"eq,omitempty"`

	// In The attribute is one of the provided values.
	In *[]string `json:"in,omitempty"`

	// Ncontains The attribute does not contain the provided value.
	Ncontains *string `json:"ncontains,omitempty"`

	// Neq The attribute does not equal the provided value.
	Neq *string `json:"neq,omitempty"`

	// Nin The attribute is not one of the provided values.
	Nin *[]string `json:"nin,omitempty"`

	// Or Combines the provided filters with a logical OR.
	Or *[]QueryFilterString `json:"or,omitempty"`
}

QueryFilterString A query filter for a string attribute. Operators are mutually exclusive, only one operator is allowed at a time.

type QueryFilterStringMapItem

type QueryFilterStringMapItem struct {
	// And Combines the provided filters with a logical AND.
	And *[]QueryFilterString `json:"and,omitempty"`

	// Contains The attribute contains the provided value.
	Contains *string `json:"contains,omitempty"`

	// Eq The attribute equals the provided value.
	Eq *string `json:"eq,omitempty"`

	// Exists The attribute exists.
	Exists *bool `json:"exists,omitempty"`

	// In The attribute is one of the provided values.
	In *[]string `json:"in,omitempty"`

	// Ncontains The attribute does not contain the provided value.
	Ncontains *string `json:"ncontains,omitempty"`

	// Neq The attribute does not equal the provided value.
	Neq *string `json:"neq,omitempty"`

	// Nin The attribute is not one of the provided values.
	Nin *[]string `json:"nin,omitempty"`

	// Or Combines the provided filters with a logical OR.
	Or *[]QueryFilterString `json:"or,omitempty"`
}

QueryFilterStringMapItem A query filter for an item in a string map attribute. Operators are mutually exclusive, only one operator is allowed at a time.

type QueryGovernanceAccessJSONRequestBody

type QueryGovernanceAccessJSONRequestBody = GovernanceQueryRequest

QueryGovernanceAccessJSONRequestBody defines body for QueryGovernanceAccess for application/json ContentType.

type QueryGovernanceAccessParams

type QueryGovernanceAccessParams struct {
	Page *CursorPaginationQuery `json:"page,omitempty"`
}

QueryGovernanceAccessParams defines parameters for QueryGovernanceAccess.

type QueryMeterJSONRequestBody

type QueryMeterJSONRequestBody = MeterQueryRequest

QueryMeterJSONRequestBody defines body for QueryMeter for application/json ContentType.

type RecurringPeriod

type RecurringPeriod struct {
	// Anchor A date-time anchor to base the recurring period on.
	Anchor DateTime `json:"anchor"`

	// Interval The interval duration in ISO 8601 format.
	Interval ISO8601Duration `json:"interval"`
}

RecurringPeriod Recurring period with an anchor and an interval.

type RequiredHeaderError

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (*RequiredHeaderError) Error

func (e *RequiredHeaderError) Error() string

func (*RequiredHeaderError) Unwrap

func (e *RequiredHeaderError) Unwrap() error

type RequiredParamError

type RequiredParamError struct {
	ParamName string
}

func (*RequiredParamError) Error

func (e *RequiredParamError) Error() string

type ResourceKey

type ResourceKey = string

ResourceKey A key is a unique string that is used to identify a resource.

type ResourceManagedBy

type ResourceManagedBy string

ResourceManagedBy Identifies which system manages a resource.

Values:

- `manual`: The resource is managed manually (overridden by our API users). - `system`: The resource is managed by the system. - `subscription`: The resource is managed by the subscription.

const (
	ResourceManagedByManual       ResourceManagedBy = "manual"
	ResourceManagedBySubscription ResourceManagedBy = "subscription"
	ResourceManagedBySystem       ResourceManagedBy = "system"
)

Defines values for ResourceManagedBy.

func (ResourceManagedBy) Valid

func (e ResourceManagedBy) Valid() bool

Valid indicates whether the value is a known member of the ResourceManagedBy enum.

type ServerInterface

type ServerInterface interface {
	// List add-ons
	// (GET /openmeter/addons)
	ListAddons(w http.ResponseWriter, r *http.Request, params ListAddonsParams)
	// Create add-on
	// (POST /openmeter/addons)
	CreateAddon(w http.ResponseWriter, r *http.Request)
	// Soft delete add-on
	// (DELETE /openmeter/addons/{addonId})
	DeleteAddon(w http.ResponseWriter, r *http.Request, addonId ULID)
	// Get add-on
	// (GET /openmeter/addons/{addonId})
	GetAddon(w http.ResponseWriter, r *http.Request, addonId ULID)
	// Update add-on
	// (PUT /openmeter/addons/{addonId})
	UpdateAddon(w http.ResponseWriter, r *http.Request, addonId ULID)
	// Archive add-on version
	// (POST /openmeter/addons/{addonId}/archive)
	ArchiveAddon(w http.ResponseWriter, r *http.Request, addonId ULID)
	// Publish add-on version
	// (POST /openmeter/addons/{addonId}/publish)
	PublishAddon(w http.ResponseWriter, r *http.Request, addonId ULID)
	// List apps
	// (GET /openmeter/apps)
	ListApps(w http.ResponseWriter, r *http.Request, params ListAppsParams)
	// Get app
	// (GET /openmeter/apps/{appId})
	GetApp(w http.ResponseWriter, r *http.Request, appId ULID)
	// List currencies
	// (GET /openmeter/currencies)
	ListCurrencies(w http.ResponseWriter, r *http.Request, params ListCurrenciesParams)
	// Create custom currency
	// (POST /openmeter/currencies/custom)
	CreateCustomCurrency(w http.ResponseWriter, r *http.Request)
	// List cost bases
	// (GET /openmeter/currencies/custom/{currencyId}/cost-bases)
	ListCostBases(w http.ResponseWriter, r *http.Request, currencyId ULID, params ListCostBasesParams)
	// Create cost basis
	// (POST /openmeter/currencies/custom/{currencyId}/cost-bases)
	CreateCostBasis(w http.ResponseWriter, r *http.Request, currencyId ULID)
	// List customers
	// (GET /openmeter/customers)
	ListCustomers(w http.ResponseWriter, r *http.Request, params ListCustomersParams)
	// Create customer
	// (POST /openmeter/customers)
	CreateCustomer(w http.ResponseWriter, r *http.Request)
	// Delete customer
	// (DELETE /openmeter/customers/{customerId})
	DeleteCustomer(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Get customer
	// (GET /openmeter/customers/{customerId})
	GetCustomer(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Upsert customer
	// (PUT /openmeter/customers/{customerId})
	UpsertCustomer(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Get customer billing data
	// (GET /openmeter/customers/{customerId}/billing)
	GetCustomerBilling(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Update customer billing data
	// (PUT /openmeter/customers/{customerId}/billing)
	UpdateCustomerBilling(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Update customer billing app data
	// (PUT /openmeter/customers/{customerId}/billing/app-data)
	UpdateCustomerBillingAppData(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Create Stripe Checkout Session
	// (POST /openmeter/customers/{customerId}/billing/stripe/checkout-sessions)
	CreateCustomerStripeCheckoutSession(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Create Stripe customer portal session
	// (POST /openmeter/customers/{customerId}/billing/stripe/portal-sessions)
	CreateCustomerStripePortalSession(w http.ResponseWriter, r *http.Request, customerId ULID)
	// List customer charges
	// (GET /openmeter/customers/{customerId}/charges)
	ListCustomerCharges(w http.ResponseWriter, r *http.Request, customerId ULID, params ListCustomerChargesParams)
	// Create a credit adjustment
	// (POST /openmeter/customers/{customerId}/credits/adjustments)
	CreateCreditAdjustment(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Get a customer's credit balance
	// (GET /openmeter/customers/{customerId}/credits/balance)
	GetCustomerCreditBalance(w http.ResponseWriter, r *http.Request, customerId ULID, params GetCustomerCreditBalanceParams)
	// List credit grants
	// (GET /openmeter/customers/{customerId}/credits/grants)
	ListCreditGrants(w http.ResponseWriter, r *http.Request, customerId ULID, params ListCreditGrantsParams)
	// Create a new credit grant
	// (POST /openmeter/customers/{customerId}/credits/grants)
	CreateCreditGrant(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Get a credit grant
	// (GET /openmeter/customers/{customerId}/credits/grants/{creditGrantId})
	GetCreditGrant(w http.ResponseWriter, r *http.Request, customerId ULID, creditGrantId ULID)
	// Update credit grant external settlement status
	// (POST /openmeter/customers/{customerId}/credits/grants/{creditGrantId}/settlement/external)
	UpdateCreditGrantExternalSettlement(w http.ResponseWriter, r *http.Request, customerId ULID, creditGrantId ULID)
	// List credit transactions
	// (GET /openmeter/customers/{customerId}/credits/transactions)
	ListCreditTransactions(w http.ResponseWriter, r *http.Request, customerId ULID, params ListCreditTransactionsParams)
	// List customer entitlement access
	// (GET /openmeter/customers/{customerId}/entitlement-access)
	ListCustomerEntitlementAccess(w http.ResponseWriter, r *http.Request, customerId ULID)
	// Get organization default tax codes
	// (GET /openmeter/defaults/tax-codes)
	GetOrganizationDefaultTaxCodes(w http.ResponseWriter, r *http.Request)
	// Update organization default tax codes
	// (PUT /openmeter/defaults/tax-codes)
	UpdateOrganizationDefaultTaxCodes(w http.ResponseWriter, r *http.Request)
	// List metering events
	// (GET /openmeter/events)
	ListMeteringEvents(w http.ResponseWriter, r *http.Request, params ListMeteringEventsParams)
	// Ingest metering events
	// (POST /openmeter/events)
	IngestMeteringEvents(w http.ResponseWriter, r *http.Request)
	// List features
	// (GET /openmeter/features)
	ListFeatures(w http.ResponseWriter, r *http.Request, params ListFeaturesParams)
	// Create feature
	// (POST /openmeter/features)
	CreateFeature(w http.ResponseWriter, r *http.Request)
	// Delete feature
	// (DELETE /openmeter/features/{featureId})
	DeleteFeature(w http.ResponseWriter, r *http.Request, featureId ULID)
	// Get feature
	// (GET /openmeter/features/{featureId})
	GetFeature(w http.ResponseWriter, r *http.Request, featureId ULID)
	// Update feature
	// (PATCH /openmeter/features/{featureId})
	UpdateFeature(w http.ResponseWriter, r *http.Request, featureId ULID)
	// Query feature cost
	// (POST /openmeter/features/{featureId}/cost/query)
	QueryFeatureCost(w http.ResponseWriter, r *http.Request, featureId ULID)
	// Query governance access
	// (POST /openmeter/governance/query)
	QueryGovernanceAccess(w http.ResponseWriter, r *http.Request, params QueryGovernanceAccessParams)
	// List LLM cost overrides
	// (GET /openmeter/llm-cost/overrides)
	ListLlmCostOverrides(w http.ResponseWriter, r *http.Request, params ListLlmCostOverridesParams)
	// Create LLM cost override
	// (POST /openmeter/llm-cost/overrides)
	CreateLlmCostOverride(w http.ResponseWriter, r *http.Request)
	// Delete LLM cost override
	// (DELETE /openmeter/llm-cost/overrides/{priceId})
	DeleteLlmCostOverride(w http.ResponseWriter, r *http.Request, priceId ULID)
	// List LLM cost prices
	// (GET /openmeter/llm-cost/prices)
	ListLlmCostPrices(w http.ResponseWriter, r *http.Request, params ListLlmCostPricesParams)
	// Get LLM cost price
	// (GET /openmeter/llm-cost/prices/{priceId})
	GetLlmCostPrice(w http.ResponseWriter, r *http.Request, priceId ULID)
	// List meters
	// (GET /openmeter/meters)
	ListMeters(w http.ResponseWriter, r *http.Request, params ListMetersParams)
	// Create meter
	// (POST /openmeter/meters)
	CreateMeter(w http.ResponseWriter, r *http.Request)
	// Delete meter
	// (DELETE /openmeter/meters/{meterId})
	DeleteMeter(w http.ResponseWriter, r *http.Request, meterId ULID)
	// Get meter
	// (GET /openmeter/meters/{meterId})
	GetMeter(w http.ResponseWriter, r *http.Request, meterId ULID)
	// Update meter
	// (PUT /openmeter/meters/{meterId})
	UpdateMeter(w http.ResponseWriter, r *http.Request, meterId ULID)
	// Query meter
	// (POST /openmeter/meters/{meterId}/query)
	QueryMeter(w http.ResponseWriter, r *http.Request, meterId ULID)
	// List plans
	// (GET /openmeter/plans)
	ListPlans(w http.ResponseWriter, r *http.Request, params ListPlansParams)
	// Create plan
	// (POST /openmeter/plans)
	CreatePlan(w http.ResponseWriter, r *http.Request)
	// Delete plan
	// (DELETE /openmeter/plans/{planId})
	DeletePlan(w http.ResponseWriter, r *http.Request, planId ULID)
	// Get plan
	// (GET /openmeter/plans/{planId})
	GetPlan(w http.ResponseWriter, r *http.Request, planId ULID)
	// Update plan
	// (PUT /openmeter/plans/{planId})
	UpdatePlan(w http.ResponseWriter, r *http.Request, planId ULID)
	// List add-ons for plan
	// (GET /openmeter/plans/{planId}/addons)
	ListPlanAddons(w http.ResponseWriter, r *http.Request, planId ULID, params ListPlanAddonsParams)
	// Add add-on to plan
	// (POST /openmeter/plans/{planId}/addons)
	CreatePlanAddon(w http.ResponseWriter, r *http.Request, planId ULID)
	// Remove add-on from plan
	// (DELETE /openmeter/plans/{planId}/addons/{planAddonId})
	DeletePlanAddon(w http.ResponseWriter, r *http.Request, planId ULID, planAddonId ULID)
	// Get add-on association for plan
	// (GET /openmeter/plans/{planId}/addons/{planAddonId})
	GetPlanAddon(w http.ResponseWriter, r *http.Request, planId ULID, planAddonId ULID)
	// Update add-on association for plan
	// (PUT /openmeter/plans/{planId}/addons/{planAddonId})
	UpdatePlanAddon(w http.ResponseWriter, r *http.Request, planId ULID, planAddonId ULID)
	// Archive plan version
	// (POST /openmeter/plans/{planId}/archive)
	ArchivePlan(w http.ResponseWriter, r *http.Request, planId ULID)
	// Publish plan version
	// (POST /openmeter/plans/{planId}/publish)
	PublishPlan(w http.ResponseWriter, r *http.Request, planId ULID)
	// List billing profiles
	// (GET /openmeter/profiles)
	ListBillingProfiles(w http.ResponseWriter, r *http.Request, params ListBillingProfilesParams)
	// Create a new billing profile
	// (POST /openmeter/profiles)
	CreateBillingProfile(w http.ResponseWriter, r *http.Request)
	// Delete a billing profile
	// (DELETE /openmeter/profiles/{id})
	DeleteBillingProfile(w http.ResponseWriter, r *http.Request, id ULID)
	// Get a billing profile
	// (GET /openmeter/profiles/{id})
	GetBillingProfile(w http.ResponseWriter, r *http.Request, id ULID)
	// Update a billing profile
	// (PUT /openmeter/profiles/{id})
	UpdateBillingProfile(w http.ResponseWriter, r *http.Request, id ULID)
	// List subscriptions
	// (GET /openmeter/subscriptions)
	ListSubscriptions(w http.ResponseWriter, r *http.Request, params ListSubscriptionsParams)
	// Create subscription
	// (POST /openmeter/subscriptions)
	CreateSubscription(w http.ResponseWriter, r *http.Request)
	// Get subscription
	// (GET /openmeter/subscriptions/{subscriptionId})
	GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId ULID)
	// List subscription addons
	// (GET /openmeter/subscriptions/{subscriptionId}/addons)
	ListSubscriptionAddons(w http.ResponseWriter, r *http.Request, subscriptionId ULID, params ListSubscriptionAddonsParams)
	// Get add-on association for subscription
	// (GET /openmeter/subscriptions/{subscriptionId}/addons/{subscriptionAddonId})
	GetSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId ULID, subscriptionAddonId ULID)
	// Cancel subscription
	// (POST /openmeter/subscriptions/{subscriptionId}/cancel)
	CancelSubscription(w http.ResponseWriter, r *http.Request, subscriptionId ULID)
	// Change subscription
	// (POST /openmeter/subscriptions/{subscriptionId}/change)
	ChangeSubscription(w http.ResponseWriter, r *http.Request, subscriptionId ULID)
	// Unschedule subscription cancelation
	// (POST /openmeter/subscriptions/{subscriptionId}/unschedule-cancelation)
	UnscheduleCancelation(w http.ResponseWriter, r *http.Request, subscriptionId ULID)
	// List tax codes
	// (GET /openmeter/tax-codes)
	ListTaxCodes(w http.ResponseWriter, r *http.Request, params ListTaxCodesParams)
	// Create tax code
	// (POST /openmeter/tax-codes)
	CreateTaxCode(w http.ResponseWriter, r *http.Request)
	// Delete tax code
	// (DELETE /openmeter/tax-codes/{taxCodeId})
	DeleteTaxCode(w http.ResponseWriter, r *http.Request, taxCodeId ULID)
	// Get tax code
	// (GET /openmeter/tax-codes/{taxCodeId})
	GetTaxCode(w http.ResponseWriter, r *http.Request, taxCodeId ULID)
	// Upsert tax code
	// (PUT /openmeter/tax-codes/{taxCodeId})
	UpsertTaxCode(w http.ResponseWriter, r *http.Request, taxCodeId ULID)
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) ArchiveAddon

func (siw *ServerInterfaceWrapper) ArchiveAddon(w http.ResponseWriter, r *http.Request)

ArchiveAddon operation middleware

func (*ServerInterfaceWrapper) ArchivePlan

func (siw *ServerInterfaceWrapper) ArchivePlan(w http.ResponseWriter, r *http.Request)

ArchivePlan operation middleware

func (*ServerInterfaceWrapper) CancelSubscription

func (siw *ServerInterfaceWrapper) CancelSubscription(w http.ResponseWriter, r *http.Request)

CancelSubscription operation middleware

func (*ServerInterfaceWrapper) ChangeSubscription

func (siw *ServerInterfaceWrapper) ChangeSubscription(w http.ResponseWriter, r *http.Request)

ChangeSubscription operation middleware

func (*ServerInterfaceWrapper) CreateAddon

func (siw *ServerInterfaceWrapper) CreateAddon(w http.ResponseWriter, r *http.Request)

CreateAddon operation middleware

func (*ServerInterfaceWrapper) CreateBillingProfile

func (siw *ServerInterfaceWrapper) CreateBillingProfile(w http.ResponseWriter, r *http.Request)

CreateBillingProfile operation middleware

func (*ServerInterfaceWrapper) CreateCostBasis

func (siw *ServerInterfaceWrapper) CreateCostBasis(w http.ResponseWriter, r *http.Request)

CreateCostBasis operation middleware

func (*ServerInterfaceWrapper) CreateCreditAdjustment

func (siw *ServerInterfaceWrapper) CreateCreditAdjustment(w http.ResponseWriter, r *http.Request)

CreateCreditAdjustment operation middleware

func (*ServerInterfaceWrapper) CreateCreditGrant

func (siw *ServerInterfaceWrapper) CreateCreditGrant(w http.ResponseWriter, r *http.Request)

CreateCreditGrant operation middleware

func (*ServerInterfaceWrapper) CreateCustomCurrency

func (siw *ServerInterfaceWrapper) CreateCustomCurrency(w http.ResponseWriter, r *http.Request)

CreateCustomCurrency operation middleware

func (*ServerInterfaceWrapper) CreateCustomer

func (siw *ServerInterfaceWrapper) CreateCustomer(w http.ResponseWriter, r *http.Request)

CreateCustomer operation middleware

func (*ServerInterfaceWrapper) CreateCustomerStripeCheckoutSession

func (siw *ServerInterfaceWrapper) CreateCustomerStripeCheckoutSession(w http.ResponseWriter, r *http.Request)

CreateCustomerStripeCheckoutSession operation middleware

func (*ServerInterfaceWrapper) CreateCustomerStripePortalSession

func (siw *ServerInterfaceWrapper) CreateCustomerStripePortalSession(w http.ResponseWriter, r *http.Request)

CreateCustomerStripePortalSession operation middleware

func (*ServerInterfaceWrapper) CreateFeature

func (siw *ServerInterfaceWrapper) CreateFeature(w http.ResponseWriter, r *http.Request)

CreateFeature operation middleware

func (*ServerInterfaceWrapper) CreateLlmCostOverride

func (siw *ServerInterfaceWrapper) CreateLlmCostOverride(w http.ResponseWriter, r *http.Request)

CreateLlmCostOverride operation middleware

func (*ServerInterfaceWrapper) CreateMeter

func (siw *ServerInterfaceWrapper) CreateMeter(w http.ResponseWriter, r *http.Request)

CreateMeter operation middleware

func (*ServerInterfaceWrapper) CreatePlan

func (siw *ServerInterfaceWrapper) CreatePlan(w http.ResponseWriter, r *http.Request)

CreatePlan operation middleware

func (*ServerInterfaceWrapper) CreatePlanAddon

func (siw *ServerInterfaceWrapper) CreatePlanAddon(w http.ResponseWriter, r *http.Request)

CreatePlanAddon operation middleware

func (*ServerInterfaceWrapper) CreateSubscription

func (siw *ServerInterfaceWrapper) CreateSubscription(w http.ResponseWriter, r *http.Request)

CreateSubscription operation middleware

func (*ServerInterfaceWrapper) CreateTaxCode

func (siw *ServerInterfaceWrapper) CreateTaxCode(w http.ResponseWriter, r *http.Request)

CreateTaxCode operation middleware

func (*ServerInterfaceWrapper) DeleteAddon

func (siw *ServerInterfaceWrapper) DeleteAddon(w http.ResponseWriter, r *http.Request)

DeleteAddon operation middleware

func (*ServerInterfaceWrapper) DeleteBillingProfile

func (siw *ServerInterfaceWrapper) DeleteBillingProfile(w http.ResponseWriter, r *http.Request)

DeleteBillingProfile operation middleware

func (*ServerInterfaceWrapper) DeleteCustomer

func (siw *ServerInterfaceWrapper) DeleteCustomer(w http.ResponseWriter, r *http.Request)

DeleteCustomer operation middleware

func (*ServerInterfaceWrapper) DeleteFeature

func (siw *ServerInterfaceWrapper) DeleteFeature(w http.ResponseWriter, r *http.Request)

DeleteFeature operation middleware

func (*ServerInterfaceWrapper) DeleteLlmCostOverride

func (siw *ServerInterfaceWrapper) DeleteLlmCostOverride(w http.ResponseWriter, r *http.Request)

DeleteLlmCostOverride operation middleware

func (*ServerInterfaceWrapper) DeleteMeter

func (siw *ServerInterfaceWrapper) DeleteMeter(w http.ResponseWriter, r *http.Request)

DeleteMeter operation middleware

func (*ServerInterfaceWrapper) DeletePlan

func (siw *ServerInterfaceWrapper) DeletePlan(w http.ResponseWriter, r *http.Request)

DeletePlan operation middleware

func (*ServerInterfaceWrapper) DeletePlanAddon

func (siw *ServerInterfaceWrapper) DeletePlanAddon(w http.ResponseWriter, r *http.Request)

DeletePlanAddon operation middleware

func (*ServerInterfaceWrapper) DeleteTaxCode

func (siw *ServerInterfaceWrapper) DeleteTaxCode(w http.ResponseWriter, r *http.Request)

DeleteTaxCode operation middleware

func (*ServerInterfaceWrapper) GetAddon

func (siw *ServerInterfaceWrapper) GetAddon(w http.ResponseWriter, r *http.Request)

GetAddon operation middleware

func (*ServerInterfaceWrapper) GetApp

GetApp operation middleware

func (*ServerInterfaceWrapper) GetBillingProfile

func (siw *ServerInterfaceWrapper) GetBillingProfile(w http.ResponseWriter, r *http.Request)

GetBillingProfile operation middleware

func (*ServerInterfaceWrapper) GetCreditGrant

func (siw *ServerInterfaceWrapper) GetCreditGrant(w http.ResponseWriter, r *http.Request)

GetCreditGrant operation middleware

func (*ServerInterfaceWrapper) GetCustomer

func (siw *ServerInterfaceWrapper) GetCustomer(w http.ResponseWriter, r *http.Request)

GetCustomer operation middleware

func (*ServerInterfaceWrapper) GetCustomerBilling

func (siw *ServerInterfaceWrapper) GetCustomerBilling(w http.ResponseWriter, r *http.Request)

GetCustomerBilling operation middleware

func (*ServerInterfaceWrapper) GetCustomerCreditBalance

func (siw *ServerInterfaceWrapper) GetCustomerCreditBalance(w http.ResponseWriter, r *http.Request)

GetCustomerCreditBalance operation middleware

func (*ServerInterfaceWrapper) GetFeature

func (siw *ServerInterfaceWrapper) GetFeature(w http.ResponseWriter, r *http.Request)

GetFeature operation middleware

func (*ServerInterfaceWrapper) GetLlmCostPrice

func (siw *ServerInterfaceWrapper) GetLlmCostPrice(w http.ResponseWriter, r *http.Request)

GetLlmCostPrice operation middleware

func (*ServerInterfaceWrapper) GetMeter

func (siw *ServerInterfaceWrapper) GetMeter(w http.ResponseWriter, r *http.Request)

GetMeter operation middleware

func (*ServerInterfaceWrapper) GetOrganizationDefaultTaxCodes

func (siw *ServerInterfaceWrapper) GetOrganizationDefaultTaxCodes(w http.ResponseWriter, r *http.Request)

GetOrganizationDefaultTaxCodes operation middleware

func (*ServerInterfaceWrapper) GetPlan

GetPlan operation middleware

func (*ServerInterfaceWrapper) GetPlanAddon

func (siw *ServerInterfaceWrapper) GetPlanAddon(w http.ResponseWriter, r *http.Request)

GetPlanAddon operation middleware

func (*ServerInterfaceWrapper) GetSubscription

func (siw *ServerInterfaceWrapper) GetSubscription(w http.ResponseWriter, r *http.Request)

GetSubscription operation middleware

func (*ServerInterfaceWrapper) GetSubscriptionAddon

func (siw *ServerInterfaceWrapper) GetSubscriptionAddon(w http.ResponseWriter, r *http.Request)

GetSubscriptionAddon operation middleware

func (*ServerInterfaceWrapper) GetTaxCode

func (siw *ServerInterfaceWrapper) GetTaxCode(w http.ResponseWriter, r *http.Request)

GetTaxCode operation middleware

func (*ServerInterfaceWrapper) IngestMeteringEvents

func (siw *ServerInterfaceWrapper) IngestMeteringEvents(w http.ResponseWriter, r *http.Request)

IngestMeteringEvents operation middleware

func (*ServerInterfaceWrapper) ListAddons

func (siw *ServerInterfaceWrapper) ListAddons(w http.ResponseWriter, r *http.Request)

ListAddons operation middleware

func (*ServerInterfaceWrapper) ListApps

func (siw *ServerInterfaceWrapper) ListApps(w http.ResponseWriter, r *http.Request)

ListApps operation middleware

func (*ServerInterfaceWrapper) ListBillingProfiles

func (siw *ServerInterfaceWrapper) ListBillingProfiles(w http.ResponseWriter, r *http.Request)

ListBillingProfiles operation middleware

func (*ServerInterfaceWrapper) ListCostBases

func (siw *ServerInterfaceWrapper) ListCostBases(w http.ResponseWriter, r *http.Request)

ListCostBases operation middleware

func (*ServerInterfaceWrapper) ListCreditGrants

func (siw *ServerInterfaceWrapper) ListCreditGrants(w http.ResponseWriter, r *http.Request)

ListCreditGrants operation middleware

func (*ServerInterfaceWrapper) ListCreditTransactions

func (siw *ServerInterfaceWrapper) ListCreditTransactions(w http.ResponseWriter, r *http.Request)

ListCreditTransactions operation middleware

func (*ServerInterfaceWrapper) ListCurrencies

func (siw *ServerInterfaceWrapper) ListCurrencies(w http.ResponseWriter, r *http.Request)

ListCurrencies operation middleware

func (*ServerInterfaceWrapper) ListCustomerCharges

func (siw *ServerInterfaceWrapper) ListCustomerCharges(w http.ResponseWriter, r *http.Request)

ListCustomerCharges operation middleware

func (*ServerInterfaceWrapper) ListCustomerEntitlementAccess

func (siw *ServerInterfaceWrapper) ListCustomerEntitlementAccess(w http.ResponseWriter, r *http.Request)

ListCustomerEntitlementAccess operation middleware

func (*ServerInterfaceWrapper) ListCustomers

func (siw *ServerInterfaceWrapper) ListCustomers(w http.ResponseWriter, r *http.Request)

ListCustomers operation middleware

func (*ServerInterfaceWrapper) ListFeatures

func (siw *ServerInterfaceWrapper) ListFeatures(w http.ResponseWriter, r *http.Request)

ListFeatures operation middleware

func (*ServerInterfaceWrapper) ListLlmCostOverrides

func (siw *ServerInterfaceWrapper) ListLlmCostOverrides(w http.ResponseWriter, r *http.Request)

ListLlmCostOverrides operation middleware

func (*ServerInterfaceWrapper) ListLlmCostPrices

func (siw *ServerInterfaceWrapper) ListLlmCostPrices(w http.ResponseWriter, r *http.Request)

ListLlmCostPrices operation middleware

func (*ServerInterfaceWrapper) ListMeteringEvents

func (siw *ServerInterfaceWrapper) ListMeteringEvents(w http.ResponseWriter, r *http.Request)

ListMeteringEvents operation middleware

func (*ServerInterfaceWrapper) ListMeters

func (siw *ServerInterfaceWrapper) ListMeters(w http.ResponseWriter, r *http.Request)

ListMeters operation middleware

func (*ServerInterfaceWrapper) ListPlanAddons

func (siw *ServerInterfaceWrapper) ListPlanAddons(w http.ResponseWriter, r *http.Request)

ListPlanAddons operation middleware

func (*ServerInterfaceWrapper) ListPlans

func (siw *ServerInterfaceWrapper) ListPlans(w http.ResponseWriter, r *http.Request)

ListPlans operation middleware

func (*ServerInterfaceWrapper) ListSubscriptionAddons

func (siw *ServerInterfaceWrapper) ListSubscriptionAddons(w http.ResponseWriter, r *http.Request)

ListSubscriptionAddons operation middleware

func (*ServerInterfaceWrapper) ListSubscriptions

func (siw *ServerInterfaceWrapper) ListSubscriptions(w http.ResponseWriter, r *http.Request)

ListSubscriptions operation middleware

func (*ServerInterfaceWrapper) ListTaxCodes

func (siw *ServerInterfaceWrapper) ListTaxCodes(w http.ResponseWriter, r *http.Request)

ListTaxCodes operation middleware

func (*ServerInterfaceWrapper) PublishAddon

func (siw *ServerInterfaceWrapper) PublishAddon(w http.ResponseWriter, r *http.Request)

PublishAddon operation middleware

func (*ServerInterfaceWrapper) PublishPlan

func (siw *ServerInterfaceWrapper) PublishPlan(w http.ResponseWriter, r *http.Request)

PublishPlan operation middleware

func (*ServerInterfaceWrapper) QueryFeatureCost

func (siw *ServerInterfaceWrapper) QueryFeatureCost(w http.ResponseWriter, r *http.Request)

QueryFeatureCost operation middleware

func (*ServerInterfaceWrapper) QueryGovernanceAccess

func (siw *ServerInterfaceWrapper) QueryGovernanceAccess(w http.ResponseWriter, r *http.Request)

QueryGovernanceAccess operation middleware

func (*ServerInterfaceWrapper) QueryMeter

func (siw *ServerInterfaceWrapper) QueryMeter(w http.ResponseWriter, r *http.Request)

QueryMeter operation middleware

func (*ServerInterfaceWrapper) UnscheduleCancelation

func (siw *ServerInterfaceWrapper) UnscheduleCancelation(w http.ResponseWriter, r *http.Request)

UnscheduleCancelation operation middleware

func (*ServerInterfaceWrapper) UpdateAddon

func (siw *ServerInterfaceWrapper) UpdateAddon(w http.ResponseWriter, r *http.Request)

UpdateAddon operation middleware

func (*ServerInterfaceWrapper) UpdateBillingProfile

func (siw *ServerInterfaceWrapper) UpdateBillingProfile(w http.ResponseWriter, r *http.Request)

UpdateBillingProfile operation middleware

func (*ServerInterfaceWrapper) UpdateCreditGrantExternalSettlement

func (siw *ServerInterfaceWrapper) UpdateCreditGrantExternalSettlement(w http.ResponseWriter, r *http.Request)

UpdateCreditGrantExternalSettlement operation middleware

func (*ServerInterfaceWrapper) UpdateCustomerBilling

func (siw *ServerInterfaceWrapper) UpdateCustomerBilling(w http.ResponseWriter, r *http.Request)

UpdateCustomerBilling operation middleware

func (*ServerInterfaceWrapper) UpdateCustomerBillingAppData

func (siw *ServerInterfaceWrapper) UpdateCustomerBillingAppData(w http.ResponseWriter, r *http.Request)

UpdateCustomerBillingAppData operation middleware

func (*ServerInterfaceWrapper) UpdateFeature

func (siw *ServerInterfaceWrapper) UpdateFeature(w http.ResponseWriter, r *http.Request)

UpdateFeature operation middleware

func (*ServerInterfaceWrapper) UpdateMeter

func (siw *ServerInterfaceWrapper) UpdateMeter(w http.ResponseWriter, r *http.Request)

UpdateMeter operation middleware

func (*ServerInterfaceWrapper) UpdateOrganizationDefaultTaxCodes

func (siw *ServerInterfaceWrapper) UpdateOrganizationDefaultTaxCodes(w http.ResponseWriter, r *http.Request)

UpdateOrganizationDefaultTaxCodes operation middleware

func (*ServerInterfaceWrapper) UpdatePlan

func (siw *ServerInterfaceWrapper) UpdatePlan(w http.ResponseWriter, r *http.Request)

UpdatePlan operation middleware

func (*ServerInterfaceWrapper) UpdatePlanAddon

func (siw *ServerInterfaceWrapper) UpdatePlanAddon(w http.ResponseWriter, r *http.Request)

UpdatePlanAddon operation middleware

func (*ServerInterfaceWrapper) UpsertCustomer

func (siw *ServerInterfaceWrapper) UpsertCustomer(w http.ResponseWriter, r *http.Request)

UpsertCustomer operation middleware

func (*ServerInterfaceWrapper) UpsertTaxCode

func (siw *ServerInterfaceWrapper) UpsertTaxCode(w http.ResponseWriter, r *http.Request)

UpsertTaxCode operation middleware

type SortQuery

type SortQuery = string

SortQuery The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. Multiple sort attributes may be provided via a comma separated list. JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar desc').

type StringFieldFilter

type StringFieldFilter = filters.FilterString

StringFieldFilter Filters on the given string field value by either exact or fuzzy match. All properties are optional; provide exactly one to specify the comparison.

type StringFieldFilterExact

type StringFieldFilterExact = filters.FilterStringExact

StringFieldFilterExact Filters on the given string field value by exact match. All properties are optional; provide exactly one to specify the comparison.

type SubscriptionAddon

type SubscriptionAddon struct {
	// ActiveFrom An ISO-8601 timestamp representation of the cadence start of the resource.
	ActiveFrom DateTime `json:"active_from"`

	// ActiveTo An ISO-8601 timestamp representation of the cadence end of the resource.
	ActiveTo *DateTime `json:"active_to,omitempty"`

	// Addon The add-on associated with the subscription.
	Addon AddonReferenceItem `json:"addon"`

	// CreatedAt An ISO-8601 timestamp representation of entity creation date.
	CreatedAt DateTime `json:"created_at"`

	// DeletedAt An ISO-8601 timestamp representation of entity deletion date.
	DeletedAt *DateTime `json:"deleted_at,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`
	Id          ULID    `json:"id"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Quantity The quantity of the add-on. Always 1 for single instance add-ons.
	Quantity int `json:"quantity"`

	// QuantityAt An ISO-8601 timestamp representation of which point in time the quantity was
	// resolved to.
	QuantityAt DateTime `json:"quantity_at"`

	// UpdatedAt An ISO-8601 timestamp representation of entity last update date.
	UpdatedAt DateTime `json:"updated_at"`
}

SubscriptionAddon Addon purchased with a subscription.

type SubscriptionAddonPagePaginatedResponse

type SubscriptionAddonPagePaginatedResponse struct {
	Data []SubscriptionAddon `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

SubscriptionAddonPagePaginatedResponse Page paginated response.

type SubscriptionPagePaginatedResponse

type SubscriptionPagePaginatedResponse struct {
	Data []BillingSubscription `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

SubscriptionPagePaginatedResponse Page paginated response.

type TaxCodePagePaginatedResponse

type TaxCodePagePaginatedResponse struct {
	Data []BillingTaxCode `json:"data"`

	// Meta returns the pagination information
	Meta PaginatedMeta `json:"meta"`
}

TaxCodePagePaginatedResponse Page paginated response.

type TaxCodeReference

type TaxCodeReference struct {
	// Id ULID (Universally Unique Lexicographically Sortable Identifier).
	Id ULID `json:"id"`
}

TaxCodeReference TaxCode reference.

type TaxCodeReferenceItem

type TaxCodeReferenceItem struct {
	// Id ULID (Universally Unique Lexicographically Sortable Identifier).
	Id ULID `json:"id"`
}

TaxCodeReferenceItem TaxCode reference.

type TooManyValuesForParamError

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (*TooManyValuesForParamError) Error

type ULID

type ULID = string

ULID ULID (Universally Unique Lexicographically Sortable Identifier).

type ULIDFieldFilter

type ULIDFieldFilter = filters.FilterULID

ULIDFieldFilter Filters on the given ULID field value by exact match. All properties are optional; provide exactly one to specify the comparison.

type Unauthorized

type Unauthorized = UnauthorizedError

Unauthorized defines model for Unauthorized.

type UnauthorizedError

type UnauthorizedError struct {
	Detail   interface{} `json:"detail"`
	Instance interface{} `json:"instance"`
	Status   interface{} `json:"status"`
	Title    interface{} `json:"title"`
	Type     interface{} `json:"type,omitempty"`
}

UnauthorizedError defines model for UnauthorizedError.

type UnescapedCookieParamError

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (*UnescapedCookieParamError) Error

func (e *UnescapedCookieParamError) Error() string

func (*UnescapedCookieParamError) Unwrap

func (e *UnescapedCookieParamError) Unwrap() error

type Unimplemented

type Unimplemented struct{}

func (Unimplemented) ArchiveAddon

func (_ Unimplemented) ArchiveAddon(w http.ResponseWriter, r *http.Request, addonId ULID)

Archive add-on version (POST /openmeter/addons/{addonId}/archive)

func (Unimplemented) ArchivePlan

func (_ Unimplemented) ArchivePlan(w http.ResponseWriter, r *http.Request, planId ULID)

Archive plan version (POST /openmeter/plans/{planId}/archive)

func (Unimplemented) CancelSubscription

func (_ Unimplemented) CancelSubscription(w http.ResponseWriter, r *http.Request, subscriptionId ULID)

Cancel subscription (POST /openmeter/subscriptions/{subscriptionId}/cancel)

func (Unimplemented) ChangeSubscription

func (_ Unimplemented) ChangeSubscription(w http.ResponseWriter, r *http.Request, subscriptionId ULID)

Change subscription (POST /openmeter/subscriptions/{subscriptionId}/change)

func (Unimplemented) CreateAddon

func (_ Unimplemented) CreateAddon(w http.ResponseWriter, r *http.Request)

Create add-on (POST /openmeter/addons)

func (Unimplemented) CreateBillingProfile

func (_ Unimplemented) CreateBillingProfile(w http.ResponseWriter, r *http.Request)

Create a new billing profile (POST /openmeter/profiles)

func (Unimplemented) CreateCostBasis

func (_ Unimplemented) CreateCostBasis(w http.ResponseWriter, r *http.Request, currencyId ULID)

Create cost basis (POST /openmeter/currencies/custom/{currencyId}/cost-bases)

func (Unimplemented) CreateCreditAdjustment

func (_ Unimplemented) CreateCreditAdjustment(w http.ResponseWriter, r *http.Request, customerId ULID)

Create a credit adjustment (POST /openmeter/customers/{customerId}/credits/adjustments)

func (Unimplemented) CreateCreditGrant

func (_ Unimplemented) CreateCreditGrant(w http.ResponseWriter, r *http.Request, customerId ULID)

Create a new credit grant (POST /openmeter/customers/{customerId}/credits/grants)

func (Unimplemented) CreateCustomCurrency

func (_ Unimplemented) CreateCustomCurrency(w http.ResponseWriter, r *http.Request)

Create custom currency (POST /openmeter/currencies/custom)

func (Unimplemented) CreateCustomer

func (_ Unimplemented) CreateCustomer(w http.ResponseWriter, r *http.Request)

Create customer (POST /openmeter/customers)

func (Unimplemented) CreateCustomerStripeCheckoutSession

func (_ Unimplemented) CreateCustomerStripeCheckoutSession(w http.ResponseWriter, r *http.Request, customerId ULID)

Create Stripe Checkout Session (POST /openmeter/customers/{customerId}/billing/stripe/checkout-sessions)

func (Unimplemented) CreateCustomerStripePortalSession

func (_ Unimplemented) CreateCustomerStripePortalSession(w http.ResponseWriter, r *http.Request, customerId ULID)

Create Stripe customer portal session (POST /openmeter/customers/{customerId}/billing/stripe/portal-sessions)

func (Unimplemented) CreateFeature

func (_ Unimplemented) CreateFeature(w http.ResponseWriter, r *http.Request)

Create feature (POST /openmeter/features)

func (Unimplemented) CreateLlmCostOverride

func (_ Unimplemented) CreateLlmCostOverride(w http.ResponseWriter, r *http.Request)

Create LLM cost override (POST /openmeter/llm-cost/overrides)

func (Unimplemented) CreateMeter

func (_ Unimplemented) CreateMeter(w http.ResponseWriter, r *http.Request)

Create meter (POST /openmeter/meters)

func (Unimplemented) CreatePlan

func (_ Unimplemented) CreatePlan(w http.ResponseWriter, r *http.Request)

Create plan (POST /openmeter/plans)

func (Unimplemented) CreatePlanAddon

func (_ Unimplemented) CreatePlanAddon(w http.ResponseWriter, r *http.Request, planId ULID)

Add add-on to plan (POST /openmeter/plans/{planId}/addons)

func (Unimplemented) CreateSubscription

func (_ Unimplemented) CreateSubscription(w http.ResponseWriter, r *http.Request)

Create subscription (POST /openmeter/subscriptions)

func (Unimplemented) CreateTaxCode

func (_ Unimplemented) CreateTaxCode(w http.ResponseWriter, r *http.Request)

Create tax code (POST /openmeter/tax-codes)

func (Unimplemented) DeleteAddon

func (_ Unimplemented) DeleteAddon(w http.ResponseWriter, r *http.Request, addonId ULID)

Soft delete add-on (DELETE /openmeter/addons/{addonId})

func (Unimplemented) DeleteBillingProfile

func (_ Unimplemented) DeleteBillingProfile(w http.ResponseWriter, r *http.Request, id ULID)

Delete a billing profile (DELETE /openmeter/profiles/{id})

func (Unimplemented) DeleteCustomer

func (_ Unimplemented) DeleteCustomer(w http.ResponseWriter, r *http.Request, customerId ULID)

Delete customer (DELETE /openmeter/customers/{customerId})

func (Unimplemented) DeleteFeature

func (_ Unimplemented) DeleteFeature(w http.ResponseWriter, r *http.Request, featureId ULID)

Delete feature (DELETE /openmeter/features/{featureId})

func (Unimplemented) DeleteLlmCostOverride

func (_ Unimplemented) DeleteLlmCostOverride(w http.ResponseWriter, r *http.Request, priceId ULID)

Delete LLM cost override (DELETE /openmeter/llm-cost/overrides/{priceId})

func (Unimplemented) DeleteMeter

func (_ Unimplemented) DeleteMeter(w http.ResponseWriter, r *http.Request, meterId ULID)

Delete meter (DELETE /openmeter/meters/{meterId})

func (Unimplemented) DeletePlan

func (_ Unimplemented) DeletePlan(w http.ResponseWriter, r *http.Request, planId ULID)

Delete plan (DELETE /openmeter/plans/{planId})

func (Unimplemented) DeletePlanAddon

func (_ Unimplemented) DeletePlanAddon(w http.ResponseWriter, r *http.Request, planId ULID, planAddonId ULID)

Remove add-on from plan (DELETE /openmeter/plans/{planId}/addons/{planAddonId})

func (Unimplemented) DeleteTaxCode

func (_ Unimplemented) DeleteTaxCode(w http.ResponseWriter, r *http.Request, taxCodeId ULID)

Delete tax code (DELETE /openmeter/tax-codes/{taxCodeId})

func (Unimplemented) GetAddon

func (_ Unimplemented) GetAddon(w http.ResponseWriter, r *http.Request, addonId ULID)

Get add-on (GET /openmeter/addons/{addonId})

func (Unimplemented) GetApp

func (_ Unimplemented) GetApp(w http.ResponseWriter, r *http.Request, appId ULID)

Get app (GET /openmeter/apps/{appId})

func (Unimplemented) GetBillingProfile

func (_ Unimplemented) GetBillingProfile(w http.ResponseWriter, r *http.Request, id ULID)

Get a billing profile (GET /openmeter/profiles/{id})

func (Unimplemented) GetCreditGrant

func (_ Unimplemented) GetCreditGrant(w http.ResponseWriter, r *http.Request, customerId ULID, creditGrantId ULID)

Get a credit grant (GET /openmeter/customers/{customerId}/credits/grants/{creditGrantId})

func (Unimplemented) GetCustomer

func (_ Unimplemented) GetCustomer(w http.ResponseWriter, r *http.Request, customerId ULID)

Get customer (GET /openmeter/customers/{customerId})

func (Unimplemented) GetCustomerBilling

func (_ Unimplemented) GetCustomerBilling(w http.ResponseWriter, r *http.Request, customerId ULID)

Get customer billing data (GET /openmeter/customers/{customerId}/billing)

func (Unimplemented) GetCustomerCreditBalance

func (_ Unimplemented) GetCustomerCreditBalance(w http.ResponseWriter, r *http.Request, customerId ULID, params GetCustomerCreditBalanceParams)

Get a customer's credit balance (GET /openmeter/customers/{customerId}/credits/balance)

func (Unimplemented) GetFeature

func (_ Unimplemented) GetFeature(w http.ResponseWriter, r *http.Request, featureId ULID)

Get feature (GET /openmeter/features/{featureId})

func (Unimplemented) GetLlmCostPrice

func (_ Unimplemented) GetLlmCostPrice(w http.ResponseWriter, r *http.Request, priceId ULID)

Get LLM cost price (GET /openmeter/llm-cost/prices/{priceId})

func (Unimplemented) GetMeter

func (_ Unimplemented) GetMeter(w http.ResponseWriter, r *http.Request, meterId ULID)

Get meter (GET /openmeter/meters/{meterId})

func (Unimplemented) GetOrganizationDefaultTaxCodes

func (_ Unimplemented) GetOrganizationDefaultTaxCodes(w http.ResponseWriter, r *http.Request)

Get organization default tax codes (GET /openmeter/defaults/tax-codes)

func (Unimplemented) GetPlan

func (_ Unimplemented) GetPlan(w http.ResponseWriter, r *http.Request, planId ULID)

Get plan (GET /openmeter/plans/{planId})

func (Unimplemented) GetPlanAddon

func (_ Unimplemented) GetPlanAddon(w http.ResponseWriter, r *http.Request, planId ULID, planAddonId ULID)

Get add-on association for plan (GET /openmeter/plans/{planId}/addons/{planAddonId})

func (Unimplemented) GetSubscription

func (_ Unimplemented) GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId ULID)

Get subscription (GET /openmeter/subscriptions/{subscriptionId})

func (Unimplemented) GetSubscriptionAddon

func (_ Unimplemented) GetSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId ULID, subscriptionAddonId ULID)

Get add-on association for subscription (GET /openmeter/subscriptions/{subscriptionId}/addons/{subscriptionAddonId})

func (Unimplemented) GetTaxCode

func (_ Unimplemented) GetTaxCode(w http.ResponseWriter, r *http.Request, taxCodeId ULID)

Get tax code (GET /openmeter/tax-codes/{taxCodeId})

func (Unimplemented) IngestMeteringEvents

func (_ Unimplemented) IngestMeteringEvents(w http.ResponseWriter, r *http.Request)

Ingest metering events (POST /openmeter/events)

func (Unimplemented) ListAddons

func (_ Unimplemented) ListAddons(w http.ResponseWriter, r *http.Request, params ListAddonsParams)

List add-ons (GET /openmeter/addons)

func (Unimplemented) ListApps

func (_ Unimplemented) ListApps(w http.ResponseWriter, r *http.Request, params ListAppsParams)

List apps (GET /openmeter/apps)

func (Unimplemented) ListBillingProfiles

func (_ Unimplemented) ListBillingProfiles(w http.ResponseWriter, r *http.Request, params ListBillingProfilesParams)

List billing profiles (GET /openmeter/profiles)

func (Unimplemented) ListCostBases

func (_ Unimplemented) ListCostBases(w http.ResponseWriter, r *http.Request, currencyId ULID, params ListCostBasesParams)

List cost bases (GET /openmeter/currencies/custom/{currencyId}/cost-bases)

func (Unimplemented) ListCreditGrants

func (_ Unimplemented) ListCreditGrants(w http.ResponseWriter, r *http.Request, customerId ULID, params ListCreditGrantsParams)

List credit grants (GET /openmeter/customers/{customerId}/credits/grants)

func (Unimplemented) ListCreditTransactions

func (_ Unimplemented) ListCreditTransactions(w http.ResponseWriter, r *http.Request, customerId ULID, params ListCreditTransactionsParams)

List credit transactions (GET /openmeter/customers/{customerId}/credits/transactions)

func (Unimplemented) ListCurrencies

func (_ Unimplemented) ListCurrencies(w http.ResponseWriter, r *http.Request, params ListCurrenciesParams)

List currencies (GET /openmeter/currencies)

func (Unimplemented) ListCustomerCharges

func (_ Unimplemented) ListCustomerCharges(w http.ResponseWriter, r *http.Request, customerId ULID, params ListCustomerChargesParams)

List customer charges (GET /openmeter/customers/{customerId}/charges)

func (Unimplemented) ListCustomerEntitlementAccess

func (_ Unimplemented) ListCustomerEntitlementAccess(w http.ResponseWriter, r *http.Request, customerId ULID)

List customer entitlement access (GET /openmeter/customers/{customerId}/entitlement-access)

func (Unimplemented) ListCustomers

func (_ Unimplemented) ListCustomers(w http.ResponseWriter, r *http.Request, params ListCustomersParams)

List customers (GET /openmeter/customers)

func (Unimplemented) ListFeatures

func (_ Unimplemented) ListFeatures(w http.ResponseWriter, r *http.Request, params ListFeaturesParams)

List features (GET /openmeter/features)

func (Unimplemented) ListLlmCostOverrides

func (_ Unimplemented) ListLlmCostOverrides(w http.ResponseWriter, r *http.Request, params ListLlmCostOverridesParams)

List LLM cost overrides (GET /openmeter/llm-cost/overrides)

func (Unimplemented) ListLlmCostPrices

func (_ Unimplemented) ListLlmCostPrices(w http.ResponseWriter, r *http.Request, params ListLlmCostPricesParams)

List LLM cost prices (GET /openmeter/llm-cost/prices)

func (Unimplemented) ListMeteringEvents

func (_ Unimplemented) ListMeteringEvents(w http.ResponseWriter, r *http.Request, params ListMeteringEventsParams)

List metering events (GET /openmeter/events)

func (Unimplemented) ListMeters

func (_ Unimplemented) ListMeters(w http.ResponseWriter, r *http.Request, params ListMetersParams)

List meters (GET /openmeter/meters)

func (Unimplemented) ListPlanAddons

func (_ Unimplemented) ListPlanAddons(w http.ResponseWriter, r *http.Request, planId ULID, params ListPlanAddonsParams)

List add-ons for plan (GET /openmeter/plans/{planId}/addons)

func (Unimplemented) ListPlans

func (_ Unimplemented) ListPlans(w http.ResponseWriter, r *http.Request, params ListPlansParams)

List plans (GET /openmeter/plans)

func (Unimplemented) ListSubscriptionAddons

func (_ Unimplemented) ListSubscriptionAddons(w http.ResponseWriter, r *http.Request, subscriptionId ULID, params ListSubscriptionAddonsParams)

List subscription addons (GET /openmeter/subscriptions/{subscriptionId}/addons)

func (Unimplemented) ListSubscriptions

func (_ Unimplemented) ListSubscriptions(w http.ResponseWriter, r *http.Request, params ListSubscriptionsParams)

List subscriptions (GET /openmeter/subscriptions)

func (Unimplemented) ListTaxCodes

func (_ Unimplemented) ListTaxCodes(w http.ResponseWriter, r *http.Request, params ListTaxCodesParams)

List tax codes (GET /openmeter/tax-codes)

func (Unimplemented) PublishAddon

func (_ Unimplemented) PublishAddon(w http.ResponseWriter, r *http.Request, addonId ULID)

Publish add-on version (POST /openmeter/addons/{addonId}/publish)

func (Unimplemented) PublishPlan

func (_ Unimplemented) PublishPlan(w http.ResponseWriter, r *http.Request, planId ULID)

Publish plan version (POST /openmeter/plans/{planId}/publish)

func (Unimplemented) QueryFeatureCost

func (_ Unimplemented) QueryFeatureCost(w http.ResponseWriter, r *http.Request, featureId ULID)

Query feature cost (POST /openmeter/features/{featureId}/cost/query)

func (Unimplemented) QueryGovernanceAccess

func (_ Unimplemented) QueryGovernanceAccess(w http.ResponseWriter, r *http.Request, params QueryGovernanceAccessParams)

Query governance access (POST /openmeter/governance/query)

func (Unimplemented) QueryMeter

func (_ Unimplemented) QueryMeter(w http.ResponseWriter, r *http.Request, meterId ULID)

Query meter (POST /openmeter/meters/{meterId}/query)

func (Unimplemented) UnscheduleCancelation

func (_ Unimplemented) UnscheduleCancelation(w http.ResponseWriter, r *http.Request, subscriptionId ULID)

Unschedule subscription cancelation (POST /openmeter/subscriptions/{subscriptionId}/unschedule-cancelation)

func (Unimplemented) UpdateAddon

func (_ Unimplemented) UpdateAddon(w http.ResponseWriter, r *http.Request, addonId ULID)

Update add-on (PUT /openmeter/addons/{addonId})

func (Unimplemented) UpdateBillingProfile

func (_ Unimplemented) UpdateBillingProfile(w http.ResponseWriter, r *http.Request, id ULID)

Update a billing profile (PUT /openmeter/profiles/{id})

func (Unimplemented) UpdateCreditGrantExternalSettlement

func (_ Unimplemented) UpdateCreditGrantExternalSettlement(w http.ResponseWriter, r *http.Request, customerId ULID, creditGrantId ULID)

Update credit grant external settlement status (POST /openmeter/customers/{customerId}/credits/grants/{creditGrantId}/settlement/external)

func (Unimplemented) UpdateCustomerBilling

func (_ Unimplemented) UpdateCustomerBilling(w http.ResponseWriter, r *http.Request, customerId ULID)

Update customer billing data (PUT /openmeter/customers/{customerId}/billing)

func (Unimplemented) UpdateCustomerBillingAppData

func (_ Unimplemented) UpdateCustomerBillingAppData(w http.ResponseWriter, r *http.Request, customerId ULID)

Update customer billing app data (PUT /openmeter/customers/{customerId}/billing/app-data)

func (Unimplemented) UpdateFeature

func (_ Unimplemented) UpdateFeature(w http.ResponseWriter, r *http.Request, featureId ULID)

Update feature (PATCH /openmeter/features/{featureId})

func (Unimplemented) UpdateMeter

func (_ Unimplemented) UpdateMeter(w http.ResponseWriter, r *http.Request, meterId ULID)

Update meter (PUT /openmeter/meters/{meterId})

func (Unimplemented) UpdateOrganizationDefaultTaxCodes

func (_ Unimplemented) UpdateOrganizationDefaultTaxCodes(w http.ResponseWriter, r *http.Request)

Update organization default tax codes (PUT /openmeter/defaults/tax-codes)

func (Unimplemented) UpdatePlan

func (_ Unimplemented) UpdatePlan(w http.ResponseWriter, r *http.Request, planId ULID)

Update plan (PUT /openmeter/plans/{planId})

func (Unimplemented) UpdatePlanAddon

func (_ Unimplemented) UpdatePlanAddon(w http.ResponseWriter, r *http.Request, planId ULID, planAddonId ULID)

Update add-on association for plan (PUT /openmeter/plans/{planId}/addons/{planAddonId})

func (Unimplemented) UpsertCustomer

func (_ Unimplemented) UpsertCustomer(w http.ResponseWriter, r *http.Request, customerId ULID)

Upsert customer (PUT /openmeter/customers/{customerId})

func (Unimplemented) UpsertTaxCode

func (_ Unimplemented) UpsertTaxCode(w http.ResponseWriter, r *http.Request, taxCodeId ULID)

Upsert tax code (PUT /openmeter/tax-codes/{taxCodeId})

type UnmarshalingParamError

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshalingParamError) Error

func (e *UnmarshalingParamError) Error() string

func (*UnmarshalingParamError) Unwrap

func (e *UnmarshalingParamError) Unwrap() error

type UpdateAddonJSONRequestBody

type UpdateAddonJSONRequestBody = UpsertAddonRequest

UpdateAddonJSONRequestBody defines body for UpdateAddon for application/json ContentType.

type UpdateBillingProfileJSONRequestBody

type UpdateBillingProfileJSONRequestBody = UpsertBillingProfileRequest

UpdateBillingProfileJSONRequestBody defines body for UpdateBillingProfile for application/json ContentType.

type UpdateCreditGrantExternalSettlementJSONRequestBody

type UpdateCreditGrantExternalSettlementJSONRequestBody = UpdateCreditGrantExternalSettlementRequest

UpdateCreditGrantExternalSettlementJSONRequestBody defines body for UpdateCreditGrantExternalSettlement for application/json ContentType.

type UpdateCreditGrantExternalSettlementRequest

type UpdateCreditGrantExternalSettlementRequest struct {
	// Status The new payment settlement status.
	Status BillingCreditPurchasePaymentSettlementStatus `json:"status"`
}

UpdateCreditGrantExternalSettlementRequest Request body for updating the external payment settlement status of a credit grant.

type UpdateCustomerBillingAppDataJSONRequestBody

type UpdateCustomerBillingAppDataJSONRequestBody = UpsertAppCustomerDataRequest

UpdateCustomerBillingAppDataJSONRequestBody defines body for UpdateCustomerBillingAppData for application/json ContentType.

type UpdateCustomerBillingJSONRequestBody

type UpdateCustomerBillingJSONRequestBody = UpsertCustomerBillingDataRequest

UpdateCustomerBillingJSONRequestBody defines body for UpdateCustomerBilling for application/json ContentType.

type UpdateFeatureJSONRequestBody

type UpdateFeatureJSONRequestBody = UpdateFeatureRequest

UpdateFeatureJSONRequestBody defines body for UpdateFeature for application/json ContentType.

type UpdateFeatureRequest

type UpdateFeatureRequest struct {
	// UnitCost Optional per-unit cost configuration. Use "manual" for a fixed per-unit cost, or
	// "llm" to look up cost from the LLM cost database based on meter group-by
	// properties. Set to `null` to clear the existing unit cost; omit to leave it
	// unchanged.
	UnitCost nullable.Nullable[BillingFeatureUnitCost] `json:"unit_cost,omitempty"`
}

UpdateFeatureRequest Request body for updating a feature. Currently only the unit_cost field can be updated.

type UpdateMeterJSONRequestBody

type UpdateMeterJSONRequestBody = UpdateMeterRequest

UpdateMeterJSONRequestBody defines body for UpdateMeter for application/json ContentType.

type UpdateMeterRequest

type UpdateMeterRequest struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Dimensions Named JSONPath expressions to extract the group by values from the event data.
	//
	// Keys must be unique and consist only alphanumeric and underscore characters.
	Dimensions *map[string]string `json:"dimensions,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name *string `json:"name,omitempty"`
}

UpdateMeterRequest Meter update request.

type UpdateOrganizationDefaultTaxCodesJSONRequestBody

type UpdateOrganizationDefaultTaxCodesJSONRequestBody = UpdateOrganizationDefaultTaxCodesRequest

UpdateOrganizationDefaultTaxCodesJSONRequestBody defines body for UpdateOrganizationDefaultTaxCodes for application/json ContentType.

type UpdateOrganizationDefaultTaxCodesRequest

type UpdateOrganizationDefaultTaxCodesRequest struct {
	// CreditGrantTaxCode Default tax code for credit grants.
	CreditGrantTaxCode *TaxCodeReference `json:"credit_grant_tax_code,omitempty"`

	// InvoicingTaxCode Default tax code for invoicing.
	InvoicingTaxCode *TaxCodeReference `json:"invoicing_tax_code,omitempty"`
}

UpdateOrganizationDefaultTaxCodesRequest OrganizationDefaultTaxCodes update request.

type UpdatePlanAddonJSONRequestBody

type UpdatePlanAddonJSONRequestBody = UpsertPlanAddonRequest

UpdatePlanAddonJSONRequestBody defines body for UpdatePlanAddon for application/json ContentType.

type UpdatePlanJSONRequestBody

type UpdatePlanJSONRequestBody = UpsertPlanRequest

UpdatePlanJSONRequestBody defines body for UpdatePlan for application/json ContentType.

type UpsertAddonRequest

type UpsertAddonRequest struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// InstanceType The InstanceType of the add-ons. Can be "single" or "multiple".
	InstanceType AddonInstanceType `json:"instance_type"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// RateCards The rate cards of the add-on.
	RateCards []BillingRateCard `json:"rate_cards"`
}

UpsertAddonRequest Addon upsert request.

type UpsertAppCustomerDataRequest

type UpsertAppCustomerDataRequest struct {
	// ExternalInvoicing Used if the customer has a linked external invoicing app.
	ExternalInvoicing *BillingAppCustomerDataExternalInvoicing `json:"external_invoicing,omitempty"`

	// Stripe Used if the customer has a linked Stripe app.
	Stripe *BillingAppCustomerDataStripe `json:"stripe,omitempty"`
}

UpsertAppCustomerDataRequest AppCustomerData upsert request.

type UpsertBillingProfileRequest

type UpsertBillingProfileRequest struct {
	// Default Whether this is the default profile.
	Default bool `json:"default"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Supplier The name and contact information for the supplier this billing profile
	// represents
	Supplier BillingParty `json:"supplier"`

	// Workflow The billing workflow settings for this profile
	Workflow BillingWorkflow `json:"workflow"`
}

UpsertBillingProfileRequest BillingProfile upsert request.

type UpsertCustomerBillingDataRequest

type UpsertCustomerBillingDataRequest struct {
	// AppData App customer data.
	AppData *BillingAppCustomerData `json:"app_data,omitempty"`

	// BillingProfile The billing profile for the customer.
	//
	// If not provided, the default billing profile will be used.
	BillingProfile *BillingProfileReference `json:"billing_profile,omitempty"`
}

UpsertCustomerBillingDataRequest CustomerBillingData upsert request.

type UpsertCustomerJSONRequestBody

type UpsertCustomerJSONRequestBody = UpsertCustomerRequest

UpsertCustomerJSONRequestBody defines body for UpsertCustomer for application/json ContentType.

type UpsertCustomerRequest

type UpsertCustomerRequest struct {
	// BillingAddress The billing address of the customer. Used for tax and invoicing.
	BillingAddress *BillingAddress `json:"billing_address,omitempty"`

	// Currency Currency of the customer. Used for billing, tax and invoicing.
	Currency *CurrencyCode `json:"currency,omitempty"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// PrimaryEmail The primary email address of the customer.
	PrimaryEmail *string `json:"primary_email,omitempty"`

	// UsageAttribution Mapping to attribute metered usage to the customer by the event subject.
	UsageAttribution *BillingCustomerUsageAttribution `json:"usage_attribution,omitempty"`
}

UpsertCustomerRequest Customer upsert request.

type UpsertPlanAddonRequest

type UpsertPlanAddonRequest struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// FromPlanPhase The key of the plan phase from which the add-on becomes available for purchase.
	FromPlanPhase ResourceKey `json:"from_plan_phase"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// MaxQuantity The maximum number of times the add-on can be purchased for the plan. For
	// single-instance add-ons this field must be omitted. For multi-instance add-ons
	// when omitted, unlimited quantity can be purchased.
	MaxQuantity *int `json:"max_quantity,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`
}

UpsertPlanAddonRequest PlanAddon upsert request.

type UpsertPlanRequest

type UpsertPlanRequest struct {
	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`

	// Phases The plan phases define the pricing ramp for a subscription. A phase switch
	// occurs only at the end of a billing period. At least one phase is required.
	Phases []BillingPlanPhase `json:"phases"`

	// ProRatingEnabled Whether pro-rating is enabled for this plan.
	ProRatingEnabled *bool `json:"pro_rating_enabled,omitempty"`
}

UpsertPlanRequest Plan upsert request.

type UpsertTaxCodeJSONRequestBody

type UpsertTaxCodeJSONRequestBody = UpsertTaxCodeRequest

UpsertTaxCodeJSONRequestBody defines body for UpsertTaxCode for application/json ContentType.

type UpsertTaxCodeRequest

type UpsertTaxCodeRequest struct {
	// AppMappings Mapping of app types to tax codes.
	AppMappings []BillingTaxCodeAppMapping `json:"app_mappings"`

	// Description Optional description of the resource.
	//
	// Maximum 1024 characters.
	Description *string `json:"description,omitempty"`

	// Labels Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types.
	//
	// Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
	Labels *Labels `json:"labels,omitempty"`

	// Name Display name of the resource.
	//
	// Between 1 and 256 characters.
	Name string `json:"name"`
}

UpsertTaxCodeRequest TaxCode upsert request.

type UsageAttributionSubjectKey

type UsageAttributionSubjectKey = string

UsageAttributionSubjectKey Subject key.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL