// Package api 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. package api import ( "bytes" "compress/gzip" "context" "encoding/base64" "encoding/json" "errors" "fmt" "net/http" "net/url" "path" "strings" "time" "github.com/cloudevents/sdk-go/v2/event" "github.com/getkin/kin-openapi/openapi3" "github.com/go-chi/chi/v5" "github.com/oapi-codegen/runtime" "github.com/openmeterio/openmeter/pkg/models" ) const ( PortalTokenAuthScopes portalTokenAuthContextKey = "PortalTokenAuth.Scopes" ) // Defines values for AddonInstanceType. const ( AddonInstanceTypeMultiple AddonInstanceType = "multiple" AddonInstanceTypeSingle AddonInstanceType = "single" ) // Valid indicates whether the value is a known member of the AddonInstanceType enum. func (e AddonInstanceType) Valid() bool { switch e { case AddonInstanceTypeMultiple: return true case AddonInstanceTypeSingle: return true default: return false } } // Defines values for AddonOrderBy. const ( AddonOrderByCreatedAt AddonOrderBy = "created_at" AddonOrderById AddonOrderBy = "id" AddonOrderByKey AddonOrderBy = "key" AddonOrderByUpdatedAt AddonOrderBy = "updated_at" AddonOrderByVersion AddonOrderBy = "version" ) // Valid indicates whether the value is a known member of the AddonOrderBy enum. func (e AddonOrderBy) Valid() bool { switch e { case AddonOrderByCreatedAt: return true case AddonOrderById: return true case AddonOrderByKey: return true case AddonOrderByUpdatedAt: return true case AddonOrderByVersion: return true default: return false } } // Defines values for AddonStatus. const ( AddonStatusActive AddonStatus = "active" AddonStatusArchived AddonStatus = "archived" AddonStatusDraft AddonStatus = "draft" ) // Valid indicates whether the value is a known member of the AddonStatus enum. func (e AddonStatus) Valid() bool { switch e { case AddonStatusActive: return true case AddonStatusArchived: return true case AddonStatusDraft: return true default: return false } } // Defines values for AppCapabilityType. const ( AppCapabilityTypeCalculateTax AppCapabilityType = "calculateTax" AppCapabilityTypeCollectPayments AppCapabilityType = "collectPayments" AppCapabilityTypeInvoiceCustomers AppCapabilityType = "invoiceCustomers" AppCapabilityTypeReportEvents AppCapabilityType = "reportEvents" AppCapabilityTypeReportUsage AppCapabilityType = "reportUsage" ) // Valid indicates whether the value is a known member of the AppCapabilityType enum. func (e AppCapabilityType) Valid() bool { switch e { case AppCapabilityTypeCalculateTax: return true case AppCapabilityTypeCollectPayments: return true case AppCapabilityTypeInvoiceCustomers: return true case AppCapabilityTypeReportEvents: return true case AppCapabilityTypeReportUsage: return true default: return false } } // Defines values for AppStatus. const ( AppStatusReady AppStatus = "ready" AppStatusUnauthorized AppStatus = "unauthorized" ) // Valid indicates whether the value is a known member of the AppStatus enum. func (e AppStatus) Valid() bool { switch e { case AppStatusReady: return true case AppStatusUnauthorized: return true default: return false } } // Defines values for AppType. const ( AppTypeCustomInvoicing AppType = "custom_invoicing" AppTypeSandbox AppType = "sandbox" AppTypeStripe AppType = "stripe" ) // Valid indicates whether the value is a known member of the AppType enum. func (e AppType) Valid() bool { switch e { case AppTypeCustomInvoicing: return true case AppTypeSandbox: return true case AppTypeStripe: return true default: return false } } // Defines values for BillingCollectionAlignment. const ( BillingCollectionAlignmentAnchored BillingCollectionAlignment = "anchored" BillingCollectionAlignmentSubscription BillingCollectionAlignment = "subscription" ) // Valid indicates whether the value is a known member of the BillingCollectionAlignment enum. func (e BillingCollectionAlignment) Valid() bool { switch e { case BillingCollectionAlignmentAnchored: return true case BillingCollectionAlignmentSubscription: return true default: return false } } // Defines values for BillingProfileCustomerOverrideExpand. const ( BillingProfileCustomerOverrideExpandApps BillingProfileCustomerOverrideExpand = "apps" BillingProfileCustomerOverrideExpandCustomer BillingProfileCustomerOverrideExpand = "customer" ) // Valid indicates whether the value is a known member of the BillingProfileCustomerOverrideExpand enum. func (e BillingProfileCustomerOverrideExpand) Valid() bool { switch e { case BillingProfileCustomerOverrideExpandApps: return true case BillingProfileCustomerOverrideExpandCustomer: return true default: return false } } // Defines values for BillingProfileCustomerOverrideOrderBy. const ( BillingProfileCustomerOverrideOrderByCustomerCreatedAt BillingProfileCustomerOverrideOrderBy = "customerCreatedAt" BillingProfileCustomerOverrideOrderByCustomerId BillingProfileCustomerOverrideOrderBy = "customerId" BillingProfileCustomerOverrideOrderByCustomerKey BillingProfileCustomerOverrideOrderBy = "customerKey" BillingProfileCustomerOverrideOrderByCustomerName BillingProfileCustomerOverrideOrderBy = "customerName" BillingProfileCustomerOverrideOrderByCustomerPrimaryEmail BillingProfileCustomerOverrideOrderBy = "customerPrimaryEmail" ) // Valid indicates whether the value is a known member of the BillingProfileCustomerOverrideOrderBy enum. func (e BillingProfileCustomerOverrideOrderBy) Valid() bool { switch e { case BillingProfileCustomerOverrideOrderByCustomerCreatedAt: return true case BillingProfileCustomerOverrideOrderByCustomerId: return true case BillingProfileCustomerOverrideOrderByCustomerKey: return true case BillingProfileCustomerOverrideOrderByCustomerName: return true case BillingProfileCustomerOverrideOrderByCustomerPrimaryEmail: return true default: return false } } // Defines values for BillingProfileExpand. const ( BillingProfileExpandApps BillingProfileExpand = "apps" ) // Valid indicates whether the value is a known member of the BillingProfileExpand enum. func (e BillingProfileExpand) Valid() bool { switch e { case BillingProfileExpandApps: return true default: return false } } // Defines values for BillingProfileOrderBy. const ( BillingProfileOrderByCreatedAt BillingProfileOrderBy = "createdAt" BillingProfileOrderByDefault BillingProfileOrderBy = "default" BillingProfileOrderByName BillingProfileOrderBy = "name" BillingProfileOrderByUpdatedAt BillingProfileOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the BillingProfileOrderBy enum. func (e BillingProfileOrderBy) Valid() bool { switch e { case BillingProfileOrderByCreatedAt: return true case BillingProfileOrderByDefault: return true case BillingProfileOrderByName: return true case BillingProfileOrderByUpdatedAt: return true default: return false } } // Defines values for BillingSettlementMode. const ( BillingSettlementModeCreditOnly BillingSettlementMode = "credit_only" BillingSettlementModeCreditThenInvoice BillingSettlementMode = "credit_then_invoice" ) // Valid indicates whether the value is a known member of the BillingSettlementMode enum. func (e BillingSettlementMode) Valid() bool { switch e { case BillingSettlementModeCreditOnly: return true case BillingSettlementModeCreditThenInvoice: return true default: return false } } // Defines values for BillingWorkflowAppReferenceType. const ( BillingWorkflowAppReferenceTypeAppId BillingWorkflowAppReferenceType = "app_id" BillingWorkflowAppReferenceTypeAppType BillingWorkflowAppReferenceType = "app_type" ) // Valid indicates whether the value is a known member of the BillingWorkflowAppReferenceType enum. func (e BillingWorkflowAppReferenceType) Valid() bool { switch e { case BillingWorkflowAppReferenceTypeAppId: return true case BillingWorkflowAppReferenceTypeAppType: return true default: return false } } // Defines values for BillingWorkflowCollectionAlignmentAnchoredType. const ( BillingWorkflowCollectionAlignmentAnchoredTypeAnchored BillingWorkflowCollectionAlignmentAnchoredType = "anchored" ) // Valid indicates whether the value is a known member of the BillingWorkflowCollectionAlignmentAnchoredType enum. func (e BillingWorkflowCollectionAlignmentAnchoredType) Valid() bool { switch e { case BillingWorkflowCollectionAlignmentAnchoredTypeAnchored: return true default: return false } } // Defines values for BillingWorkflowCollectionAlignmentSubscriptionType. const ( BillingWorkflowCollectionAlignmentSubscriptionTypeSubscription BillingWorkflowCollectionAlignmentSubscriptionType = "subscription" ) // Valid indicates whether the value is a known member of the BillingWorkflowCollectionAlignmentSubscriptionType enum. func (e BillingWorkflowCollectionAlignmentSubscriptionType) Valid() bool { switch e { case BillingWorkflowCollectionAlignmentSubscriptionTypeSubscription: return true default: return false } } // Defines values for BillingWorkflowInvoicingSubscriptionEndProrationMode. const ( BillingWorkflowInvoicingSubscriptionEndProrationModeBillActualPeriod BillingWorkflowInvoicingSubscriptionEndProrationMode = "bill_actual_period" BillingWorkflowInvoicingSubscriptionEndProrationModeBillFullPeriod BillingWorkflowInvoicingSubscriptionEndProrationMode = "bill_full_period" ) // Valid indicates whether the value is a known member of the BillingWorkflowInvoicingSubscriptionEndProrationMode enum. func (e BillingWorkflowInvoicingSubscriptionEndProrationMode) Valid() bool { switch e { case BillingWorkflowInvoicingSubscriptionEndProrationModeBillActualPeriod: return true case BillingWorkflowInvoicingSubscriptionEndProrationModeBillFullPeriod: return true default: return false } } // Defines values for BillingWorkflowLineResolution. const ( BillingWorkflowLineResolutionDay BillingWorkflowLineResolution = "day" BillingWorkflowLineResolutionPeriod BillingWorkflowLineResolution = "period" ) // Valid indicates whether the value is a known member of the BillingWorkflowLineResolution enum. func (e BillingWorkflowLineResolution) Valid() bool { switch e { case BillingWorkflowLineResolutionDay: return true case BillingWorkflowLineResolutionPeriod: return true default: return false } } // Defines values for CheckoutSessionUIMode. const ( CheckoutSessionUIModeEmbedded CheckoutSessionUIMode = "embedded" CheckoutSessionUIModeHosted CheckoutSessionUIMode = "hosted" ) // Valid indicates whether the value is a known member of the CheckoutSessionUIMode enum. func (e CheckoutSessionUIMode) Valid() bool { switch e { case CheckoutSessionUIModeEmbedded: return true case CheckoutSessionUIModeHosted: return true default: return false } } // Defines values for CollectionMethod. const ( CollectionMethodChargeAutomatically CollectionMethod = "charge_automatically" CollectionMethodSendInvoice CollectionMethod = "send_invoice" ) // Valid indicates whether the value is a known member of the CollectionMethod enum. func (e CollectionMethod) Valid() bool { switch e { case CollectionMethodChargeAutomatically: return true case CollectionMethodSendInvoice: return true default: return false } } // Defines values for CreateCheckoutSessionTaxIdCollectionRequired. const ( CreateCheckoutSessionTaxIdCollectionRequiredIfSupported CreateCheckoutSessionTaxIdCollectionRequired = "if_supported" CreateCheckoutSessionTaxIdCollectionRequiredNever CreateCheckoutSessionTaxIdCollectionRequired = "never" ) // Valid indicates whether the value is a known member of the CreateCheckoutSessionTaxIdCollectionRequired enum. func (e CreateCheckoutSessionTaxIdCollectionRequired) Valid() bool { switch e { case CreateCheckoutSessionTaxIdCollectionRequiredIfSupported: return true case CreateCheckoutSessionTaxIdCollectionRequiredNever: return true default: return false } } // Defines values for CreateStripeCheckoutSessionBillingAddressCollection. const ( CreateStripeCheckoutSessionBillingAddressCollectionAuto CreateStripeCheckoutSessionBillingAddressCollection = "auto" CreateStripeCheckoutSessionBillingAddressCollectionRequired CreateStripeCheckoutSessionBillingAddressCollection = "required" ) // Valid indicates whether the value is a known member of the CreateStripeCheckoutSessionBillingAddressCollection enum. func (e CreateStripeCheckoutSessionBillingAddressCollection) Valid() bool { switch e { case CreateStripeCheckoutSessionBillingAddressCollectionAuto: return true case CreateStripeCheckoutSessionBillingAddressCollectionRequired: return true default: return false } } // Defines values for CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition. const ( CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPositionAuto CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition = "auto" CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPositionHidden CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition = "hidden" ) // Valid indicates whether the value is a known member of the CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition enum. func (e CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition) Valid() bool { switch e { case CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPositionAuto: return true case CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPositionHidden: return true default: return false } } // Defines values for CreateStripeCheckoutSessionConsentCollectionPromotions. const ( CreateStripeCheckoutSessionConsentCollectionPromotionsAuto CreateStripeCheckoutSessionConsentCollectionPromotions = "auto" CreateStripeCheckoutSessionConsentCollectionPromotionsNone CreateStripeCheckoutSessionConsentCollectionPromotions = "none" ) // Valid indicates whether the value is a known member of the CreateStripeCheckoutSessionConsentCollectionPromotions enum. func (e CreateStripeCheckoutSessionConsentCollectionPromotions) Valid() bool { switch e { case CreateStripeCheckoutSessionConsentCollectionPromotionsAuto: return true case CreateStripeCheckoutSessionConsentCollectionPromotionsNone: return true default: return false } } // Defines values for CreateStripeCheckoutSessionConsentCollectionTermsOfService. const ( CreateStripeCheckoutSessionConsentCollectionTermsOfServiceNone CreateStripeCheckoutSessionConsentCollectionTermsOfService = "none" CreateStripeCheckoutSessionConsentCollectionTermsOfServiceRequired CreateStripeCheckoutSessionConsentCollectionTermsOfService = "required" ) // Valid indicates whether the value is a known member of the CreateStripeCheckoutSessionConsentCollectionTermsOfService enum. func (e CreateStripeCheckoutSessionConsentCollectionTermsOfService) Valid() bool { switch e { case CreateStripeCheckoutSessionConsentCollectionTermsOfServiceNone: return true case CreateStripeCheckoutSessionConsentCollectionTermsOfServiceRequired: return true default: return false } } // Defines values for CreateStripeCheckoutSessionCustomerUpdateBehavior. const ( CreateStripeCheckoutSessionCustomerUpdateBehaviorAuto CreateStripeCheckoutSessionCustomerUpdateBehavior = "auto" CreateStripeCheckoutSessionCustomerUpdateBehaviorNever CreateStripeCheckoutSessionCustomerUpdateBehavior = "never" ) // Valid indicates whether the value is a known member of the CreateStripeCheckoutSessionCustomerUpdateBehavior enum. func (e CreateStripeCheckoutSessionCustomerUpdateBehavior) Valid() bool { switch e { case CreateStripeCheckoutSessionCustomerUpdateBehaviorAuto: return true case CreateStripeCheckoutSessionCustomerUpdateBehaviorNever: return true default: return false } } // Defines values for CreateStripeCheckoutSessionRedirectOnCompletion. const ( CreateStripeCheckoutSessionRedirectOnCompletionAlways CreateStripeCheckoutSessionRedirectOnCompletion = "always" CreateStripeCheckoutSessionRedirectOnCompletionIfRequired CreateStripeCheckoutSessionRedirectOnCompletion = "if_required" CreateStripeCheckoutSessionRedirectOnCompletionNever CreateStripeCheckoutSessionRedirectOnCompletion = "never" ) // Valid indicates whether the value is a known member of the CreateStripeCheckoutSessionRedirectOnCompletion enum. func (e CreateStripeCheckoutSessionRedirectOnCompletion) Valid() bool { switch e { case CreateStripeCheckoutSessionRedirectOnCompletionAlways: return true case CreateStripeCheckoutSessionRedirectOnCompletionIfRequired: return true case CreateStripeCheckoutSessionRedirectOnCompletionNever: return true default: return false } } // Defines values for CustomInvoicingAppType. const ( CustomInvoicingAppTypeCustomInvoicing CustomInvoicingAppType = "custom_invoicing" ) // Valid indicates whether the value is a known member of the CustomInvoicingAppType enum. func (e CustomInvoicingAppType) Valid() bool { switch e { case CustomInvoicingAppTypeCustomInvoicing: return true default: return false } } // Defines values for CustomInvoicingAppReplaceUpdateType. const ( CustomInvoicingAppReplaceUpdateTypeCustomInvoicing CustomInvoicingAppReplaceUpdateType = "custom_invoicing" ) // Valid indicates whether the value is a known member of the CustomInvoicingAppReplaceUpdateType enum. func (e CustomInvoicingAppReplaceUpdateType) Valid() bool { switch e { case CustomInvoicingAppReplaceUpdateTypeCustomInvoicing: return true default: return false } } // Defines values for CustomInvoicingCustomerAppDataType. const ( CustomInvoicingCustomerAppDataTypeCustomInvoicing CustomInvoicingCustomerAppDataType = "custom_invoicing" ) // Valid indicates whether the value is a known member of the CustomInvoicingCustomerAppDataType enum. func (e CustomInvoicingCustomerAppDataType) Valid() bool { switch e { case CustomInvoicingCustomerAppDataTypeCustomInvoicing: return true default: return false } } // Defines values for CustomInvoicingPaymentTrigger. const ( CustomInvoicingPaymentTriggerActionRequired CustomInvoicingPaymentTrigger = "action_required" CustomInvoicingPaymentTriggerPaid CustomInvoicingPaymentTrigger = "paid" CustomInvoicingPaymentTriggerPaymentFailed CustomInvoicingPaymentTrigger = "payment_failed" CustomInvoicingPaymentTriggerPaymentOverdue CustomInvoicingPaymentTrigger = "payment_overdue" CustomInvoicingPaymentTriggerPaymentUncollectible CustomInvoicingPaymentTrigger = "payment_uncollectible" CustomInvoicingPaymentTriggerVoid CustomInvoicingPaymentTrigger = "void" ) // Valid indicates whether the value is a known member of the CustomInvoicingPaymentTrigger enum. func (e CustomInvoicingPaymentTrigger) Valid() bool { switch e { case CustomInvoicingPaymentTriggerActionRequired: return true case CustomInvoicingPaymentTriggerPaid: return true case CustomInvoicingPaymentTriggerPaymentFailed: return true case CustomInvoicingPaymentTriggerPaymentOverdue: return true case CustomInvoicingPaymentTriggerPaymentUncollectible: return true case CustomInvoicingPaymentTriggerVoid: return true default: return false } } // Defines values for CustomerExpand. const ( CustomerExpandSubscriptions CustomerExpand = "subscriptions" ) // Valid indicates whether the value is a known member of the CustomerExpand enum. func (e CustomerExpand) Valid() bool { switch e { case CustomerExpandSubscriptions: return true default: return false } } // Defines values for CustomerOrderBy. const ( CustomerOrderByCreatedAt CustomerOrderBy = "createdAt" CustomerOrderById CustomerOrderBy = "id" CustomerOrderByName CustomerOrderBy = "name" ) // Valid indicates whether the value is a known member of the CustomerOrderBy enum. func (e CustomerOrderBy) Valid() bool { switch e { case CustomerOrderByCreatedAt: return true case CustomerOrderById: return true case CustomerOrderByName: return true default: return false } } // Defines values for CustomerSubscriptionOrderBy. const ( CustomerSubscriptionOrderByActiveFrom CustomerSubscriptionOrderBy = "activeFrom" CustomerSubscriptionOrderByActiveTo CustomerSubscriptionOrderBy = "activeTo" ) // Valid indicates whether the value is a known member of the CustomerSubscriptionOrderBy enum. func (e CustomerSubscriptionOrderBy) Valid() bool { switch e { case CustomerSubscriptionOrderByActiveFrom: return true case CustomerSubscriptionOrderByActiveTo: return true default: return false } } // Defines values for DiscountReasonMaximumSpendType. const ( DiscountReasonMaximumSpendTypeMaximumSpend DiscountReasonMaximumSpendType = "maximum_spend" ) // Valid indicates whether the value is a known member of the DiscountReasonMaximumSpendType enum. func (e DiscountReasonMaximumSpendType) Valid() bool { switch e { case DiscountReasonMaximumSpendTypeMaximumSpend: return true default: return false } } // Defines values for DiscountReasonRatecardPercentageType. const ( DiscountReasonRatecardPercentageTypeRatecardPercentage DiscountReasonRatecardPercentageType = "ratecard_percentage" ) // Valid indicates whether the value is a known member of the DiscountReasonRatecardPercentageType enum. func (e DiscountReasonRatecardPercentageType) Valid() bool { switch e { case DiscountReasonRatecardPercentageTypeRatecardPercentage: return true default: return false } } // Defines values for DiscountReasonRatecardUsageType. const ( DiscountReasonRatecardUsageTypeRatecardUsage DiscountReasonRatecardUsageType = "ratecard_usage" ) // Valid indicates whether the value is a known member of the DiscountReasonRatecardUsageType enum. func (e DiscountReasonRatecardUsageType) Valid() bool { switch e { case DiscountReasonRatecardUsageTypeRatecardUsage: return true default: return false } } // Defines values for DiscountReasonType. const ( DiscountReasonTypeMaximumSpend DiscountReasonType = "maximum_spend" DiscountReasonTypeRatecardPercentage DiscountReasonType = "ratecard_percentage" DiscountReasonTypeRatecardUsage DiscountReasonType = "ratecard_usage" ) // Valid indicates whether the value is a known member of the DiscountReasonType enum. func (e DiscountReasonType) Valid() bool { switch e { case DiscountReasonTypeMaximumSpend: return true case DiscountReasonTypeRatecardPercentage: return true case DiscountReasonTypeRatecardUsage: return true default: return false } } // Defines values for DynamicPriceType. const ( DynamicPriceTypeDynamic DynamicPriceType = "dynamic" ) // Valid indicates whether the value is a known member of the DynamicPriceType enum. func (e DynamicPriceType) Valid() bool { switch e { case DynamicPriceTypeDynamic: return true default: return false } } // Defines values for DynamicPriceWithCommitmentsType. const ( DynamicPriceWithCommitmentsTypeDynamic DynamicPriceWithCommitmentsType = "dynamic" ) // Valid indicates whether the value is a known member of the DynamicPriceWithCommitmentsType enum. func (e DynamicPriceWithCommitmentsType) Valid() bool { switch e { case DynamicPriceWithCommitmentsTypeDynamic: return true default: return false } } // Defines values for EditOp. const ( EditOpAddItem EditOp = "add_item" EditOpAddPhase EditOp = "add_phase" EditOpRemoveItem EditOp = "remove_item" EditOpRemovePhase EditOp = "remove_phase" EditOpStretchPhase EditOp = "stretch_phase" EditOpUnscheduleEdit EditOp = "unschedule_edit" ) // Valid indicates whether the value is a known member of the EditOp enum. func (e EditOp) Valid() bool { switch e { case EditOpAddItem: return true case EditOpAddPhase: return true case EditOpRemoveItem: return true case EditOpRemovePhase: return true case EditOpStretchPhase: return true case EditOpUnscheduleEdit: return true default: return false } } // Defines values for EditSubscriptionAddItemOp. const ( EditSubscriptionAddItemOpAddItem EditSubscriptionAddItemOp = "add_item" ) // Valid indicates whether the value is a known member of the EditSubscriptionAddItemOp enum. func (e EditSubscriptionAddItemOp) Valid() bool { switch e { case EditSubscriptionAddItemOpAddItem: return true default: return false } } // Defines values for EditSubscriptionAddPhaseOp. const ( EditSubscriptionAddPhaseOpAddPhase EditSubscriptionAddPhaseOp = "add_phase" ) // Valid indicates whether the value is a known member of the EditSubscriptionAddPhaseOp enum. func (e EditSubscriptionAddPhaseOp) Valid() bool { switch e { case EditSubscriptionAddPhaseOpAddPhase: return true default: return false } } // Defines values for EditSubscriptionRemoveItemOp. const ( EditSubscriptionRemoveItemOpRemoveItem EditSubscriptionRemoveItemOp = "remove_item" ) // Valid indicates whether the value is a known member of the EditSubscriptionRemoveItemOp enum. func (e EditSubscriptionRemoveItemOp) Valid() bool { switch e { case EditSubscriptionRemoveItemOpRemoveItem: return true default: return false } } // Defines values for EditSubscriptionRemovePhaseOp. const ( EditSubscriptionRemovePhaseOpRemovePhase EditSubscriptionRemovePhaseOp = "remove_phase" ) // Valid indicates whether the value is a known member of the EditSubscriptionRemovePhaseOp enum. func (e EditSubscriptionRemovePhaseOp) Valid() bool { switch e { case EditSubscriptionRemovePhaseOpRemovePhase: return true default: return false } } // Defines values for EditSubscriptionStretchPhaseOp. const ( EditSubscriptionStretchPhaseOpStretchPhase EditSubscriptionStretchPhaseOp = "stretch_phase" ) // Valid indicates whether the value is a known member of the EditSubscriptionStretchPhaseOp enum. func (e EditSubscriptionStretchPhaseOp) Valid() bool { switch e { case EditSubscriptionStretchPhaseOpStretchPhase: return true default: return false } } // Defines values for EditSubscriptionUnscheduleEditOp. const ( EditSubscriptionUnscheduleEditOpUnscheduleEdit EditSubscriptionUnscheduleEditOp = "unschedule_edit" ) // Valid indicates whether the value is a known member of the EditSubscriptionUnscheduleEditOp enum. func (e EditSubscriptionUnscheduleEditOp) Valid() bool { switch e { case EditSubscriptionUnscheduleEditOpUnscheduleEdit: return true default: return false } } // Defines values for EntitlementBooleanType. const ( EntitlementBooleanTypeBoolean EntitlementBooleanType = "boolean" ) // Valid indicates whether the value is a known member of the EntitlementBooleanType enum. func (e EntitlementBooleanType) Valid() bool { switch e { case EntitlementBooleanTypeBoolean: return true default: return false } } // Defines values for EntitlementBooleanCreateInputsType. const ( EntitlementBooleanCreateInputsTypeBoolean EntitlementBooleanCreateInputsType = "boolean" ) // Valid indicates whether the value is a known member of the EntitlementBooleanCreateInputsType enum. func (e EntitlementBooleanCreateInputsType) Valid() bool { switch e { case EntitlementBooleanCreateInputsTypeBoolean: return true default: return false } } // Defines values for EntitlementBooleanV2Type. const ( EntitlementBooleanV2TypeBoolean EntitlementBooleanV2Type = "boolean" ) // Valid indicates whether the value is a known member of the EntitlementBooleanV2Type enum. func (e EntitlementBooleanV2Type) Valid() bool { switch e { case EntitlementBooleanV2TypeBoolean: return true default: return false } } // Defines values for EntitlementMeteredType. const ( EntitlementMeteredTypeMetered EntitlementMeteredType = "metered" ) // Valid indicates whether the value is a known member of the EntitlementMeteredType enum. func (e EntitlementMeteredType) Valid() bool { switch e { case EntitlementMeteredTypeMetered: return true default: return false } } // Defines values for EntitlementMeteredCreateInputsType. const ( EntitlementMeteredCreateInputsTypeMetered EntitlementMeteredCreateInputsType = "metered" ) // Valid indicates whether the value is a known member of the EntitlementMeteredCreateInputsType enum. func (e EntitlementMeteredCreateInputsType) Valid() bool { switch e { case EntitlementMeteredCreateInputsTypeMetered: return true default: return false } } // Defines values for EntitlementMeteredV2Type. const ( EntitlementMeteredV2TypeMetered EntitlementMeteredV2Type = "metered" ) // Valid indicates whether the value is a known member of the EntitlementMeteredV2Type enum. func (e EntitlementMeteredV2Type) Valid() bool { switch e { case EntitlementMeteredV2TypeMetered: return true default: return false } } // Defines values for EntitlementMeteredV2CreateInputsType. const ( EntitlementMeteredV2CreateInputsTypeMetered EntitlementMeteredV2CreateInputsType = "metered" ) // Valid indicates whether the value is a known member of the EntitlementMeteredV2CreateInputsType enum. func (e EntitlementMeteredV2CreateInputsType) Valid() bool { switch e { case EntitlementMeteredV2CreateInputsTypeMetered: return true default: return false } } // Defines values for EntitlementOrderBy. const ( EntitlementOrderByCreatedAt EntitlementOrderBy = "createdAt" EntitlementOrderByUpdatedAt EntitlementOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the EntitlementOrderBy enum. func (e EntitlementOrderBy) Valid() bool { switch e { case EntitlementOrderByCreatedAt: return true case EntitlementOrderByUpdatedAt: return true default: return false } } // Defines values for EntitlementStaticType. const ( EntitlementStaticTypeStatic EntitlementStaticType = "static" ) // Valid indicates whether the value is a known member of the EntitlementStaticType enum. func (e EntitlementStaticType) Valid() bool { switch e { case EntitlementStaticTypeStatic: return true default: return false } } // Defines values for EntitlementStaticCreateInputsType. const ( EntitlementStaticCreateInputsTypeStatic EntitlementStaticCreateInputsType = "static" ) // Valid indicates whether the value is a known member of the EntitlementStaticCreateInputsType enum. func (e EntitlementStaticCreateInputsType) Valid() bool { switch e { case EntitlementStaticCreateInputsTypeStatic: return true default: return false } } // Defines values for EntitlementStaticV2Type. const ( EntitlementStaticV2TypeStatic EntitlementStaticV2Type = "static" ) // Valid indicates whether the value is a known member of the EntitlementStaticV2Type enum. func (e EntitlementStaticV2Type) Valid() bool { switch e { case EntitlementStaticV2TypeStatic: return true default: return false } } // Defines values for ExpirationDuration. const ( ExpirationDurationDAY ExpirationDuration = "DAY" ExpirationDurationHOUR ExpirationDuration = "HOUR" ExpirationDurationMONTH ExpirationDuration = "MONTH" ExpirationDurationWEEK ExpirationDuration = "WEEK" ExpirationDurationYEAR ExpirationDuration = "YEAR" ) // Valid indicates whether the value is a known member of the ExpirationDuration enum. func (e ExpirationDuration) Valid() bool { switch e { case ExpirationDurationDAY: return true case ExpirationDurationHOUR: return true case ExpirationDurationMONTH: return true case ExpirationDurationWEEK: return true case ExpirationDurationYEAR: return true default: return false } } // Defines values for FeatureLLMUnitCostType. const ( FeatureLLMUnitCostTypeLlm FeatureLLMUnitCostType = "llm" ) // Valid indicates whether the value is a known member of the FeatureLLMUnitCostType enum. func (e FeatureLLMUnitCostType) Valid() bool { switch e { case FeatureLLMUnitCostTypeLlm: return true default: return false } } // Defines values for FeatureManualUnitCostType. const ( FeatureManualUnitCostTypeManual FeatureManualUnitCostType = "manual" ) // Valid indicates whether the value is a known member of the FeatureManualUnitCostType enum. func (e FeatureManualUnitCostType) Valid() bool { switch e { case FeatureManualUnitCostTypeManual: return true default: return false } } // Defines values for FeatureOrderBy. const ( FeatureOrderByCreatedAt FeatureOrderBy = "createdAt" FeatureOrderById FeatureOrderBy = "id" FeatureOrderByKey FeatureOrderBy = "key" FeatureOrderByName FeatureOrderBy = "name" FeatureOrderByUpdatedAt FeatureOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the FeatureOrderBy enum. func (e FeatureOrderBy) Valid() bool { switch e { case FeatureOrderByCreatedAt: return true case FeatureOrderById: return true case FeatureOrderByKey: return true case FeatureOrderByName: return true case FeatureOrderByUpdatedAt: return true default: return false } } // Defines values for FeatureUnitCostType. const ( FeatureUnitCostTypeLlm FeatureUnitCostType = "llm" FeatureUnitCostTypeManual FeatureUnitCostType = "manual" ) // Valid indicates whether the value is a known member of the FeatureUnitCostType enum. func (e FeatureUnitCostType) Valid() bool { switch e { case FeatureUnitCostTypeLlm: return true case FeatureUnitCostTypeManual: return true default: return false } } // Defines values for FlatPriceType. const ( FlatPriceTypeFlat FlatPriceType = "flat" ) // Valid indicates whether the value is a known member of the FlatPriceType enum. func (e FlatPriceType) Valid() bool { switch e { case FlatPriceTypeFlat: return true default: return false } } // Defines values for FlatPriceWithPaymentTermType. const ( FlatPriceWithPaymentTermTypeFlat FlatPriceWithPaymentTermType = "flat" ) // Valid indicates whether the value is a known member of the FlatPriceWithPaymentTermType enum. func (e FlatPriceWithPaymentTermType) Valid() bool { switch e { case FlatPriceWithPaymentTermTypeFlat: return true default: return false } } // Defines values for GrantOrderBy. const ( GrantOrderByCreatedAt GrantOrderBy = "createdAt" GrantOrderById GrantOrderBy = "id" GrantOrderByUpdatedAt GrantOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the GrantOrderBy enum. func (e GrantOrderBy) Valid() bool { switch e { case GrantOrderByCreatedAt: return true case GrantOrderById: return true case GrantOrderByUpdatedAt: return true default: return false } } // Defines values for InstallMethod. const ( InstallMethodNoCredentialsRequired InstallMethod = "no_credentials_required" InstallMethodWithApiKey InstallMethod = "with_api_key" InstallMethodWithOauth2 InstallMethod = "with_oauth2" ) // Valid indicates whether the value is a known member of the InstallMethod enum. func (e InstallMethod) Valid() bool { switch e { case InstallMethodNoCredentialsRequired: return true case InstallMethodWithApiKey: return true case InstallMethodWithOauth2: return true default: return false } } // Defines values for InvoiceDetailedLineType. const ( InvoiceDetailedLineTypeFlatFee InvoiceDetailedLineType = "flat_fee" ) // Valid indicates whether the value is a known member of the InvoiceDetailedLineType enum. func (e InvoiceDetailedLineType) Valid() bool { switch e { case InvoiceDetailedLineTypeFlatFee: return true default: return false } } // Defines values for InvoiceDetailedLineCostCategory. const ( InvoiceDetailedLineCostCategoryCommitment InvoiceDetailedLineCostCategory = "commitment" InvoiceDetailedLineCostCategoryRegular InvoiceDetailedLineCostCategory = "regular" ) // Valid indicates whether the value is a known member of the InvoiceDetailedLineCostCategory enum. func (e InvoiceDetailedLineCostCategory) Valid() bool { switch e { case InvoiceDetailedLineCostCategoryCommitment: return true case InvoiceDetailedLineCostCategoryRegular: return true default: return false } } // Defines values for InvoiceDocumentRefType. const ( InvoiceDocumentRefTypeCreditNoteOriginalInvoice InvoiceDocumentRefType = "credit_note_original_invoice" ) // Valid indicates whether the value is a known member of the InvoiceDocumentRefType enum. func (e InvoiceDocumentRefType) Valid() bool { switch e { case InvoiceDocumentRefTypeCreditNoteOriginalInvoice: return true default: return false } } // Defines values for InvoiceExpand. const ( InvoiceExpandLines InvoiceExpand = "lines" InvoiceExpandPreceding InvoiceExpand = "preceding" InvoiceExpandWorkflowApps InvoiceExpand = "workflow.apps" ) // Valid indicates whether the value is a known member of the InvoiceExpand enum. func (e InvoiceExpand) Valid() bool { switch e { case InvoiceExpandLines: return true case InvoiceExpandPreceding: return true case InvoiceExpandWorkflowApps: return true default: return false } } // Defines values for InvoiceLineType. const ( InvoiceLineTypeUsageBased InvoiceLineType = "usage_based" ) // Valid indicates whether the value is a known member of the InvoiceLineType enum. func (e InvoiceLineType) Valid() bool { switch e { case InvoiceLineTypeUsageBased: return true default: return false } } // Defines values for InvoiceLineManagedBy. const ( InvoiceLineManagedByManual InvoiceLineManagedBy = "manual" InvoiceLineManagedBySubscription InvoiceLineManagedBy = "subscription" InvoiceLineManagedBySystem InvoiceLineManagedBy = "system" ) // Valid indicates whether the value is a known member of the InvoiceLineManagedBy enum. func (e InvoiceLineManagedBy) Valid() bool { switch e { case InvoiceLineManagedByManual: return true case InvoiceLineManagedBySubscription: return true case InvoiceLineManagedBySystem: return true default: return false } } // Defines values for InvoiceLineStatus. const ( InvoiceLineStatusDetailed InvoiceLineStatus = "detailed" InvoiceLineStatusSplit InvoiceLineStatus = "split" InvoiceLineStatusValid InvoiceLineStatus = "valid" ) // Valid indicates whether the value is a known member of the InvoiceLineStatus enum. func (e InvoiceLineStatus) Valid() bool { switch e { case InvoiceLineStatusDetailed: return true case InvoiceLineStatusSplit: return true case InvoiceLineStatusValid: return true default: return false } } // Defines values for InvoiceLineTaxBehavior. const ( InvoiceLineTaxBehaviorExclusive InvoiceLineTaxBehavior = "exclusive" InvoiceLineTaxBehaviorInclusive InvoiceLineTaxBehavior = "inclusive" ) // Valid indicates whether the value is a known member of the InvoiceLineTaxBehavior enum. func (e InvoiceLineTaxBehavior) Valid() bool { switch e { case InvoiceLineTaxBehaviorExclusive: return true case InvoiceLineTaxBehaviorInclusive: return true default: return false } } // Defines values for InvoiceLineTypes. const ( InvoiceLineTypesFlatFee InvoiceLineTypes = "flat_fee" InvoiceLineTypesUsageBased InvoiceLineTypes = "usage_based" ) // Valid indicates whether the value is a known member of the InvoiceLineTypes enum. func (e InvoiceLineTypes) Valid() bool { switch e { case InvoiceLineTypesFlatFee: return true case InvoiceLineTypesUsageBased: return true default: return false } } // Defines values for InvoiceOrderBy. const ( InvoiceOrderByCreatedAt InvoiceOrderBy = "createdAt" InvoiceOrderByCustomerName InvoiceOrderBy = "customer.name" InvoiceOrderByIssuedAt InvoiceOrderBy = "issuedAt" InvoiceOrderByPeriodStart InvoiceOrderBy = "periodStart" InvoiceOrderByStatus InvoiceOrderBy = "status" InvoiceOrderByUpdatedAt InvoiceOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the InvoiceOrderBy enum. func (e InvoiceOrderBy) Valid() bool { switch e { case InvoiceOrderByCreatedAt: return true case InvoiceOrderByCustomerName: return true case InvoiceOrderByIssuedAt: return true case InvoiceOrderByPeriodStart: return true case InvoiceOrderByStatus: return true case InvoiceOrderByUpdatedAt: return true default: return false } } // Defines values for InvoiceStatus. const ( InvoiceStatusDraft InvoiceStatus = "draft" InvoiceStatusGathering InvoiceStatus = "gathering" InvoiceStatusIssued InvoiceStatus = "issued" InvoiceStatusIssuing InvoiceStatus = "issuing" InvoiceStatusOverdue InvoiceStatus = "overdue" InvoiceStatusPaid InvoiceStatus = "paid" InvoiceStatusPaymentProcessing InvoiceStatus = "payment_processing" InvoiceStatusUncollectible InvoiceStatus = "uncollectible" InvoiceStatusVoided InvoiceStatus = "voided" ) // Valid indicates whether the value is a known member of the InvoiceStatus enum. func (e InvoiceStatus) Valid() bool { switch e { case InvoiceStatusDraft: return true case InvoiceStatusGathering: return true case InvoiceStatusIssued: return true case InvoiceStatusIssuing: return true case InvoiceStatusOverdue: return true case InvoiceStatusPaid: return true case InvoiceStatusPaymentProcessing: return true case InvoiceStatusUncollectible: return true case InvoiceStatusVoided: return true default: return false } } // Defines values for InvoiceType. const ( InvoiceTypeCreditNote InvoiceType = "credit_note" InvoiceTypeStandard InvoiceType = "standard" ) // Valid indicates whether the value is a known member of the InvoiceType enum. func (e InvoiceType) Valid() bool { switch e { case InvoiceTypeCreditNote: return true case InvoiceTypeStandard: return true default: return false } } // Defines values for MeasureUsageFromPreset. const ( MeasureUsageFromPresetCurrentPeriodStart MeasureUsageFromPreset = "CURRENT_PERIOD_START" MeasureUsageFromPresetNow MeasureUsageFromPreset = "NOW" ) // Valid indicates whether the value is a known member of the MeasureUsageFromPreset enum. func (e MeasureUsageFromPreset) Valid() bool { switch e { case MeasureUsageFromPresetCurrentPeriodStart: return true case MeasureUsageFromPresetNow: return true default: return false } } // Defines values for MeterAggregation. const ( MeterAggregationAvg MeterAggregation = "AVG" MeterAggregationCount MeterAggregation = "COUNT" MeterAggregationLatest MeterAggregation = "LATEST" MeterAggregationMax MeterAggregation = "MAX" MeterAggregationMin MeterAggregation = "MIN" MeterAggregationSum MeterAggregation = "SUM" MeterAggregationUniqueCount MeterAggregation = "UNIQUE_COUNT" ) // Valid indicates whether the value is a known member of the MeterAggregation enum. func (e MeterAggregation) Valid() bool { switch e { case MeterAggregationAvg: return true case MeterAggregationCount: return true case MeterAggregationLatest: return true case MeterAggregationMax: return true case MeterAggregationMin: return true case MeterAggregationSum: return true case MeterAggregationUniqueCount: return true default: return false } } // Defines values for MeterOrderBy. const ( MeterOrderByAggregation MeterOrderBy = "aggregation" MeterOrderByCreatedAt MeterOrderBy = "createdAt" MeterOrderByKey MeterOrderBy = "key" MeterOrderByName MeterOrderBy = "name" MeterOrderByUpdatedAt MeterOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the MeterOrderBy enum. func (e MeterOrderBy) Valid() bool { switch e { case MeterOrderByAggregation: return true case MeterOrderByCreatedAt: return true case MeterOrderByKey: return true case MeterOrderByName: return true case MeterOrderByUpdatedAt: return true default: return false } } // Defines values for NotificationChannelOrderBy. const ( NotificationChannelOrderByCreatedAt NotificationChannelOrderBy = "createdAt" NotificationChannelOrderById NotificationChannelOrderBy = "id" NotificationChannelOrderByType NotificationChannelOrderBy = "type" NotificationChannelOrderByUpdatedAt NotificationChannelOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the NotificationChannelOrderBy enum. func (e NotificationChannelOrderBy) Valid() bool { switch e { case NotificationChannelOrderByCreatedAt: return true case NotificationChannelOrderById: return true case NotificationChannelOrderByType: return true case NotificationChannelOrderByUpdatedAt: return true default: return false } } // Defines values for NotificationChannelType. const ( NotificationChannelTypeWebhook NotificationChannelType = "WEBHOOK" ) // Valid indicates whether the value is a known member of the NotificationChannelType enum. func (e NotificationChannelType) Valid() bool { switch e { case NotificationChannelTypeWebhook: return true default: return false } } // Defines values for NotificationChannelWebhookType. const ( NotificationChannelWebhookTypeWEBHOOK NotificationChannelWebhookType = "WEBHOOK" ) // Valid indicates whether the value is a known member of the NotificationChannelWebhookType enum. func (e NotificationChannelWebhookType) Valid() bool { switch e { case NotificationChannelWebhookTypeWEBHOOK: return true default: return false } } // Defines values for NotificationChannelWebhookCreateRequestType. const ( NotificationChannelWebhookCreateRequestTypeWEBHOOK NotificationChannelWebhookCreateRequestType = "WEBHOOK" ) // Valid indicates whether the value is a known member of the NotificationChannelWebhookCreateRequestType enum. func (e NotificationChannelWebhookCreateRequestType) Valid() bool { switch e { case NotificationChannelWebhookCreateRequestTypeWEBHOOK: return true default: return false } } // Defines values for NotificationEventBalanceThresholdPayloadType. const ( NotificationEventBalanceThresholdPayloadTypeEntitlementsBalanceThreshold NotificationEventBalanceThresholdPayloadType = "entitlements.balance.threshold" ) // Valid indicates whether the value is a known member of the NotificationEventBalanceThresholdPayloadType enum. func (e NotificationEventBalanceThresholdPayloadType) Valid() bool { switch e { case NotificationEventBalanceThresholdPayloadTypeEntitlementsBalanceThreshold: return true default: return false } } // Defines values for NotificationEventDeliveryStatusState. const ( NotificationEventDeliveryStatusStateFailed NotificationEventDeliveryStatusState = "FAILED" NotificationEventDeliveryStatusStatePending NotificationEventDeliveryStatusState = "PENDING" NotificationEventDeliveryStatusStateResending NotificationEventDeliveryStatusState = "RESENDING" NotificationEventDeliveryStatusStateSending NotificationEventDeliveryStatusState = "SENDING" NotificationEventDeliveryStatusStateSuccess NotificationEventDeliveryStatusState = "SUCCESS" ) // Valid indicates whether the value is a known member of the NotificationEventDeliveryStatusState enum. func (e NotificationEventDeliveryStatusState) Valid() bool { switch e { case NotificationEventDeliveryStatusStateFailed: return true case NotificationEventDeliveryStatusStatePending: return true case NotificationEventDeliveryStatusStateResending: return true case NotificationEventDeliveryStatusStateSending: return true case NotificationEventDeliveryStatusStateSuccess: return true default: return false } } // Defines values for NotificationEventInvoiceCreatedPayloadType. const ( NotificationEventInvoiceCreatedPayloadTypeInvoiceCreated NotificationEventInvoiceCreatedPayloadType = "invoice.created" ) // Valid indicates whether the value is a known member of the NotificationEventInvoiceCreatedPayloadType enum. func (e NotificationEventInvoiceCreatedPayloadType) Valid() bool { switch e { case NotificationEventInvoiceCreatedPayloadTypeInvoiceCreated: return true default: return false } } // Defines values for NotificationEventInvoiceUpdatedPayloadType. const ( NotificationEventInvoiceUpdatedPayloadTypeInvoiceUpdated NotificationEventInvoiceUpdatedPayloadType = "invoice.updated" ) // Valid indicates whether the value is a known member of the NotificationEventInvoiceUpdatedPayloadType enum. func (e NotificationEventInvoiceUpdatedPayloadType) Valid() bool { switch e { case NotificationEventInvoiceUpdatedPayloadTypeInvoiceUpdated: return true default: return false } } // Defines values for NotificationEventOrderBy. const ( NotificationEventOrderByCreatedAt NotificationEventOrderBy = "createdAt" NotificationEventOrderById NotificationEventOrderBy = "id" ) // Valid indicates whether the value is a known member of the NotificationEventOrderBy enum. func (e NotificationEventOrderBy) Valid() bool { switch e { case NotificationEventOrderByCreatedAt: return true case NotificationEventOrderById: return true default: return false } } // Defines values for NotificationEventResetPayloadType. const ( NotificationEventResetPayloadTypeEntitlementsReset NotificationEventResetPayloadType = "entitlements.reset" ) // Valid indicates whether the value is a known member of the NotificationEventResetPayloadType enum. func (e NotificationEventResetPayloadType) Valid() bool { switch e { case NotificationEventResetPayloadTypeEntitlementsReset: return true default: return false } } // Defines values for NotificationEventType. const ( NotificationEventTypeEntitlementsBalanceThreshold NotificationEventType = "entitlements.balance.threshold" NotificationEventTypeEntitlementsReset NotificationEventType = "entitlements.reset" NotificationEventTypeInvoiceCreated NotificationEventType = "invoice.created" NotificationEventTypeInvoiceUpdated NotificationEventType = "invoice.updated" ) // Valid indicates whether the value is a known member of the NotificationEventType enum. func (e NotificationEventType) Valid() bool { switch e { case NotificationEventTypeEntitlementsBalanceThreshold: return true case NotificationEventTypeEntitlementsReset: return true case NotificationEventTypeInvoiceCreated: return true case NotificationEventTypeInvoiceUpdated: return true default: return false } } // Defines values for NotificationRuleBalanceThresholdType. const ( NotificationRuleBalanceThresholdTypeEntitlementsBalanceThreshold NotificationRuleBalanceThresholdType = "entitlements.balance.threshold" ) // Valid indicates whether the value is a known member of the NotificationRuleBalanceThresholdType enum. func (e NotificationRuleBalanceThresholdType) Valid() bool { switch e { case NotificationRuleBalanceThresholdTypeEntitlementsBalanceThreshold: return true default: return false } } // Defines values for NotificationRuleBalanceThresholdCreateRequestType. const ( NotificationRuleBalanceThresholdCreateRequestTypeEntitlementsBalanceThreshold NotificationRuleBalanceThresholdCreateRequestType = "entitlements.balance.threshold" ) // Valid indicates whether the value is a known member of the NotificationRuleBalanceThresholdCreateRequestType enum. func (e NotificationRuleBalanceThresholdCreateRequestType) Valid() bool { switch e { case NotificationRuleBalanceThresholdCreateRequestTypeEntitlementsBalanceThreshold: return true default: return false } } // Defines values for NotificationRuleBalanceThresholdValueType. const ( NotificationRuleBalanceThresholdValueTypeBalanceValue NotificationRuleBalanceThresholdValueType = "balance_value" NotificationRuleBalanceThresholdValueTypeNumber NotificationRuleBalanceThresholdValueType = "NUMBER" NotificationRuleBalanceThresholdValueTypePercent NotificationRuleBalanceThresholdValueType = "PERCENT" NotificationRuleBalanceThresholdValueTypeUsagePercentage NotificationRuleBalanceThresholdValueType = "usage_percentage" NotificationRuleBalanceThresholdValueTypeUsageValue NotificationRuleBalanceThresholdValueType = "usage_value" ) // Valid indicates whether the value is a known member of the NotificationRuleBalanceThresholdValueType enum. func (e NotificationRuleBalanceThresholdValueType) Valid() bool { switch e { case NotificationRuleBalanceThresholdValueTypeBalanceValue: return true case NotificationRuleBalanceThresholdValueTypeNumber: return true case NotificationRuleBalanceThresholdValueTypePercent: return true case NotificationRuleBalanceThresholdValueTypeUsagePercentage: return true case NotificationRuleBalanceThresholdValueTypeUsageValue: return true default: return false } } // Defines values for NotificationRuleEntitlementResetType. const ( NotificationRuleEntitlementResetTypeEntitlementsReset NotificationRuleEntitlementResetType = "entitlements.reset" ) // Valid indicates whether the value is a known member of the NotificationRuleEntitlementResetType enum. func (e NotificationRuleEntitlementResetType) Valid() bool { switch e { case NotificationRuleEntitlementResetTypeEntitlementsReset: return true default: return false } } // Defines values for NotificationRuleEntitlementResetCreateRequestType. const ( NotificationRuleEntitlementResetCreateRequestTypeEntitlementsReset NotificationRuleEntitlementResetCreateRequestType = "entitlements.reset" ) // Valid indicates whether the value is a known member of the NotificationRuleEntitlementResetCreateRequestType enum. func (e NotificationRuleEntitlementResetCreateRequestType) Valid() bool { switch e { case NotificationRuleEntitlementResetCreateRequestTypeEntitlementsReset: return true default: return false } } // Defines values for NotificationRuleInvoiceCreatedType. const ( NotificationRuleInvoiceCreatedTypeInvoiceCreated NotificationRuleInvoiceCreatedType = "invoice.created" ) // Valid indicates whether the value is a known member of the NotificationRuleInvoiceCreatedType enum. func (e NotificationRuleInvoiceCreatedType) Valid() bool { switch e { case NotificationRuleInvoiceCreatedTypeInvoiceCreated: return true default: return false } } // Defines values for NotificationRuleInvoiceCreatedCreateRequestType. const ( NotificationRuleInvoiceCreatedCreateRequestTypeInvoiceCreated NotificationRuleInvoiceCreatedCreateRequestType = "invoice.created" ) // Valid indicates whether the value is a known member of the NotificationRuleInvoiceCreatedCreateRequestType enum. func (e NotificationRuleInvoiceCreatedCreateRequestType) Valid() bool { switch e { case NotificationRuleInvoiceCreatedCreateRequestTypeInvoiceCreated: return true default: return false } } // Defines values for NotificationRuleInvoiceUpdatedType. const ( NotificationRuleInvoiceUpdatedTypeInvoiceUpdated NotificationRuleInvoiceUpdatedType = "invoice.updated" ) // Valid indicates whether the value is a known member of the NotificationRuleInvoiceUpdatedType enum. func (e NotificationRuleInvoiceUpdatedType) Valid() bool { switch e { case NotificationRuleInvoiceUpdatedTypeInvoiceUpdated: return true default: return false } } // Defines values for NotificationRuleInvoiceUpdatedCreateRequestType. const ( NotificationRuleInvoiceUpdatedCreateRequestTypeInvoiceUpdated NotificationRuleInvoiceUpdatedCreateRequestType = "invoice.updated" ) // Valid indicates whether the value is a known member of the NotificationRuleInvoiceUpdatedCreateRequestType enum. func (e NotificationRuleInvoiceUpdatedCreateRequestType) Valid() bool { switch e { case NotificationRuleInvoiceUpdatedCreateRequestTypeInvoiceUpdated: return true default: return false } } // Defines values for NotificationRuleOrderBy. const ( NotificationRuleOrderByCreatedAt NotificationRuleOrderBy = "createdAt" NotificationRuleOrderById NotificationRuleOrderBy = "id" NotificationRuleOrderByType NotificationRuleOrderBy = "type" NotificationRuleOrderByUpdatedAt NotificationRuleOrderBy = "updatedAt" ) // Valid indicates whether the value is a known member of the NotificationRuleOrderBy enum. func (e NotificationRuleOrderBy) Valid() bool { switch e { case NotificationRuleOrderByCreatedAt: return true case NotificationRuleOrderById: return true case NotificationRuleOrderByType: return true case NotificationRuleOrderByUpdatedAt: return true default: return false } } // Defines values for OAuth2AuthorizationCodeGrantErrorType. const ( OAuth2AuthorizationCodeGrantErrorTypeAccessDenied OAuth2AuthorizationCodeGrantErrorType = "access_denied" OAuth2AuthorizationCodeGrantErrorTypeInvalidRequest OAuth2AuthorizationCodeGrantErrorType = "invalid_request" OAuth2AuthorizationCodeGrantErrorTypeInvalidScope OAuth2AuthorizationCodeGrantErrorType = "invalid_scope" OAuth2AuthorizationCodeGrantErrorTypeServerError OAuth2AuthorizationCodeGrantErrorType = "server_error" OAuth2AuthorizationCodeGrantErrorTypeTemporarilyUnavailable OAuth2AuthorizationCodeGrantErrorType = "temporarily_unavailable" OAuth2AuthorizationCodeGrantErrorTypeUnauthorizedClient OAuth2AuthorizationCodeGrantErrorType = "unauthorized_client" OAuth2AuthorizationCodeGrantErrorTypeUnsupportedResponseType OAuth2AuthorizationCodeGrantErrorType = "unsupported_response_type" ) // Valid indicates whether the value is a known member of the OAuth2AuthorizationCodeGrantErrorType enum. func (e OAuth2AuthorizationCodeGrantErrorType) Valid() bool { switch e { case OAuth2AuthorizationCodeGrantErrorTypeAccessDenied: return true case OAuth2AuthorizationCodeGrantErrorTypeInvalidRequest: return true case OAuth2AuthorizationCodeGrantErrorTypeInvalidScope: return true case OAuth2AuthorizationCodeGrantErrorTypeServerError: return true case OAuth2AuthorizationCodeGrantErrorTypeTemporarilyUnavailable: return true case OAuth2AuthorizationCodeGrantErrorTypeUnauthorizedClient: return true case OAuth2AuthorizationCodeGrantErrorTypeUnsupportedResponseType: return true default: return false } } // Defines values for PackagePriceType. const ( PackagePriceTypePackage PackagePriceType = "package" ) // Valid indicates whether the value is a known member of the PackagePriceType enum. func (e PackagePriceType) Valid() bool { switch e { case PackagePriceTypePackage: return true default: return false } } // Defines values for PackagePriceWithCommitmentsType. const ( PackagePriceWithCommitmentsTypePackage PackagePriceWithCommitmentsType = "package" ) // Valid indicates whether the value is a known member of the PackagePriceWithCommitmentsType enum. func (e PackagePriceWithCommitmentsType) Valid() bool { switch e { case PackagePriceWithCommitmentsTypePackage: return true default: return false } } // Defines values for PaymentTermDueDateType. const ( PaymentTermDueDateTypeDueDate PaymentTermDueDateType = "due_date" ) // Valid indicates whether the value is a known member of the PaymentTermDueDateType enum. func (e PaymentTermDueDateType) Valid() bool { switch e { case PaymentTermDueDateTypeDueDate: return true default: return false } } // Defines values for PaymentTermInstantType. const ( PaymentTermInstantTypeInstant PaymentTermInstantType = "instant" ) // Valid indicates whether the value is a known member of the PaymentTermInstantType enum. func (e PaymentTermInstantType) Valid() bool { switch e { case PaymentTermInstantTypeInstant: return true default: return false } } // Defines values for PaymentTermType. const ( PaymentTermTypeDueDate PaymentTermType = "due_date" PaymentTermTypeInstant PaymentTermType = "instant" ) // Valid indicates whether the value is a known member of the PaymentTermType enum. func (e PaymentTermType) Valid() bool { switch e { case PaymentTermTypeDueDate: return true case PaymentTermTypeInstant: return true default: return false } } // Defines values for PlanAddonOrderBy. const ( PlanAddonOrderByCreatedAt PlanAddonOrderBy = "created_at" PlanAddonOrderById PlanAddonOrderBy = "id" PlanAddonOrderByKey PlanAddonOrderBy = "key" PlanAddonOrderByUpdatedAt PlanAddonOrderBy = "updated_at" PlanAddonOrderByVersion PlanAddonOrderBy = "version" ) // Valid indicates whether the value is a known member of the PlanAddonOrderBy enum. func (e PlanAddonOrderBy) Valid() bool { switch e { case PlanAddonOrderByCreatedAt: return true case PlanAddonOrderById: return true case PlanAddonOrderByKey: return true case PlanAddonOrderByUpdatedAt: return true case PlanAddonOrderByVersion: return true default: return false } } // Defines values for PlanOrderBy. const ( PlanOrderByCreatedAt PlanOrderBy = "created_at" PlanOrderById PlanOrderBy = "id" PlanOrderByKey PlanOrderBy = "key" PlanOrderByUpdatedAt PlanOrderBy = "updated_at" PlanOrderByVersion PlanOrderBy = "version" ) // Valid indicates whether the value is a known member of the PlanOrderBy enum. func (e PlanOrderBy) Valid() bool { switch e { case PlanOrderByCreatedAt: return true case PlanOrderById: return true case PlanOrderByKey: return true case PlanOrderByUpdatedAt: return true case PlanOrderByVersion: return true default: return false } } // Defines values for PlanStatus. const ( PlanStatusActive PlanStatus = "active" PlanStatusArchived PlanStatus = "archived" PlanStatusDraft PlanStatus = "draft" PlanStatusScheduled PlanStatus = "scheduled" ) // Valid indicates whether the value is a known member of the PlanStatus enum. func (e PlanStatus) Valid() bool { switch e { case PlanStatusActive: return true case PlanStatusArchived: return true case PlanStatusDraft: return true case PlanStatusScheduled: return true default: return false } } // Defines values for PricePaymentTerm. const ( PricePaymentTermInAdvance PricePaymentTerm = "in_advance" PricePaymentTermInArrears PricePaymentTerm = "in_arrears" ) // Valid indicates whether the value is a known member of the PricePaymentTerm enum. func (e PricePaymentTerm) Valid() bool { switch e { case PricePaymentTermInAdvance: return true case PricePaymentTermInArrears: return true default: return false } } // Defines values for PriceType. const ( PriceTypeDynamic PriceType = "dynamic" PriceTypeFlat PriceType = "flat" PriceTypePackage PriceType = "package" PriceTypeTiered PriceType = "tiered" PriceTypeUnit PriceType = "unit" ) // Valid indicates whether the value is a known member of the PriceType enum. func (e PriceType) Valid() bool { switch e { case PriceTypeDynamic: return true case PriceTypeFlat: return true case PriceTypePackage: return true case PriceTypeTiered: return true case PriceTypeUnit: return true default: return false } } // Defines values for ProRatingMode. const ( ProRatingModeProratePrices ProRatingMode = "prorate_prices" ) // Valid indicates whether the value is a known member of the ProRatingMode enum. func (e ProRatingMode) Valid() bool { switch e { case ProRatingModeProratePrices: return true default: return false } } // Defines values for RateCardBooleanEntitlementType. const ( RateCardBooleanEntitlementTypeBoolean RateCardBooleanEntitlementType = "boolean" ) // Valid indicates whether the value is a known member of the RateCardBooleanEntitlementType enum. func (e RateCardBooleanEntitlementType) Valid() bool { switch e { case RateCardBooleanEntitlementTypeBoolean: return true default: return false } } // Defines values for RateCardFlatFeeType. const ( RateCardFlatFeeTypeFlatFee RateCardFlatFeeType = "flat_fee" ) // Valid indicates whether the value is a known member of the RateCardFlatFeeType enum. func (e RateCardFlatFeeType) Valid() bool { switch e { case RateCardFlatFeeTypeFlatFee: return true default: return false } } // Defines values for RateCardMeteredEntitlementType. const ( RateCardMeteredEntitlementTypeMetered RateCardMeteredEntitlementType = "metered" ) // Valid indicates whether the value is a known member of the RateCardMeteredEntitlementType enum. func (e RateCardMeteredEntitlementType) Valid() bool { switch e { case RateCardMeteredEntitlementTypeMetered: return true default: return false } } // Defines values for RateCardStaticEntitlementType. const ( RateCardStaticEntitlementTypeStatic RateCardStaticEntitlementType = "static" ) // Valid indicates whether the value is a known member of the RateCardStaticEntitlementType enum. func (e RateCardStaticEntitlementType) Valid() bool { switch e { case RateCardStaticEntitlementTypeStatic: return true default: return false } } // Defines values for RateCardType. const ( RateCardTypeFlatFee RateCardType = "flat_fee" RateCardTypeUsageBased RateCardType = "usage_based" ) // Valid indicates whether the value is a known member of the RateCardType enum. func (e RateCardType) Valid() bool { switch e { case RateCardTypeFlatFee: return true case RateCardTypeUsageBased: return true default: return false } } // Defines values for RateCardUsageBasedType. const ( RateCardUsageBasedTypeUsageBased RateCardUsageBasedType = "usage_based" ) // Valid indicates whether the value is a known member of the RateCardUsageBasedType enum. func (e RateCardUsageBasedType) Valid() bool { switch e { case RateCardUsageBasedTypeUsageBased: return true default: return false } } // Defines values for RecurringPeriodIntervalEnum. const ( RecurringPeriodIntervalEnumDAY RecurringPeriodIntervalEnum = "DAY" RecurringPeriodIntervalEnumMONTH RecurringPeriodIntervalEnum = "MONTH" RecurringPeriodIntervalEnumWEEK RecurringPeriodIntervalEnum = "WEEK" RecurringPeriodIntervalEnumYEAR RecurringPeriodIntervalEnum = "YEAR" ) // Valid indicates whether the value is a known member of the RecurringPeriodIntervalEnum enum. func (e RecurringPeriodIntervalEnum) Valid() bool { switch e { case RecurringPeriodIntervalEnumDAY: return true case RecurringPeriodIntervalEnumMONTH: return true case RecurringPeriodIntervalEnumWEEK: return true case RecurringPeriodIntervalEnumYEAR: return true default: return false } } // Defines values for RemovePhaseShifting. const ( RemovePhaseShiftingNext RemovePhaseShifting = "next" RemovePhaseShiftingPrev RemovePhaseShifting = "prev" ) // Valid indicates whether the value is a known member of the RemovePhaseShifting enum. func (e RemovePhaseShifting) Valid() bool { switch e { case RemovePhaseShiftingNext: return true case RemovePhaseShiftingPrev: return true default: return false } } // Defines values for SandboxAppType. const ( SandboxAppTypeSandbox SandboxAppType = "sandbox" ) // Valid indicates whether the value is a known member of the SandboxAppType enum. func (e SandboxAppType) Valid() bool { switch e { case SandboxAppTypeSandbox: return true default: return false } } // Defines values for SandboxAppReplaceUpdateType. const ( SandboxAppReplaceUpdateTypeSandbox SandboxAppReplaceUpdateType = "sandbox" ) // Valid indicates whether the value is a known member of the SandboxAppReplaceUpdateType enum. func (e SandboxAppReplaceUpdateType) Valid() bool { switch e { case SandboxAppReplaceUpdateTypeSandbox: return true default: return false } } // Defines values for SandboxCustomerAppDataType. const ( SandboxCustomerAppDataTypeSandbox SandboxCustomerAppDataType = "sandbox" ) // Valid indicates whether the value is a known member of the SandboxCustomerAppDataType enum. func (e SandboxCustomerAppDataType) Valid() bool { switch e { case SandboxCustomerAppDataTypeSandbox: return true default: return false } } // Defines values for SortOrder. const ( SortOrderASC SortOrder = "ASC" SortOrderDESC SortOrder = "DESC" ) // Valid indicates whether the value is a known member of the SortOrder enum. func (e SortOrder) Valid() bool { switch e { case SortOrderASC: return true case SortOrderDESC: return true default: return false } } // Defines values for StripeAppType. const ( StripeAppTypeStripe StripeAppType = "stripe" ) // Valid indicates whether the value is a known member of the StripeAppType enum. func (e StripeAppType) Valid() bool { switch e { case StripeAppTypeStripe: return true default: return false } } // Defines values for StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType. const ( StripeAppReadOrCreateOrUpdateOrDeleteOrQueryTypeStripe StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType = "stripe" ) // Valid indicates whether the value is a known member of the StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType enum. func (e StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType) Valid() bool { switch e { case StripeAppReadOrCreateOrUpdateOrDeleteOrQueryTypeStripe: return true default: return false } } // Defines values for StripeAppReplaceUpdateType. const ( StripeAppReplaceUpdateTypeStripe StripeAppReplaceUpdateType = "stripe" ) // Valid indicates whether the value is a known member of the StripeAppReplaceUpdateType enum. func (e StripeAppReplaceUpdateType) Valid() bool { switch e { case StripeAppReplaceUpdateTypeStripe: return true default: return false } } // Defines values for StripeCheckoutSessionMode. const ( StripeCheckoutSessionModeSetup StripeCheckoutSessionMode = "setup" ) // Valid indicates whether the value is a known member of the StripeCheckoutSessionMode enum. func (e StripeCheckoutSessionMode) Valid() bool { switch e { case StripeCheckoutSessionModeSetup: return true default: return false } } // Defines values for StripeCustomerAppDataType. const ( StripeCustomerAppDataTypeStripe StripeCustomerAppDataType = "stripe" ) // Valid indicates whether the value is a known member of the StripeCustomerAppDataType enum. func (e StripeCustomerAppDataType) Valid() bool { switch e { case StripeCustomerAppDataTypeStripe: return true default: return false } } // Defines values for StripeCustomerAppDataCreateOrUpdateItemType. const ( StripeCustomerAppDataCreateOrUpdateItemTypeStripe StripeCustomerAppDataCreateOrUpdateItemType = "stripe" ) // Valid indicates whether the value is a known member of the StripeCustomerAppDataCreateOrUpdateItemType enum. func (e StripeCustomerAppDataCreateOrUpdateItemType) Valid() bool { switch e { case StripeCustomerAppDataCreateOrUpdateItemTypeStripe: return true default: return false } } // Defines values for SubscriptionStatus. const ( SubscriptionStatusActive SubscriptionStatus = "active" SubscriptionStatusCanceled SubscriptionStatus = "canceled" SubscriptionStatusInactive SubscriptionStatus = "inactive" SubscriptionStatusScheduled SubscriptionStatus = "scheduled" ) // Valid indicates whether the value is a known member of the SubscriptionStatus enum. func (e SubscriptionStatus) Valid() bool { switch e { case SubscriptionStatusActive: return true case SubscriptionStatusCanceled: return true case SubscriptionStatusInactive: return true case SubscriptionStatusScheduled: return true default: return false } } // Defines values for SubscriptionTimingEnum. const ( SubscriptionTimingEnumImmediate SubscriptionTimingEnum = "immediate" SubscriptionTimingEnumNextBillingCycle SubscriptionTimingEnum = "next_billing_cycle" ) // Valid indicates whether the value is a known member of the SubscriptionTimingEnum enum. func (e SubscriptionTimingEnum) Valid() bool { switch e { case SubscriptionTimingEnumImmediate: return true case SubscriptionTimingEnumNextBillingCycle: return true default: return false } } // Defines values for TaxBehavior. const ( TaxBehaviorExclusive TaxBehavior = "exclusive" TaxBehaviorInclusive TaxBehavior = "inclusive" ) // Valid indicates whether the value is a known member of the TaxBehavior enum. func (e TaxBehavior) Valid() bool { switch e { case TaxBehaviorExclusive: return true case TaxBehaviorInclusive: return true default: return false } } // Defines values for TieredPriceType. const ( TieredPriceTypeTiered TieredPriceType = "tiered" ) // Valid indicates whether the value is a known member of the TieredPriceType enum. func (e TieredPriceType) Valid() bool { switch e { case TieredPriceTypeTiered: return true default: return false } } // Defines values for TieredPriceMode. const ( TieredPriceModeGraduated TieredPriceMode = "graduated" TieredPriceModeVolume TieredPriceMode = "volume" ) // Valid indicates whether the value is a known member of the TieredPriceMode enum. func (e TieredPriceMode) Valid() bool { switch e { case TieredPriceModeGraduated: return true case TieredPriceModeVolume: return true default: return false } } // Defines values for TieredPriceWithCommitmentsType. const ( TieredPriceWithCommitmentsTypeTiered TieredPriceWithCommitmentsType = "tiered" ) // Valid indicates whether the value is a known member of the TieredPriceWithCommitmentsType enum. func (e TieredPriceWithCommitmentsType) Valid() bool { switch e { case TieredPriceWithCommitmentsTypeTiered: return true default: return false } } // Defines values for UnitPriceType. const ( UnitPriceTypeUnit UnitPriceType = "unit" ) // Valid indicates whether the value is a known member of the UnitPriceType enum. func (e UnitPriceType) Valid() bool { switch e { case UnitPriceTypeUnit: return true default: return false } } // Defines values for UnitPriceWithCommitmentsType. const ( UnitPriceWithCommitmentsTypeUnit UnitPriceWithCommitmentsType = "unit" ) // Valid indicates whether the value is a known member of the UnitPriceWithCommitmentsType enum. func (e UnitPriceWithCommitmentsType) Valid() bool { switch e { case UnitPriceWithCommitmentsTypeUnit: return true default: return false } } // Defines values for ValidationIssueSeverity. const ( ValidationIssueSeverityCritical ValidationIssueSeverity = "critical" ValidationIssueSeverityWarning ValidationIssueSeverity = "warning" ) // Valid indicates whether the value is a known member of the ValidationIssueSeverity enum. func (e ValidationIssueSeverity) Valid() bool { switch e { case ValidationIssueSeverityCritical: return true case ValidationIssueSeverityWarning: return true default: return false } } // Defines values for VoidInvoiceLineActionType. const ( VoidInvoiceLineActionTypeDiscard VoidInvoiceLineActionType = "discard" VoidInvoiceLineActionTypePending VoidInvoiceLineActionType = "pending" ) // Valid indicates whether the value is a known member of the VoidInvoiceLineActionType enum. func (e VoidInvoiceLineActionType) Valid() bool { switch e { case VoidInvoiceLineActionTypeDiscard: return true case VoidInvoiceLineActionTypePending: return true default: return false } } // Defines values for VoidInvoiceLineDiscardActionType. const ( VoidInvoiceLineDiscardActionTypeDiscard VoidInvoiceLineDiscardActionType = "discard" ) // Valid indicates whether the value is a known member of the VoidInvoiceLineDiscardActionType enum. func (e VoidInvoiceLineDiscardActionType) Valid() bool { switch e { case VoidInvoiceLineDiscardActionTypeDiscard: return true default: return false } } // Defines values for VoidInvoiceLinePendingActionCreateType. const ( VoidInvoiceLinePendingActionCreateTypePending VoidInvoiceLinePendingActionCreateType = "pending" ) // Valid indicates whether the value is a known member of the VoidInvoiceLinePendingActionCreateType enum. func (e VoidInvoiceLinePendingActionCreateType) Valid() bool { switch e { case VoidInvoiceLinePendingActionCreateTypePending: return true default: return false } } // Defines values for VoidInvoiceLinePendingActionCreateItemType. const ( VoidInvoiceLinePendingActionCreateItemTypePending VoidInvoiceLinePendingActionCreateItemType = "pending" ) // Valid indicates whether the value is a known member of the VoidInvoiceLinePendingActionCreateItemType enum. func (e VoidInvoiceLinePendingActionCreateItemType) Valid() bool { switch e { case VoidInvoiceLinePendingActionCreateItemTypePending: return true default: return false } } // Defines values for WindowSize. const ( WindowSizeDay WindowSize = "DAY" WindowSizeHour WindowSize = "HOUR" WindowSizeMinute WindowSize = "MINUTE" WindowSizeMonth WindowSize = "MONTH" ) // Valid indicates whether the value is a known member of the WindowSize enum. func (e WindowSize) Valid() bool { switch e { case WindowSizeDay: return true case WindowSizeHour: return true case WindowSizeMinute: return true case WindowSizeMonth: return true default: return false } } // Addon Add-on allows extending subscriptions with compatible plans with additional ratecards. type Addon struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Currency The currency code of the add-on. Currency CurrencyCode `json:"currency"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,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 *time.Time `json:"effectiveFrom,omitempty"` // EffectiveTo The date and time when the add-on is no longer effective. When not specified, the add-on is effective indefinitely. EffectiveTo *time.Time `json:"effectiveTo,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // InstanceType The instanceType of the add-ons. Can be "single" or "multiple". InstanceType AddonInstanceType `json:"instanceType"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // RateCards The rate cards of the add-on. RateCards []RateCard `json:"rateCards"` // Status The status of the add-on. // Computed based on the effective start and end dates: // - draft = no effectiveFrom // - active = effectiveFrom <= now < effectiveTo // - archived = effectiveTo <= now Status AddonStatus `json:"status"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // ValidationErrors List of validation errors. ValidationErrors *[]ValidationError `json:"validationErrors"` // Version Version of the add-on. Incremented when the add-on is updated. Version int `json:"version"` } // AddonCreate Resource create operation model. type AddonCreate struct { // Currency The currency code of the add-on. Currency CurrencyCode `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:"instanceType"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // RateCards The rate cards of the add-on. RateCards []RateCard `json:"rateCards"` } // AddonInstanceType The instanceType of the add-on. // Single instance add-ons can be added to subscription only once while add-ons with multiple type can be added more then once. type AddonInstanceType string // AddonOrderBy Order by options for add-ons. type AddonOrderBy string // AddonPaginatedResponse Paginated response type AddonPaginatedResponse struct { // Items The items in the current page. Items []Addon `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // AddonReplaceUpdate Resource update operation model. type AddonReplaceUpdate 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:"instanceType"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // RateCards The rate cards of the add-on. RateCards []RateCard `json:"rateCards"` } // AddonStatus The status of the add-on defined by the effectiveFrom and effectiveTo properties. type AddonStatus string // Address 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:"phoneNumber,omitempty"` // PostalCode Postal code. PostalCode *string `json:"postalCode,omitempty"` // State State or province. State *string `json:"state,omitempty"` } // Alignment Alignment configuration for a plan or subscription. type Alignment struct { // BillablesMustAlign Whether all Billable items and RateCards must align. // Alignment means the Price's BillingCadence must align for both duration and anchor time. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set BillablesMustAlign *bool `json:"billablesMustAlign,omitempty"` } // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. type Annotations map[string]interface{} // App App. // One of: stripe type App struct { union json.RawMessage } // AppBase Abstract base model for installed apps. // // Represent an app installed to the organization. // This is an actual instance, with its own configuration and credentials. type AppBase struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Listing The marketplace listing that this installed app is based on. Listing MarketplaceListing `json:"listing"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Status Status of the app connection. Status AppStatus `json:"status"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // AppCapability App capability. // // Capabilities only exist in config so they don't extend the Resource model. type AppCapability struct { // Description The capability description. Description string `json:"description"` // Key Key Key string `json:"key"` // Name The capability name. Name string `json:"name"` // Type The capability type. Type AppCapabilityType `json:"type"` } // AppCapabilityType App capability type. type AppCapabilityType string // AppPaginatedResponse Paginated response type AppPaginatedResponse struct { // Items The items in the current page. Items []App `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // AppReadOrCreateOrUpdateOrDeleteOrQuery App. // One of: stripe type AppReadOrCreateOrUpdateOrDeleteOrQuery struct { union json.RawMessage } // AppReference App reference // // Can be used as a short reference to an app if the full app object is not needed. type AppReference struct { // Id The ID of the app. Id string `json:"id"` } // AppReplaceUpdate App ReplaceUpdate Model type AppReplaceUpdate struct { union json.RawMessage } // AppStatus App installed status. type AppStatus string // AppType Type of the app. type AppType string // BadRequestProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type BadRequestProblemResponse = UnexpectedProblemResponse // BalanceHistoryWindow The balance history window. type BalanceHistoryWindow struct { // BalanceAtStart The entitlement balance at the start of the period. BalanceAtStart float64 `json:"balanceAtStart"` // Period A period with a start and end time. Period Period `json:"period"` // Usage The total usage of the feature in the period. Usage float64 `json:"usage"` } // BillingCollectionAlignment BillingCollectionAlignment specifies when the pending line items should be collected into // an invoice. type BillingCollectionAlignment string // BillingCustomerProfile Customer specific merged profile. // // This profile is calculated from the customer override and the billing profile it references or the default. // // Thus this does not have any kind of resource fields, only the calculated values. type BillingCustomerProfile struct { // Apps The applications used by this billing profile. // // Expand settings govern if this includes the whole app object or just the ID references. Apps BillingProfileAppsOrReference `json:"apps"` // 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"` } // BillingDiscountMetadata Billing specific fields for product catalog discounts. type BillingDiscountMetadata struct { // CorrelationId Correlation ID for the discount. // // This is used to link discounts across different invoices (progressive billing use case). // // If not provided, the invoicing engine will auto-generate one. When editing an invoice line, // please make sure to keep the same correlation ID of the discount or in progressive billing // setups the discount amounts might be incorrect. CorrelationId *string `json:"correlationId,omitempty"` } // BillingDiscountPercentage A percentage discount. type BillingDiscountPercentage struct { // CorrelationId Correlation ID for the discount. // // This is used to link discounts across different invoices (progressive billing use case). // // If not provided, the invoicing engine will auto-generate one. When editing an invoice line, // please make sure to keep the same correlation ID of the discount or in progressive billing // setups the discount amounts might be incorrect. CorrelationId *string `json:"correlationId,omitempty"` // Percentage The percentage of the discount. Percentage Percentage `json:"percentage"` } // BillingDiscountReason The reason for the discount. type BillingDiscountReason struct { union json.RawMessage } // BillingDiscountUsage A usage discount. type BillingDiscountUsage struct { // CorrelationId Correlation ID for the discount. // // This is used to link discounts across different invoices (progressive billing use case). // // If not provided, the invoicing engine will auto-generate one. When editing an invoice line, // please make sure to keep the same correlation ID of the discount or in progressive billing // setups the discount amounts might be incorrect. CorrelationId *string `json:"correlationId,omitempty"` // Quantity The quantity of the usage discount. // // Must be positive. Quantity Numeric `json:"quantity"` } // BillingDiscounts A discount by type. type BillingDiscounts struct { // Percentage The percentage discount. Percentage *BillingDiscountPercentage `json:"percentage,omitempty"` // Usage The usage discount. Usage *BillingDiscountUsage `json:"usage,omitempty"` } // BillingInvoiceCustomerExtendedDetails BillingInvoiceCustomerExtendedDetails is a collection of fields that are used to extend the billing party details for invoices. // // These fields contain the OpenMeter specific details for the customer, that are not strictly required for the invoice itself. type BillingInvoiceCustomerExtendedDetails struct { // Addresses Regular post addresses for where information should be sent if needed. Addresses *[]Address `json:"addresses,omitempty"` // Id Unique identifier for the party (if available) Id *string `json:"id,omitempty"` // Key An optional unique key of the party (if available) Key *string `json:"key,omitempty"` // Name Legal name or representation of the organization. Name *string `json:"name,omitempty"` // TaxId The entity's legal ID code used for tax purposes. They may have // other numbers, but we're only interested in those valid for tax purposes. TaxId *BillingPartyTaxIdentity `json:"taxId,omitempty"` // UsageAttribution Mapping to attribute metered usage to the customer UsageAttribution CustomerUsageAttribution `json:"usageAttribution"` } // BillingParty Party represents a person or business entity. type BillingParty struct { // Addresses Regular post addresses for where information should be sent if needed. Addresses *[]Address `json:"addresses,omitempty"` // Id Unique identifier for the party (if available) Id *string `json:"id,omitempty"` // Key An optional unique key of the party (if available) Key *string `json:"key,omitempty"` // Name Legal name or representation of the organization. Name *string `json:"name,omitempty"` // TaxId The entity's legal ID code used for tax purposes. They may have // other numbers, but we're only interested in those valid for tax purposes. TaxId *BillingPartyTaxIdentity `json:"taxId,omitempty"` } // BillingPartyReplaceUpdate Resource update operation model. type BillingPartyReplaceUpdate struct { // Addresses Regular post addresses for where information should be sent if needed. Addresses *[]Address `json:"addresses,omitempty"` // Key An optional unique key of the party (if available) Key *string `json:"key,omitempty"` // Name Legal name or representation of the organization. Name *string `json:"name,omitempty"` // TaxId The entity's legal ID code used for tax purposes. They may have // other numbers, but we're only interested in those valid for tax purposes. TaxId *BillingPartyTaxIdentity `json:"taxId,omitempty"` } // BillingPartyTaxIdentity Identity stores the details required to identify an entity for tax purposes in a specific country. type BillingPartyTaxIdentity struct { // Code Normalized tax code shown on the original identity document. Code *BillingTaxIdentificationCode `json:"code,omitempty"` } // BillingProfile BillingProfile represents a billing profile type BillingProfile struct { // Apps The applications used by this billing profile. // // Expand settings govern if this includes the whole app object or just the ID references. Apps BillingProfileAppsOrReference `json:"apps"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Default Is this the default profile? Default bool `json:"default"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for 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 Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // Workflow The billing workflow settings for this profile Workflow BillingWorkflow `json:"workflow"` } // BillingProfileAppReferences BillingProfileAppReferences represents the references (id, type) to the apps used by a billing profile type BillingProfileAppReferences struct { // Invoicing The invoicing app used for this workflow Invoicing AppReference `json:"invoicing"` // Payment The payment app used for this workflow Payment AppReference `json:"payment"` // Tax The tax app used for this workflow Tax AppReference `json:"tax"` } // BillingProfileApps BillingProfileApps represents the applications used by a billing profile type BillingProfileApps struct { // Invoicing The invoicing app used for this workflow Invoicing App `json:"invoicing"` // Payment The payment app used for this workflow Payment App `json:"payment"` // Tax The tax app used for this workflow Tax App `json:"tax"` } // BillingProfileAppsCreate BillingProfileAppsCreate represents the input for creating a billing profile's apps type BillingProfileAppsCreate struct { // Invoicing The invoicing app used for this workflow Invoicing string `json:"invoicing"` // Payment The payment app used for this workflow Payment string `json:"payment"` // Tax The tax app used for this workflow Tax string `json:"tax"` } // BillingProfileAppsOrReference ProfileAppsOrReference represents the union of ProfileApps and ProfileAppReferences // for a billing profile. type BillingProfileAppsOrReference struct { union json.RawMessage } // BillingProfileCreate BillingProfileCreate represents the input for creating a billing profile type BillingProfileCreate struct { // Apps The apps used by this billing profile. Apps BillingProfileAppsCreate `json:"apps"` // Default Is this the default profile? Default bool `json:"default"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for 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 BillingWorkflowCreate `json:"workflow"` } // BillingProfileCustomerOverride Customer override values. type BillingProfileCustomerOverride struct { // BillingProfileId The billing profile this override is associated with. // // If empty the default profile is looked up dynamically. BillingProfileId *string `json:"billingProfileId,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CustomerId The customer id this override is associated with. CustomerId string `json:"customerId"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // BillingProfileCustomerOverrideCreate Payload for creating a new or updating an existing customer override. type BillingProfileCustomerOverrideCreate struct { // BillingProfileId The billing profile this override is associated with. // // If not provided, the default billing profile is chosen if available. BillingProfileId *string `json:"billingProfileId,omitempty"` } // BillingProfileCustomerOverrideExpand CustomerOverrideExpand specifies the parts of the profile to expand. type BillingProfileCustomerOverrideExpand string // BillingProfileCustomerOverrideOrderBy Order by options for customers. type BillingProfileCustomerOverrideOrderBy string // BillingProfileCustomerOverrideWithDetails Customer specific workflow overrides. type BillingProfileCustomerOverrideWithDetails struct { // BaseBillingProfileId The billing profile the customerProfile is associated with at the time of query. // // customerOverride contains the explicit mapping set in the customer override object. If that is // empty, then the baseBillingProfileId is the default profile. BaseBillingProfileId string `json:"baseBillingProfileId"` // Customer The customer this override belongs to. Customer *Customer `json:"customer,omitempty"` // CustomerOverride The customer override values. // // If empty the merged values are calculated based on the default profile. CustomerOverride *BillingProfileCustomerOverride `json:"customerOverride,omitempty"` // CustomerProfile Merged billing profile with the customer specific overrides. CustomerProfile *BillingCustomerProfile `json:"customerProfile,omitempty"` } // BillingProfileCustomerOverrideWithDetailsPaginatedResponse Paginated response type BillingProfileCustomerOverrideWithDetailsPaginatedResponse struct { // Items The items in the current page. Items []BillingProfileCustomerOverrideWithDetails `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // BillingProfileCustomerWorkflowOverride Customer specific workflow overrides. type BillingProfileCustomerWorkflowOverride 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"` // InvoicingApp The invoicing app used for this workflow InvoicingApp AppReadOrCreateOrUpdateOrDeleteOrQuery `json:"invoicingApp"` // Payment The payment settings for this workflow Payment *BillingWorkflowPaymentSettings `json:"payment,omitempty"` // PaymentApp The payment app used for this workflow PaymentApp AppReadOrCreateOrUpdateOrDeleteOrQuery `json:"paymentApp"` // Tax The tax settings for this workflow Tax *BillingWorkflowTaxSettings `json:"tax,omitempty"` // TaxApp The tax app used for this workflow TaxApp AppReadOrCreateOrUpdateOrDeleteOrQuery `json:"taxApp"` } // BillingProfileExpand BillingProfileExpand details what profile fields to expand type BillingProfileExpand string // BillingProfileOrderBy BillingProfileOrderBy specifies the ordering options for profiles type BillingProfileOrderBy string // BillingProfilePaginatedResponse Paginated response type BillingProfilePaginatedResponse struct { // Items The items in the current page. Items []BillingProfile `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // BillingProfileReplaceUpdateWithWorkflow BillingProfileReplaceUpdate represents the input for updating a billing profile // // The apps field cannot be updated directly, if an app change is desired a new // profile should be created. type BillingProfileReplaceUpdateWithWorkflow struct { // Default Is this the default profile? Default bool `json:"default"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for 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"` } // BillingSettlementMode The settlement mode of a plan. // It determines how the billing system generates invoices and credits for the subscriptions using this plan. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. This is the default and most common settlement mode. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. type BillingSettlementMode string // BillingTaxIdentificationCode TaxIdentificationCode is a normalized tax code shown on the original identity document. type BillingTaxIdentificationCode = string // BillingWorkflow BillingWorkflow represents the settings for a billing workflow. 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"` } // BillingWorkflowAppReferenceType App reference type specifies the type of reference inside an app reference type BillingWorkflowAppReferenceType string // 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). type BillingWorkflowCollectionAlignment struct { union json.RawMessage } // BillingWorkflowCollectionAlignmentAnchored BillingWorkflowCollectionAlignmentAnchored specifies the alignment for collecting the pending line items // into an invoice. type BillingWorkflowCollectionAlignmentAnchored struct { // RecurringPeriod The recurring period for the alignment. RecurringPeriod RecurringPeriodV2 `json:"recurringPeriod"` // Type The type of alignment. Type BillingWorkflowCollectionAlignmentAnchoredType `json:"type"` } // BillingWorkflowCollectionAlignmentAnchoredType The type of alignment. type BillingWorkflowCollectionAlignmentAnchoredType string // BillingWorkflowCollectionAlignmentSubscription BillingWorkflowCollectionAlignmentSubscription specifies the alignment for collecting the pending line items // into an invoice. type BillingWorkflowCollectionAlignmentSubscription struct { // Type The type of alignment. Type BillingWorkflowCollectionAlignmentSubscriptionType `json:"type"` } // BillingWorkflowCollectionAlignmentSubscriptionType The type of alignment. type BillingWorkflowCollectionAlignmentSubscriptionType string // BillingWorkflowCollectionSettings Workflow collection specifies how to collect the pending line items for an invoice 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"` } // BillingWorkflowCreate Resource create operation model. type BillingWorkflowCreate 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"` } // BillingWorkflowInvoicingSettings BillingWorkflowInvoicingSettings represents the invoice settings for a billing workflow type BillingWorkflowInvoicingSettings struct { // AutoAdvance Whether to automatically issue the invoice after the draftPeriod has passed. AutoAdvance *bool `json:"autoAdvance,omitempty"` // DefaultTaxConfig Default tax configuration to apply to the invoices. // // Setting a tax code (`stripe.code` / `taxCodeId`) on a profile's default tax config is // deprecated and can no longer be added or changed: the organization default tax code is // used instead. Existing tax-code values may still be removed, and `behavior` remains // fully supported. DefaultTaxConfig *TaxConfig `json:"defaultTaxConfig,omitempty"` // DraftPeriod The period for the invoice to be kept in draft status for manual reviews. DraftPeriod *string `json:"draftPeriod,omitempty"` // DueAfter The period after which the invoice is due. // With some payment solutions it's only applicable for manual collection method. DueAfter *string `json:"dueAfter,omitempty"` // ProgressiveBilling Should progressive billing be allowed for this workflow? ProgressiveBilling *bool `json:"progressiveBilling,omitempty"` // SubscriptionEndProrationMode Controls how subscription-ending shortened service periods are billed. SubscriptionEndProrationMode *BillingWorkflowInvoicingSubscriptionEndProrationMode `json:"subscriptionEndProrationMode,omitempty"` } // BillingWorkflowInvoicingSubscriptionEndProrationMode Billing workflow subscription end proration mode. type BillingWorkflowInvoicingSubscriptionEndProrationMode string // BillingWorkflowLineResolution BillingWorkflowLineResolution specifies how the line items should be resolved in the invoice type BillingWorkflowLineResolution string // BillingWorkflowPaymentSettings BillingWorkflowPaymentSettings represents the payment settings for a billing workflow type BillingWorkflowPaymentSettings struct { // CollectionMethod The payment method for the invoice. CollectionMethod *CollectionMethod `json:"collectionMethod,omitempty"` } // BillingWorkflowTaxSettings BillingWorkflowTaxSettings represents the tax settings for a billing workflow type BillingWorkflowTaxSettings struct { // 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, OpenMeter 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"` } // CheckoutSessionCustomTextAfterSubmitParams Stripe CheckoutSession.custom_text type CheckoutSessionCustomTextAfterSubmitParams struct { // AfterSubmit Custom text that should be displayed after the payment confirmation button. AfterSubmit *struct { Message *string `json:"message,omitempty"` } `json:"afterSubmit,omitempty"` // ShippingAddress Custom text that should be displayed alongside shipping address collection. ShippingAddress *struct { Message *string `json:"message,omitempty"` } `json:"shippingAddress,omitempty"` // Submit Custom text that should be displayed alongside the payment confirmation button. Submit *struct { Message *string `json:"message,omitempty"` } `json:"submit,omitempty"` // TermsOfServiceAcceptance Custom text that should be displayed in place of the default terms of service agreement text. TermsOfServiceAcceptance *struct { Message *string `json:"message,omitempty"` } `json:"termsOfServiceAcceptance,omitempty"` } // CheckoutSessionUIMode Stripe CheckoutSession.ui_mode type CheckoutSessionUIMode string // ClientAppStartResponse Response from the client app (OpenMeter backend) to start the OAuth2 flow. type ClientAppStartResponse struct { // Url The URL to start the OAuth2 authorization code grant flow. Url string `json:"url"` } // CollectionMethod CollectionMethod specifies how the invoice should be collected (automatic vs manual) type CollectionMethod string // ConflictProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type ConflictProblemResponse = UnexpectedProblemResponse // 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 CountryCode = string // CreateCheckoutSessionTaxIdCollection Create Stripe checkout session tax ID collection. type CreateCheckoutSessionTaxIdCollection struct { // Enabled Enable tax ID collection during checkout. Defaults to false. Enabled bool `json:"enabled"` // Required Describes whether a tax ID is required during checkout. Defaults to never. Required *CreateCheckoutSessionTaxIdCollectionRequired `json:"required,omitempty"` } // CreateCheckoutSessionTaxIdCollectionRequired Create Stripe checkout session tax ID collection required. type CreateCheckoutSessionTaxIdCollectionRequired string // CreateStripeCheckoutSessionBillingAddressCollection Specify whether Checkout should collect the customer’s billing address. type CreateStripeCheckoutSessionBillingAddressCollection string // CreateStripeCheckoutSessionConsentCollection Configure fields for the Checkout Session to gather active consent from customers. type CreateStripeCheckoutSessionConsentCollection struct { // PaymentMethodReuseAgreement Determines the position and visibility of the payment method reuse agreement in the UI. // When set to auto, Stripe’s defaults will be used. When set to hidden, the payment method reuse agreement text will always be hidden in the UI. PaymentMethodReuseAgreement *CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreement `json:"paymentMethodReuseAgreement,omitempty"` // Promotions If set to auto, enables the collection of customer consent for promotional communications. // The Checkout Session will determine whether to display an option to opt into promotional // communication from the merchant depending on the customer’s locale. Only available to US merchants. Promotions *CreateStripeCheckoutSessionConsentCollectionPromotions `json:"promotions,omitempty"` // TermsOfService If set to required, it requires customers to check a terms of service checkbox before being able to pay. // There must be a valid terms of service URL set in your Stripe Dashboard settings. // https://dashboard.stripe.com/settings/public TermsOfService *CreateStripeCheckoutSessionConsentCollectionTermsOfService `json:"termsOfService,omitempty"` } // CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreement Create Stripe checkout session payment method reuse agreement. type CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreement struct { // Position Create Stripe checkout session consent collection agreement position. Position *CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition `json:"position,omitempty"` } // CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition Create Stripe checkout session consent collection agreement position. type CreateStripeCheckoutSessionConsentCollectionPaymentMethodReuseAgreementPosition string // CreateStripeCheckoutSessionConsentCollectionPromotions Create Stripe checkout session consent collection promotions. type CreateStripeCheckoutSessionConsentCollectionPromotions string // CreateStripeCheckoutSessionConsentCollectionTermsOfService Create Stripe checkout session consent collection terms of service. type CreateStripeCheckoutSessionConsentCollectionTermsOfService string // CreateStripeCheckoutSessionCustomerUpdate Controls what fields on Customer can be updated by the Checkout Session. type CreateStripeCheckoutSessionCustomerUpdate struct { // Address Describes whether Checkout saves the billing address onto customer.address. // To always collect a full billing address, use billing_address_collection. // Defaults to never. Address *CreateStripeCheckoutSessionCustomerUpdateBehavior `json:"address,omitempty"` // Name Describes whether Checkout saves the name onto customer.name. // Defaults to never. Name *CreateStripeCheckoutSessionCustomerUpdateBehavior `json:"name,omitempty"` // Shipping Describes whether Checkout saves shipping information onto customer.shipping. // To collect shipping information, use shipping_address_collection. // Defaults to never. Shipping *CreateStripeCheckoutSessionCustomerUpdateBehavior `json:"shipping,omitempty"` } // CreateStripeCheckoutSessionCustomerUpdateBehavior Create Stripe checkout session customer update behavior. type CreateStripeCheckoutSessionCustomerUpdateBehavior string // CreateStripeCheckoutSessionRedirectOnCompletion Create Stripe checkout session redirect on completion. type CreateStripeCheckoutSessionRedirectOnCompletion string // CreateStripeCheckoutSessionRequest Create Stripe checkout session request. type CreateStripeCheckoutSessionRequest struct { // AppId If not provided, the default Stripe app is used if any. AppId *string `json:"appId,omitempty"` // Customer Provide a customer ID or key to use an existing OpenMeter customer. // or provide a customer object to create a new customer. Customer CreateStripeCheckoutSessionRequest_Customer `json:"customer"` // Options Options passed to Stripe when creating the checkout session. Options CreateStripeCheckoutSessionRequestOptions `json:"options"` // StripeCustomerId Stripe customer ID. // If not provided OpenMeter creates a new Stripe customer or // uses the OpenMeter customer's default Stripe customer ID. StripeCustomerId *string `json:"stripeCustomerId,omitempty"` } // CreateStripeCheckoutSessionRequest_Customer Provide a customer ID or key to use an existing OpenMeter customer. // or provide a customer object to create a new customer. type CreateStripeCheckoutSessionRequest_Customer struct { union json.RawMessage } // CreateStripeCheckoutSessionRequestOptions Create Stripe checkout session options // See https://docs.stripe.com/api/checkout/sessions/create type CreateStripeCheckoutSessionRequestOptions struct { // BillingAddressCollection Specify whether Checkout should collect the customer’s billing address. Defaults to auto. BillingAddressCollection *CreateStripeCheckoutSessionBillingAddressCollection `json:"billingAddressCollection,omitempty"` // CancelURL If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. // This parameter is not allowed if ui_mode is embedded. CancelURL *string `json:"cancelURL,omitempty"` // ClientReferenceID A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems. ClientReferenceID *string `json:"clientReferenceID,omitempty"` // ConsentCollection Configure fields for the Checkout Session to gather active consent from customers. ConsentCollection *CreateStripeCheckoutSessionConsentCollection `json:"consentCollection,omitempty"` // Currency Three-letter ISO currency code, in lowercase. Currency *CurrencyCode `json:"currency,omitempty"` // CustomText Display additional text for your customers using custom text. CustomText *CheckoutSessionCustomTextAfterSubmitParams `json:"customText,omitempty"` // CustomerUpdate Controls what fields on Customer can be updated by the Checkout Session. CustomerUpdate *CreateStripeCheckoutSessionCustomerUpdate `json:"customerUpdate,omitempty"` // ExpiresAt The Epoch time in seconds at which the Checkout Session will expire. // It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation. ExpiresAt *int64 `json:"expiresAt,omitempty"` Locale *string `json:"locale,omitempty"` // Metadata Set of key-value pairs that you can attach to an object. // This can be useful for storing additional information about the object in a structured format. // Individual keys can be unset by posting an empty value to them. // All keys can be unset by posting an empty value to metadata. Metadata *map[string]string `json:"metadata,omitempty"` // PaymentMethodTypes A list of the types of payment methods (e.g., card) this Checkout Session can accept. PaymentMethodTypes *[]string `json:"paymentMethodTypes,omitempty"` // RedirectOnCompletion This parameter applies to ui_mode: embedded. Defaults to always. // Learn more about the redirect behavior of embedded sessions at // https://docs.stripe.com/payments/checkout/custom-success-page?payment-ui=embedded-form RedirectOnCompletion *CreateStripeCheckoutSessionRedirectOnCompletion `json:"redirectOnCompletion,omitempty"` // ReturnURL The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method’s app or site. // This parameter is required if ui_mode is embedded and redirect-based payment methods are enabled on the session. ReturnURL *string `json:"returnURL,omitempty"` // SuccessURL The URL to which Stripe should send customers when payment or setup is complete. // This parameter is not allowed if ui_mode is embedded. // If you’d like to use information from the successful Checkout Session on your page, read the guide on customizing your success page: // https://docs.stripe.com/payments/checkout/custom-success-page SuccessURL *string `json:"successURL,omitempty"` // TaxIdCollection Controls tax ID collection during checkout. TaxIdCollection *CreateCheckoutSessionTaxIdCollection `json:"taxIdCollection,omitempty"` // UiMode The UI mode of the Session. Defaults to hosted. UiMode *CheckoutSessionUIMode `json:"uiMode,omitempty"` } // CreateStripeCheckoutSessionResult Create Stripe Checkout Session response. type CreateStripeCheckoutSessionResult struct { // CancelURL Cancel URL. CancelURL *string `json:"cancelURL,omitempty"` // ClientReferenceId A unique string to reference the Checkout Session. // This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems. ClientReferenceId *string `json:"clientReferenceId,omitempty"` // ClientSecret The client secret of the checkout session. // This can be used to initialize Stripe.js for your client-side implementation. ClientSecret *string `json:"clientSecret,omitempty"` // CreatedAt Timestamp at which the checkout session was created. CreatedAt time.Time `json:"createdAt"` // Currency Three-letter ISO currency code, in lowercase. Currency *CurrencyCode `json:"currency,omitempty"` // CustomerEmail Customer's email address provided to Stripe. CustomerEmail *string `json:"customerEmail,omitempty"` // CustomerId The OpenMeter customer ID. CustomerId string `json:"customerId"` // ExpiresAt Timestamp at which the checkout session will expire. ExpiresAt *time.Time `json:"expiresAt,omitempty"` // Metadata Set of key-value pairs attached to the checkout session. Metadata *map[string]string `json:"metadata,omitempty"` // Mode Mode // Always `setup` for now. Mode StripeCheckoutSessionMode `json:"mode"` // ReturnURL Return URL. ReturnURL *string `json:"returnURL,omitempty"` // SessionId The checkout session ID. SessionId string `json:"sessionId"` // SetupIntentId The checkout session setup intent ID. SetupIntentId string `json:"setupIntentId"` // Status The status of the checkout session. Status *string `json:"status,omitempty"` // StripeCustomerId The Stripe customer ID. StripeCustomerId string `json:"stripeCustomerId"` // SuccessURL Success URL. SuccessURL *string `json:"successURL,omitempty"` // Url URL to show the checkout session. Url *string `json:"url,omitempty"` } // CreateStripeCustomerPortalSessionParams Stripe customer portal request params. type CreateStripeCustomerPortalSessionParams struct { // ConfigurationId The ID of an existing configuration to use for this session, // describing its functionality and features. // If not specified, the session uses the default configuration. // // See https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-configuration ConfigurationId *string `json:"configurationId,omitempty"` // Locale The IETF language tag of the locale customer portal is displayed in. // If blank or auto, the customer’s preferred_locales or browser’s locale is used. // // See: https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-locale Locale *string `json:"locale,omitempty"` // ReturnUrl The URL to redirect the customer to after they have completed // their requested actions. // // See: https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url ReturnUrl *string `json:"returnUrl,omitempty"` } // CreditNoteOriginalInvoiceRef Omitted fields: // period: Tax period in which the referred document had an effect required by some tax regimes and formats. // stamps: Seals of approval from other organisations that may need to be listed. // ext: Extensions for additional codes that may be required. type CreditNoteOriginalInvoiceRef = InvoiceGenericDocumentRef // Currency Currency describes a currency supported by OpenMeter. type Currency struct { // Code The currency ISO code. Code CurrencyCode `json:"code"` // Name The currency name. Name string `json:"name"` // Subunits Subunit of the currency. Subunits uint32 `json:"subunits"` // Symbol The currency symbol. Symbol string `json:"symbol"` } // 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 CurrencyCode = string // CustomInvoicingApp Custom Invoicing app can be used for interface with any invoicing or payment system. // // This app provides ways to manipulate invoices and payments, however the integration // must rely on Notifications API to get notified about invoice changes. type CustomInvoicingApp struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // EnableDraftSyncHook Enable draft.sync hook. // // If the hook is not enabled, the invoice will be progressed to the next state automatically. EnableDraftSyncHook bool `json:"enableDraftSyncHook"` // EnableIssuingSyncHook Enable issuing.sync hook. // // If the hook is not enabled, the invoice will be progressed to the next state automatically. EnableIssuingSyncHook bool `json:"enableIssuingSyncHook"` // Id A unique identifier for the resource. Id string `json:"id"` // Listing The marketplace listing that this installed app is based on. Listing MarketplaceListing `json:"listing"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Status Status of the app connection. Status AppStatus `json:"status"` // Type The app's type is CustomInvoicing. Type CustomInvoicingAppType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // CustomInvoicingAppType The app's type is CustomInvoicing. type CustomInvoicingAppType string // CustomInvoicingAppReplaceUpdate Resource update operation model. type CustomInvoicingAppReplaceUpdate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // EnableDraftSyncHook Enable draft.sync hook. // // If the hook is not enabled, the invoice will be progressed to the next state automatically. EnableDraftSyncHook bool `json:"enableDraftSyncHook"` // EnableIssuingSyncHook Enable issuing.sync hook. // // If the hook is not enabled, the invoice will be progressed to the next state automatically. EnableIssuingSyncHook bool `json:"enableIssuingSyncHook"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Type The app's type is CustomInvoicing. Type CustomInvoicingAppReplaceUpdateType `json:"type"` } // CustomInvoicingAppReplaceUpdateType The app's type is CustomInvoicing. type CustomInvoicingAppReplaceUpdateType string // CustomInvoicingCustomerAppData Custom Invoicing Customer App Data. type CustomInvoicingCustomerAppData struct { // App The installed custom invoicing app this data belongs to. App *CustomInvoicingApp `json:"app,omitempty"` // Id The app ID. // If not provided, it will use the global default for the app type. Id *string `json:"id,omitempty"` // Metadata Metadata to be used by the custom invoicing provider. Metadata *Metadata `json:"metadata,omitempty"` // Type The app name. Type CustomInvoicingCustomerAppDataType `json:"type"` } // CustomInvoicingCustomerAppDataType The app name. type CustomInvoicingCustomerAppDataType string // CustomInvoicingDraftSynchronizedRequest Information to finalize the draft details of an invoice. type CustomInvoicingDraftSynchronizedRequest struct { // Invoicing The result of the synchronization. Invoicing *CustomInvoicingSyncResult `json:"invoicing,omitempty"` } // CustomInvoicingFinalizedInvoicingRequest Information to finalize the invoicing details of an invoice. type CustomInvoicingFinalizedInvoicingRequest struct { // InvoiceNumber If set the invoice's number will be set to this value. InvoiceNumber *InvoiceNumber `json:"invoiceNumber,omitempty"` // SentToCustomerAt If set the invoice's sent to customer at will be set to this value. SentToCustomerAt *time.Time `json:"sentToCustomerAt,omitempty"` } // CustomInvoicingFinalizedPaymentRequest Information to finalize the payment details of an invoice. type CustomInvoicingFinalizedPaymentRequest struct { // ExternalId If set the invoice's payment external ID will be set to this value. ExternalId *string `json:"externalId,omitempty"` } // CustomInvoicingFinalizedRequest Information to finalize the invoice. // // If invoicing.invoiceNumber is not set, then a new invoice number will be generated (INV- prefix). type CustomInvoicingFinalizedRequest struct { // Invoicing The result of the synchronization. Invoicing *CustomInvoicingFinalizedInvoicingRequest `json:"invoicing,omitempty"` // Payment The result of the payment synchronization. Payment *CustomInvoicingFinalizedPaymentRequest `json:"payment,omitempty"` } // CustomInvoicingLineDiscountExternalIdMapping Mapping between line discounts and external IDs. type CustomInvoicingLineDiscountExternalIdMapping struct { // ExternalId The external ID (e.g. custom invoicing system's ID). ExternalId string `json:"externalId"` // LineDiscountId The line discount ID. LineDiscountId string `json:"lineDiscountId"` } // CustomInvoicingLineExternalIdMapping Mapping between lines and external IDs. type CustomInvoicingLineExternalIdMapping struct { // ExternalId The external ID (e.g. custom invoicing system's ID). ExternalId string `json:"externalId"` // LineId The line ID. LineId string `json:"lineId"` } // CustomInvoicingPaymentTrigger Payment trigger to execute on a finalized invoice. type CustomInvoicingPaymentTrigger string // CustomInvoicingSyncResult Information to synchronize the invoice. // // Can be used to store external app's IDs on the invoice or lines. type CustomInvoicingSyncResult struct { // ExternalId If set the invoice's invoicing external ID will be set to this value. ExternalId *string `json:"externalId,omitempty"` // InvoiceNumber If set the invoice's number will be set to this value. InvoiceNumber *InvoiceNumber `json:"invoiceNumber,omitempty"` // LineDiscountExternalIds If set the invoice's line discount external IDs will be set to this value. // // This can be used to reference the external system's entities in the // invoice. LineDiscountExternalIds *[]CustomInvoicingLineDiscountExternalIdMapping `json:"lineDiscountExternalIds,omitempty"` // LineExternalIds If set the invoice's line external IDs will be set to this value. // // This can be used to reference the external system's entities in the // invoice. LineExternalIds *[]CustomInvoicingLineExternalIdMapping `json:"lineExternalIds,omitempty"` } // CustomInvoicingTaxConfig Custom invoicing tax config. type CustomInvoicingTaxConfig struct { // Code Tax code. // // The tax code should be interpreted by the custom invoicing provider. Code string `json:"code"` } // CustomInvoicingUpdatePaymentStatusRequest Update payment status request. // // Can be used to manipulate invoice's payment status (when custominvoicing app is being used). type CustomInvoicingUpdatePaymentStatusRequest struct { // Trigger The trigger to be executed on the invoice. Trigger CustomInvoicingPaymentTrigger `json:"trigger"` } // CustomPlanInput The template for omitting properties. type CustomPlanInput struct { // Alignment Alignment configuration for the plan. Alignment *Alignment `json:"alignment,omitempty"` // BillingCadence The default billing cadence for subscriptions using this plan. // Defines how often customers are billed using ISO8601 duration format. // Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually). BillingCadence string `json:"billingCadence"` // 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"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Phases The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. // A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices. Phases []PlanPhase `json:"phases"` // ProRatingConfig Default pro-rating configuration for subscriptions using this plan. ProRatingConfig *ProRatingConfig `json:"proRatingConfig,omitempty"` // SettlementMode The settlement mode of the plan. // It determines how the billing system generates invoices and credits for the subscriptions using this plan. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. // This is the default and most common settlement mode. SettlementMode *BillingSettlementMode `json:"settlementMode,omitempty"` } // CustomSubscriptionChange Change a custom subscription. type CustomSubscriptionChange struct { // BillingAnchor The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used. BillingAnchor *time.Time `json:"billingAnchor,omitempty"` // CustomPlan The custom plan description which defines the Subscription. CustomPlan CustomPlanInput `json:"customPlan"` // 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 SubscriptionTiming `json:"timing"` } // CustomSubscriptionCreate Create a custom subscription. type CustomSubscriptionCreate struct { // BillingAnchor The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used. BillingAnchor *time.Time `json:"billingAnchor,omitempty"` // CustomPlan The custom plan description which defines the Subscription. CustomPlan CustomPlanInput `json:"customPlan"` // CustomerId The ID of the customer. Provide either the key or ID. Has presedence over the key. CustomerId *string `json:"customerId,omitempty"` // CustomerKey The key of the customer. Provide either the key or ID. CustomerKey *string `json:"customerKey,omitempty"` // Timing Timing configuration for the change, when the change should take effect. // The default is immediate. Timing *SubscriptionTiming `json:"timing,omitempty"` } // Customer A customer object. type Customer struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // BillingAddress The billing address of the customer. // Used for tax and invoicing. BillingAddress *Address `json:"billingAddress,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Currency Currency of the customer. // Used for billing, tax and invoicing. Currency *CurrencyCode `json:"currency,omitempty"` // CurrentSubscriptionId The ID of the Subscription if the customer has one. CurrentSubscriptionId *string `json:"currentSubscriptionId,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Key An optional unique key of the customer. // Either key or usageAttribution.subjectKeys must be provided. // Useful to reference the customer in external systems. // For example, your database ID. Key *string `json:"key,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // PrimaryEmail The primary email address of the customer. PrimaryEmail *string `json:"primaryEmail,omitempty"` // Subscriptions The subscriptions of the customer. // Only with the `subscriptions` expand option. Subscriptions *[]Subscription `json:"subscriptions,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsageAttribution Mapping to attribute metered usage to the customer // Either key or usageAttribution.subjectKeys must be provided. UsageAttribution *CustomerUsageAttribution `json:"usageAttribution,omitempty"` } // CustomerAccess CustomerAccess describes what features the customer has access to. type CustomerAccess struct { // Entitlements Map of entitlements the customer has access to. // The key is the feature key, the value is the entitlement value + the entitlement ID. Entitlements map[string]EntitlementValue `json:"entitlements"` } // CustomerAppData CustomerAppData // Stores the app specific data for the customer. // One of: stripe, sandbox, custom_invoicing type CustomerAppData struct { union json.RawMessage } // CustomerAppDataCreateOrUpdateItem CustomerAppData // Stores the app specific data for the customer. // One of: stripe, sandbox, custom_invoicing type CustomerAppDataCreateOrUpdateItem struct { union json.RawMessage } // CustomerAppDataPaginatedResponse Paginated response type CustomerAppDataPaginatedResponse struct { // Items The items in the current page. Items []CustomerAppData `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // CustomerCreate Resource create operation model. type CustomerCreate struct { // BillingAddress The billing address of the customer. // Used for tax and invoicing. BillingAddress *Address `json:"billingAddress,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 An optional unique key of the customer. // Either key or usageAttribution.subjectKeys must be provided. // Useful to reference the customer in external systems. // For example, your database ID. Key *string `json:"key,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // PrimaryEmail The primary email address of the customer. PrimaryEmail *string `json:"primaryEmail,omitempty"` // UsageAttribution Mapping to attribute metered usage to the customer // Either key or usageAttribution.subjectKeys must be provided. UsageAttribution *CustomerUsageAttribution `json:"usageAttribution,omitempty"` } // CustomerExpand CustomerExpand specifies the parts of the customer to expand in the list output. type CustomerExpand string // CustomerId Create Stripe checkout session with customer ID. type CustomerId struct { // Id ULID (Universally Unique Lexicographically Sortable Identifier). Id string `json:"id"` } // CustomerKey Create Stripe checkout session with customer key. type CustomerKey struct { Key string `json:"key"` } // CustomerOrderBy Order by options for customers. type CustomerOrderBy string // CustomerPaginatedResponse Paginated response type CustomerPaginatedResponse struct { // Items The items in the current page. Items []Customer `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // CustomerReplaceUpdate Resource update operation model. type CustomerReplaceUpdate struct { // BillingAddress The billing address of the customer. // Used for tax and invoicing. BillingAddress *Address `json:"billingAddress,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 An optional unique key of the customer. // Either key or usageAttribution.subjectKeys must be provided. // Useful to reference the customer in external systems. // For example, your database ID. Key *string `json:"key,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // PrimaryEmail The primary email address of the customer. PrimaryEmail *string `json:"primaryEmail,omitempty"` // UsageAttribution Mapping to attribute metered usage to the customer // Either key or usageAttribution.subjectKeys must be provided. UsageAttribution *CustomerUsageAttribution `json:"usageAttribution,omitempty"` } // CustomerSubscriptionOrderBy Order by options for customer subscriptions. type CustomerSubscriptionOrderBy string // CustomerUsageAttribution 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 CustomerUsageAttribution struct { // SubjectKeys The subjects that are attributed to the customer. // Can be empty when no subjects are associated with the customer. SubjectKeys []string `json:"subjectKeys"` } // DiscountPercentage Percentage discount. type DiscountPercentage struct { // Percentage The percentage of the discount. Percentage Percentage `json:"percentage"` } // DiscountReasonMaximumSpend The reason for the discount is a maximum spend. type DiscountReasonMaximumSpend struct { Type DiscountReasonMaximumSpendType `json:"type"` } // DiscountReasonMaximumSpendType defines model for DiscountReasonMaximumSpend.Type. type DiscountReasonMaximumSpendType string // DiscountReasonRatecardPercentage The reason for the discount is a ratecard percentage. type DiscountReasonRatecardPercentage struct { // CorrelationId Correlation ID for the discount. // // This is used to link discounts across different invoices (progressive billing use case). // // If not provided, the invoicing engine will auto-generate one. When editing an invoice line, // please make sure to keep the same correlation ID of the discount or in progressive billing // setups the discount amounts might be incorrect. CorrelationId *string `json:"correlationId,omitempty"` // Percentage The percentage of the discount. Percentage Percentage `json:"percentage"` Type DiscountReasonRatecardPercentageType `json:"type"` } // DiscountReasonRatecardPercentageType defines model for DiscountReasonRatecardPercentage.Type. type DiscountReasonRatecardPercentageType string // DiscountReasonRatecardUsage The reason for the discount is a ratecard usage. type DiscountReasonRatecardUsage struct { // CorrelationId Correlation ID for the discount. // // This is used to link discounts across different invoices (progressive billing use case). // // If not provided, the invoicing engine will auto-generate one. When editing an invoice line, // please make sure to keep the same correlation ID of the discount or in progressive billing // setups the discount amounts might be incorrect. CorrelationId *string `json:"correlationId,omitempty"` // Quantity The quantity of the usage discount. // // Must be positive. Quantity Numeric `json:"quantity"` Type DiscountReasonRatecardUsageType `json:"type"` } // DiscountReasonRatecardUsageType defines model for DiscountReasonRatecardUsage.Type. type DiscountReasonRatecardUsageType string // DiscountReasonType The type of the discount reason. type DiscountReasonType string // DiscountUsage Usage discount. // // Usage discount means that the first N items are free. From billing perspective // this means that any usage on a specific feature is considered 0 until this discount // is exhausted. type DiscountUsage struct { // Quantity The quantity of the usage discount. // // Must be positive. Quantity Numeric `json:"quantity"` } // Discounts Discount by type on a price type Discounts struct { // Percentage The percentage discount. Percentage *DiscountPercentage `json:"percentage,omitempty"` // Usage The usage discount. Usage *DiscountUsage `json:"usage,omitempty"` } // DynamicPrice Dynamic price. // // The underlying meter's value is considered the base price in the // customer's currency. // // The rate specifies the markup over the price. type DynamicPrice struct { // Multiplier The multiplier to apply to the base price to get the dynamic price. // // Examples: // - 0.0: the price is zero // - 0.5: the price is 50% of the base price // - 1.0: the price is the same as the base price // - 1.5: the price is 150% of the base price Multiplier *Numeric `json:"multiplier,omitempty"` // Type The type of the price. Type DynamicPriceType `json:"type"` } // DynamicPriceType The type of the price. type DynamicPriceType string // DynamicPriceWithCommitments Dynamic price with spend commitments. type DynamicPriceWithCommitments struct { // MaximumAmount The customer is limited to spend at most the amount. MaximumAmount *Numeric `json:"maximumAmount,omitempty"` // MinimumAmount The customer is committed to spend at least the amount. MinimumAmount *Numeric `json:"minimumAmount,omitempty"` // Multiplier The multiplier to apply to the base price to get the dynamic price. // // Examples: // - 0.0: the price is zero // - 0.5: the price is 50% of the base price // - 1.0: the price is the same as the base price // - 1.5: the price is 150% of the base price Multiplier *Numeric `json:"multiplier,omitempty"` // Type The type of the price. Type DynamicPriceWithCommitmentsType `json:"type"` } // DynamicPriceWithCommitmentsType The type of the price. type DynamicPriceWithCommitmentsType string // EditOp Enum listing the different operation types. type EditOp string // EditSubscriptionAddItem Add a new item to a phase. type EditSubscriptionAddItem struct { Op EditSubscriptionAddItemOp `json:"op"` PhaseKey string `json:"phaseKey"` // RateCard A rate card defines the pricing and entitlement of a feature or service. RateCard RateCard `json:"rateCard"` } // EditSubscriptionAddItemOp defines model for EditSubscriptionAddItem.Op. type EditSubscriptionAddItemOp string // EditSubscriptionAddPhase Add a new phase type EditSubscriptionAddPhase struct { Op EditSubscriptionAddPhaseOp `json:"op"` // Phase Subscription phase create input. Phase SubscriptionPhaseCreate `json:"phase"` } // EditSubscriptionAddPhaseOp defines model for EditSubscriptionAddPhase.Op. type EditSubscriptionAddPhaseOp string // EditSubscriptionRemoveItem Remove an item from a phase. type EditSubscriptionRemoveItem struct { ItemKey string `json:"itemKey"` Op EditSubscriptionRemoveItemOp `json:"op"` PhaseKey string `json:"phaseKey"` } // EditSubscriptionRemoveItemOp defines model for EditSubscriptionRemoveItem.Op. type EditSubscriptionRemoveItemOp string // EditSubscriptionRemovePhase Remove a phase type EditSubscriptionRemovePhase struct { Op EditSubscriptionRemovePhaseOp `json:"op"` PhaseKey string `json:"phaseKey"` // Shift The direction of the phase shift when a phase is removed. Shift RemovePhaseShifting `json:"shift"` } // EditSubscriptionRemovePhaseOp defines model for EditSubscriptionRemovePhase.Op. type EditSubscriptionRemovePhaseOp string // EditSubscriptionStretchPhase Stretch a phase type EditSubscriptionStretchPhase struct { ExtendBy string `json:"extendBy"` Op EditSubscriptionStretchPhaseOp `json:"op"` PhaseKey string `json:"phaseKey"` } // EditSubscriptionStretchPhaseOp defines model for EditSubscriptionStretchPhase.Op. type EditSubscriptionStretchPhaseOp string // EditSubscriptionUnscheduleEdit Unschedules any edits from the current phase. type EditSubscriptionUnscheduleEdit struct { Op EditSubscriptionUnscheduleEditOp `json:"op"` } // EditSubscriptionUnscheduleEditOp defines model for EditSubscriptionUnscheduleEdit.Op. type EditSubscriptionUnscheduleEditOp string // Entitlement Entitlement templates are used to define the entitlements of a plan. // Features are omitted from the entitlement template, as they are defined in the rate card. type Entitlement struct { union json.RawMessage } // EntitlementBaseTemplate Shared fields of the entitlement templates. type EntitlementBaseTemplate struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod *Period `json:"currentUsagePeriod,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // SubjectKey The identifier key unique to the subject. // NOTE: Subjects are being deprecated, please use the new customer APIs. SubjectKey string `json:"subjectKey"` // Type The type of the entitlement. Type EntitlementType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod The defined usage period of the entitlement UsagePeriod *RecurringPeriod `json:"usagePeriod,omitempty"` } // EntitlementBoolean Entitlement template of a boolean entitlement. type EntitlementBoolean struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod *Period `json:"currentUsagePeriod,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // SubjectKey The identifier key unique to the subject. // NOTE: Subjects are being deprecated, please use the new customer APIs. SubjectKey string `json:"subjectKey"` Type EntitlementBooleanType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod The defined usage period of the entitlement UsagePeriod *RecurringPeriod `json:"usagePeriod,omitempty"` } // EntitlementBooleanType defines model for EntitlementBoolean.Type. type EntitlementBooleanType string // EntitlementBooleanCreateInputs Create inputs for boolean entitlement type EntitlementBooleanCreateInputs struct { // FeatureId The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureId *string `json:"featureId,omitempty"` // FeatureKey The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureKey *string `json:"featureKey,omitempty"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` Type EntitlementBooleanCreateInputsType `json:"type"` // UsagePeriod The usage period associated with the entitlement. UsagePeriod *RecurringPeriodCreateInput `json:"usagePeriod,omitempty"` } // EntitlementBooleanCreateInputsType defines model for EntitlementBooleanCreateInputs.Type. type EntitlementBooleanCreateInputsType string // EntitlementBooleanV2 Entitlement template of a boolean entitlement. type EntitlementBooleanV2 struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod *Period `json:"currentUsagePeriod,omitempty"` // CustomerId The identifier unique to the customer CustomerId string `json:"customerId"` // CustomerKey The identifier key unique to the customer CustomerKey *string `json:"customerKey,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` Type EntitlementBooleanV2Type `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod The defined usage period of the entitlement UsagePeriod *RecurringPeriod `json:"usagePeriod,omitempty"` } // EntitlementBooleanV2Type defines model for EntitlementBooleanV2.Type. type EntitlementBooleanV2Type string // EntitlementCreateInputs Create inputs for entitlement type EntitlementCreateInputs struct { union json.RawMessage } // EntitlementCreateSharedFields Shared fields for entitlement creation type EntitlementCreateSharedFields struct { // FeatureId The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureId *string `json:"featureId,omitempty"` // FeatureKey The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureKey *string `json:"featureKey,omitempty"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // UsagePeriod The usage period associated with the entitlement. UsagePeriod *RecurringPeriodCreateInput `json:"usagePeriod,omitempty"` } // EntitlementCustomerFields Customer fields for entitlements type EntitlementCustomerFields struct { // CustomerId The identifier unique to the customer CustomerId string `json:"customerId"` // CustomerKey The identifier key unique to the customer CustomerKey *string `json:"customerKey,omitempty"` } // EntitlementGrant The grant. type EntitlementGrant struct { // Amount The amount to grant. Should be a positive number. Amount float64 `json:"amount"` // Annotations Grant annotations Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // EffectiveAt Effective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute). EffectiveAt time.Time `json:"effectiveAt"` // EntitlementId The unique entitlement ULID that the grant is associated with. EntitlementId string `json:"entitlementId"` // Expiration The grant expiration definition Expiration ExpirationPeriod `json:"expiration"` // ExpiresAt The time the grant expires. ExpiresAt *time.Time `json:"expiresAt,omitempty"` // Id Readonly unique ULID identifier. Id string `json:"id"` // MaxRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MaxRolloverAmount *float64 `json:"maxRolloverAmount,omitempty"` // Metadata The grant metadata. Metadata *Metadata `json:"metadata,omitempty"` // MinRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MinRolloverAmount *float64 `json:"minRolloverAmount,omitempty"` // NextRecurrence The next time the grant will recurr. NextRecurrence *time.Time `json:"nextRecurrence,omitempty"` // Priority The priority of the grant. Grants with higher priority are applied first. // Priority is a positive decimal numbers. With lower numbers indicating higher importance. // For example, a priority of 1 is more urgent than a priority of 2. // When there are several grants available for the same subject, the system selects the grant with the highest priority. // In cases where grants share the same priority level, the grant closest to its expiration will be used first. // In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first. Priority *uint8 `json:"priority,omitempty"` // Recurrence The recurrence period of the grant. Recurrence *RecurringPeriod `json:"recurrence,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // VoidedAt The time the grant was voided. VoidedAt *time.Time `json:"voidedAt,omitempty"` } // EntitlementGrantCreateInput The grant creation input. type EntitlementGrantCreateInput struct { // Amount The amount to grant. Should be a positive number. Amount float64 `json:"amount"` // EffectiveAt Effective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute). EffectiveAt time.Time `json:"effectiveAt"` // Expiration The grant expiration definition Expiration ExpirationPeriod `json:"expiration"` // MaxRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MaxRolloverAmount *float64 `json:"maxRolloverAmount,omitempty"` // Metadata The grant metadata. Metadata *Metadata `json:"metadata,omitempty"` // MinRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MinRolloverAmount *float64 `json:"minRolloverAmount,omitempty"` // Priority The priority of the grant. Grants with higher priority are applied first. // Priority is a positive decimal numbers. With lower numbers indicating higher importance. // For example, a priority of 1 is more urgent than a priority of 2. // When there are several grants available for the same subject, the system selects the grant with the highest priority. // In cases where grants share the same priority level, the grant closest to its expiration will be used first. // In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first. Priority *uint8 `json:"priority,omitempty"` // Recurrence The subject of the grant. Recurrence *RecurringPeriodCreateInput `json:"recurrence,omitempty"` } // EntitlementGrantCreateInputV2 The grant creation input. type EntitlementGrantCreateInputV2 struct { // Amount The amount to grant. Should be a positive number. Amount float64 `json:"amount"` // Annotations Grant annotations Annotations *Annotations `json:"annotations,omitempty"` // EffectiveAt Effective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute). EffectiveAt time.Time `json:"effectiveAt"` // Expiration The grant expiration definition. If no expiration is provided, the grant can be active indefinitely. Expiration *ExpirationPeriod `json:"expiration,omitempty"` // MaxRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. The default value equals grant amount. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MaxRolloverAmount *float64 `json:"maxRolloverAmount,omitempty"` // Metadata The grant metadata. Metadata *Metadata `json:"metadata,omitempty"` // MinRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MinRolloverAmount *float64 `json:"minRolloverAmount,omitempty"` // Priority The priority of the grant. Grants with higher priority are applied first. // Priority is a positive decimal numbers. With lower numbers indicating higher importance. // For example, a priority of 1 is more urgent than a priority of 2. // When there are several grants available for the same subject, the system selects the grant with the highest priority. // In cases where grants share the same priority level, the grant closest to its expiration will be used first. // In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first. Priority *uint8 `json:"priority,omitempty"` // Recurrence The subject of the grant. Recurrence *RecurringPeriodCreateInput `json:"recurrence,omitempty"` } // EntitlementGrantV2 The grant. type EntitlementGrantV2 struct { // Amount The amount to grant. Should be a positive number. Amount float64 `json:"amount"` // Annotations Grant annotations Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // EffectiveAt Effective date for grants and anchor for recurring grants. Provided value will be ceiled to metering windowSize (minute). EffectiveAt time.Time `json:"effectiveAt"` // EntitlementId The unique entitlement ULID that the grant is associated with. EntitlementId string `json:"entitlementId"` // Expiration The grant expiration definition. If no expiration is provided, the grant can be active indefinitely. Expiration *ExpirationPeriod `json:"expiration,omitempty"` // ExpiresAt The time the grant expires. ExpiresAt *time.Time `json:"expiresAt,omitempty"` // Id Readonly unique ULID identifier. Id string `json:"id"` // MaxRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. The default value equals grant amount. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MaxRolloverAmount *float64 `json:"maxRolloverAmount,omitempty"` // Metadata The grant metadata. Metadata *Metadata `json:"metadata,omitempty"` // MinRolloverAmount Grants are rolled over at reset, after which they can have a different balance compared to what they had before the reset. // Balance after the reset is calculated as: Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount)) MinRolloverAmount *float64 `json:"minRolloverAmount,omitempty"` // NextRecurrence The next time the grant will recurr. NextRecurrence *time.Time `json:"nextRecurrence,omitempty"` // Priority The priority of the grant. Grants with higher priority are applied first. // Priority is a positive decimal numbers. With lower numbers indicating higher importance. // For example, a priority of 1 is more urgent than a priority of 2. // When there are several grants available for the same subject, the system selects the grant with the highest priority. // In cases where grants share the same priority level, the grant closest to its expiration will be used first. // In the case of two grants have identical priorities and expiration dates, the system will use the grant that was created first. Priority *uint8 `json:"priority,omitempty"` // Recurrence The recurrence period of the grant. Recurrence *RecurringPeriod `json:"recurrence,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // VoidedAt The time the grant was voided. VoidedAt *time.Time `json:"voidedAt,omitempty"` } // EntitlementMetered Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems. // Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage). type EntitlementMetered struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod Period `json:"currentUsagePeriod"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // IsSoftLimit If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true. IsSoftLimit *bool `json:"isSoftLimit,omitempty"` // IsUnlimited Deprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set IsUnlimited *bool `json:"isUnlimited,omitempty"` // IssueAfterReset You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. // If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. // That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. // Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same. IssueAfterReset *float64 `json:"issueAfterReset,omitempty"` // IssueAfterResetPriority Defines the grant priority for the default grant. IssueAfterResetPriority *uint8 `json:"issueAfterResetPriority,omitempty"` // LastReset The time the last reset happened. LastReset time.Time `json:"lastReset"` // MeasureUsageFrom The time from which usage is measured. If not specified on creation, defaults to entitlement creation time. MeasureUsageFrom time.Time `json:"measureUsageFrom"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // PreserveOverageAtReset If true, the overage is preserved at reset. If false, the usage is reset to 0. PreserveOverageAtReset *bool `json:"preserveOverageAtReset,omitempty"` // SubjectKey The identifier key unique to the subject. // NOTE: Subjects are being deprecated, please use the new customer APIs. SubjectKey string `json:"subjectKey"` Type EntitlementMeteredType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod THe usage period of the entitlement. UsagePeriod RecurringPeriod `json:"usagePeriod"` } // EntitlementMeteredType defines model for EntitlementMetered.Type. type EntitlementMeteredType string // EntitlementMeteredCalculatedFields Calculated fields for metered entitlements. type EntitlementMeteredCalculatedFields struct { // CurrentUsagePeriod The current usage period. CurrentUsagePeriod Period `json:"currentUsagePeriod"` // LastReset The time the last reset happened. LastReset time.Time `json:"lastReset"` // MeasureUsageFrom The time from which usage is measured. If not specified on creation, defaults to entitlement creation time. MeasureUsageFrom time.Time `json:"measureUsageFrom"` // UsagePeriod THe usage period of the entitlement. UsagePeriod RecurringPeriod `json:"usagePeriod"` } // EntitlementMeteredCreateInputs Create inpurs for metered entitlement type EntitlementMeteredCreateInputs struct { // FeatureId The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureId *string `json:"featureId,omitempty"` // FeatureKey The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureKey *string `json:"featureKey,omitempty"` // IsSoftLimit If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true. IsSoftLimit *bool `json:"isSoftLimit,omitempty"` // IsUnlimited Deprecated, ignored by the backend. Please use isSoftLimit instead; this field will be removed in the future. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set IsUnlimited *bool `json:"isUnlimited,omitempty"` // IssueAfterReset You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. // If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. // That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. // Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same. IssueAfterReset *float64 `json:"issueAfterReset,omitempty"` // IssueAfterResetPriority Defines the grant priority for the default grant. IssueAfterResetPriority *uint8 `json:"issueAfterResetPriority,omitempty"` // MeasureUsageFrom Defines the time from which usage is measured. If not specified on creation, defaults to entitlement creation time. MeasureUsageFrom *MeasureUsageFrom `json:"measureUsageFrom,omitempty"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // PreserveOverageAtReset If true, the overage is preserved at reset. If false, the usage is reset to 0. PreserveOverageAtReset *bool `json:"preserveOverageAtReset,omitempty"` Type EntitlementMeteredCreateInputsType `json:"type"` // UsagePeriod The usage period associated with the entitlement. UsagePeriod RecurringPeriodCreateInput `json:"usagePeriod"` } // EntitlementMeteredCreateInputsType defines model for EntitlementMeteredCreateInputs.Type. type EntitlementMeteredCreateInputsType string // EntitlementMeteredV2 Metered entitlements are useful for many different use cases, from setting up usage based access to implementing complex credit systems. // Access is determined based on feature usage using a balance calculation (the "usage allowance" provided by the issued grants is "burnt down" by the usage). type EntitlementMeteredV2 struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod Period `json:"currentUsagePeriod"` // CustomerId The identifier unique to the customer CustomerId string `json:"customerId"` // CustomerKey The identifier key unique to the customer CustomerKey *string `json:"customerKey,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // IsSoftLimit If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true. IsSoftLimit *bool `json:"isSoftLimit,omitempty"` // Issue Issue after reset Issue *IssueAfterReset `json:"issue,omitempty"` // IssueAfterReset You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. // If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. // That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. // Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set IssueAfterReset *float64 `json:"issueAfterReset,omitempty"` // IssueAfterResetPriority Defines the grant priority for the default grant. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set IssueAfterResetPriority *uint8 `json:"issueAfterResetPriority,omitempty"` // LastReset The time the last reset happened. LastReset time.Time `json:"lastReset"` // MeasureUsageFrom The time from which usage is measured. If not specified on creation, defaults to entitlement creation time. MeasureUsageFrom time.Time `json:"measureUsageFrom"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // PreserveOverageAtReset If true, the overage is preserved at reset. If false, the usage is reset to 0. PreserveOverageAtReset *bool `json:"preserveOverageAtReset,omitempty"` Type EntitlementMeteredV2Type `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod THe usage period of the entitlement. UsagePeriod RecurringPeriod `json:"usagePeriod"` } // EntitlementMeteredV2Type defines model for EntitlementMeteredV2.Type. type EntitlementMeteredV2Type string // EntitlementMeteredV2CreateInputs Create inputs for metered entitlement type EntitlementMeteredV2CreateInputs struct { // FeatureId The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureId *string `json:"featureId,omitempty"` // FeatureKey The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureKey *string `json:"featureKey,omitempty"` // Grants Grants Grants *[]EntitlementGrantCreateInputV2 `json:"grants,omitempty"` // IsSoftLimit If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true. IsSoftLimit *bool `json:"isSoftLimit,omitempty"` // Issue Issue after reset Issue *IssueAfterReset `json:"issue,omitempty"` // IssueAfterReset You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. // If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. // That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. // Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set IssueAfterReset *float64 `json:"issueAfterReset,omitempty"` // IssueAfterResetPriority Defines the grant priority for the default grant. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set IssueAfterResetPriority *uint8 `json:"issueAfterResetPriority,omitempty"` // MeasureUsageFrom Defines the time from which usage is measured. If not specified on creation, defaults to entitlement creation time. MeasureUsageFrom *MeasureUsageFrom `json:"measureUsageFrom,omitempty"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // PreserveOverageAtReset If true, the overage is preserved at reset. If false, the usage is reset to 0. PreserveOverageAtReset *bool `json:"preserveOverageAtReset,omitempty"` Type EntitlementMeteredV2CreateInputsType `json:"type"` // UsagePeriod The usage period associated with the entitlement. UsagePeriod RecurringPeriodCreateInput `json:"usagePeriod"` } // EntitlementMeteredV2CreateInputsType defines model for EntitlementMeteredV2CreateInputs.Type. type EntitlementMeteredV2CreateInputsType string // EntitlementOrderBy Order by options for entitlements. type EntitlementOrderBy string // EntitlementPaginatedResponse Paginated response type EntitlementPaginatedResponse struct { // Items The items in the current page. Items []Entitlement `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // EntitlementStatic A static entitlement. type EntitlementStatic struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // Config The JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object. Config json.RawMessage `json:"config"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod *Period `json:"currentUsagePeriod,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // SubjectKey The identifier key unique to the subject. // NOTE: Subjects are being deprecated, please use the new customer APIs. SubjectKey string `json:"subjectKey"` Type EntitlementStaticType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod The defined usage period of the entitlement UsagePeriod *RecurringPeriod `json:"usagePeriod,omitempty"` } // EntitlementStaticType defines model for EntitlementStatic.Type. type EntitlementStaticType string // EntitlementStaticCreateInputs Create inputs for static entitlement type EntitlementStaticCreateInputs struct { // Config The JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object. Config json.RawMessage `json:"config"` // FeatureId The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureId *string `json:"featureId,omitempty"` // FeatureKey The feature the subject is entitled to use. // Either featureKey or featureId is required. FeatureKey *string `json:"featureKey,omitempty"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` Type EntitlementStaticCreateInputsType `json:"type"` // UsagePeriod The usage period associated with the entitlement. UsagePeriod *RecurringPeriodCreateInput `json:"usagePeriod,omitempty"` } // EntitlementStaticCreateInputsType defines model for EntitlementStaticCreateInputs.Type. type EntitlementStaticCreateInputsType string // EntitlementStaticV2 A static entitlement. type EntitlementStaticV2 struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Annotations The annotations of the entitlement. Annotations *Annotations `json:"annotations,omitempty"` // Config The JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object. Config json.RawMessage `json:"config"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentUsagePeriod The current usage period. CurrentUsagePeriod *Period `json:"currentUsagePeriod,omitempty"` // CustomerId The identifier unique to the customer CustomerId string `json:"customerId"` // CustomerKey The identifier key unique to the customer CustomerKey *string `json:"customerKey,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FeatureId The feature the subject is entitled to use. FeatureId string `json:"featureId"` // FeatureKey The feature the subject is entitled to use. FeatureKey string `json:"featureKey"` // Id Readonly unique ULID identifier. Id string `json:"id"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` Type EntitlementStaticV2Type `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // UsagePeriod The defined usage period of the entitlement UsagePeriod *RecurringPeriod `json:"usagePeriod,omitempty"` } // EntitlementStaticV2Type defines model for EntitlementStaticV2.Type. type EntitlementStaticV2Type string // EntitlementType Type of the entitlement. type EntitlementType = string // EntitlementV2 Entitlement templates are used to define the entitlements of a plan. // Features are omitted from the entitlement template, as they are defined in the rate card. type EntitlementV2 struct { union json.RawMessage } // EntitlementV2CreateInputs Create inputs for entitlement type EntitlementV2CreateInputs struct { union json.RawMessage } // EntitlementV2PaginatedResponse Paginated response type EntitlementV2PaginatedResponse struct { // Items The items in the current page. Items []EntitlementV2 `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // EntitlementValue Entitlements are the core of OpenMeter access management. They define access to features for subjects. Entitlements can be metered, boolean, or static. type EntitlementValue struct { // Balance Only available for metered entitlements. Metered entitlements are built around a balance calculation where feature usage is deducted from the issued grants. Balance represents the remaining balance of the entitlement, it's value never turns negative. Balance *float64 `json:"balance,omitempty"` // Config Only available for static entitlements. The JSON parsable config of the entitlement. Config *string `json:"config,omitempty"` // HasAccess Whether the subject has access to the feature. Shared accross all entitlement types. HasAccess bool `json:"hasAccess"` // Overage Only available for metered entitlements. Overage represents the usage that wasn't covered by grants, e.g. if the subject had a total feature usage of 100 in the period but they were only granted 80, there would be 20 overage. Overage *float64 `json:"overage,omitempty"` // TotalAvailableGrantAmount Only available for metered entitlements. The summed amount of all grant active at query time PLUS the used amount of since inactive grants. TotalAvailableGrantAmount *float64 `json:"totalAvailableGrantAmount,omitempty"` // Usage Only available for metered entitlements. Returns the total feature usage in the current period. Usage *float64 `json:"usage,omitempty"` } // EntitlementValueV2 EntitlementValueV2 returns entitlement access state and value fields for customer-scoped V2 APIs. type EntitlementValueV2 struct { // Balance Only available for metered entitlements. Metered entitlements are built around a balance calculation where feature usage is deducted from the issued grants. Balance represents the remaining balance of the entitlement, it's value never turns negative. Balance *float64 `json:"balance,omitempty"` // Config Only available for static entitlements. The JSON parsable config of the entitlement. Config *string `json:"config,omitempty"` // GrantBalances Only available for metered entitlements. The closing balance of each active grant at query time. // The key is the grant ID and the value is the remaining balance. GrantBalances *map[string]float64 `json:"grantBalances,omitempty"` // HasAccess Whether the subject has access to the feature. Shared accross all entitlement types. HasAccess bool `json:"hasAccess"` // Overage Only available for metered entitlements. Overage represents the usage that wasn't covered by grants, e.g. if the subject had a total feature usage of 100 in the period but they were only granted 80, there would be 20 overage. Overage *float64 `json:"overage,omitempty"` // TotalAvailableGrantAmount Only available for metered entitlements. The summed amount of all grant active at query time PLUS the used amount of since inactive grants. TotalAvailableGrantAmount *float64 `json:"totalAvailableGrantAmount,omitempty"` // Usage Only available for metered entitlements. Returns the total feature usage in the current period. Usage *float64 `json:"usage,omitempty"` } // ErrorExtension Generic ErrorExtension as part of HTTPProblem.Extensions.[StatusCode] type ErrorExtension struct { // Code The machine readable description of the error. Code string `json:"code"` // Field The path to the field. Field string `json:"field"` // Message The human readable description of the error. Message string `json:"message"` AdditionalProperties map[string]interface{} `json:"-"` } // Event CloudEvents Specification JSON Schema // // Optional properties are nullable according to the CloudEvents specification: // OPTIONAL not omitted attributes MAY be represented as a null JSON value. type Event = event.Event // EventDeliveryAttemptResponse The response of the event delivery attempt. type EventDeliveryAttemptResponse struct { // Body The body of the response. Body string `json:"body"` // DurationMs The duration of the response in milliseconds. DurationMs int `json:"durationMs"` // StatusCode Status code of the response if available. StatusCode *int `json:"statusCode,omitempty"` // Url URL where the event was sent in case of notification channel with webhook type. Url *string `json:"url,omitempty"` } // ExpirationDuration The expiration duration enum type ExpirationDuration string // ExpirationPeriod The grant expiration definition type ExpirationPeriod struct { // Count The number of time units in the expiration period. Count uint32 `json:"count"` // Duration The unit of time for the expiration period. Duration ExpirationDuration `json:"duration"` } // Feature Represents a feature that can be enabled or disabled for a plan. // Used both for product catalog and entitlements. type Feature struct { // AdvancedMeterGroupByFilters Optional advanced meter group by filters. // You can use this to filter for values of the meter groupBy fields. AdvancedMeterGroupByFilters *map[string]FilterString `json:"advancedMeterGroupByFilters,omitempty"` // ArchivedAt Timestamp of when the resource was archived. ArchivedAt *time.Time `json:"archivedAt,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Id Readonly unique ULID identifier. Id string `json:"id"` // Key A key is a unique string that is used to identify a resource. Key string `json:"key"` Metadata *Metadata `json:"metadata,omitempty"` // MeterGroupByFilters Optional meter group by filters. // Useful if the meter scope is broader than what feature tracks. // Example scenario would be a meter tracking all token use with groupBy fields for the model, // then the feature could filter for model=gpt-4. // // ⚠️ __Deprecated__: Use advancedMeterGroupByFilters instead // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set MeterGroupByFilters *map[string]string `json:"meterGroupByFilters,omitempty"` // MeterSlug A key is a unique string that is used to identify a resource. MeterSlug *string `json:"meterSlug,omitempty"` 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 *FeatureUnitCost `json:"unitCost,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // FeatureCreateInputs Represents a feature that can be enabled or disabled for a plan. // Used both for product catalog and entitlements. type FeatureCreateInputs struct { // AdvancedMeterGroupByFilters Optional advanced meter group by filters. // You can use this to filter for values of the meter groupBy fields. AdvancedMeterGroupByFilters *map[string]FilterString `json:"advancedMeterGroupByFilters,omitempty"` // Key A key is a unique string that is used to identify a resource. Key string `json:"key"` Metadata *Metadata `json:"metadata,omitempty"` // MeterGroupByFilters Optional meter group by filters. // Useful if the meter scope is broader than what feature tracks. // Example scenario would be a meter tracking all token use with groupBy fields for the model, // then the feature could filter for model=gpt-4. // // ⚠️ __Deprecated__: Use advancedMeterGroupByFilters instead // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set MeterGroupByFilters *map[string]string `json:"meterGroupByFilters,omitempty"` // MeterSlug A key is a unique string that is used to identify a resource. MeterSlug *string `json:"meterSlug,omitempty"` 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 *FeatureUnitCost `json:"unitCost,omitempty"` } // FeatureLLMUnitCost LLM cost lookup configuration. // Maps meter group-by dimensions to LLM cost database fields. type FeatureLLMUnitCost 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 `modelProperty`. 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:"modelProperty,omitempty"` // Pricing Resolved per-token pricing from the LLM cost database. // Only populated in responses when the feature's meter group-by filters // specify exact provider and model values. Pricing *FeatureLLMUnitCostPricing `json:"pricing,omitempty"` // Provider Static LLM provider value (e.g., "openai", "anthropic"). // Use this when the feature tracks a single provider. // Mutually exclusive with `providerProperty`. 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:"providerProperty,omitempty"` // TokenType Static token type value. // Use this when the feature tracks a single token type (e.g., only input tokens). // Expected values: input, output, cache_read, reasoning, cache_write, request, response. // `request` is an alias for `input`, `response` is an alias for `output`. // Mutually exclusive with `tokenTypeProperty`. TokenType *string `json:"tokenType,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 `tokenType`. TokenTypeProperty *string `json:"tokenTypeProperty,omitempty"` Type FeatureLLMUnitCostType `json:"type"` } // FeatureLLMUnitCostType defines model for FeatureLLMUnitCost.Type. type FeatureLLMUnitCostType string // FeatureLLMUnitCostPricing Resolved per-token pricing from the LLM cost database. type FeatureLLMUnitCostPricing struct { // CacheReadPerToken Cost per cache read token in USD. CacheReadPerToken *Numeric `json:"cacheReadPerToken,omitempty"` // CacheWritePerToken Cost per cache write token in USD. CacheWritePerToken *Numeric `json:"cacheWritePerToken,omitempty"` // InputPerToken Cost per input token in USD. InputPerToken Numeric `json:"inputPerToken"` // OutputPerToken Cost per output token in USD. OutputPerToken Numeric `json:"outputPerToken"` // ReasoningPerToken Cost per reasoning token in USD. ReasoningPerToken *Numeric `json:"reasoningPerToken,omitempty"` } // FeatureManualUnitCost A fixed per-unit cost amount. type FeatureManualUnitCost struct { // Amount Fixed per-unit cost amount in USD. Amount Numeric `json:"amount"` Type FeatureManualUnitCostType `json:"type"` } // FeatureManualUnitCostType defines model for FeatureManualUnitCost.Type. type FeatureManualUnitCostType string // FeatureMeta Limited representation of a feature resource which includes only its unique identifiers (id, key). type FeatureMeta struct { // Id Unique identifier of a feature. Id string `json:"id"` // Key The key is an immutable unique identifier of the feature used throughout the API, // for example when interacting with a subject's entitlements. Key string `json:"key"` } // FeatureOrderBy Order by options for features. type FeatureOrderBy string // FeaturePaginatedResponse Paginated response type FeaturePaginatedResponse struct { // Items The items in the current page. Items []Feature `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // FeatureUnitCost Per-unit cost configuration for a feature. // Either a fixed manual amount or a dynamic LLM cost lookup. type FeatureUnitCost struct { union json.RawMessage } // FeatureUnitCostType The type of unit cost. type FeatureUnitCostType string // FilterBoolean A filter for a boolean field. type FilterBoolean struct { // Eq The field must be equal to the provided value. Eq *bool `json:"$eq,omitempty"` } // FilterFloat A filter for a float field. type FilterFloat struct { // And Provide a list of filters to be combined with a logical AND. And *[]FilterFloat `json:"$and,omitempty"` // Eq The field must be equal to the provided value. Eq *float64 `json:"$eq,omitempty"` // Gt The field must be greater than the provided value. Gt *float64 `json:"$gt,omitempty"` // Gte The field must be greater than or equal to the provided value. Gte *float64 `json:"$gte,omitempty"` // Lt The field must be less than the provided value. Lt *float64 `json:"$lt,omitempty"` // Lte The field must be less than or equal to the provided value. Lte *float64 `json:"$lte,omitempty"` // Ne The field must not be equal to the provided value. Ne *float64 `json:"$ne,omitempty"` // Or Provide a list of filters to be combined with a logical OR. Or *[]FilterFloat `json:"$or,omitempty"` } // FilterIDExact A filter for a ID (ULID) field allowing only equality or inclusion. type FilterIDExact struct { // In The field must be in the provided list of values. In *[]string `json:"$in,omitempty"` } // FilterInteger A filter for an integer field. type FilterInteger struct { // And Provide a list of filters to be combined with a logical AND. And *[]FilterInteger `json:"$and,omitempty"` // Eq The field must be equal to the provided value. Eq *int `json:"$eq,omitempty"` // Gt The field must be greater than the provided value. Gt *int `json:"$gt,omitempty"` // Gte The field must be greater than or equal to the provided value. Gte *int `json:"$gte,omitempty"` // Lt The field must be less than the provided value. Lt *int `json:"$lt,omitempty"` // Lte The field must be less than or equal to the provided value. Lte *int `json:"$lte,omitempty"` // Ne The field must not be equal to the provided value. Ne *int `json:"$ne,omitempty"` // Or Provide a list of filters to be combined with a logical OR. Or *[]FilterInteger `json:"$or,omitempty"` } // FilterString A filter for a string field. type FilterString struct { // And Provide a list of filters to be combined with a logical AND. And *[]FilterString `json:"$and,omitempty"` // Eq The field must be equal to the provided value. Eq *string `json:"$eq,omitempty"` // Gt The field must be greater than the provided value. Gt *string `json:"$gt,omitempty"` // Gte The field must be greater than or equal to the provided value. Gte *string `json:"$gte,omitempty"` // Ilike The field must match the provided value, ignoring case. Ilike *string `json:"$ilike,omitempty"` // In The field must be in the provided list of values. In *[]string `json:"$in,omitempty"` // Like The field must match the provided value. Like *string `json:"$like,omitempty"` // Lt The field must be less than the provided value. Lt *string `json:"$lt,omitempty"` // Lte The field must be less than or equal to the provided value. Lte *string `json:"$lte,omitempty"` // Ne The field must not be equal to the provided value. Ne *string `json:"$ne,omitempty"` // Nilike The field must not match the provided value, ignoring case. Nilike *string `json:"$nilike,omitempty"` // Nin The field must not be in the provided list of values. Nin *[]string `json:"$nin,omitempty"` // Nlike The field must not match the provided value. Nlike *string `json:"$nlike,omitempty"` // Or Provide a list of filters to be combined with a logical OR. Or *[]FilterString `json:"$or,omitempty"` } // FilterTime A filter for a time field. type FilterTime struct { // And Provide a list of filters to be combined with a logical AND. And *[]FilterTime `json:"$and,omitempty"` // Gt The field must be greater than the provided value. Gt *time.Time `json:"$gt,omitempty"` // Gte The field must be greater than or equal to the provided value. Gte *time.Time `json:"$gte,omitempty"` // Lt The field must be less than the provided value. Lt *time.Time `json:"$lt,omitempty"` // Lte The field must be less than or equal to the provided value. Lte *time.Time `json:"$lte,omitempty"` // Or Provide a list of filters to be combined with a logical OR. Or *[]FilterTime `json:"$or,omitempty"` } // FlatPrice Flat price. type FlatPrice struct { // Amount The amount of the flat price. Amount Numeric `json:"amount"` // Type The type of the price. Type FlatPriceType `json:"type"` } // FlatPriceType The type of the price. type FlatPriceType string // FlatPriceWithPaymentTerm Flat price with payment term. type FlatPriceWithPaymentTerm struct { // Amount The amount of the flat price. Amount Numeric `json:"amount"` // PaymentTerm The payment term of the flat price. // Defaults to in advance. PaymentTerm *PricePaymentTerm `json:"paymentTerm,omitempty"` // Type The type of the price. Type FlatPriceWithPaymentTermType `json:"type"` } // FlatPriceWithPaymentTermType The type of the price. type FlatPriceWithPaymentTermType string // ForbiddenProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type ForbiddenProblemResponse = UnexpectedProblemResponse // GatewayTimeoutProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type GatewayTimeoutProblemResponse = UnexpectedProblemResponse // GrantBurnDownHistorySegment A segment of the grant burn down history. // // A given segment represents the usage of a grant between events that changed either the grant burn down priority order or the usag period. type GrantBurnDownHistorySegment struct { // BalanceAtEnd The entitlement balance at the end of the period. BalanceAtEnd float64 `json:"balanceAtEnd"` // BalanceAtStart entitlement balance at the start of the period. BalanceAtStart float64 `json:"balanceAtStart"` // GrantBalancesAtEnd The balance breakdown of each active grant at the end of the period: GrantID: Balance GrantBalancesAtEnd map[string]float64 `json:"grantBalancesAtEnd"` // GrantBalancesAtStart The balance breakdown of each active grant at the start of the period: GrantID: Balance GrantBalancesAtStart map[string]float64 `json:"grantBalancesAtStart"` // GrantUsages Which grants were actually burnt down in the period and by what amount. GrantUsages []GrantUsageRecord `json:"grantUsages"` // Overage Overuse that wasn't covered by grants. Overage float64 `json:"overage"` // Period The period of the segment. Period Period `json:"period"` // Usage The total usage of the grant in the period. Usage float64 `json:"usage"` } // GrantOrderBy Order by options for grants. type GrantOrderBy string // GrantPaginatedResponse Paginated response type GrantPaginatedResponse struct { // Items The items in the current page. Items []EntitlementGrant `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // GrantUsageRecord Usage Record type GrantUsageRecord struct { // GrantId The id of the grant GrantId string `json:"grantId"` // Usage The usage in the period Usage float64 `json:"usage"` } // GrantV2PaginatedResponse Paginated response type GrantV2PaginatedResponse struct { // Items The items in the current page. Items []EntitlementGrantV2 `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // IDResource IDResource is a resouce with an ID. type IDResource struct { // Id A unique identifier for the resource. Id string `json:"id"` } // IngestEventsBody The body of the events request. // Either a single event or a batch of events. type IngestEventsBody struct { union json.RawMessage } // IngestEventsBody1 defines model for . type IngestEventsBody1 = []Event // IngestedEvent An ingested event with optional validation error. type IngestedEvent struct { // CustomerId The customer ID if the event is associated with a customer. CustomerId *string `json:"customerId,omitempty"` // Event The original event ingested. Event Event `json:"event"` // IngestedAt The date and time the event was ingested. IngestedAt time.Time `json:"ingestedAt"` // StoredAt The date and time the event was stored. StoredAt time.Time `json:"storedAt"` // ValidationError The validation error if the event failed validation. ValidationError *string `json:"validationError,omitempty"` } // IngestedEventCursorPaginatedResponse A response for cursor pagination. type IngestedEventCursorPaginatedResponse struct { // Items The items in the response. Items []IngestedEvent `json:"items"` // NextCursor The cursor of the last item in the list. NextCursor *string `json:"nextCursor,omitempty"` } // InstallMethod Install method of the application. type InstallMethod string // InternalServerErrorProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type InternalServerErrorProblemResponse = UnexpectedProblemResponse // Invoice Invoice represents an invoice in the system. type Invoice struct { // CollectionAt The time when the invoice will be/has been collected. CollectionAt *time.Time `json:"collectionAt,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Currency Currency for all invoice line items. // // Multi currency invoices are not supported yet. Currency CurrencyCode `json:"currency"` // Customer Legal entity receiving the goods or services. Customer BillingInvoiceCustomerExtendedDetails `json:"customer"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // DraftUntil The time until the invoice is in draft status. // // On draft invoice creation it is calculated from the workflow settings. // // If manual approval is required, the draftUntil time is set. DraftUntil *time.Time `json:"draftUntil,omitempty"` // DueAt Due time of the fulfillment of the invoice (if available). DueAt *time.Time `json:"dueAt,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceAppExternalIds `json:"externalIds,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // IssuedAt The time the invoice was issued. // // Depending on the status of the invoice this can mean multiple things: // - draft, gathering: The time the invoice will be issued based on the workflow settings. // - issued: The time the invoice was issued. IssuedAt *time.Time `json:"issuedAt,omitempty"` // Lines List of invoice lines representing each of the items sold to the customer. Lines *[]InvoiceLine `json:"lines,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Number Number specifies the human readable key used to reference this Invoice. // // The invoice number can change in the draft phases, as we are allocating temporary draft // invoice numbers, but it's final as soon as the invoice gets finalized (issued state). // // Please note that the number is (depending on the upstream settings) either unique for the // whole organization or unique for the customer, or in multi (stripe) account setups unique for the // account. Number InvoiceNumber `json:"number"` // Payment Information on when, how, and to whom the invoice should be paid. Payment *InvoicePaymentTerms `json:"payment,omitempty"` // Period The period the invoice covers. If the invoice has no line items, it's not set. Period *Period `json:"period,omitempty"` // Preceding Key information regarding previous invoices and potentially details as to why they were corrected. Preceding *[]InvoiceDocumentRef `json:"preceding,omitempty"` // QuantitySnapshotedAt The time when the quantity snapshots on the invoice lines were taken. QuantitySnapshotedAt *time.Time `json:"quantitySnapshotedAt,omitempty"` // SentToCustomerAt The time the invoice was sent to customer. SentToCustomerAt *time.Time `json:"sentToCustomerAt,omitempty"` // Status The status of the invoice. // // This field only conatins a simplified status, for more detailed information use the statusDetails field. Status InvoiceStatus `json:"status"` // StatusDetails The details of the current invoice status. StatusDetails InvoiceStatusDetails `json:"statusDetails"` // Supplier The taxable entity supplying the goods or services. Supplier BillingParty `json:"supplier"` // Totals Summary of all the invoice totals, including taxes (calculated). Totals InvoiceTotals `json:"totals"` // Type Type of the invoice. // // The type of invoice determines the purpose of the invoice and how it should be handled. // // Supported types: // - standard: A regular commercial invoice document between a supplier and customer. // - credit_note: Reflects a refund either partial or complete of the preceding document. A credit note effectively *extends* the previous document. Type InvoiceType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // ValidationIssues Validation issues reported by the invoice workflow. ValidationIssues *[]ValidationIssue `json:"validationIssues,omitempty"` // VoidedAt The time the invoice was voided. // // If the invoice was voided, this field will be set to the time the invoice was voided. VoidedAt *time.Time `json:"voidedAt,omitempty"` // Workflow The workflow associated with the invoice. // // It is always a snapshot of the workflow settings at the time of invoice creation. The // field is optional as it should be explicitly requested with expand options. Workflow InvoiceWorkflowSettings `json:"workflow"` } // InvoiceAppExternalIds InvoiceAppExternalIds contains the external IDs of the invoice in other apps such as Stripe. type InvoiceAppExternalIds struct { // Invoicing The external ID of the invoice in the invoicing app if available. Invoicing *string `json:"invoicing,omitempty"` // Payment The external ID of the invoice in the payment app if available. Payment *string `json:"payment,omitempty"` // Tax The external ID of the invoice in the tax app if available. Tax *string `json:"tax,omitempty"` } // InvoiceAvailableActionDetails InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for // non-gathering invoices. type InvoiceAvailableActionDetails struct { // ResultingState The state the invoice will reach if the action is activated and // all intermediate steps are successful. // // For example advancing a draft_created invoice will result in a draft_manual_approval_needed invoice. ResultingState string `json:"resultingState"` } // InvoiceAvailableActionInvoiceDetails InvoiceAvailableActionInvoiceDetails represents the details of the invoice action for // gathering invoices. type InvoiceAvailableActionInvoiceDetails = map[string]interface{} // InvoiceAvailableActions InvoiceAvailableActions represents the actions that can be performed on the invoice. type InvoiceAvailableActions struct { // Advance Advance the invoice to the next status. Advance *InvoiceAvailableActionDetails `json:"advance,omitempty"` // Approve Approve an invoice that requires manual approval. Approve *InvoiceAvailableActionDetails `json:"approve,omitempty"` // Delete Delete the invoice (only non-issued invoices can be deleted). Delete *InvoiceAvailableActionDetails `json:"delete,omitempty"` // Invoice Invoice a gathering invoice Invoice *InvoiceAvailableActionInvoiceDetails `json:"invoice,omitempty"` // Retry Retry an invoice issuing step that failed. Retry *InvoiceAvailableActionDetails `json:"retry,omitempty"` // SnapshotQuantities Snapshot quantities for usage based line items. SnapshotQuantities *InvoiceAvailableActionDetails `json:"snapshotQuantities,omitempty"` // Void Void an already issued invoice. Void *InvoiceAvailableActionDetails `json:"void,omitempty"` } // InvoiceDetailedLine InvoiceDetailedLine represents a line item that is sold to the customer as a manually added fee. type InvoiceDetailedLine struct { // Category Category of the flat fee. Category *InvoiceDetailedLineCostCategory `json:"category,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CreditAllocations Credit allocations applied to this line. // // Credits are deducted from the line total before taxes are applied. CreditAllocations *[]InvoiceLineCreditAllocation `json:"creditAllocations,omitempty"` // Currency The currency of this line. Currency CurrencyCode `json:"currency"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts Discounts detailes applied to this line. // // New discounts can be added via the invoice's discounts API, to facilitate // discounts that are affecting multiple lines. Discounts *InvoiceLineDiscounts `json:"discounts,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceLineAppExternalIds `json:"externalIds,omitempty"` // Id ID of the line. Id string `json:"id"` // Invoice The invoice this item belongs to. Invoice *InvoiceReference `json:"invoice,omitempty"` // InvoiceAt The time this line item should be invoiced. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set InvoiceAt time.Time `json:"invoiceAt"` // ManagedBy managedBy specifies if the line is manually added via the api or managed by OpenMeter. ManagedBy InvoiceLineManagedBy `json:"managedBy"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // PaymentTerm Payment term of the line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set PaymentTerm *PricePaymentTerm `json:"paymentTerm,omitempty"` // PerUnitAmount Price of the item being sold. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set PerUnitAmount *Numeric `json:"perUnitAmount,omitempty"` // Period Period of the line item applies to for revenue recognition pruposes. // // Billing always treats periods as start being inclusive and end being exclusive. Period Period `json:"period"` // Quantity Quantity of the item being sold. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Quantity *Numeric `json:"quantity,omitempty"` // RateCard The rate card that is used for this line. RateCard *InvoiceDetailedLineRateCard `json:"rateCard,omitempty"` // Status Status of the line. // // External calls always create valid lines, other line types are managed by the // billing engine of OpenMeter. Status InvoiceLineStatus `json:"status"` // Subscription Subscription are the references to the subscritpions that this line is related to. Subscription *InvoiceLineSubscriptionReference `json:"subscription,omitempty"` // TaxConfig Tax config specify the tax configuration for this line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set TaxConfig *TaxConfig `json:"taxConfig,omitempty"` // Taxes Taxes applied to the invoice totals. Taxes *[]InvoiceLineTaxItem `json:"taxes,omitempty"` // Totals Totals for this line. Totals InvoiceTotals `json:"totals"` // Type Type of the line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Type InvoiceDetailedLineType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // InvoiceDetailedLineType Type of the line. type InvoiceDetailedLineType string // InvoiceDetailedLineCostCategory InvoiceDetailedLineCostCategory determines if the flat fee is a regular fee due to use due to a // commitment. type InvoiceDetailedLineCostCategory string // InvoiceDetailedLineRateCard InvoiceDetailedLineRateCard represents the rate card (intent) for a flat fee line. type InvoiceDetailedLineRateCard struct { // Discounts The discounts that are applied to the line. Discounts *BillingDiscounts `json:"discounts,omitempty"` // Price The price of the rate card. // When null, the feature or service is free. Price *FlatPriceWithPaymentTerm `json:"price"` // Quantity Quantity of the item being sold. // // Default: 1 Quantity *Numeric `json:"quantity,omitempty"` // TaxConfig The tax config of the rate card. // When undefined, the tax config of the feature or the default tax config of the plan is used. TaxConfig *TaxConfig `json:"taxConfig,omitempty"` } // InvoiceDiscountBase InvoiceDiscountBase represents a charge or discount that can be applied to a line or the entire invoice. type InvoiceDiscountBase struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Text description as to why the discount was applied. Description *string `json:"description,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceLineAppExternalIds `json:"externalIds,omitempty"` // Id ID of the charge or discount. Id string `json:"id"` // Reason Reason code. Reason BillingDiscountReason `json:"reason"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // InvoiceDocumentRef CreditNoteOriginalInvoiceRef is used to reference the original invoice that a credit note is based on. type InvoiceDocumentRef = CreditNoteOriginalInvoiceRef // InvoiceDocumentRefType InvoiceDocumentRefType defines the type of document that is being referenced. type InvoiceDocumentRefType string // InvoiceExpand InvoiceExpand specifies the parts of the invoice to expand in the list output. type InvoiceExpand string // InvoiceGenericDocumentRef Omitted fields: // period: Tax period in which the referred document had an effect required by some tax regimes and formats. // stamps: Seals of approval from other organisations that may need to be listed. // ext: Extensions for additional codes that may be required. type InvoiceGenericDocumentRef struct { // Description Additional details about the document. Description *string `json:"description,omitempty"` // Reason Human readable description on why this reference is here or needs to be used. Reason *string `json:"reason,omitempty"` // Type Type of the document referenced. Type InvoiceDocumentRefType `json:"type"` } // InvoiceLine InvoiceUsageBasedLine represents a line item that is sold to the customer based on usage. type InvoiceLine struct { // Children The lines detailing the item or service sold. Children *[]InvoiceDetailedLine `json:"children,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CreditAllocations Credit allocations applied to this line. // // Credits are deducted from the line total before taxes are applied. CreditAllocations *[]InvoiceLineCreditAllocation `json:"creditAllocations,omitempty"` // Currency The currency of this line. Currency CurrencyCode `json:"currency"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts Discounts detailes applied to this line. // // New discounts can be added via the invoice's discounts API, to facilitate // discounts that are affecting multiple lines. Discounts *InvoiceLineDiscounts `json:"discounts,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceLineAppExternalIds `json:"externalIds,omitempty"` // FeatureKey The feature that the usage is based on. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set FeatureKey *string `json:"featureKey,omitempty"` // Id ID of the line. Id string `json:"id"` // Invoice The invoice this item belongs to. Invoice *InvoiceReference `json:"invoice,omitempty"` // InvoiceAt The time this line item should be invoiced. InvoiceAt time.Time `json:"invoiceAt"` // ManagedBy managedBy specifies if the line is manually added via the api or managed by OpenMeter. ManagedBy InvoiceLineManagedBy `json:"managedBy"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // MeteredPreLinePeriodQuantity The metered quantity of the item used in before this line's period without any discounts applied. // // It is non-zero in case of progressive billing, when this shows how much of the usage was already billed. MeteredPreLinePeriodQuantity *Numeric `json:"meteredPreLinePeriodQuantity,omitempty"` // MeteredQuantity The quantity of the item that has been metered for the period before any discounts were applied. MeteredQuantity *Numeric `json:"meteredQuantity,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Period Period of the line item applies to for revenue recognition pruposes. // // Billing always treats periods as start being inclusive and end being exclusive. Period Period `json:"period"` // PreLinePeriodQuantity The quantity of the item used before this line's period. // // It is non-zero in case of progressive billing, when this shows how much of the usage was already billed. // // Any usage discounts applied previously are deducted from this quantity. PreLinePeriodQuantity *Numeric `json:"preLinePeriodQuantity,omitempty"` // Price Price of the usage-based item being sold. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Price *RateCardUsageBasedPrice `json:"price,omitempty"` // Quantity The quantity of the item being sold. // // Any usage discounts applied previously are deducted from this quantity. Quantity *Numeric `json:"quantity,omitempty"` // RateCard The rate card that is used for this line. // // The rate card captures the intent of the price and discounts for the usage-based item. RateCard *InvoiceUsageBasedRateCard `json:"rateCard,omitempty"` // Status Status of the line. // // External calls always create valid lines, other line types are managed by the // billing engine of OpenMeter. Status InvoiceLineStatus `json:"status"` // Subscription Subscription are the references to the subscritpions that this line is related to. Subscription *InvoiceLineSubscriptionReference `json:"subscription,omitempty"` // TaxConfig Tax config specify the tax configuration for this line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set TaxConfig *TaxConfig `json:"taxConfig,omitempty"` // Taxes Taxes applied to the invoice totals. Taxes *[]InvoiceLineTaxItem `json:"taxes,omitempty"` // Totals Totals for this line. Totals InvoiceTotals `json:"totals"` // Type Type of the line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Type InvoiceLineType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // InvoiceLineType Type of the line. type InvoiceLineType string // InvoiceLineAmountDiscount InvoiceLineAmountDiscount represents an amount deducted from the line, and will be applied before taxes. type InvoiceLineAmountDiscount struct { // Amount Fixed discount amount to apply (calculated if percent present). Amount Numeric `json:"amount"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Text description as to why the discount was applied. Description *string `json:"description,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceLineAppExternalIds `json:"externalIds,omitempty"` // Id ID of the charge or discount. Id string `json:"id"` // Reason Reason code. Reason BillingDiscountReason `json:"reason"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // InvoiceLineAppExternalIds InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe. type InvoiceLineAppExternalIds struct { // Invoicing The external ID of the invoice in the invoicing app if available. Invoicing *string `json:"invoicing,omitempty"` // Tax The external ID of the invoice in the tax app if available. Tax *string `json:"tax,omitempty"` } // InvoiceLineBase InvoiceLine represents a single item or service sold to the customer. // // This is a base class for all line types, and should not be used directly. type InvoiceLineBase struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CreditAllocations Credit allocations applied to this line. // // Credits are deducted from the line total before taxes are applied. CreditAllocations *[]InvoiceLineCreditAllocation `json:"creditAllocations,omitempty"` // Currency The currency of this line. Currency CurrencyCode `json:"currency"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts Discounts detailes applied to this line. // // New discounts can be added via the invoice's discounts API, to facilitate // discounts that are affecting multiple lines. Discounts *InvoiceLineDiscounts `json:"discounts,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceLineAppExternalIds `json:"externalIds,omitempty"` // Id ID of the line. Id string `json:"id"` // Invoice The invoice this item belongs to. Invoice *InvoiceReference `json:"invoice,omitempty"` // InvoiceAt The time this line item should be invoiced. InvoiceAt time.Time `json:"invoiceAt"` // ManagedBy managedBy specifies if the line is manually added via the api or managed by OpenMeter. ManagedBy InvoiceLineManagedBy `json:"managedBy"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Period Period of the line item applies to for revenue recognition pruposes. // // Billing always treats periods as start being inclusive and end being exclusive. Period Period `json:"period"` // Status Status of the line. // // External calls always create valid lines, other line types are managed by the // billing engine of OpenMeter. Status InvoiceLineStatus `json:"status"` // Subscription Subscription are the references to the subscritpions that this line is related to. Subscription *InvoiceLineSubscriptionReference `json:"subscription,omitempty"` // TaxConfig Tax config specify the tax configuration for this line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set TaxConfig *TaxConfig `json:"taxConfig,omitempty"` // Taxes Taxes applied to the invoice totals. Taxes *[]InvoiceLineTaxItem `json:"taxes,omitempty"` // Totals Totals for this line. Totals InvoiceTotals `json:"totals"` // Type Type of the line. // // A line's type cannot be changed after creation. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Type InvoiceLineTypes `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // InvoiceLineCreditAllocation InvoiceLineCreditAllocation represents a credit amount allocated to the line before taxes are applied. type InvoiceLineCreditAllocation struct { // Amount Amount allocated from credits. Amount Numeric `json:"amount"` // Description Text description as to why the credit was allocated. Description *string `json:"description,omitempty"` } // InvoiceLineDiscounts InvoiceLineDiscounts represents the discounts applied to the invoice line by type. type InvoiceLineDiscounts struct { // Amount Amount based discounts applied to the line. // // Amount based discounts are deduced from the total price of the line. Amount *[]InvoiceLineAmountDiscount `json:"amount,omitempty"` // Usage Usage based discounts applied to the line. // // Usage based discounts are deduced from the usage of the line before price calculations are applied. Usage *[]InvoiceLineUsageDiscount `json:"usage,omitempty"` } // InvoiceLineManagedBy InvoiceLineManagedBy specifies who manages the line. type InvoiceLineManagedBy string // InvoiceLineReplaceUpdate InvoiceLineReplaceUpdate represents the update model for an UBP invoice line. // // This type makes ID optional to allow for creating new lines as part of the update. type InvoiceLineReplaceUpdate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // FeatureKey The feature that the usage is based on. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set FeatureKey *string `json:"featureKey,omitempty"` // Id The ID of the line. Id *string `json:"id,omitempty"` // InvoiceAt The time this line item should be invoiced. InvoiceAt time.Time `json:"invoiceAt"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Period Period of the line item applies to for revenue recognition pruposes. // // Billing always treats periods as start being inclusive and end being exclusive. Period Period `json:"period"` // Price Price of the usage-based item being sold. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Price *RateCardUsageBasedPrice `json:"price,omitempty"` // RateCard The rate card that is used for this line. // // The rate card captures the intent of the price and discounts for the usage-based item. RateCard *InvoiceUsageBasedRateCard `json:"rateCard,omitempty"` // TaxConfig Tax config specify the tax configuration for this line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set TaxConfig *TaxConfig `json:"taxConfig,omitempty"` } // InvoiceLineStatus Line status specifies the status of the line. type InvoiceLineStatus string // InvoiceLineSubscriptionReference InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to. type InvoiceLineSubscriptionReference struct { // BillingPeriod The billing period of the subscription. In case the subscription item's billing period is different // from the subscription's billing period, this field will contain the billing period of the subscription itself. // // For example, in case of: // - A monthly billed subscription anchored to 2025-01-01 // - A subscription item billed daily // // An example line would have the period of 2025-01-02 to 2025-01-03 as the item is billed daily, but the subscription's billing period // will be 2025-01-01 to 2025-01-31. BillingPeriod Period `json:"billingPeriod"` // Item The item this line is related to. Item IDResource `json:"item"` // Phase The phase of the subscription. Phase IDResource `json:"phase"` // Subscription The subscription. Subscription IDResource `json:"subscription"` } // InvoiceLineTaxBehavior InvoiceLineTaxBehavior details how the tax item is applied to the base amount. // // Inclusive means the tax is included in the base amount. // Exclusive means the tax is added to the base amount. type InvoiceLineTaxBehavior string // InvoiceLineTaxItem TaxConfig stores the configuration for a tax line relative to an invoice line. type InvoiceLineTaxItem struct { // Behavior Is the tax item inclusive or exclusive of the base amount. Behavior *InvoiceLineTaxBehavior `json:"behavior,omitempty"` // Config Tax provider configuration. Config *TaxConfig `json:"config,omitempty"` // Percent Percent defines the percentage set manually or determined from // the rate key (calculated if rate present). A nil percent implies that // this tax combo is **exempt** from tax.") Percent *Percentage `json:"percent,omitempty"` // Surcharge Some countries require an additional surcharge (calculated if rate present). Surcharge *Numeric `json:"surcharge,omitempty"` } // InvoiceLineTypes LineTypes represents the different types of lines that can be used in an invoice. type InvoiceLineTypes string // InvoiceLineUsageDiscount InvoiceLineUsageDiscount represents an usage-based discount applied to the line. // // The deduction is done before the pricing algorithm is applied. type InvoiceLineUsageDiscount struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Text description as to why the discount was applied. Description *string `json:"description,omitempty"` // ExternalIds External IDs of the invoice in other apps such as Stripe. ExternalIds *InvoiceLineAppExternalIds `json:"externalIds,omitempty"` // Id ID of the charge or discount. Id string `json:"id"` // PreLinePeriodQuantity The usage discount already applied to the previous split lines. // // Only set if progressive billing is enabled and the line is a split line. PreLinePeriodQuantity *Numeric `json:"preLinePeriodQuantity,omitempty"` // Quantity The usage to apply. Quantity Numeric `json:"quantity"` // Reason Reason code. Reason BillingDiscountReason `json:"reason"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // InvoiceNumber InvoiceNumber is a unique identifier for the invoice, generated by the // invoicing app. // // The uniqueness depends on a lot of factors: // - app setting (unique per app or unique per customer) // - multiple app scenarios (multiple apps generating invoices with the same prefix) type InvoiceNumber = string // InvoiceOrderBy InvoiceOrderBy specifies the ordering options for invoice listing. type InvoiceOrderBy string // InvoicePaginatedResponse Paginated response type InvoicePaginatedResponse struct { // Items The items in the current page. Items []Invoice `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // InvoicePaymentTerms Payment contains details as to how the invoice should be paid. type InvoicePaymentTerms struct { // Terms The terms of payment for the invoice. Terms *PaymentTerms `json:"terms,omitempty"` } // InvoicePendingLineCreate InvoicePendingLineCreate represents the create model for an invoice line that is sold to the customer based on usage. type InvoicePendingLineCreate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // FeatureKey The feature that the usage is based on. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set FeatureKey *string `json:"featureKey,omitempty"` // InvoiceAt The time this line item should be invoiced. InvoiceAt time.Time `json:"invoiceAt"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Period Period of the line item applies to for revenue recognition pruposes. // // Billing always treats periods as start being inclusive and end being exclusive. Period Period `json:"period"` // Price Price of the usage-based item being sold. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Price *RateCardUsageBasedPrice `json:"price,omitempty"` // RateCard The rate card that is used for this line. // // The rate card captures the intent of the price and discounts for the usage-based item. RateCard *InvoiceUsageBasedRateCard `json:"rateCard,omitempty"` // TaxConfig Tax config specify the tax configuration for this line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set TaxConfig *TaxConfig `json:"taxConfig,omitempty"` } // InvoicePendingLineCreateInput InvoicePendingLineCreate represents the create model for a pending invoice line. type InvoicePendingLineCreateInput struct { // Currency The currency of the lines to be created. Currency CurrencyCode `json:"currency"` // Lines The lines to be created. Lines []InvoicePendingLineCreate `json:"lines"` } // InvoicePendingLineCreateResponse InvoicePendingLineCreateResponse represents the response from the create pending line endpoint. type InvoicePendingLineCreateResponse struct { // Invoice The invoice containing the created lines. Invoice Invoice `json:"invoice"` // IsInvoiceNew Whether the invoice was newly created. IsInvoiceNew bool `json:"isInvoiceNew"` // Lines The lines that were created. Lines []InvoiceLine `json:"lines"` } // InvoicePendingLinesActionFiltersInput InvoicePendingLinesActionFiltersInput specifies which lines to include in the invoice. type InvoicePendingLinesActionFiltersInput struct { // LineIds The pending line items to include in the invoice, if not provided: // - all line items that have invoice_at < asOf will be included // - [progressive billing only] all usage based line items will be included up to asOf, new // usage-based line items will be staged for the rest of the billing cycle // // All lineIDs present in the list, must exists and must be invoicable as of asOf, or the action will fail. LineIds *[]string `json:"lineIds,omitempty"` } // InvoicePendingLinesActionInput BillingInvoiceActionInput is the input for creating an invoice. // // Invoice creation is always based on already pending line items created by the billingCreateLineByCustomer // operation. Empty invoices are not allowed. type InvoicePendingLinesActionInput struct { // AsOf The time as of which the invoice is created. // // If not provided, the current time is used. AsOf *time.Time `json:"asOf,omitempty"` // CustomerId The customer ID for which to create the invoice. CustomerId string `json:"customerId"` // Filters Filters to apply when creating the invoice. Filters *InvoicePendingLinesActionFiltersInput `json:"filters,omitempty"` // ProgressiveBillingOverride Override the progressive billing setting of the customer. // // Can be used to disable/enable progressive billing in case the business logic // requires it, if not provided the billing profile's progressive billing setting will be used. ProgressiveBillingOverride *bool `json:"progressiveBillingOverride,omitempty"` } // InvoiceReference Reference to an invoice. type InvoiceReference struct { // Id The ID of the invoice. Id string `json:"id"` // Number The number of the invoice. Number *InvoiceNumber `json:"number,omitempty"` } // InvoiceReplaceUpdate InvoiceReplaceUpdate represents the update model for an invoice. type InvoiceReplaceUpdate struct { // Customer The customer the invoice is sent to. Customer BillingPartyReplaceUpdate `json:"customer"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Lines The lines included in the invoice. Lines []InvoiceLineReplaceUpdate `json:"lines"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Supplier The supplier of the lines included in the invoice. Supplier BillingPartyReplaceUpdate `json:"supplier"` // Workflow The workflow settings for the invoice. Workflow InvoiceWorkflowReplaceUpdate `json:"workflow"` } // InvoiceSimulationInput InvoiceSimulationInput is the input for simulating an invoice. type InvoiceSimulationInput struct { // Currency Currency for all invoice line items. // // Multi currency invoices are not supported yet. Currency CurrencyCode `json:"currency"` // Lines Lines to be included in the generated invoice. Lines []InvoiceSimulationLine `json:"lines"` // Number The number of the invoice. Number *InvoiceNumber `json:"number,omitempty"` } // InvoiceSimulationLine InvoiceSimulationLine represents a usage-based line item that can be input to the simulation endpoint. type InvoiceSimulationLine struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // FeatureKey The feature that the usage is based on. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set FeatureKey *string `json:"featureKey,omitempty"` // Id ID of the line. If not specified it will be auto-generated. // // When discounts are specified, this must be provided, so that the discount can reference it. Id *string `json:"id,omitempty"` // InvoiceAt The time this line item should be invoiced. InvoiceAt time.Time `json:"invoiceAt"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Period Period of the line item applies to for revenue recognition pruposes. // // Billing always treats periods as start being inclusive and end being exclusive. Period Period `json:"period"` // PreLinePeriodQuantity The quantity of the item used before this line's period, if the line is billed progressively. PreLinePeriodQuantity *Numeric `json:"preLinePeriodQuantity,omitempty"` // Price Price of the usage-based item being sold. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Price *RateCardUsageBasedPrice `json:"price,omitempty"` // Quantity The quantity of the item being sold. Quantity Numeric `json:"quantity"` // RateCard The rate card that is used for this line. // // The rate card captures the intent of the price and discounts for the usage-based item. RateCard *InvoiceUsageBasedRateCard `json:"rateCard,omitempty"` // TaxConfig Tax config specify the tax configuration for this line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set TaxConfig *TaxConfig `json:"taxConfig,omitempty"` } // InvoiceStatus InvoiceStatus describes the status of an invoice. type InvoiceStatus string // InvoiceStatusDetails InvoiceStatusDetails represents the details of the invoice status. // // API users are encouraged to rely on the immutable/failed/avaliableActions fields to determine // the next steps of the invoice instead of the extendedStatus field. type InvoiceStatusDetails struct { // AvailableActions The actions that can be performed on the invoice. AvailableActions InvoiceAvailableActions `json:"availableActions"` // ExtendedStatus Extended status information for the invoice. ExtendedStatus string `json:"extendedStatus"` // Failed Is the invoice in a failed state? Failed bool `json:"failed"` // Immutable Is the invoice editable? Immutable bool `json:"immutable"` } // InvoiceTotals Totals contains the summaries of all calculations for the invoice. type InvoiceTotals struct { // Amount The total value of the line before taxes, discounts and commitments. Amount Numeric `json:"amount"` // ChargesTotal The amount of value of the line that are due to additional charges. ChargesTotal Numeric `json:"chargesTotal"` // CreditsTotal The amount of value of the line that are due to credits. CreditsTotal Numeric `json:"creditsTotal"` // DiscountsTotal The amount of value of the line that are due to discounts. DiscountsTotal Numeric `json:"discountsTotal"` // TaxesExclusiveTotal The total amount of taxes that are added on top of amount from the line. TaxesExclusiveTotal Numeric `json:"taxesExclusiveTotal"` // TaxesInclusiveTotal The total amount of taxes that are included in the line. TaxesInclusiveTotal Numeric `json:"taxesInclusiveTotal"` // TaxesTotal The total amount of taxes for this line. TaxesTotal Numeric `json:"taxesTotal"` // Total The total amount value of the line after taxes, discounts and commitments. Total Numeric `json:"total"` } // InvoiceType InvoiceType represents the type of invoice. // // The type of invoice determines the purpose of the invoice and how it should be handled. type InvoiceType string // InvoiceUsageBasedRateCard InvoiceUsageBasedRateCard represents the rate card (intent) for an usage-based line. type InvoiceUsageBasedRateCard struct { // Discounts The discounts that are applied to the line. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Discounts *BillingDiscounts `json:"discounts,omitempty"` // FeatureKey The feature the customer is entitled to use. FeatureKey *string `json:"featureKey,omitempty"` // Price The price of the rate card. // When null, the feature or service is free. Price *RateCardUsageBasedPrice `json:"price"` // TaxConfig The tax config of the rate card. // When undefined, the tax config of the feature or the default tax config of the plan is used. TaxConfig *TaxConfig `json:"taxConfig,omitempty"` } // InvoiceWorkflowInvoicingSettingsReplaceUpdate InvoiceWorkflowInvoicingSettingsReplaceUpdate represents the update model for the invoicing settings of an invoice workflow. type InvoiceWorkflowInvoicingSettingsReplaceUpdate struct { // AutoAdvance Whether to automatically issue the invoice after the draftPeriod has passed. AutoAdvance *bool `json:"autoAdvance,omitempty"` // DefaultTaxConfig Default tax configuration to apply to the invoices. // // Setting a tax code (`stripe.code` / `taxCodeId`) on a profile's default tax config is // deprecated and can no longer be added or changed: the organization default tax code is // used instead. Existing tax-code values may still be removed, and `behavior` remains // fully supported. DefaultTaxConfig *TaxConfig `json:"defaultTaxConfig,omitempty"` // DraftPeriod The period for the invoice to be kept in draft status for manual reviews. DraftPeriod *string `json:"draftPeriod,omitempty"` // DueAfter The period after which the invoice is due. // With some payment solutions it's only applicable for manual collection method. DueAfter *string `json:"dueAfter,omitempty"` // SubscriptionEndProrationMode Controls how subscription-ending shortened service periods are billed. SubscriptionEndProrationMode *BillingWorkflowInvoicingSubscriptionEndProrationMode `json:"subscriptionEndProrationMode,omitempty"` } // InvoiceWorkflowReplaceUpdate InvoiceWorkflowReplaceUpdate represents the update model for an invoice workflow. // // Fields that are immutable a re removed from the model. This is based on InvoiceWorkflowSettings. type InvoiceWorkflowReplaceUpdate struct { // Workflow The workflow used for this invoice. Workflow InvoiceWorkflowSettingsReplaceUpdate `json:"workflow"` } // InvoiceWorkflowSettings InvoiceWorkflowSettings represents the workflow settings used by the invoice. // // This is a clone of the billing profile's workflow settings at the time of invoice creation // with customer overrides considered. type InvoiceWorkflowSettings struct { // Apps The apps that will be used to orchestrate the invoice's workflow. Apps *BillingProfileAppsOrReference `json:"apps,omitempty"` // SourceBillingProfileId sourceBillingProfileID is the billing profile on which the workflow was based on. // // The profile is snapshotted on invoice creation, after which it can be altered independently // of the profile itself. SourceBillingProfileId string `json:"sourceBillingProfileId"` // Workflow The workflow details used by this invoice. Workflow BillingWorkflow `json:"workflow"` } // InvoiceWorkflowSettingsReplaceUpdate Mutable workflow settings for an invoice. // // Other fields on the invoice's workflow are not mutable, they serve as a history of the invoice's workflow // at creation time. type InvoiceWorkflowSettingsReplaceUpdate struct { // Invoicing The invoicing settings for this workflow Invoicing InvoiceWorkflowInvoicingSettingsReplaceUpdate `json:"invoicing"` // Payment The payment settings for this workflow Payment BillingWorkflowPaymentSettings `json:"payment"` } // IssueAfterReset Issue after reset type IssueAfterReset struct { // Amount The initial grant amount Amount float64 `json:"amount"` // Priority The priority of the issue after reset Priority *uint8 `json:"priority,omitempty"` } // ListAppsRequest Query params for listing installed apps type ListAppsRequest struct { // Page Page index. // // Default is 1. Page *int `json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *int `json:"pageSize,omitempty"` } // ListEntitlementsResult List entitlements result type ListEntitlementsResult struct { union json.RawMessage } // ListEntitlementsResult0 defines model for . type ListEntitlementsResult0 = []Entitlement // ListFeaturesResult List features result type ListFeaturesResult struct { union json.RawMessage } // ListFeaturesResult0 defines model for . type ListFeaturesResult0 = []Feature // MarketplaceInstallRequestPayload Marketplace install request payload. type MarketplaceInstallRequestPayload struct { // CreateBillingProfile If true, a billing profile will be created for the app. // The Stripe app will be also set as the default billing profile if the current default is a Sandbox app. CreateBillingProfile *bool `json:"createBillingProfile,omitempty"` // Name Name of the application to install. // // If name is not provided defaults to the marketplace listing's name. Name *string `json:"name,omitempty"` } // MarketplaceInstallResponse Marketplace install response. type MarketplaceInstallResponse struct { // App App. // One of: stripe App App `json:"app"` // DefaultForCapabilityTypes Default for capabilities DefaultForCapabilityTypes []AppCapabilityType `json:"defaultForCapabilityTypes"` } // MarketplaceListing A marketplace listing. // Represent an available app in the app marketplace that can be installed to the organization. // // Marketplace apps only exist in config so they don't extend the Resource model. type MarketplaceListing struct { // Capabilities The app's capabilities. Capabilities []AppCapability `json:"capabilities"` // Description The app's description. Description string `json:"description"` // InstallMethods Install methods. // // List of methods to install the app. InstallMethods []InstallMethod `json:"installMethods"` // Name The app's name. Name string `json:"name"` // Type The app's type Type AppType `json:"type"` } // MarketplaceListingPaginatedResponse Paginated response type MarketplaceListingPaginatedResponse struct { // Items The items in the current page. Items []MarketplaceListing `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // MeasureUsageFrom Measure usage from type MeasureUsageFrom struct { union json.RawMessage } // MeasureUsageFromPreset Start of measurement options type MeasureUsageFromPreset string // MeasureUsageFromTime [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC. type MeasureUsageFromTime = time.Time // Metadata Set of key-value pairs. // Metadata can be used to store additional information about a resource. type Metadata = map[string]string // Meter A meter is a configuration that defines how to match and aggregate events. type Meter struct { // Aggregation The aggregation type to use for the meter. Aggregation MeterAggregation `json:"aggregation"` // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // EventFrom The date since the meter should include events. // Useful to skip old events. // If not specified, all historical events are included. EventFrom *time.Time `json:"eventFrom,omitempty"` // EventType The event type to aggregate. EventType string `json:"eventType"` // GroupBy Named JSONPath expressions to extract the group by values from the event data. // // Keys must be unique and consist only alphanumeric and underscore characters. GroupBy *map[string]string `json:"groupBy,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. // Defaults to the slug if not specified. Name *string `json:"name,omitempty"` // Slug A unique, human-readable identifier for the meter. // Must consist only alphanumeric and underscore characters. Slug string `json:"slug"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // 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 valueProperty is ignored. ValueProperty *string `json:"valueProperty,omitempty"` } // MeterAggregation The aggregation type to use for the meter. type MeterAggregation string // MeterCreate A meter create model. type MeterCreate 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"` // EventFrom The date since the meter should include events. // Useful to skip old events. // If not specified, all historical events are included. EventFrom *time.Time `json:"eventFrom,omitempty"` // EventType The event type to aggregate. EventType string `json:"eventType"` // GroupBy Named JSONPath expressions to extract the group by values from the event data. // // Keys must be unique and consist only alphanumeric and underscore characters. GroupBy *map[string]string `json:"groupBy,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. // Defaults to the slug if not specified. Name *string `json:"name,omitempty"` // Slug A unique, human-readable identifier for the meter. // Must consist only alphanumeric and underscore characters. Slug string `json:"slug"` // 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 valueProperty is ignored. ValueProperty *string `json:"valueProperty,omitempty"` } // MeterOrderBy Order by options for meters. type MeterOrderBy string // MeterQueryRequest A meter query request. type MeterQueryRequest struct { // AdvancedMeterGroupByFilters Optional advanced meter group by filters. // You can use this to filter for values of the meter groupBy fields. AdvancedMeterGroupByFilters *map[string]FilterString `json:"advancedMeterGroupByFilters,omitempty"` // ClientId Client ID // Useful to track progress of a query. ClientId *string `json:"clientId,omitempty"` // FilterCustomerId Filtering by multiple customers. FilterCustomerId *[]string `json:"filterCustomerId,omitempty"` // FilterGroupBy Simple filter for group bys with exact match. FilterGroupBy *map[string][]string `json:"filterGroupBy,omitempty"` // From Start date-time in RFC 3339 format. // // Inclusive. From *time.Time `json:"from,omitempty"` // GroupBy If not specified a single aggregate will be returned for each subject and time window. // `subject` is a reserved group by value. GroupBy *[]string `json:"groupBy,omitempty"` // Subject Filtering by multiple subjects. Subject *[]string `json:"subject,omitempty"` // To End date-time in RFC 3339 format. // // Inclusive. To *time.Time `json:"to,omitempty"` // WindowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. WindowSize *WindowSize `json:"windowSize,omitempty"` // WindowTimeZone The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). // If not specified, the UTC timezone will be used. WindowTimeZone *string `json:"windowTimeZone,omitempty"` } // MeterQueryResult The result of a meter query. 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. // If not specified, the usage is queried from the beginning of time. From *time.Time `json:"from,omitempty"` // To The end of the period the usage is queried to. // If not specified, the usage is queried up to the current time. To *time.Time `json:"to,omitempty"` // WindowSize The window size that the usage is aggregated. // If not specified, the usage is aggregated over the entire period. WindowSize *WindowSize `json:"windowSize,omitempty"` } // MeterQueryRow A row in the result of a meter query. type MeterQueryRow struct { // CustomerId The customer ID the value is aggregated over. CustomerId *string `json:"customerId,omitempty"` // GroupBy The group by values the value is aggregated over. GroupBy map[string]*string `json:"groupBy"` // Subject The subject the value is aggregated over. // If not specified, the value is aggregated over all subjects. Subject *string `json:"subject"` // Value The aggregated value. Value float64 `json:"value"` // WindowEnd The end of the window the value is aggregated over. WindowEnd time.Time `json:"windowEnd"` // WindowStart The start of the window the value is aggregated over. WindowStart time.Time `json:"windowStart"` } // MeterUpdate A meter update model. // // Only the properties that can be updated are included. // For example, the slug and aggregation cannot be updated. type MeterUpdate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // GroupBy Named JSONPath expressions to extract the group by values from the event data. // // Keys must be unique and consist only alphanumeric and underscore characters. GroupBy *map[string]string `json:"groupBy,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. // Defaults to the slug if not specified. Name *string `json:"name,omitempty"` } // NotFoundProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type NotFoundProblemResponse = UnexpectedProblemResponse // NotImplementedProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type NotImplementedProblemResponse = UnexpectedProblemResponse // NotificationChannel Notification channel with webhook type. type NotificationChannel = NotificationChannelWebhook // NotificationChannelCreateRequest Request with input parameters for creating new notification channel with webhook type. type NotificationChannelCreateRequest = NotificationChannelWebhookCreateRequest // NotificationChannelMeta Metadata only fields of a notification channel. type NotificationChannelMeta struct { // Id Identifies the notification channel. Id string `json:"id"` // Type Notification channel type. Type NotificationChannelType `json:"type"` } // NotificationChannelOrderBy Order by options for notification channels. type NotificationChannelOrderBy string // NotificationChannelPaginatedResponse Paginated response type NotificationChannelPaginatedResponse struct { // Items The items in the current page. Items []NotificationChannel `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // NotificationChannelType Type of the notification channel. type NotificationChannelType string // NotificationChannelWebhook Notification channel with webhook type. type NotificationChannelWebhook struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CustomHeaders Custom HTTP headers sent as part of the webhook request. CustomHeaders *map[string]string `json:"customHeaders,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the channel is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Id Identifies the notification channel. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name User friendly name of the channel. Name string `json:"name"` // SigningSecret Signing secret used for webhook request validation on the receiving end. // // Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24 SigningSecret *string `json:"signingSecret,omitempty"` // Type Notification channel type. Type NotificationChannelWebhookType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // Url Webhook URL where the notification is sent. Url string `json:"url"` } // NotificationChannelWebhookType Notification channel type. type NotificationChannelWebhookType string // NotificationChannelWebhookCreateRequest Request with input parameters for creating new notification channel with webhook type. type NotificationChannelWebhookCreateRequest struct { // CustomHeaders Custom HTTP headers sent as part of the webhook request. CustomHeaders *map[string]string `json:"customHeaders,omitempty"` // Disabled Whether the channel is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name User friendly name of the channel. Name string `json:"name"` // SigningSecret Signing secret used for webhook request validation on the receiving end. // // Format: `base64` encoded random bytes optionally prefixed with `whsec_`. Recommended size: 24 SigningSecret *string `json:"signingSecret,omitempty"` // Type Notification channel type. Type NotificationChannelWebhookCreateRequestType `json:"type"` // Url Webhook URL where the notification is sent. Url string `json:"url"` } // NotificationChannelWebhookCreateRequestType Notification channel type. type NotificationChannelWebhookCreateRequestType string // NotificationEvent Type of the notification event. type NotificationEvent struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp when the notification event was created in RFC 3339 format. CreatedAt time.Time `json:"createdAt"` // DeliveryStatus The delivery status of the notification event. DeliveryStatus []NotificationEventDeliveryStatus `json:"deliveryStatus"` // Id A unique identifier of the notification event. Id string `json:"id"` // Payload Timestamp when the notification event was created in RFC 3339 format. Payload NotificationEventPayload `json:"payload"` // Rule The nnotification rule which generated this event. Rule NotificationRule `json:"rule"` // Type Type of the notification event. Type NotificationEventType `json:"type"` } // NotificationEventBalanceThresholdPayload Payload for notification event with `entitlements.balance.threshold` type. type NotificationEventBalanceThresholdPayload struct { // Data The data of the payload. Data NotificationEventBalanceThresholdPayloadData `json:"data"` // Id A unique identifier for the notification event the payload belongs to. Id string `json:"id"` // Timestamp Timestamp when the notification event was created in RFC 3339 format. Timestamp time.Time `json:"timestamp"` // Type Type of the notification event. Type NotificationEventBalanceThresholdPayloadType `json:"type"` } // NotificationEventBalanceThresholdPayloadType Type of the notification event. type NotificationEventBalanceThresholdPayloadType string // NotificationEventBalanceThresholdPayloadData Data of the payload for notification event with `entitlements.balance.threshold` type. type NotificationEventBalanceThresholdPayloadData struct { Customer *Customer `json:"customer,omitempty"` Entitlement EntitlementMetered `json:"entitlement"` Feature Feature `json:"feature"` Subject Subject `json:"subject"` Threshold NotificationRuleBalanceThresholdValue `json:"threshold"` Value EntitlementValue `json:"value"` } // NotificationEventDeliveryAttempt The delivery attempt of the notification event. type NotificationEventDeliveryAttempt struct { // Response Response returned by the notification event recipient. Response EventDeliveryAttemptResponse `json:"response"` // State State of teh delivery attempt. State NotificationEventDeliveryStatusState `json:"state"` // Timestamp Timestamp of the delivery attempt. Timestamp time.Time `json:"timestamp"` } // NotificationEventDeliveryStatus The delivery status of the notification event. type NotificationEventDeliveryStatus struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // Attempts List of delivery attempts. Attempts []NotificationEventDeliveryAttempt `json:"attempts"` // Channel Notification channel the delivery status associated with. Channel NotificationChannelMeta `json:"channel"` // NextAttempt Timestamp of the next delivery attempt. If null it means there will be no more delivery attempts. NextAttempt *time.Time `json:"nextAttempt,omitempty"` // Reason The reason of the last deliverry state update. Reason string `json:"reason"` // State Delivery state of the notification event to the channel. State NotificationEventDeliveryStatusState `json:"state"` // UpdatedAt Timestamp of when the status was last updated in RFC 3339 format. UpdatedAt time.Time `json:"updatedAt"` } // NotificationEventDeliveryStatusState The delivery state of the notification event to the channel. type NotificationEventDeliveryStatusState string // NotificationEventEntitlementValuePayloadBase Base data for any payload with entitlement entitlement value. type NotificationEventEntitlementValuePayloadBase struct { Customer *Customer `json:"customer,omitempty"` Entitlement EntitlementMetered `json:"entitlement"` Feature Feature `json:"feature"` Subject Subject `json:"subject"` Value EntitlementValue `json:"value"` } // NotificationEventInvoiceCreatedPayload Payload for notification event with `invoice.created` type. type NotificationEventInvoiceCreatedPayload struct { // Data The data of the payload. Data Invoice `json:"data"` // Id A unique identifier for the notification event the payload belongs to. Id string `json:"id"` // Timestamp Timestamp when the notification event was created in RFC 3339 format. Timestamp time.Time `json:"timestamp"` // Type Type of the notification event. Type NotificationEventInvoiceCreatedPayloadType `json:"type"` } // NotificationEventInvoiceCreatedPayloadType Type of the notification event. type NotificationEventInvoiceCreatedPayloadType string // NotificationEventInvoiceUpdatedPayload Payload for notification event with `invoice.updated` type. type NotificationEventInvoiceUpdatedPayload struct { // Data The data of the payload. Data Invoice `json:"data"` // Id A unique identifier for the notification event the payload belongs to. Id string `json:"id"` // Timestamp Timestamp when the notification event was created in RFC 3339 format. Timestamp time.Time `json:"timestamp"` // Type Type of the notification event. Type NotificationEventInvoiceUpdatedPayloadType `json:"type"` } // NotificationEventInvoiceUpdatedPayloadType Type of the notification event. type NotificationEventInvoiceUpdatedPayloadType string // NotificationEventOrderBy Order by options for notification channels. type NotificationEventOrderBy string // NotificationEventPaginatedResponse Paginated response type NotificationEventPaginatedResponse struct { // Items The items in the current page. Items []NotificationEvent `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // NotificationEventPayload The delivery status of the notification event. type NotificationEventPayload struct { union json.RawMessage } // NotificationEventResendRequest A notification event that will be re-sent. type NotificationEventResendRequest struct { // Channels Notification channels to which the event should be re-sent. Channels *[]string `json:"channels,omitempty"` } // NotificationEventResetPayload Payload for notification event with `entitlements.reset` type. type NotificationEventResetPayload struct { // Data The data of the payload. Data NotificationEventEntitlementValuePayloadBase `json:"data"` // Id A unique identifier for the notification event the payload belongs to. Id string `json:"id"` // Timestamp Timestamp when the notification event was created in RFC 3339 format. Timestamp time.Time `json:"timestamp"` // Type Type of the notification event. Type NotificationEventResetPayloadType `json:"type"` } // NotificationEventResetPayloadType Type of the notification event. type NotificationEventResetPayloadType string // NotificationEventType Type of the notification event. type NotificationEventType string // NotificationRule Notification Rule. type NotificationRule struct { union json.RawMessage } // NotificationRuleBalanceThreshold Notification rule with entitlements.balance.threshold type. type NotificationRuleBalanceThreshold struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // Channels List of notification channels the rule applies to. Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Features Optional field containing list of features the rule applies to. Features *[]FeatureMeta `json:"features,omitempty"` // Id Identifies the notification rule. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Thresholds List of thresholds the rule suppose to be triggered. Thresholds []NotificationRuleBalanceThresholdValue `json:"thresholds"` // Type Notification rule type. Type NotificationRuleBalanceThresholdType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleBalanceThresholdType Notification rule type. type NotificationRuleBalanceThresholdType string // NotificationRuleBalanceThresholdCreateRequest Request with input parameters for creating new notification rule with entitlements.balance.threshold type. type NotificationRuleBalanceThresholdCreateRequest struct { // Channels List of notification channels the rule is applied to. Channels []string `json:"channels"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Features Optional field for defining the scope of notification by feature. It may contain features by id or key. Features *[]string `json:"features,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Thresholds List of thresholds the rule suppose to be triggered. Thresholds []NotificationRuleBalanceThresholdValue `json:"thresholds"` // Type Notification rule type. Type NotificationRuleBalanceThresholdCreateRequestType `json:"type"` } // NotificationRuleBalanceThresholdCreateRequestType Notification rule type. type NotificationRuleBalanceThresholdCreateRequestType string // NotificationRuleBalanceThresholdValue Threshold value with multiple supported types. type NotificationRuleBalanceThresholdValue struct { // Type Type of the threshold. Type NotificationRuleBalanceThresholdValueType `json:"type"` // Value Value of the threshold. Value float64 `json:"value"` } // NotificationRuleBalanceThresholdValueType Type of the rule in the balance threshold specification: // * `balance_value`: threshold defined by the remaining balance value based on usage and the total of grants in the current usage period // * `usage_percentage`: threshold defined by the usage percentage compared to the total of grants in the current usage period // * `usage_value`: threshold defined by the usage value in the current usage period // * `NUMBER` (**deprecated**): see `usage_value` // * `PERCENT` (**deprecated**): see `usage_percentage` type NotificationRuleBalanceThresholdValueType string // NotificationRuleCreateRequest Union type for requests creating new notification rule with certain type. type NotificationRuleCreateRequest struct { union json.RawMessage } // NotificationRuleEntitlementReset Notification rule with entitlements.reset type. type NotificationRuleEntitlementReset struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // Channels List of notification channels the rule applies to. Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Features Optional field containing list of features the rule applies to. Features *[]FeatureMeta `json:"features,omitempty"` // Id Identifies the notification rule. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Type Notification rule type. Type NotificationRuleEntitlementResetType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleEntitlementResetType Notification rule type. type NotificationRuleEntitlementResetType string // NotificationRuleEntitlementResetCreateRequest Request with input parameters for creating new notification rule with entitlements.reset type. type NotificationRuleEntitlementResetCreateRequest struct { // Channels List of notification channels the rule is applied to. Channels []string `json:"channels"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Features Optional field for defining the scope of notification by feature. It may contain features by id or key. Features *[]string `json:"features,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Type Notification rule type. Type NotificationRuleEntitlementResetCreateRequestType `json:"type"` } // NotificationRuleEntitlementResetCreateRequestType Notification rule type. type NotificationRuleEntitlementResetCreateRequestType string // NotificationRuleInvoiceCreated Notification rule with invoice.created type. type NotificationRuleInvoiceCreated struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // Channels List of notification channels the rule applies to. Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Id Identifies the notification rule. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Type Notification rule type. Type NotificationRuleInvoiceCreatedType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleInvoiceCreatedType Notification rule type. type NotificationRuleInvoiceCreatedType string // NotificationRuleInvoiceCreatedCreateRequest Request with input parameters for creating new notification rule with invoice.created type. type NotificationRuleInvoiceCreatedCreateRequest struct { // Channels List of notification channels the rule is applied to. Channels []string `json:"channels"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Type Notification rule type. Type NotificationRuleInvoiceCreatedCreateRequestType `json:"type"` } // NotificationRuleInvoiceCreatedCreateRequestType Notification rule type. type NotificationRuleInvoiceCreatedCreateRequestType string // NotificationRuleInvoiceUpdated Notification rule with invoice.updated type. type NotificationRuleInvoiceUpdated struct { // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // Channels List of notification channels the rule applies to. Channels []NotificationChannelMeta `json:"channels"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Id Identifies the notification rule. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Type Notification rule type. Type NotificationRuleInvoiceUpdatedType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // NotificationRuleInvoiceUpdatedType Notification rule type. type NotificationRuleInvoiceUpdatedType string // NotificationRuleInvoiceUpdatedCreateRequest Request with input parameters for creating new notification rule with invoice.updated type. type NotificationRuleInvoiceUpdatedCreateRequest struct { // Channels List of notification channels the rule is applied to. Channels []string `json:"channels"` // Disabled Whether the rule is disabled or not. Disabled *bool `json:"disabled,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name The user friendly name of the notification rule. Name string `json:"name"` // Type Notification rule type. Type NotificationRuleInvoiceUpdatedCreateRequestType `json:"type"` } // NotificationRuleInvoiceUpdatedCreateRequestType Notification rule type. type NotificationRuleInvoiceUpdatedCreateRequestType string // NotificationRuleMeta Metadata only fields of a notification channel. type NotificationRuleMeta struct { // Id Identifies the notification rule. Id string `json:"id"` // Type Notification rule type. Type NotificationEventType `json:"type"` } // NotificationRuleOrderBy Order by options for notification channels. type NotificationRuleOrderBy string // NotificationRulePaginatedResponse Paginated response type NotificationRulePaginatedResponse struct { // Items The items in the current page. Items []NotificationRule `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // Numeric Numeric represents an arbitrary precision number. type Numeric = string // OAuth2AuthorizationCodeGrantErrorType OAuth2 authorization code grant error types. type OAuth2AuthorizationCodeGrantErrorType string // PackagePrice Package price. // // The item is sold in packages. Each package contains quantityPerPackage items, the price of the // package is set in amount. // // The total price of the usage will be enough packages that can accomodate all the usage. // // Examples (given a package size of 20, and an amount of $10): // - if the quantity is 98, the price will be 5*$10=$50. // - if the quantity is zero, the price will be 0*$10=$0, as even the first package is not purchased. // - if the quantity is 20, the price will be 1*$10=$10, as the usage fits into the first package. // - if the quantity is 20.1, the price will be 2*$10=$20, as the additional 0.1 usage (compared to the // previous example) requires a new package. type PackagePrice struct { // Amount The price of one package. Amount Numeric `json:"amount"` // QuantityPerPackage The quantity per package. QuantityPerPackage Numeric `json:"quantityPerPackage"` // Type The type of the price. Type PackagePriceType `json:"type"` } // PackagePriceType The type of the price. type PackagePriceType string // PackagePriceWithCommitments Package price with spend commitments. type PackagePriceWithCommitments struct { // Amount The price of one package. Amount Numeric `json:"amount"` // MaximumAmount The customer is limited to spend at most the amount. MaximumAmount *Numeric `json:"maximumAmount,omitempty"` // MinimumAmount The customer is committed to spend at least the amount. MinimumAmount *Numeric `json:"minimumAmount,omitempty"` // QuantityPerPackage The quantity per package. QuantityPerPackage Numeric `json:"quantityPerPackage"` // Type The type of the price. Type PackagePriceWithCommitmentsType `json:"type"` } // PackagePriceWithCommitmentsType The type of the price. type PackagePriceWithCommitmentsType string // PaymentDueDate PaymentDueDate contains an amount that should be paid by the given date. type PaymentDueDate struct { // Amount How much needs to be paid by the date. Amount Numeric `json:"amount"` // Currency If different from the parent document's base currency. Currency *CurrencyCode `json:"currency,omitempty"` // DueAt When the payment is due. DueAt time.Time `json:"dueAt"` // Notes Other details to take into account for the due date. Notes *string `json:"notes,omitempty"` // Percent Percentage of the total that should be paid by the date. Percent *Percentage `json:"percent,omitempty"` } // PaymentTermDueDate PaymentTermDueDate defines the terms for payment on a specific date. type PaymentTermDueDate struct { // Detail Text detail of the chosen payment terms. Detail *string `json:"detail,omitempty"` // DueAt When the payment is due. DueAt []PaymentDueDate `json:"dueAt"` // Notes Description of the conditions for payment. Notes *string `json:"notes,omitempty"` // Type Type of terms to be applied. Type PaymentTermDueDateType `json:"type"` } // PaymentTermDueDateType Type of terms to be applied. type PaymentTermDueDateType string // PaymentTermInstant PaymentTermInstant defines the terms for payment on receipt of invoice. type PaymentTermInstant struct { // Detail Text detail of the chosen payment terms. Detail *string `json:"detail,omitempty"` // Notes Description of the conditions for payment. Notes *string `json:"notes,omitempty"` // Type Type of terms to be applied. Type PaymentTermInstantType `json:"type"` } // PaymentTermInstantType Type of terms to be applied. type PaymentTermInstantType string // PaymentTermType PaymentTermType defines the type of terms to be applied. type PaymentTermType string // PaymentTerms PaymentTerms defines the terms for payment. type PaymentTerms struct { union json.RawMessage } // Percentage Numeric representation of a percentage // // 50% is represented as 50 type Percentage = models.Percentage // Period A period with a start and end time. type Period struct { // From Period start time. From time.Time `json:"from"` // To Period end time. To time.Time `json:"to"` } // Plan Plans provide a template for subscriptions. type Plan struct { // Alignment Alignment configuration for the plan. Alignment *Alignment `json:"alignment,omitempty"` // BillingCadence The default billing cadence for subscriptions using this plan. // Defines how often customers are billed using ISO8601 duration format. // Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually). BillingCadence string `json:"billingCadence"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Currency The currency code of the plan. Currency CurrencyCode `json:"currency"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // EffectiveFrom The date and time when the plan becomes effective. When not specified, the plan is a draft. EffectiveFrom *time.Time `json:"effectiveFrom,omitempty"` // EffectiveTo The date and time when the plan is no longer effective. When not specified, the plan is effective indefinitely. EffectiveTo *time.Time `json:"effectiveTo,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Phases The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. // A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices. Phases []PlanPhase `json:"phases"` // ProRatingConfig Default pro-rating configuration for subscriptions using this plan. ProRatingConfig *ProRatingConfig `json:"proRatingConfig,omitempty"` // SettlementMode The settlement mode of the plan. // It determines how the billing system generates invoices and credits for the subscriptions using this plan. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. // This is the default and most common settlement mode. SettlementMode *BillingSettlementMode `json:"settlementMode,omitempty"` // Status The status of the plan. // Computed based on the effective start and end dates: // - draft = no effectiveFrom // - active = effectiveFrom <= now < effectiveTo // - archived / inactive = effectiveTo <= now // - scheduled = now < effectiveFrom < effectiveTo Status PlanStatus `json:"status"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // ValidationErrors List of validation errors. ValidationErrors *[]ValidationError `json:"validationErrors"` // Version Version of the plan. Incremented when the plan is updated. Version int `json:"version"` } // PlanAddon The PlanAddon describes the association between a plan and add-on. type PlanAddon struct { // Addon Add-on object. Addon Addon `json:"addon"` // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // FromPlanPhase The key of the plan phase from the add-on becomes available for purchase. FromPlanPhase string `json:"fromPlanPhase"` // MaxQuantity The maximum number of times the add-on can be purchased for the plan. // It is not applicable for add-ons with single instance type. MaxQuantity *int `json:"maxQuantity,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` // ValidationErrors List of validation errors. ValidationErrors *[]ValidationError `json:"validationErrors"` } // PlanAddonCreate A plan add-on assignment create request. type PlanAddonCreate struct { // AddonId The add-on unique identifier in ULID format. AddonId string `json:"addonId"` // FromPlanPhase The key of the plan phase from the add-on becomes available for purchase. FromPlanPhase string `json:"fromPlanPhase"` // MaxQuantity The maximum number of times the add-on can be purchased for the plan. // It is not applicable for add-ons with single instance type. MaxQuantity *int `json:"maxQuantity,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` } // PlanAddonOrderBy Order by options for plan add-on assignments. type PlanAddonOrderBy string // PlanAddonPaginatedResponse Paginated response type PlanAddonPaginatedResponse struct { // Items The items in the current page. Items []PlanAddon `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // PlanAddonReplaceUpdate Resource update operation model. type PlanAddonReplaceUpdate struct { // FromPlanPhase The key of the plan phase from the add-on becomes available for purchase. FromPlanPhase string `json:"fromPlanPhase"` // MaxQuantity The maximum number of times the add-on can be purchased for the plan. // It is not applicable for add-ons with single instance type. MaxQuantity *int `json:"maxQuantity,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` } // PlanCreate Resource create operation model. type PlanCreate struct { // Alignment Alignment configuration for the plan. Alignment *Alignment `json:"alignment,omitempty"` // BillingCadence The default billing cadence for subscriptions using this plan. // Defines how often customers are billed using ISO8601 duration format. // Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually). BillingCadence string `json:"billingCadence"` // 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 semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Phases The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. // A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices. Phases []PlanPhase `json:"phases"` // ProRatingConfig Default pro-rating configuration for subscriptions using this plan. ProRatingConfig *ProRatingConfig `json:"proRatingConfig,omitempty"` // SettlementMode The settlement mode of the plan. // It determines how the billing system generates invoices and credits for the subscriptions using this plan. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. // This is the default and most common settlement mode. SettlementMode *BillingSettlementMode `json:"settlementMode,omitempty"` } // PlanOrderBy Order by options for plans. type PlanOrderBy string // PlanPaginatedResponse Paginated response type PlanPaginatedResponse struct { // Items The items in the current page. Items []Plan `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // PlanPhase The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. type PlanPhase struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Duration The duration of the phase. Duration *string `json:"duration"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // RateCards The rate cards of the plan. RateCards []RateCard `json:"rateCards"` } // PlanReference References an exact plan. type PlanReference struct { // Id The plan ID. Id string `json:"id"` // Key The plan key. Key string `json:"key"` // Version The plan version. Version int `json:"version"` } // PlanReferenceInput References an exact plan defaulting to the current active version. type PlanReferenceInput struct { // Key The plan key. Key string `json:"key"` // Version The plan version. Version *int `json:"version,omitempty"` } // PlanReplaceUpdate Resource update operation model. type PlanReplaceUpdate struct { // Alignment Alignment configuration for the plan. Alignment *Alignment `json:"alignment,omitempty"` // BillingCadence The default billing cadence for subscriptions using this plan. // Defines how often customers are billed using ISO8601 duration format. // Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually). BillingCadence string `json:"billingCadence"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Phases The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses. // A phase switch occurs only at the end of a billing period, ensuring that a single subscription invoice will not include charges from different phase prices. Phases []PlanPhase `json:"phases"` // ProRatingConfig Default pro-rating configuration for subscriptions using this plan. ProRatingConfig *ProRatingConfig `json:"proRatingConfig,omitempty"` // SettlementMode The settlement mode of the plan. // It determines how the billing system generates invoices and credits for the subscriptions using this plan. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. // This is the default and most common settlement mode. SettlementMode *BillingSettlementMode `json:"settlementMode,omitempty"` } // PlanStatus The status of a plan. type PlanStatus string // PlanSubscriptionChange Change subscription based on plan. type PlanSubscriptionChange struct { // Alignment What alignment settings the subscription should have. Alignment *Alignment `json:"alignment,omitempty"` // BillingAnchor The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used. BillingAnchor *time.Time `json:"billingAnchor,omitempty"` // Description Description for the Subscription. Description *string `json:"description,omitempty"` // Metadata Arbitrary metadata associated with the subscription. Metadata *Metadata `json:"metadata,omitempty"` // Name The name of the Subscription. If not provided the plan name is used. Name *string `json:"name,omitempty"` // Plan The plan reference to change to. Plan PlanReferenceInput `json:"plan"` // SettlementMode The settlement mode of the subscription. SettlementMode *BillingSettlementMode `json:"settlementMode,omitempty"` // StartingPhase The key of the phase to start the subscription in. // If not provided, the subscription will start in the first phase of the plan. StartingPhase *string `json:"startingPhase,omitempty"` // 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 SubscriptionTiming `json:"timing"` } // PlanSubscriptionCreate Create subscription based on plan. type PlanSubscriptionCreate struct { // Alignment What alignment settings the subscription should have. Alignment *Alignment `json:"alignment,omitempty"` // BillingAnchor The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the subscription start time will be used. BillingAnchor *time.Time `json:"billingAnchor,omitempty"` // CustomerId The ID of the customer. Provide either the key or ID. Has presedence over the key. CustomerId *string `json:"customerId,omitempty"` // CustomerKey The key of the customer. Provide either the key or ID. CustomerKey *string `json:"customerKey,omitempty"` // Description Description for the Subscription. Description *string `json:"description,omitempty"` // Metadata Arbitrary metadata associated with the subscription. Metadata *Metadata `json:"metadata,omitempty"` // Name The name of the Subscription. If not provided the plan name is used. Name *string `json:"name,omitempty"` // Plan The plan reference to change to. Plan PlanReferenceInput `json:"plan"` // SettlementMode The settlement mode of the subscription. SettlementMode *BillingSettlementMode `json:"settlementMode,omitempty"` // StartingPhase The key of the phase to start the subscription in. // If not provided, the subscription will start in the first phase of the plan. StartingPhase *string `json:"startingPhase,omitempty"` // Timing Timing configuration for the change, when the change should take effect. // The default is immediate. Timing *SubscriptionTiming `json:"timing,omitempty"` } // PortalToken A consumer portal token. // // Validator doesn't obey required for readOnly properties // See: https://github.com/stoplightio/spectral/issues/1274 type PortalToken struct { // AllowedMeterSlugs Optional, if defined only the specified meters will be allowed. AllowedMeterSlugs *[]string `json:"allowedMeterSlugs,omitempty"` // CreatedAt [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC. CreatedAt *time.Time `json:"createdAt,omitempty"` Expired *bool `json:"expired,omitempty"` // ExpiresAt [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC. ExpiresAt *time.Time `json:"expiresAt,omitempty"` // Id ULID (Universally Unique Lexicographically Sortable Identifier). Id *string `json:"id,omitempty"` Subject string `json:"subject"` // Token The token is only returned at creation. Token *string `json:"token,omitempty"` } // PreconditionFailedProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type PreconditionFailedProblemResponse = UnexpectedProblemResponse // Price Price. // One of: flat, unit, or tiered. type Price struct { union json.RawMessage } // PricePaymentTerm The payment term of a flat price. // One of: in_advance or in_arrears. type PricePaymentTerm string // PriceTier A price tier. // At least one price component is required in each tier. type PriceTier struct { // FlatPrice The flat price component of the tier. FlatPrice *FlatPrice `json:"flatPrice"` // UnitPrice The unit price component of the tier. UnitPrice *UnitPrice `json:"unitPrice"` // UpToAmount Up to and including to this quantity will be contained in the tier. // If null, the tier is open-ended. UpToAmount *Numeric `json:"upToAmount,omitempty"` } // PriceType The type of the price. type PriceType string // ProRatingConfig Configuration for pro-rating behavior. type ProRatingConfig struct { // Enabled Whether pro-rating is enabled for this plan. Enabled bool `json:"enabled"` // Mode How to handle pro-rating for billing period changes. Mode ProRatingMode `json:"mode"` } // ProRatingMode Pro-rating mode options for handling billing period changes. type ProRatingMode string // Progress Progress describes a progress of a task. type Progress struct { // Failed Failed is the number of items that failed Failed uint64 `json:"failed"` // Success Success is the number of items that succeeded Success uint64 `json:"success"` // Total The total number of items to process Total uint64 `json:"total"` // UpdatedAt The time the progress was last updated UpdatedAt time.Time `json:"updatedAt"` } // RateCard A rate card defines the pricing and entitlement of a feature or service. type RateCard struct { union json.RawMessage } // RateCardBooleanEntitlement Entitlement template of a boolean entitlement. type RateCardBooleanEntitlement struct { // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` Type RateCardBooleanEntitlementType `json:"type"` } // RateCardBooleanEntitlementType defines model for RateCardBooleanEntitlement.Type. type RateCardBooleanEntitlementType string // RateCardEntitlement Entitlement templates are used to define the entitlements of a plan. // Features are omitted from the entitlement template, as they are defined in the rate card. type RateCardEntitlement struct { union json.RawMessage } // RateCardFlatFee A flat fee rate card defines a one-time purchase or a recurring fee. type RateCardFlatFee struct { // BillingCadence The billing cadence of the rate card. // When null it means it is a one time fee. BillingCadence *string `json:"billingCadence"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts The discount of the rate card. For flat fee rate cards only percentage discounts are supported. // Only available when price is set. Discounts *Discounts `json:"discounts,omitempty"` // EntitlementTemplate The entitlement of the rate card. // Only available when featureKey is set. EntitlementTemplate *RateCardEntitlement `json:"entitlementTemplate,omitempty"` // FeatureKey The feature the customer is entitled to use. FeatureKey *string `json:"featureKey,omitempty"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Price The price of the rate card. // When null, the feature or service is free. Price *FlatPriceWithPaymentTerm `json:"price"` // TaxConfig The tax config of the rate card. // When undefined, the tax config of the feature or the default tax config of the plan is used. TaxConfig *TaxConfig `json:"taxConfig,omitempty"` // Type The type of the RateCard. Type RateCardFlatFeeType `json:"type"` } // RateCardFlatFeeType The type of the RateCard. type RateCardFlatFeeType string // RateCardMeteredEntitlement The entitlement template with a metered entitlement. type RateCardMeteredEntitlement struct { // IsSoftLimit If softLimit=true the subject can use the feature even if the entitlement is exhausted, hasAccess will always be true. IsSoftLimit *bool `json:"isSoftLimit,omitempty"` // IssueAfterReset You can grant usage automatically alongside the entitlement, the example scenario would be creating a starting balance. // If an amount is specified here, a grant will be created alongside the entitlement with the specified amount. // That grant will have it's rollover settings configured in a way that after each reset operation, the balance will return the original amount specified here. // Manually creating such a grant would mean having the "amount", "minRolloverAmount", and "maxRolloverAmount" fields all be the same. IssueAfterReset *float64 `json:"issueAfterReset,omitempty"` // IssueAfterResetPriority Defines the grant priority for the default grant. IssueAfterResetPriority *uint8 `json:"issueAfterResetPriority,omitempty"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` // PreserveOverageAtReset If true, the overage is preserved at reset. If false, the usage is reset to 0. PreserveOverageAtReset *bool `json:"preserveOverageAtReset,omitempty"` Type RateCardMeteredEntitlementType `json:"type"` // UsagePeriod The interval of the metered entitlement. // Defaults to the billing cadence of the rate card. UsagePeriod *string `json:"usagePeriod,omitempty"` } // RateCardMeteredEntitlementType defines model for RateCardMeteredEntitlement.Type. type RateCardMeteredEntitlementType string // RateCardStaticEntitlement Entitlement template of a static entitlement. type RateCardStaticEntitlement struct { // Config The JSON parsable config of the entitlement. This value is also returned when checking entitlement access and it is useful for configuring fine-grained access settings to the feature, implemented in your own system. Has to be an object. Config json.RawMessage `json:"config"` // Metadata Additional metadata for the feature. Metadata *Metadata `json:"metadata,omitempty"` Type RateCardStaticEntitlementType `json:"type"` } // RateCardStaticEntitlementType defines model for RateCardStaticEntitlement.Type. type RateCardStaticEntitlementType string // RateCardType The type of the rate card. type RateCardType string // RateCardUsageBased A usage-based rate card defines a price based on usage. type RateCardUsageBased struct { // BillingCadence The billing cadence of the rate card. BillingCadence string `json:"billingCadence"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts The discounts of the rate card. // // Flat fee rate cards only support percentage discounts. Discounts *Discounts `json:"discounts,omitempty"` // EntitlementTemplate The entitlement of the rate card. // Only available when featureKey is set. EntitlementTemplate *RateCardEntitlement `json:"entitlementTemplate,omitempty"` // FeatureKey The feature the customer is entitled to use. FeatureKey *string `json:"featureKey,omitempty"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Price The price of the rate card. // When null, the feature or service is free. Price *RateCardUsageBasedPrice `json:"price"` // TaxConfig The tax config of the rate card. // When undefined, the tax config of the feature or the default tax config of the plan is used. TaxConfig *TaxConfig `json:"taxConfig,omitempty"` // Type The type of the RateCard. Type RateCardUsageBasedType `json:"type"` } // RateCardUsageBasedType The type of the RateCard. type RateCardUsageBasedType string // RateCardUsageBasedPrice The price of the usage based rate card. type RateCardUsageBasedPrice struct { union json.RawMessage } // RecurringPeriod Recurring period with an interval and an anchor. type RecurringPeriod struct { // Anchor A date-time anchor to base the recurring period on. Anchor time.Time `json:"anchor"` // Interval The unit of time for the interval. Heuristically maps ISO duraitons to enum values or returns the ISO duration. Interval RecurringPeriodInterval `json:"interval"` // IntervalISO The unit of time for the interval in ISO8601 format. IntervalISO string `json:"intervalISO"` } // RecurringPeriodCreateInput Recurring period with an interval and an anchor. type RecurringPeriodCreateInput struct { // Anchor A date-time anchor to base the recurring period on. Anchor *time.Time `json:"anchor,omitempty"` // Interval The unit of time for the interval. Interval RecurringPeriodInterval `json:"interval"` } // RecurringPeriodInterval Period duration for the recurrence type RecurringPeriodInterval struct { union json.RawMessage } // RecurringPeriodInterval0 defines model for . type RecurringPeriodInterval0 = string // RecurringPeriodIntervalEnum The unit of time for the interval. // One of: `day`, `week`, `month`, or `year`. type RecurringPeriodIntervalEnum string // RecurringPeriodV2 Recurring period with an interval and an anchor. type RecurringPeriodV2 struct { // Anchor A date-time anchor to base the recurring period on. Anchor time.Time `json:"anchor"` // Interval The unit of time for the interval. Heuristically maps ISO duraitons to enum values or returns the ISO duration. Interval RecurringPeriodInterval `json:"interval"` } // RemovePhaseShifting The direction of the phase shift when a phase is removed. type RemovePhaseShifting string // ResetEntitlementUsageInput Reset parameters type ResetEntitlementUsageInput struct { // EffectiveAt The time at which the reset takes effect, defaults to now. The reset cannot be in the future. The provided value is truncated to the minute due to how historical meter data is stored. EffectiveAt *time.Time `json:"effectiveAt,omitempty"` // PreserveOverage Determines whether the overage is preserved or forgiven, overriding the entitlement's default behavior. // - If true, the overage is preserved. // - If false, the overage is forgiven. PreserveOverage *bool `json:"preserveOverage,omitempty"` // RetainAnchor Determines whether the usage period anchor is retained or reset to the effectiveAt time. // - If true, the usage period anchor is retained. // - If false, the usage period anchor is reset to the effectiveAt time. RetainAnchor *bool `json:"retainAnchor,omitempty"` } // SandboxApp Sandbox app can be used for testing OpenMeter features. // // The app is not creating anything in external systems, thus it is safe to use for // verifying OpenMeter features. type SandboxApp struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Listing The marketplace listing that this installed app is based on. Listing MarketplaceListing `json:"listing"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Status Status of the app connection. Status AppStatus `json:"status"` // Type The app's type is Sandbox. Type SandboxAppType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SandboxAppType The app's type is Sandbox. type SandboxAppType string // SandboxAppReplaceUpdate Resource update operation model. type SandboxAppReplaceUpdate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Type The app's type is Sandbox. Type SandboxAppReplaceUpdateType `json:"type"` } // SandboxAppReplaceUpdateType The app's type is Sandbox. type SandboxAppReplaceUpdateType string // SandboxCustomerAppData Sandbox Customer App Data. type SandboxCustomerAppData struct { // App The installed sandbox app this data belongs to. App *SandboxApp `json:"app,omitempty"` // Id The app ID. // If not provided, it will use the global default for the app type. Id *string `json:"id,omitempty"` // Type The app name. Type SandboxCustomerAppDataType `json:"type"` } // SandboxCustomerAppDataType The app name. type SandboxCustomerAppDataType string // ServiceUnavailableProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type ServiceUnavailableProblemResponse = UnexpectedProblemResponse // SortOrder The order direction. type SortOrder string // SpendCommitments Spending commitments. // The customer is committed to spend at least the minimum amount and at most the maximum amount. type SpendCommitments struct { // MaximumAmount The customer is limited to spend at most the amount. MaximumAmount *Numeric `json:"maximumAmount,omitempty"` // MinimumAmount The customer is committed to spend at least the amount. MinimumAmount *Numeric `json:"minimumAmount,omitempty"` } // StripeAPIKeyInput The Stripe API key input. // Used to authenticate with the Stripe API. type StripeAPIKeyInput struct { SecretAPIKey string `json:"secretAPIKey"` } // StripeApp A installed Stripe app object. type StripeApp struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Listing The marketplace listing that this installed app is based on. Listing MarketplaceListing `json:"listing"` // Livemode Livemode, true if the app is in production mode. Livemode bool `json:"livemode"` // MaskedAPIKey The masked API key. // Only shows the first 8 and last 3 characters. MaskedAPIKey string `json:"maskedAPIKey"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Status Status of the app connection. Status AppStatus `json:"status"` // StripeAccountId The Stripe account ID. StripeAccountId string `json:"stripeAccountId"` // Type The app's type is Stripe. Type StripeAppType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // StripeAppType The app's type is Stripe. type StripeAppType string // StripeAppReadOrCreateOrUpdateOrDeleteOrQuery A installed Stripe app object. type StripeAppReadOrCreateOrUpdateOrDeleteOrQuery struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Listing The marketplace listing that this installed app is based on. Listing MarketplaceListing `json:"listing"` // Livemode Livemode, true if the app is in production mode. Livemode bool `json:"livemode"` // MaskedAPIKey The masked API key. // Only shows the first 8 and last 3 characters. MaskedAPIKey string `json:"maskedAPIKey"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // SecretAPIKey The Stripe API key. SecretAPIKey *string `json:"secretAPIKey,omitempty"` // Status Status of the app connection. Status AppStatus `json:"status"` // StripeAccountId The Stripe account ID. StripeAccountId string `json:"stripeAccountId"` // Type The app's type is Stripe. Type StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType `json:"type"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType The app's type is Stripe. type StripeAppReadOrCreateOrUpdateOrDeleteOrQueryType string // StripeAppReplaceUpdate Resource update operation model. type StripeAppReplaceUpdate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // SecretAPIKey The Stripe API key. SecretAPIKey *string `json:"secretAPIKey,omitempty"` // Type The app's type is Stripe. Type StripeAppReplaceUpdateType `json:"type"` } // StripeAppReplaceUpdateType The app's type is Stripe. type StripeAppReplaceUpdateType string // StripeCheckoutSessionMode Stripe CheckoutSession.mode type StripeCheckoutSessionMode string // StripeCustomerAppData Stripe Customer App Data. type StripeCustomerAppData struct { // App The installed stripe app this data belongs to. App *StripeApp `json:"app,omitempty"` // Id The app ID. // If not provided, it will use the global default for the app type. Id *string `json:"id,omitempty"` // StripeCustomerId The Stripe customer ID. StripeCustomerId string `json:"stripeCustomerId"` // StripeDefaultPaymentMethodId The Stripe default payment method ID. StripeDefaultPaymentMethodId *string `json:"stripeDefaultPaymentMethodId,omitempty"` // Type The app name. Type StripeCustomerAppDataType `json:"type"` } // StripeCustomerAppDataType The app name. type StripeCustomerAppDataType string // StripeCustomerAppDataBase Stripe Customer App Data Base. type StripeCustomerAppDataBase struct { // StripeCustomerId The Stripe customer ID. StripeCustomerId string `json:"stripeCustomerId"` // StripeDefaultPaymentMethodId The Stripe default payment method ID. StripeDefaultPaymentMethodId *string `json:"stripeDefaultPaymentMethodId,omitempty"` } // StripeCustomerAppDataCreateOrUpdateItem Stripe Customer App Data. type StripeCustomerAppDataCreateOrUpdateItem struct { // Id The app ID. // If not provided, it will use the global default for the app type. Id *string `json:"id,omitempty"` // StripeCustomerId The Stripe customer ID. StripeCustomerId string `json:"stripeCustomerId"` // StripeDefaultPaymentMethodId The Stripe default payment method ID. StripeDefaultPaymentMethodId *string `json:"stripeDefaultPaymentMethodId,omitempty"` // Type The app name. Type StripeCustomerAppDataCreateOrUpdateItemType `json:"type"` } // StripeCustomerAppDataCreateOrUpdateItemType The app name. type StripeCustomerAppDataCreateOrUpdateItemType string // StripeCustomerPortalSession Stripe customer portal session. // // See: https://docs.stripe.com/api/customer_portal/sessions/object type StripeCustomerPortalSession 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:"configurationId"` // CreatedAt Created at. // // See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-created CreatedAt time.Time `json:"createdAt"` // 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 Status. // /** // 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:"returnUrl"` // StripeCustomerId The ID of the stripe customer. StripeCustomerId string `json:"stripeCustomerId"` // Url /** // The ID of the customer.The URL to redirect the customer to after they have completed // their requested actions. Url string `json:"url"` } // StripeTaxConfig The tax config for Stripe. type StripeTaxConfig struct { // Code Product tax code. // // See: https://docs.stripe.com/tax/tax-codes Code string `json:"code"` } // StripeWebhookEvent Stripe webhook event. type StripeWebhookEvent struct { // Created The event created timestamp. Created int32 `json:"created"` // Data The event data. Data struct { Object interface{} `json:"object"` } `json:"data"` // Id The event ID. Id string `json:"id"` // Livemode Live mode. Livemode bool `json:"livemode"` // Type The event type. Type string `json:"type"` } // StripeWebhookResponse Stripe webhook response. type StripeWebhookResponse struct { // AppId ULID (Universally Unique Lexicographically Sortable Identifier). AppId string `json:"appId"` // CustomerId ULID (Universally Unique Lexicographically Sortable Identifier). CustomerId *string `json:"customerId,omitempty"` Message *string `json:"message,omitempty"` // NamespaceId ULID (Universally Unique Lexicographically Sortable Identifier). NamespaceId string `json:"namespaceId"` } // Subject A subject is a unique identifier for a usage attribution by its key. // Subjects only exist in the concept of metering. // Subjects are optional to create and work as an enrichment for the subject key like displayName, metadata, etc. // Subjects are useful when you are reporting usage events with your own database ID but want to enrich the subject with a human-readable name or metadata. // For most use cases, a subject is equivalent to a customer. // // ⚠️ __Deprecated__: Subjects as managable entities are being depracated, use customers with subject key usage attribution instead. type Subject struct { // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // CurrentPeriodEnd The end of the current period for the subject. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set CurrentPeriodEnd *time.Time `json:"currentPeriodEnd,omitempty"` // CurrentPeriodStart The start of the current period for the subject. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set CurrentPeriodStart *time.Time `json:"currentPeriodStart,omitempty"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // DisplayName A human-readable display name for the subject. DisplayName *string `json:"displayName,omitempty"` // Id A unique identifier for the subject. Id string `json:"id"` // Key A unique, human-readable identifier for the subject. // This is typically a database ID or a customer key. Key string `json:"key"` // Metadata Metadata for the subject. Metadata *map[string]interface{} `json:"metadata,omitempty"` // StripeCustomerId The Stripe customer ID for the subject. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set StripeCustomerId *string `json:"stripeCustomerId,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubjectUpsert A subject is a unique identifier for a user or entity. // // ⚠️ __Deprecated__: Subjects as managable entities are being depracated, use customers with subject key usage attribution instead. type SubjectUpsert struct { // CurrentPeriodEnd The end of the current period for the subject. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set CurrentPeriodEnd *time.Time `json:"currentPeriodEnd,omitempty"` // CurrentPeriodStart The start of the current period for the subject. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set CurrentPeriodStart *time.Time `json:"currentPeriodStart,omitempty"` // DisplayName A human-readable display name for the subject. DisplayName *string `json:"displayName,omitempty"` // Key A unique, human-readable identifier for the subject. // This is typically a database ID or a customer key. Key string `json:"key"` // Metadata Metadata for the subject. Metadata *map[string]interface{} `json:"metadata,omitempty"` // StripeCustomerId The Stripe customer ID for the subject. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set StripeCustomerId *string `json:"stripeCustomerId,omitempty"` } // Subscription Subscription is an exact subscription instance. type Subscription struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Alignment Alignment configuration for the plan. Alignment *Alignment `json:"alignment,omitempty"` // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // BillingAnchor The normalizedbilling anchor of the subscription. BillingAnchor time.Time `json:"billingAnchor"` // BillingCadence The billing cadence for the subscriptions. // Defines how often customers are billed using ISO8601 duration format. // Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually). BillingCadence string `json:"billingCadence"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Currency The currency code of the subscription. // Will be revised once we add multi currency support. Currency CurrencyCode `json:"currency"` // CustomerId The customer ID of the subscription. CustomerId string `json:"customerId"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Plan The plan of the subscription. Plan *PlanReference `json:"plan,omitempty"` // ProRatingConfig The pro-rating configuration for the subscriptions. ProRatingConfig *ProRatingConfig `json:"proRatingConfig,omitempty"` // SettlementMode The settlement mode of the subscription. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. // This is the default and most common settlement mode. SettlementMode BillingSettlementMode `json:"settlementMode"` // Status The status of the subscription. Status SubscriptionStatus `json:"status"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubscriptionAddon A subscription add-on, represents concrete instances of an add-on for a given subscription. type SubscriptionAddon struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Addon Partially populated add-on properties. Addon struct { // Id The ID of the add-on. Id string `json:"id"` // InstanceType The instance type of the add-on. InstanceType AddonInstanceType `json:"instanceType"` // Key A semi-unique identifier for the resource. Key string `json:"key"` // Version The version of the Add-on which templates this instance. Version int `json:"version"` } `json:"addon"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for 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 For which point in time the quantity was resolved to. QuantityAt time.Time `json:"quantityAt"` // RateCards The rate cards of the add-on. RateCards []SubscriptionAddonRateCard `json:"rateCards"` // SubscriptionId The ID of the subscription. SubscriptionId string `json:"subscriptionId"` // Timeline The timeline of the add-on. The returned periods are sorted and continuous. Timeline []SubscriptionAddonTimelineSegment `json:"timeline"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubscriptionAddonCreate A subscription add-on create body. type SubscriptionAddonCreate struct { // Addon The add-on to create. Addon struct { // Id The ID of the add-on. Id string `json:"id"` } `json:"addon"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for 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"` // Timing The timing of the operation. After the create or update, a new entry will be created in the timeline. Timing SubscriptionTiming `json:"timing"` } // SubscriptionAddonRateCard A rate card for a subscription add-on. type SubscriptionAddonRateCard struct { // AffectedSubscriptionItemIds The IDs of the subscription items that this rate card belongs to. AffectedSubscriptionItemIds []string `json:"affectedSubscriptionItemIds"` // RateCard The rate card. RateCard RateCard `json:"rateCard"` } // SubscriptionAddonTimelineSegment A subscription add-on event. type SubscriptionAddonTimelineSegment struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Quantity The quantity of the add-on for the given period. Quantity int `json:"quantity"` } // SubscriptionAddonUpdate Resource create or update operation model. type SubscriptionAddonUpdate struct { // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name *string `json:"name,omitempty"` // Quantity The quantity of the add-on. Always 1 for single instance add-ons. Quantity *int `json:"quantity,omitempty"` // Timing The timing of the operation. After the create or update, a new entry will be created in the timeline. Timing *SubscriptionTiming `json:"timing,omitempty"` } // SubscriptionAlignment Alignment details enriched with the current billing period. type SubscriptionAlignment struct { // BillablesMustAlign Whether all Billable items and RateCards must align. // Alignment means the Price's BillingCadence must align for both duration and anchor time. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set BillablesMustAlign *bool `json:"billablesMustAlign,omitempty"` // CurrentAlignedBillingPeriod The current billing period. Only has value if the subscription is aligned and active. CurrentAlignedBillingPeriod *Period `json:"currentAlignedBillingPeriod,omitempty"` } // SubscriptionBadRequestErrorResponse The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing). Variants with ErrorExtensions specific to subscriptions. type SubscriptionBadRequestErrorResponse struct { // Detail A human-readable explanation specific to this occurrence of the problem. Detail string `json:"detail"` // Extensions Additional properties specific to the problem type may be present. Extensions *SubscriptionErrorExtensions `json:"extensions,omitempty"` // Instance A URI reference that identifies the specific occurrence of the problem. Instance string `json:"instance"` // Status The HTTP status code generated by the origin server for this occurrence of the problem. Status *int16 `json:"status,omitempty"` // Title A a short, human-readable summary of the problem type. Title string `json:"title"` // Type Type contains a URI that identifies the problem type. Type string `json:"type"` } // SubscriptionChange Change a subscription. type SubscriptionChange struct { union json.RawMessage } // SubscriptionChangeResponseBody Response body for subscription change. type SubscriptionChangeResponseBody struct { // Current The current subscription before the change. Current Subscription `json:"current"` // Next The new state of the subscription after the change. Next SubscriptionExpanded `json:"next"` } // SubscriptionConflictErrorResponse The request could not be completed due to a conflict with the current state of the target resource. // Variants with ErrorExtensions specific to subscriptions. type SubscriptionConflictErrorResponse struct { // Detail A human-readable explanation specific to this occurrence of the problem. Detail string `json:"detail"` // Extensions Additional properties specific to the problem type may be present. Extensions *SubscriptionErrorExtensions `json:"extensions,omitempty"` // Instance A URI reference that identifies the specific occurrence of the problem. Instance string `json:"instance"` // Status The HTTP status code generated by the origin server for this occurrence of the problem. Status *int16 `json:"status,omitempty"` // Title A a short, human-readable summary of the problem type. Title string `json:"title"` // Type Type contains a URI that identifies the problem type. Type string `json:"type"` } // SubscriptionCreate Create a subscription. type SubscriptionCreate struct { union json.RawMessage } // SubscriptionEdit Subscription edit input. type SubscriptionEdit struct { // Customizations Batch processing commands for manipulating running subscriptions. // The key format is `/phases/{phaseKey}` or `/phases/{phaseKey}/items/{itemKey}`. Customizations []SubscriptionEditOperation `json:"customizations"` // Timing Whether the billing period should be restarted.Timing configuration to allow for the changes to take effect at different times. Timing *SubscriptionTiming `json:"timing,omitempty"` } // SubscriptionEditOperation The operation to be performed on the subscription. type SubscriptionEditOperation struct { union json.RawMessage } // SubscriptionErrorExtensions Error extensions for the Subscription Errors. type SubscriptionErrorExtensions struct { ValidationErrors []ErrorExtension `json:"validationErrors"` } // SubscriptionExpanded Expanded subscription type SubscriptionExpanded struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // Alignment Alignment details enriched with the current billing period. Alignment *SubscriptionAlignment `json:"alignment,omitempty"` // Annotations Set of key-value pairs managed by the system. Cannot be modified by user. Annotations *Annotations `json:"annotations,omitempty"` // BillingAnchor The normalizedbilling anchor of the subscription. BillingAnchor time.Time `json:"billingAnchor"` // BillingCadence The billing cadence for the subscriptions. // Defines how often customers are billed using ISO8601 duration format. // Examples: "P1M" (monthly), "P3M" (quarterly), "P1Y" (annually). BillingCadence string `json:"billingCadence"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // Currency The currency code of the subscription. // Will be revised once we add multi currency support. Currency CurrencyCode `json:"currency"` // CustomerId The customer ID of the subscription. CustomerId string `json:"customerId"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Phases The phases of the subscription. Phases []SubscriptionPhaseExpanded `json:"phases"` // Plan The plan of the subscription. Plan *PlanReference `json:"plan,omitempty"` // ProRatingConfig The pro-rating configuration for the subscriptions. ProRatingConfig *ProRatingConfig `json:"proRatingConfig,omitempty"` // SettlementMode The settlement mode of the subscription. // - credit_then_invoice: credits from the previous billing period are applied first, then the remaining balance is invoiced. // - credit_only: only credits from the previous billing period are generated and applied. No invoices are generated for the subscription. // This is the default and most common settlement mode. SettlementMode BillingSettlementMode `json:"settlementMode"` // Status The status of the subscription. Status SubscriptionStatus `json:"status"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubscriptionItem The actual contents of the Subscription, what the user gets, what they pay, etc... type SubscriptionItem struct { // ActiveFrom The cadence start of the resource. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The cadence end of the resource. ActiveTo *time.Time `json:"activeTo,omitempty"` // BillingCadence The billing cadence of the rate card. // When null, the rate card is a one-time purchase. BillingCadence *string `json:"billingCadence"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts The discounts applied to the rate card. Discounts *Discounts `json:"discounts,omitempty"` // FeatureKey The feature's key (if present). FeatureKey *string `json:"featureKey,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Included Describes what access is gained via the SubscriptionItem Included *SubscriptionItemIncluded `json:"included,omitempty"` // Key The identifier of the RateCard. // SubscriptionItem/RateCard can be identified, it has a reference: // // 1. If a Feature is associated with the SubscriptionItem, it is identified by the Feature // 1.1 It can be an ID reference, for an exact version of the Feature (Features can change across versions) // 1.2 It can be a Key reference, which always refers to the latest (active or inactive) version of a Feature // // 2. If a Feature is not associated with the SubscriptionItem, it is referenced by the Price // // We say "referenced by the Price" regardless of how a price itself is referenced, it colloquially makes sense to say "paying the same price for the same thing". In practice this should be derived from what's printed on the invoice line-item. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // Price The price of the rate card. // When null, the feature or service is free. Price *RateCardUsageBasedPrice `json:"price"` // TaxConfig The tax config of the Subscription Item. // When undefined, the tax config of the feature or the default tax config of the plan is used. TaxConfig *TaxConfig `json:"taxConfig,omitempty"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubscriptionItemIncluded Included contents like Entitlement, or the Feature. type SubscriptionItemIncluded struct { // Entitlement The entitlement of the Subscription Item. Entitlement *Entitlement `json:"entitlement,omitempty"` // Feature The feature the customer is entitled to use. Feature Feature `json:"feature"` } // SubscriptionPaginatedResponse Paginated response type SubscriptionPaginatedResponse struct { // Items The items in the current page. Items []Subscription `json:"items"` // Page The page index. Page int `json:"page"` // PageSize The maximum number of items per page. PageSize int `json:"pageSize"` // TotalCount The total number of items. TotalCount int `json:"totalCount"` } // SubscriptionPhase Subscription phase, analogous to plan phases. type SubscriptionPhase struct { // ActiveFrom The time from which the phase is active. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The until which the Phase is active. ActiveTo *time.Time `json:"activeTo,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts The discounts on the plan. Discounts *Discounts `json:"discounts,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // Key A locally unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubscriptionPhaseCreate Subscription phase create input. type SubscriptionPhaseCreate struct { // Description The description of the phase. Description *string `json:"description,omitempty"` // Discounts The discounts on the plan. Discounts *Discounts `json:"discounts,omitempty"` // Duration The intended duration of the new phase. // Duration is required when the phase will not be the last phase. Duration *string `json:"duration,omitempty"` // Key A locally unique identifier for the phase. Key string `json:"key"` // Name The name of the phase. Name string `json:"name"` // StartAfter Interval after the subscription starts to transition to the phase. // When null, the phase starts immediately after the subscription starts. StartAfter *string `json:"startAfter"` } // SubscriptionPhaseExpanded Expanded subscription phase type SubscriptionPhaseExpanded struct { // ActiveFrom The time from which the phase is active. ActiveFrom time.Time `json:"activeFrom"` // ActiveTo The until which the Phase is active. ActiveTo *time.Time `json:"activeTo,omitempty"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Description Optional description of the resource. Maximum 1024 characters. Description *string `json:"description,omitempty"` // Discounts The discounts on the plan. Discounts *Discounts `json:"discounts,omitempty"` // Id A unique identifier for the resource. Id string `json:"id"` // ItemTimelines Includes all versions of the items on each key, including all edits, scheduled changes, etc... ItemTimelines map[string][]SubscriptionItem `json:"itemTimelines"` // Items The items of the phase. The structure is flattened to better conform to the Plan API. // The timelines are flattened according to the following rules: // - for the current phase, the `items` contains only the active item for each key // - for past phases, the `items` contains only the last item for each key // - for future phases, the `items` contains only the first version of the item for each key Items []SubscriptionItem `json:"items"` // Key A locally unique identifier for the resource. Key string `json:"key"` // Metadata Additional metadata for the resource. Metadata *Metadata `json:"metadata,omitempty"` // Name Human-readable name for the resource. Between 1 and 256 characters. Name string `json:"name"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // SubscriptionStatus Subscription status. type SubscriptionStatus string // SubscriptionTiming 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. type SubscriptionTiming struct { union json.RawMessage } // SubscriptionTiming1 [RFC3339](https://tools.ietf.org/html/rfc3339) formatted date-time string in UTC. type SubscriptionTiming1 = time.Time // SubscriptionTimingEnum Subscription edit timing. // When immediate, the requested changes take effect immediately. // When nextBillingCycle, the requested changes take effect at the next billing cycle. type SubscriptionTimingEnum string // TaxBehavior Tax behavior. // // This enum is used to specify whether tax is included in the price or excluded from the price. type TaxBehavior string // TaxConfig Set of provider specific tax configs. type TaxConfig 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 *TaxBehavior `json:"behavior,omitempty"` // CustomInvoicing Custom invoicing tax config. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set CustomInvoicing *CustomInvoicingTaxConfig `json:"customInvoicing,omitempty"` // Stripe Stripe tax config. // Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set Stripe *StripeTaxConfig `json:"stripe,omitempty"` // TaxCodeId Tax code reference. // // When both `taxCodeId` and `stripe.code` are provided, `taxCodeId` takes precedence: // the referenced tax code entity is used and `stripe.code` is ignored. TaxCodeId *string `json:"taxCodeId,omitempty"` } // TieredPrice Tiered price. type TieredPrice struct { // Mode Defines if the tiering mode is volume-based or graduated: // - In `volume`-based tiering, the maximum quantity within a period determines the per unit price. // - In `graduated` tiering, pricing can change as the quantity grows. Mode TieredPriceMode `json:"mode"` // Tiers The tiers of the tiered price. // At least one price component is required in each tier. Tiers []PriceTier `json:"tiers"` // Type The type of the price. // // One of: flat, unit, or tiered. Type TieredPriceType `json:"type"` } // TieredPriceType The type of the price. // // One of: flat, unit, or tiered. type TieredPriceType string // TieredPriceMode The mode of the tiered price. type TieredPriceMode string // TieredPriceWithCommitments Tiered price with spend commitments. type TieredPriceWithCommitments struct { // MaximumAmount The customer is limited to spend at most the amount. MaximumAmount *Numeric `json:"maximumAmount,omitempty"` // MinimumAmount The customer is committed to spend at least the amount. MinimumAmount *Numeric `json:"minimumAmount,omitempty"` // Mode Defines if the tiering mode is volume-based or graduated: // - In `volume`-based tiering, the maximum quantity within a period determines the per unit price. // - In `graduated` tiering, pricing can change as the quantity grows. Mode TieredPriceMode `json:"mode"` // Tiers The tiers of the tiered price. // At least one price component is required in each tier. Tiers []PriceTier `json:"tiers"` // Type The type of the price. // // One of: flat, unit, or tiered. Type TieredPriceWithCommitmentsType `json:"type"` } // TieredPriceWithCommitmentsType The type of the price. // // One of: flat, unit, or tiered. type TieredPriceWithCommitmentsType string // ULIDOrExternalKey ULID (Universally Unique Lexicographically Sortable Identifier) or external unique key. type ULIDOrExternalKey = string // UnauthorizedProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type UnauthorizedProblemResponse = UnexpectedProblemResponse // UnexpectedProblemResponse A Problem Details object (RFC 7807). // Additional properties specific to the problem type may be present. type UnexpectedProblemResponse = models.StatusProblem // UnitPrice Unit price. type UnitPrice struct { // Amount The amount of the unit price. Amount Numeric `json:"amount"` // Type The type of the price. Type UnitPriceType `json:"type"` } // UnitPriceType The type of the price. type UnitPriceType string // UnitPriceWithCommitments Unit price with spend commitments. type UnitPriceWithCommitments struct { // Amount The amount of the unit price. Amount Numeric `json:"amount"` // MaximumAmount The customer is limited to spend at most the amount. MaximumAmount *Numeric `json:"maximumAmount,omitempty"` // MinimumAmount The customer is committed to spend at least the amount. MinimumAmount *Numeric `json:"minimumAmount,omitempty"` // Type The type of the price. Type UnitPriceWithCommitmentsType `json:"type"` } // UnitPriceWithCommitmentsType The type of the price. type UnitPriceWithCommitmentsType string // ValidationError Validation errors providing detailed description of the issue. type ValidationError struct { // Attributes Additional attributes. Attributes *Annotations `json:"attributes,omitempty"` // Code The machine readable description of the error. Code string `json:"code"` // Field The path to the field. Field string `json:"field"` // Message The human readable description of the error. Message string `json:"message"` } // ValidationErrorProblemResponse A BadRequestError with a validationErrors extension. type ValidationErrorProblemResponse struct { // Detail A human-readable explanation specific to this occurrence of the problem. Detail string `json:"detail"` // Extensions Validation issues. Extensions *struct { ValidationErrors *[]ValidationError `json:"validationErrors,omitempty"` } `json:"extensions,omitempty"` // Instance A URI reference that identifies the specific occurrence of the problem. Instance string `json:"instance"` // Status The HTTP status code generated by the origin server for this occurrence of the problem. Status *int16 `json:"status,omitempty"` // Title A a short, human-readable summary of the problem type. Title string `json:"title"` // Type Type contains a URI that identifies the problem type. Type string `json:"type"` } // ValidationIssue ValidationIssue captures any validation issues related to the invoice. // // Issues with severity "critical" will prevent the invoice from being issued. type ValidationIssue struct { // Code Machine indentifiable code for the issue, if available. Code *string `json:"code,omitempty"` // Component Component reporting the issue. Component string `json:"component"` // CreatedAt Timestamp of when the resource was created. CreatedAt time.Time `json:"createdAt"` // DeletedAt Timestamp of when the resource was permanently deleted. DeletedAt *time.Time `json:"deletedAt,omitempty"` // Field The field that the issue is related to, if available in JSON path format. Field *string `json:"field,omitempty"` // Id ID of the charge or discount. Id string `json:"id"` // Message A human-readable description of the issue. Message string `json:"message"` // Metadata Additional context for the issue. Metadata *Metadata `json:"metadata,omitempty"` // Severity The severity of the issue. Severity ValidationIssueSeverity `json:"severity"` // UpdatedAt Timestamp of when the resource was last updated. UpdatedAt time.Time `json:"updatedAt"` } // ValidationIssueSeverity ValidationIssueSeverity describes the severity of a validation issue. // // Issues with severity "critical" will prevent the invoice from being issued. type ValidationIssueSeverity string // VoidInvoiceActionCreate InvoiceVoidAction describes how to handle the voided line items. type VoidInvoiceActionCreate struct { // Action The action to take on the line items. Action VoidInvoiceLineActionCreate `json:"action"` // Percentage How much of the total line items to be voided? (e.g. 100% means all charges are voided) Percentage Percentage `json:"percentage"` } // VoidInvoiceActionCreateItem InvoiceVoidAction describes how to handle the voided line items. type VoidInvoiceActionCreateItem struct { // Action The action to take on the line items. Action VoidInvoiceLineActionCreateItem `json:"action"` // Percentage How much of the total line items to be voided? (e.g. 100% means all charges are voided) Percentage Percentage `json:"percentage"` } // VoidInvoiceActionInput Request to void an invoice type VoidInvoiceActionInput struct { // Action The action to take on the voided line items. Action VoidInvoiceActionCreate `json:"action"` // Overrides Per line item overrides for the action. // // If not specified, the `action` will be applied to all line items. Overrides *[]VoidInvoiceActionLineOverride `json:"overrides,omitempty"` // Reason The reason for voiding the invoice. Reason string `json:"reason"` } // VoidInvoiceActionLineOverride VoidInvoiceLineOverride describes how to handle a specific line item in the invoice when voiding. type VoidInvoiceActionLineOverride struct { // Action The action to take on the line item. Action VoidInvoiceActionCreateItem `json:"action"` // LineId The line item ID to override. LineId string `json:"lineId"` } // VoidInvoiceLineActionCreate VoidInvoiceLineAction describes how to handle a specific line item in the invoice when voiding. type VoidInvoiceLineActionCreate struct { union json.RawMessage } // VoidInvoiceLineActionCreateItem VoidInvoiceLineAction describes how to handle a specific line item in the invoice when voiding. type VoidInvoiceLineActionCreateItem struct { union json.RawMessage } // VoidInvoiceLineActionType VoidInvoiceLineActionType describes how to handle the voidied line item in the invoice. type VoidInvoiceLineActionType string // VoidInvoiceLineDiscardAction VoidInvoiceLineDiscardAction describes how to handle the voidied line item in the invoice. type VoidInvoiceLineDiscardAction struct { // Type The action to take on the line item. Type VoidInvoiceLineDiscardActionType `json:"type"` } // VoidInvoiceLineDiscardActionType The action to take on the line item. type VoidInvoiceLineDiscardActionType string // VoidInvoiceLinePendingActionCreate VoidInvoiceLinePendingAction describes how to handle the voidied line item in the invoice. type VoidInvoiceLinePendingActionCreate struct { // NextInvoiceAt The time at which the line item should be invoiced again. // // If not provided, the line item will be re-invoiced now. NextInvoiceAt *time.Time `json:"nextInvoiceAt,omitempty"` // Type The action to take on the line item. Type VoidInvoiceLinePendingActionCreateType `json:"type"` } // VoidInvoiceLinePendingActionCreateType The action to take on the line item. type VoidInvoiceLinePendingActionCreateType string // VoidInvoiceLinePendingActionCreateItem VoidInvoiceLinePendingAction describes how to handle the voidied line item in the invoice. type VoidInvoiceLinePendingActionCreateItem struct { // NextInvoiceAt The time at which the line item should be invoiced again. // // If not provided, the line item will be re-invoiced now. NextInvoiceAt *time.Time `json:"nextInvoiceAt,omitempty"` // Type The action to take on the line item. Type VoidInvoiceLinePendingActionCreateItemType `json:"type"` } // VoidInvoiceLinePendingActionCreateItemType The action to take on the line item. type VoidInvoiceLinePendingActionCreateItemType string // WindowSize Aggregation window size. type WindowSize string // WindowedBalanceHistory The windowed balance history. type WindowedBalanceHistory struct { // BurndownHistory Grant burndown history. BurndownHistory []GrantBurnDownHistorySegment `json:"burndownHistory"` // WindowedHistory The windowed balance history. // - It only returns rows for windows where there was usage. // - The windows are inclusive at their start and exclusive at their end. // - The last window may be smaller than the window size and is inclusive at both ends. WindowedHistory []BalanceHistoryWindow `json:"windowedHistory"` } // AddonOrderByOrderingOrder The order direction. type AddonOrderByOrderingOrder = SortOrder // AddonOrderByOrderingOrderBy Order by options for add-ons. type AddonOrderByOrderingOrderBy = AddonOrderBy // BillingProfileCustomerOverrideOrderByOrderingOrder The order direction. type BillingProfileCustomerOverrideOrderByOrderingOrder = SortOrder // BillingProfileCustomerOverrideOrderByOrderingOrderBy Order by options for customers. type BillingProfileCustomerOverrideOrderByOrderingOrderBy = BillingProfileCustomerOverrideOrderBy // BillingProfileListCustomerOverridesParamsBillingProfile defines model for BillingProfileListCustomerOverridesParams.billingProfile. type BillingProfileListCustomerOverridesParamsBillingProfile = []string // BillingProfileListCustomerOverridesParamsCustomerId defines model for BillingProfileListCustomerOverridesParams.customerId. type BillingProfileListCustomerOverridesParamsCustomerId = []string // BillingProfileListCustomerOverridesParamsCustomerKey defines model for BillingProfileListCustomerOverridesParams.customerKey. type BillingProfileListCustomerOverridesParamsCustomerKey = string // BillingProfileListCustomerOverridesParamsCustomerName defines model for BillingProfileListCustomerOverridesParams.customerName. type BillingProfileListCustomerOverridesParamsCustomerName = string // BillingProfileListCustomerOverridesParamsCustomerPrimaryEmail defines model for BillingProfileListCustomerOverridesParams.customerPrimaryEmail. type BillingProfileListCustomerOverridesParamsCustomerPrimaryEmail = string // BillingProfileListCustomerOverridesParamsCustomersWithoutPinnedProfile defines model for BillingProfileListCustomerOverridesParams.customersWithoutPinnedProfile. type BillingProfileListCustomerOverridesParamsCustomersWithoutPinnedProfile = bool // BillingProfileListCustomerOverridesParamsExpand defines model for BillingProfileListCustomerOverridesParams.expand. type BillingProfileListCustomerOverridesParamsExpand = []BillingProfileCustomerOverrideExpand // BillingProfileListCustomerOverridesParamsIncludeAllCustomers defines model for BillingProfileListCustomerOverridesParams.includeAllCustomers. type BillingProfileListCustomerOverridesParamsIncludeAllCustomers = bool // BillingProfileOrderByOrderingOrder The order direction. type BillingProfileOrderByOrderingOrder = SortOrder // BillingProfileOrderByOrderingOrderBy BillingProfileOrderBy specifies the ordering options for profiles type BillingProfileOrderByOrderingOrderBy = BillingProfileOrderBy // CursorPaginationCursor defines model for CursorPagination.cursor. type CursorPaginationCursor = string // CursorPaginationLimit defines model for CursorPagination.limit. type CursorPaginationLimit = int // CustomerOrderByOrderingOrder The order direction. type CustomerOrderByOrderingOrder = SortOrder // CustomerOrderByOrderingOrderBy Order by options for customers. type CustomerOrderByOrderingOrderBy = CustomerOrderBy // CustomerSubscriptionOrderByOrderingOrder The order direction. type CustomerSubscriptionOrderByOrderingOrder = SortOrder // CustomerSubscriptionOrderByOrderingOrderBy Order by options for customer subscriptions. type CustomerSubscriptionOrderByOrderingOrderBy = CustomerSubscriptionOrderBy // EntitlementOrderByOrderingOrder The order direction. type EntitlementOrderByOrderingOrder = SortOrder // EntitlementOrderByOrderingOrderBy Order by options for entitlements. type EntitlementOrderByOrderingOrderBy = EntitlementOrderBy // FeatureOrderByOrderingOrder The order direction. type FeatureOrderByOrderingOrder = SortOrder // FeatureOrderByOrderingOrderBy Order by options for features. type FeatureOrderByOrderingOrderBy = FeatureOrderBy // GrantOrderByOrderingOrder The order direction. type GrantOrderByOrderingOrder = SortOrder // GrantOrderByOrderingOrderBy Order by options for grants. type GrantOrderByOrderingOrderBy = GrantOrderBy // InvoiceListParamsCreatedAfter defines model for InvoiceListParams.createdAfter. type InvoiceListParamsCreatedAfter = time.Time // InvoiceListParamsCreatedBefore defines model for InvoiceListParams.createdBefore. type InvoiceListParamsCreatedBefore = time.Time // InvoiceListParamsCustomers defines model for InvoiceListParams.customers. type InvoiceListParamsCustomers = []string // InvoiceListParamsExpand defines model for InvoiceListParams.expand. type InvoiceListParamsExpand = []InvoiceExpand // InvoiceListParamsExtendedStatuses defines model for InvoiceListParams.extendedStatuses. type InvoiceListParamsExtendedStatuses = []string // InvoiceListParamsIncludeDeleted defines model for InvoiceListParams.includeDeleted. type InvoiceListParamsIncludeDeleted = bool // InvoiceListParamsIssuedAfter defines model for InvoiceListParams.issuedAfter. type InvoiceListParamsIssuedAfter = time.Time // InvoiceListParamsIssuedBefore defines model for InvoiceListParams.issuedBefore. type InvoiceListParamsIssuedBefore = time.Time // InvoiceListParamsPeriodStartAfter defines model for InvoiceListParams.periodStartAfter. type InvoiceListParamsPeriodStartAfter = time.Time // InvoiceListParamsPeriodStartBefore defines model for InvoiceListParams.periodStartBefore. type InvoiceListParamsPeriodStartBefore = time.Time // InvoiceListParamsStatuses defines model for InvoiceListParams.statuses. type InvoiceListParamsStatuses = []InvoiceStatus // InvoiceOrderByOrderingOrder The order direction. type InvoiceOrderByOrderingOrder = SortOrder // InvoiceOrderByOrderingOrderBy InvoiceOrderBy specifies the ordering options for invoice listing. type InvoiceOrderByOrderingOrderBy = InvoiceOrderBy // LimitOffsetLimit defines model for LimitOffset.limit. type LimitOffsetLimit = int // LimitOffsetOffset defines model for LimitOffset.offset. type LimitOffsetOffset = int // MarketplaceApiKeyInstallRequestType Type of the app. type MarketplaceApiKeyInstallRequestType = AppType // MarketplaceInstallRequestType Type of the app. type MarketplaceInstallRequestType = AppType // MarketplaceOAuth2InstallAuthorizeRequestType Type of the app. type MarketplaceOAuth2InstallAuthorizeRequestType = AppType // MeterOrderByOrderingOrder The order direction. type MeterOrderByOrderingOrder = SortOrder // MeterOrderByOrderingOrderBy Order by options for meters. type MeterOrderByOrderingOrderBy = MeterOrderBy // MeterQueryAdvancedMeterGroupByFilters defines model for MeterQuery.advancedMeterGroupByFilters. type MeterQueryAdvancedMeterGroupByFilters map[string]FilterString // MeterQueryClientId defines model for MeterQuery.clientId. type MeterQueryClientId = string // MeterQueryFilterCustomerId defines model for MeterQuery.filterCustomerId. type MeterQueryFilterCustomerId = []string // MeterQueryFilterGroupBy defines model for MeterQuery.filterGroupBy. type MeterQueryFilterGroupBy map[string]string // MeterQueryFrom defines model for MeterQuery.from. type MeterQueryFrom = time.Time // MeterQueryGroupBy defines model for MeterQuery.groupBy. type MeterQueryGroupBy = []string // MeterQuerySubject defines model for MeterQuery.subject. type MeterQuerySubject = []string // MeterQueryTo defines model for MeterQuery.to. type MeterQueryTo = time.Time // MeterQueryWindowSize Aggregation window size. type MeterQueryWindowSize = WindowSize // MeterQueryWindowTimeZone defines model for MeterQuery.windowTimeZone. type MeterQueryWindowTimeZone = string // NotificationChannelOrderByOrderingOrder The order direction. type NotificationChannelOrderByOrderingOrder = SortOrder // NotificationChannelOrderByOrderingOrderBy Order by options for notification channels. type NotificationChannelOrderByOrderingOrderBy = NotificationChannelOrderBy // NotificationEventOrderByOrderingOrder The order direction. type NotificationEventOrderByOrderingOrder = SortOrder // NotificationEventOrderByOrderingOrderBy Order by options for notification channels. type NotificationEventOrderByOrderingOrderBy = NotificationEventOrderBy // NotificationRuleOrderByOrderingOrder The order direction. type NotificationRuleOrderByOrderingOrder = SortOrder // NotificationRuleOrderByOrderingOrderBy Order by options for notification channels. type NotificationRuleOrderByOrderingOrderBy = NotificationRuleOrderBy // OAuth2AuthorizationCodeGrantErrorParamsError OAuth2 authorization code grant error types. type OAuth2AuthorizationCodeGrantErrorParamsError = OAuth2AuthorizationCodeGrantErrorType // OAuth2AuthorizationCodeGrantErrorParamsErrorDescription defines model for OAuth2AuthorizationCodeGrantErrorParams.error_description. type OAuth2AuthorizationCodeGrantErrorParamsErrorDescription = string // OAuth2AuthorizationCodeGrantErrorParamsErrorUri defines model for OAuth2AuthorizationCodeGrantErrorParams.error_uri. type OAuth2AuthorizationCodeGrantErrorParamsErrorUri = string // OAuth2AuthorizationCodeGrantSuccessParamsCode defines model for OAuth2AuthorizationCodeGrantSuccessParams.code. type OAuth2AuthorizationCodeGrantSuccessParamsCode = string // OAuth2AuthorizationCodeGrantSuccessParamsState defines model for OAuth2AuthorizationCodeGrantSuccessParams.state. type OAuth2AuthorizationCodeGrantSuccessParamsState = string // PaginationPage defines model for Pagination.page. type PaginationPage = int // PaginationPageSize defines model for Pagination.pageSize. type PaginationPageSize = int // PlanAddonOrderByOrderingOrder The order direction. type PlanAddonOrderByOrderingOrder = SortOrder // PlanAddonOrderByOrderingOrderBy Order by options for plan add-on assignments. type PlanAddonOrderByOrderingOrderBy = PlanAddonOrderBy // PlanOrderByOrderingOrder The order direction. type PlanOrderByOrderingOrder = SortOrder // PlanOrderByOrderingOrderBy Order by options for plans. type PlanOrderByOrderingOrderBy = PlanOrderBy // ListCustomerAppDataParamsType Type of the app. type ListCustomerAppDataParamsType = AppType // QueryCustomerGet defines model for queryCustomerGet. type QueryCustomerGet = []CustomerExpand // QueryCustomerListExpand defines model for queryCustomerList.expand. type QueryCustomerListExpand = []CustomerExpand // QueryCustomerListIncludeDeleted defines model for queryCustomerList.includeDeleted. type QueryCustomerListIncludeDeleted = bool // QueryCustomerListKey defines model for queryCustomerList.key. type QueryCustomerListKey = string // QueryCustomerListName defines model for queryCustomerList.name. type QueryCustomerListName = string // QueryCustomerListPlanKey defines model for queryCustomerList.planKey. type QueryCustomerListPlanKey = string // QueryCustomerListPrimaryEmail defines model for queryCustomerList.primaryEmail. type QueryCustomerListPrimaryEmail = string // QueryCustomerListSubject defines model for queryCustomerList.subject. type QueryCustomerListSubject = string // QueryMeterListIncludeDeleted defines model for queryMeterList.includeDeleted. type QueryMeterListIncludeDeleted = bool // portalTokenAuthContextKey is the context key for PortalTokenAuth security scheme type portalTokenAuthContextKey string // ListAddonsParams defines parameters for ListAddons. type ListAddonsParams struct { // IncludeDeleted Include deleted add-ons in response. // // Usage: `?includeDeleted=true` IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Id Filter by addon.id attribute Id *[]string `form:"id,omitempty" json:"id,omitempty"` // Key Filter by addon.key attribute Key *[]string `form:"key,omitempty" json:"key,omitempty"` // KeyVersion Filter by addon.key and addon.version attributes KeyVersion *map[string][]int `json:"keyVersion,omitempty"` // Status Only return add-ons with the given status. // // Usage: // - `?status=active`: return only the currently active add-ons // - `?status=draft`: return only the draft add-ons // - `?status=archived`: return only the archived add-ons Status *[]AddonStatus `form:"status,omitempty" json:"status,omitempty"` // Currency Filter by addon.currency attribute Currency *[]CurrencyCode `form:"currency,omitempty" json:"currency,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *AddonOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *AddonOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // GetAddonParams defines parameters for GetAddon. type GetAddonParams struct { // IncludeLatest Include latest version of the add-on instead of the version in active state. // // Usage: `?includeLatest=true` IncludeLatest *bool `form:"includeLatest,omitempty" json:"includeLatest,omitempty"` } // ListAppsParams defines parameters for ListApps. type ListAppsParams struct { // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` } // ListBillingProfileCustomerOverridesParams defines parameters for ListBillingProfileCustomerOverrides. type ListBillingProfileCustomerOverridesParams struct { // BillingProfile Filter by billing profile. BillingProfile *BillingProfileListCustomerOverridesParamsBillingProfile `form:"billingProfile,omitempty" json:"billingProfile,omitempty"` // CustomersWithoutPinnedProfile Only return customers without pinned billing profiles. This implicitly sets includeAllCustomers to true. CustomersWithoutPinnedProfile *BillingProfileListCustomerOverridesParamsCustomersWithoutPinnedProfile `form:"customersWithoutPinnedProfile,omitempty" json:"customersWithoutPinnedProfile,omitempty"` // IncludeAllCustomers Include customers without customer overrides. // // If set to false only the customers specifically associated with a billing profile will be returned. // // If set to true, in case of the default billing profile, all customers will be returned. IncludeAllCustomers *BillingProfileListCustomerOverridesParamsIncludeAllCustomers `form:"includeAllCustomers,omitempty" json:"includeAllCustomers,omitempty"` // CustomerId Filter by customer id. CustomerId *BillingProfileListCustomerOverridesParamsCustomerId `form:"customerId,omitempty" json:"customerId,omitempty"` // CustomerName Filter by customer name. CustomerName *BillingProfileListCustomerOverridesParamsCustomerName `form:"customerName,omitempty" json:"customerName,omitempty"` // CustomerKey Filter by customer key CustomerKey *BillingProfileListCustomerOverridesParamsCustomerKey `form:"customerKey,omitempty" json:"customerKey,omitempty"` // CustomerPrimaryEmail Filter by customer primary email CustomerPrimaryEmail *BillingProfileListCustomerOverridesParamsCustomerPrimaryEmail `form:"customerPrimaryEmail,omitempty" json:"customerPrimaryEmail,omitempty"` // Expand Expand the response with additional details. Expand *BillingProfileListCustomerOverridesParamsExpand `form:"expand,omitempty" json:"expand,omitempty"` // Order The order direction. Order *BillingProfileCustomerOverrideOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *BillingProfileCustomerOverrideOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` } // GetBillingProfileCustomerOverrideParams defines parameters for GetBillingProfileCustomerOverride. type GetBillingProfileCustomerOverrideParams struct { Expand *[]BillingProfileCustomerOverrideExpand `form:"expand,omitempty" json:"expand,omitempty"` } // ListInvoicesParams defines parameters for ListInvoices. type ListInvoicesParams struct { // Statuses Filter by the invoice status. Statuses *InvoiceListParamsStatuses `form:"statuses,omitempty" json:"statuses,omitempty"` // ExtendedStatuses Filter by invoice extended statuses ExtendedStatuses *InvoiceListParamsExtendedStatuses `form:"extendedStatuses,omitempty" json:"extendedStatuses,omitempty"` // IssuedAfter Filter by invoice issued time. // Inclusive. IssuedAfter *InvoiceListParamsIssuedAfter `form:"issuedAfter,omitempty" json:"issuedAfter,omitempty"` // IssuedBefore Filter by invoice issued time. // Inclusive. IssuedBefore *InvoiceListParamsIssuedBefore `form:"issuedBefore,omitempty" json:"issuedBefore,omitempty"` // PeriodStartAfter Filter by period start time. // Inclusive. PeriodStartAfter *InvoiceListParamsPeriodStartAfter `form:"periodStartAfter,omitempty" json:"periodStartAfter,omitempty"` // PeriodStartBefore Filter by period start time. // Inclusive. PeriodStartBefore *InvoiceListParamsPeriodStartBefore `form:"periodStartBefore,omitempty" json:"periodStartBefore,omitempty"` // CreatedAfter Filter by invoice created time. // Inclusive. CreatedAfter *InvoiceListParamsCreatedAfter `form:"createdAfter,omitempty" json:"createdAfter,omitempty"` // CreatedBefore Filter by invoice created time. // Inclusive. CreatedBefore *InvoiceListParamsCreatedBefore `form:"createdBefore,omitempty" json:"createdBefore,omitempty"` // Expand What parts of the list output to expand in listings Expand *InvoiceListParamsExpand `form:"expand,omitempty" json:"expand,omitempty"` // Customers Filter by customer ID Customers *InvoiceListParamsCustomers `form:"customers,omitempty" json:"customers,omitempty"` // IncludeDeleted Include deleted invoices IncludeDeleted *InvoiceListParamsIncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *InvoiceOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *InvoiceOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // GetInvoiceParams defines parameters for GetInvoice. type GetInvoiceParams struct { Expand *[]InvoiceExpand `form:"expand,omitempty" json:"expand,omitempty"` IncludeDeletedLines *bool `form:"includeDeletedLines,omitempty" json:"includeDeletedLines,omitempty"` } // ListBillingProfilesParams defines parameters for ListBillingProfiles. type ListBillingProfilesParams struct { IncludeArchived *bool `form:"includeArchived,omitempty" json:"includeArchived,omitempty"` Expand *[]BillingProfileExpand `form:"expand,omitempty" json:"expand,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *BillingProfileOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *BillingProfileOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // GetBillingProfileParams defines parameters for GetBillingProfile. type GetBillingProfileParams struct { Expand *[]BillingProfileExpand `form:"expand,omitempty" json:"expand,omitempty"` } // ListCustomersParams defines parameters for ListCustomers. type ListCustomersParams struct { // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *CustomerOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *CustomerOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` // IncludeDeleted Include deleted customers. IncludeDeleted *QueryCustomerListIncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Key Filter customers by key. // Case-insensitive partial match. Key *QueryCustomerListKey `form:"key,omitempty" json:"key,omitempty"` // Name Filter customers by name. // Case-insensitive partial match. Name *QueryCustomerListName `form:"name,omitempty" json:"name,omitempty"` // PrimaryEmail Filter customers by primary email. // Case-insensitive partial match. PrimaryEmail *QueryCustomerListPrimaryEmail `form:"primaryEmail,omitempty" json:"primaryEmail,omitempty"` // Subject Filter customers by usage attribution subject. // Case-insensitive partial match. Subject *QueryCustomerListSubject `form:"subject,omitempty" json:"subject,omitempty"` // PlanKey Filter customers by the plan key of their susbcription. PlanKey *QueryCustomerListPlanKey `form:"planKey,omitempty" json:"planKey,omitempty"` // Expand What parts of the list output to expand in listings Expand *QueryCustomerListExpand `form:"expand,omitempty" json:"expand,omitempty"` } // GetCustomerParams defines parameters for GetCustomer. type GetCustomerParams struct { // Expand What parts of the customer output to expand Expand *QueryCustomerGet `form:"expand,omitempty" json:"expand,omitempty"` } // ListCustomerAppDataParams defines parameters for ListCustomerAppData. type ListCustomerAppDataParams struct { // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Type Filter customer data by app type. Type *ListCustomerAppDataParamsType `form:"type,omitempty" json:"type,omitempty"` } // UpsertCustomerAppDataJSONBody defines parameters for UpsertCustomerAppData. type UpsertCustomerAppDataJSONBody = []CustomerAppDataCreateOrUpdateItem // GetCustomerEntitlementValueParams defines parameters for GetCustomerEntitlementValue. type GetCustomerEntitlementValueParams struct { Time *time.Time `form:"time,omitempty" json:"time,omitempty"` } // ListCustomerSubscriptionsParams defines parameters for ListCustomerSubscriptions. type ListCustomerSubscriptionsParams struct { Status *[]SubscriptionStatus `form:"status,omitempty" json:"status,omitempty"` // Order The order direction. Order *CustomerSubscriptionOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *CustomerSubscriptionOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` } // ListEntitlementsParams defines parameters for ListEntitlements. type ListEntitlementsParams struct { // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` Feature *[]string `form:"feature,omitempty" json:"feature,omitempty"` // Subject Filtering by multiple subjects. // // Usage: `?subject=customer-1&subject=customer-2` Subject *[]string `form:"subject,omitempty" json:"subject,omitempty"` // EntitlementType Filtering by multiple entitlement types. // // Usage: `?entitlementType=metered&entitlementType=boolean` EntitlementType *[]EntitlementType `form:"entitlementType,omitempty" json:"entitlementType,omitempty"` // ExcludeInactive Exclude inactive entitlements in the response (those scheduled for later or earlier) ExcludeInactive *bool `form:"excludeInactive,omitempty" json:"excludeInactive,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Offset Number of items to skip. // // Default is 0. Offset *LimitOffsetOffset `form:"offset,omitempty" json:"offset,omitempty"` // Limit Number of items to return. // // Default is 100. Limit *LimitOffsetLimit `form:"limit,omitempty" json:"limit,omitempty"` // Order The order direction. Order *EntitlementOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *EntitlementOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListEventsParams defines parameters for ListEvents. type ListEventsParams struct { // ClientId Client ID // Useful to track progress of a query. ClientId *string `form:"clientId,omitempty" json:"clientId,omitempty"` // IngestedAtFrom Start date-time in RFC 3339 format. // // Inclusive. IngestedAtFrom *time.Time `form:"ingestedAtFrom,omitempty" json:"ingestedAtFrom,omitempty"` // IngestedAtTo End date-time in RFC 3339 format. // // Inclusive. IngestedAtTo *time.Time `form:"ingestedAtTo,omitempty" json:"ingestedAtTo,omitempty"` // Id The event ID. // // Accepts partial ID. Id *string `form:"id,omitempty" json:"id,omitempty"` // Subject The event subject. // // Accepts partial subject. Subject *string `form:"subject,omitempty" json:"subject,omitempty"` // CustomerId The event customer ID. CustomerId *[]string `form:"customerId,omitempty" json:"customerId,omitempty"` // From Start date-time in RFC 3339 format. // // Inclusive. From *time.Time `form:"from,omitempty" json:"from,omitempty"` // To End date-time in RFC 3339 format. // // Inclusive. To *time.Time `form:"to,omitempty" json:"to,omitempty"` // Limit Number of events to return. Limit *int `form:"limit,omitempty" json:"limit,omitempty"` } // IngestEventsApplicationCloudeventsBatchPlusJSONBody defines parameters for IngestEvents. type IngestEventsApplicationCloudeventsBatchPlusJSONBody = []Event // ListFeaturesParams defines parameters for ListFeatures. type ListFeaturesParams struct { // MeterSlug Filter by meterSlug MeterSlug *[]string `form:"meterSlug,omitempty" json:"meterSlug,omitempty"` // IncludeArchived Include archived features in response. IncludeArchived *bool `form:"includeArchived,omitempty" json:"includeArchived,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Offset Number of items to skip. // // Default is 0. Offset *LimitOffsetOffset `form:"offset,omitempty" json:"offset,omitempty"` // Limit Number of items to return. // // Default is 100. Limit *LimitOffsetLimit `form:"limit,omitempty" json:"limit,omitempty"` // Order The order direction. Order *FeatureOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *FeatureOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListGrantsParams defines parameters for ListGrants. type ListGrantsParams struct { // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` Feature *[]string `form:"feature,omitempty" json:"feature,omitempty"` // Subject Filtering by multiple subjects. // // Usage: `?subject=customer-1&subject=customer-2` Subject *[]string `form:"subject,omitempty" json:"subject,omitempty"` // IncludeDeleted Include deleted IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Offset Number of items to skip. // // Default is 0. Offset *LimitOffsetOffset `form:"offset,omitempty" json:"offset,omitempty"` // Limit Number of items to return. // // Default is 100. Limit *LimitOffsetLimit `form:"limit,omitempty" json:"limit,omitempty"` // Order The order direction. Order *GrantOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *GrantOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // VoidGrantParams defines parameters for VoidGrant. type VoidGrantParams struct { // At The time at which the grant should be voided. // Must not be in the future and must be within the current usage period of the entitlement. // Defaults to the current time if not specified. At *time.Time `form:"at,omitempty" json:"at,omitempty"` } // ListMarketplaceListingsParams defines parameters for ListMarketplaceListings. type ListMarketplaceListingsParams struct { // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` } // MarketplaceAppAPIKeyInstallJSONBody defines parameters for MarketplaceAppAPIKeyInstall. type MarketplaceAppAPIKeyInstallJSONBody struct { // ApiKey The API key for the provider. // For example, the Stripe API key. ApiKey string `json:"apiKey"` // CreateBillingProfile If true, a billing profile will be created for the app. // The Stripe app will be also set as the default billing profile if the current default is a Sandbox app. CreateBillingProfile *bool `json:"createBillingProfile,omitempty"` // Name Name of the application to install. // // If name is not provided defaults to the marketplace listing's name. Name *string `json:"name,omitempty"` } // MarketplaceOAuth2InstallAuthorizeParams defines parameters for MarketplaceOAuth2InstallAuthorize. type MarketplaceOAuth2InstallAuthorizeParams struct { // State Required if the "state" parameter was present in the client authorization request. // The exact value received from the client: // // Unique, randomly generated, opaque, and non-guessable string that is sent // when starting an authentication request and validated when processing the response. State *OAuth2AuthorizationCodeGrantSuccessParamsState `form:"state,omitempty" json:"state,omitempty"` // Code Authorization code which the client will later exchange for an access token. // Required with the success response. Code *OAuth2AuthorizationCodeGrantSuccessParamsCode `form:"code,omitempty" json:"code,omitempty"` // Error Error code. // Required with the error response. Error *OAuth2AuthorizationCodeGrantErrorParamsError `form:"error,omitempty" json:"error,omitempty"` // ErrorDescription Optional human-readable text providing additional information, // used to assist the client developer in understanding the error that occurred. ErrorDescription *OAuth2AuthorizationCodeGrantErrorParamsErrorDescription `form:"error_description,omitempty" json:"error_description,omitempty"` // ErrorUri Optional uri identifying a human-readable web page with // information about the error, used to provide the client // developer with additional information about the error ErrorUri *OAuth2AuthorizationCodeGrantErrorParamsErrorUri `form:"error_uri,omitempty" json:"error_uri,omitempty"` } // ListMetersParams defines parameters for ListMeters. type ListMetersParams struct { // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *MeterOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *MeterOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` // IncludeDeleted Include deleted meters. IncludeDeleted *QueryMeterListIncludeDeleted `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` } // ListMeterGroupByValuesParams defines parameters for ListMeterGroupByValues. type ListMeterGroupByValuesParams struct { // From Start date-time in RFC 3339 format. // // Inclusive. Defaults to 24 hours ago. // // For example: ?from=2025-01-01T00%3A00%3A00.000Z From *time.Time `form:"from,omitempty" json:"from,omitempty"` // To End date-time in RFC 3339 format. // // Inclusive. // // For example: ?to=2025-02-01T00%3A00%3A00.000Z To *time.Time `form:"to,omitempty" json:"to,omitempty"` } // QueryMeterParams defines parameters for QueryMeter. type QueryMeterParams struct { // ClientId Client ID // Useful to track progress of a query. ClientId *MeterQueryClientId `form:"clientId,omitempty" json:"clientId,omitempty"` // From Start date-time in RFC 3339 format. // // Inclusive. // // For example: ?from=2025-01-01T00%3A00%3A00.000Z From *MeterQueryFrom `form:"from,omitempty" json:"from,omitempty"` // To End date-time in RFC 3339 format. // // Inclusive. // // For example: ?to=2025-02-01T00%3A00%3A00.000Z To *MeterQueryTo `form:"to,omitempty" json:"to,omitempty"` // WindowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. // // For example: ?windowSize=DAY WindowSize *MeterQueryWindowSize `form:"windowSize,omitempty" json:"windowSize,omitempty"` // WindowTimeZone The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). // If not specified, the UTC timezone will be used. // // For example: ?windowTimeZone=UTC WindowTimeZone *MeterQueryWindowTimeZone `form:"windowTimeZone,omitempty" json:"windowTimeZone,omitempty"` // Subject Filtering by multiple subjects. // // For example: ?subject=subject-1&subject=subject-2 Subject *MeterQuerySubject `form:"subject,omitempty" json:"subject,omitempty"` // FilterCustomerId Filtering by multiple customers. // // For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2 FilterCustomerId *MeterQueryFilterCustomerId `form:"filterCustomerId,omitempty" json:"filterCustomerId,omitempty"` // FilterGroupBy Simple filter for group bys with exact match. // // For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo // // ⚠️ __Deprecated__: Use `advancedMeterGroupByFilters` instead FilterGroupBy *MeterQueryFilterGroupBy `json:"filterGroupBy,omitempty"` // AdvancedMeterGroupByFilters Optional advanced meter group by filters. // You can use this to filter for values of the meter groupBy fields. AdvancedMeterGroupByFilters *MeterQueryAdvancedMeterGroupByFilters `form:"advancedMeterGroupByFilters,omitempty" json:"advancedMeterGroupByFilters,omitempty"` // GroupBy If not specified a single aggregate will be returned for each subject and time window. // `subject` is a reserved group by value. // // For example: ?groupBy=subject&groupBy=model GroupBy *MeterQueryGroupBy `form:"groupBy,omitempty" json:"groupBy,omitempty"` } // ListMeterSubjectsParams defines parameters for ListMeterSubjects. type ListMeterSubjectsParams struct { // From Start date-time in RFC 3339 format. // // Inclusive. Defaults to the beginning of time. // // For example: ?from=2025-01-01T00%3A00%3A00.000Z From *time.Time `form:"from,omitempty" json:"from,omitempty"` // To End date-time in RFC 3339 format. // // Inclusive. // // For example: ?to=2025-02-01T00%3A00%3A00.000Z To *time.Time `form:"to,omitempty" json:"to,omitempty"` } // ListNotificationChannelsParams defines parameters for ListNotificationChannels. type ListNotificationChannelsParams struct { // IncludeDeleted Include deleted notification channels in response. // // Usage: `?includeDeleted=true` IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // IncludeDisabled Include disabled notification channels in response. // // Usage: `?includeDisabled=false` IncludeDisabled *bool `form:"includeDisabled,omitempty" json:"includeDisabled,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *NotificationChannelOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *NotificationChannelOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListNotificationEventsParams defines parameters for ListNotificationEvents. type ListNotificationEventsParams struct { // From Start date-time in RFC 3339 format. // Inclusive. From *time.Time `form:"from,omitempty" json:"from,omitempty"` // To End date-time in RFC 3339 format. // Inclusive. To *time.Time `form:"to,omitempty" json:"to,omitempty"` // Feature Filtering by multiple feature ids or keys. // // Usage: `?feature=feature-1&feature=feature-2` Feature *[]string `form:"feature,omitempty" json:"feature,omitempty"` // Subject Filtering by multiple subject ids or keys. // // Usage: `?subject=subject-1&subject=subject-2` Subject *[]string `form:"subject,omitempty" json:"subject,omitempty"` // Rule Filtering by multiple rule ids. // // Usage: `?rule=01J8J2XYZ2N5WBYK09EDZFBSZM&rule=01J8J4R4VZH180KRKQ63NB2VA5` Rule *[]string `form:"rule,omitempty" json:"rule,omitempty"` // Channel Filtering by multiple channel ids. // // Usage: `?channel=01J8J4RXH778XB056JS088PCYT&channel=01J8J4S1R1G9EVN62RG23A9M6J` Channel *[]string `form:"channel,omitempty" json:"channel,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *NotificationEventOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *NotificationEventOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListNotificationRulesParams defines parameters for ListNotificationRules. type ListNotificationRulesParams struct { // IncludeDeleted Include deleted notification rules in response. // // Usage: `?includeDeleted=true` IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // IncludeDisabled Include disabled notification rules in response. // // Usage: `?includeDisabled=false` IncludeDisabled *bool `form:"includeDisabled,omitempty" json:"includeDisabled,omitempty"` // Feature Filtering by multiple feature ids/keys. // // Usage: `?feature=feature-1&feature=feature-2` Feature *[]string `form:"feature,omitempty" json:"feature,omitempty"` // Channel Filtering by multiple notifiaction channel ids. // // Usage: `?channel=01ARZ3NDEKTSV4RRFFQ69G5FAV&channel=01J8J2Y5X4NNGQS32CF81W95E3` Channel *[]string `form:"channel,omitempty" json:"channel,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *NotificationRuleOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *NotificationRuleOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListPlansParams defines parameters for ListPlans. type ListPlansParams struct { // IncludeDeleted Include deleted plans in response. // // Usage: `?includeDeleted=true` IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Id Filter by plan.id attribute Id *[]string `form:"id,omitempty" json:"id,omitempty"` // Key Filter by plan.key attribute Key *[]string `form:"key,omitempty" json:"key,omitempty"` // KeyVersion Filter by plan.key and plan.version attributes KeyVersion *map[string][]int `json:"keyVersion,omitempty"` // Status Only return plans with the given status. // // Usage: // - `?status=active`: return only the currently active plan // - `?status=draft`: return only the draft plan // - `?status=archived`: return only the archived plans Status *[]PlanStatus `form:"status,omitempty" json:"status,omitempty"` // Currency Filter by plan.currency attribute Currency *[]CurrencyCode `form:"currency,omitempty" json:"currency,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *PlanOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *PlanOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // GetPlanParams defines parameters for GetPlan. type GetPlanParams struct { // IncludeLatest Include latest version of the Plan instead of the version in active state. // // Usage: `?includeLatest=true` IncludeLatest *bool `form:"includeLatest,omitempty" json:"includeLatest,omitempty"` } // ListPlanAddonsParams defines parameters for ListPlanAddons. type ListPlanAddonsParams struct { // IncludeDeleted Include deleted plan add-on assignments. // // Usage: `?includeDeleted=true` IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Id Filter by addon.id attribute. Id *[]string `form:"id,omitempty" json:"id,omitempty"` // Key Filter by addon.key attribute. Key *[]string `form:"key,omitempty" json:"key,omitempty"` // KeyVersion Filter by addon.key and addon.version attributes. KeyVersion *map[string][]int `json:"keyVersion,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *PlanAddonOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *PlanAddonOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // QueryPortalMeterParams defines parameters for QueryPortalMeter. type QueryPortalMeterParams struct { // ClientId Client ID // Useful to track progress of a query. ClientId *MeterQueryClientId `form:"clientId,omitempty" json:"clientId,omitempty"` // From Start date-time in RFC 3339 format. // // Inclusive. // // For example: ?from=2025-01-01T00%3A00%3A00.000Z From *MeterQueryFrom `form:"from,omitempty" json:"from,omitempty"` // To End date-time in RFC 3339 format. // // Inclusive. // // For example: ?to=2025-02-01T00%3A00%3A00.000Z To *MeterQueryTo `form:"to,omitempty" json:"to,omitempty"` // WindowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group. // // For example: ?windowSize=DAY WindowSize *MeterQueryWindowSize `form:"windowSize,omitempty" json:"windowSize,omitempty"` // WindowTimeZone The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones). // If not specified, the UTC timezone will be used. // // For example: ?windowTimeZone=UTC WindowTimeZone *MeterQueryWindowTimeZone `form:"windowTimeZone,omitempty" json:"windowTimeZone,omitempty"` // FilterCustomerId Filtering by multiple customers. // // For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2 FilterCustomerId *MeterQueryFilterCustomerId `form:"filterCustomerId,omitempty" json:"filterCustomerId,omitempty"` // FilterGroupBy Simple filter for group bys with exact match. // // For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo // // ⚠️ __Deprecated__: Use `advancedMeterGroupByFilters` instead FilterGroupBy *MeterQueryFilterGroupBy `json:"filterGroupBy,omitempty"` // AdvancedMeterGroupByFilters Optional advanced meter group by filters. // You can use this to filter for values of the meter groupBy fields. AdvancedMeterGroupByFilters *MeterQueryAdvancedMeterGroupByFilters `form:"advancedMeterGroupByFilters,omitempty" json:"advancedMeterGroupByFilters,omitempty"` // GroupBy If not specified a single aggregate will be returned for each subject and time window. // `subject` is a reserved group by value. // // For example: ?groupBy=subject&groupBy=model GroupBy *MeterQueryGroupBy `form:"groupBy,omitempty" json:"groupBy,omitempty"` } // ListPortalTokensParams defines parameters for ListPortalTokens. type ListPortalTokensParams struct { Limit *int `form:"limit,omitempty" json:"limit,omitempty"` } // InvalidatePortalTokensJSONBody defines parameters for InvalidatePortalTokens. type InvalidatePortalTokensJSONBody struct { // Id Invalidate a portal token by ID. Id *string `json:"id,omitempty"` // Subject Invalidate all portal tokens for a subject. Subject *string `json:"subject,omitempty"` } // UpsertSubjectJSONBody defines parameters for UpsertSubject. type UpsertSubjectJSONBody = []SubjectUpsert // ListSubjectEntitlementsParams defines parameters for ListSubjectEntitlements. type ListSubjectEntitlementsParams struct { IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` } // ListEntitlementGrantsParams defines parameters for ListEntitlementGrants. type ListEntitlementGrantsParams struct { IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` OrderBy *GrantOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // GetEntitlementValueParams defines parameters for GetEntitlementValue. type GetEntitlementValueParams struct { Time *time.Time `form:"time,omitempty" json:"time,omitempty"` } // GetEntitlementHistoryParams defines parameters for GetEntitlementHistory. type GetEntitlementHistoryParams struct { // From Start of time range to query entitlement: date-time in RFC 3339 format. Defaults to the last reset. Gets truncated to the granularity of the underlying meter. From *time.Time `form:"from,omitempty" json:"from,omitempty"` // To End of time range to query entitlement: date-time in RFC 3339 format. Defaults to now. // If not now then gets truncated to the granularity of the underlying meter. To *time.Time `form:"to,omitempty" json:"to,omitempty"` // WindowSize Windowsize WindowSize WindowSize `form:"windowSize" json:"windowSize"` // WindowTimeZone The timezone used when calculating the windows. WindowTimeZone *string `form:"windowTimeZone,omitempty" json:"windowTimeZone,omitempty"` } // GetSubscriptionParams defines parameters for GetSubscription. type GetSubscriptionParams struct { // At The time at which the subscription should be queried. If not provided the current time is used. At *time.Time `form:"at,omitempty" json:"at,omitempty"` } // CancelSubscriptionJSONBody defines parameters for CancelSubscription. type CancelSubscriptionJSONBody struct { // Timing If not provided the subscription is canceled immediately. Timing *SubscriptionTiming `json:"timing,omitempty"` } // MigrateSubscriptionJSONBody defines parameters for MigrateSubscription. type MigrateSubscriptionJSONBody struct { // BillingAnchor The billing anchor of the subscription. The provided date will be normalized according to the billing cadence to the nearest recurrence before start time. If not provided, the previous subscription billing anchor will be used. BillingAnchor *time.Time `json:"billingAnchor,omitempty"` // StartingPhase The key of the phase to start the subscription in. // If not provided, the subscription will start in the first phase of the plan. StartingPhase *string `json:"startingPhase,omitempty"` // TargetVersion The version of the plan to migrate to. // If not provided, the subscription will migrate to the latest version of the current plan. TargetVersion *int `json:"targetVersion,omitempty"` // Timing Timing configuration for the migration, when the migration should take effect. // If not supported by the subscription, 400 will be returned. Timing *SubscriptionTiming `json:"timing,omitempty"` } // ListCustomerEntitlementsV2Params defines parameters for ListCustomerEntitlementsV2. type ListCustomerEntitlementsV2Params struct { IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Order The order direction. Order *EntitlementOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *EntitlementOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListCustomerEntitlementGrantsV2Params defines parameters for ListCustomerEntitlementGrantsV2. type ListCustomerEntitlementGrantsV2Params struct { IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Offset Number of items to skip. // // Default is 0. Offset *LimitOffsetOffset `form:"offset,omitempty" json:"offset,omitempty"` // Limit Number of items to return. // // Default is 100. Limit *LimitOffsetLimit `form:"limit,omitempty" json:"limit,omitempty"` // Order The order direction. Order *GrantOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *GrantOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // GetCustomerEntitlementHistoryV2Params defines parameters for GetCustomerEntitlementHistoryV2. type GetCustomerEntitlementHistoryV2Params struct { // From Start of time range to query entitlement: date-time in RFC 3339 format. Defaults to the last reset. Gets truncated to the granularity of the underlying meter. From *time.Time `form:"from,omitempty" json:"from,omitempty"` // To End of time range to query entitlement: date-time in RFC 3339 format. Defaults to now. // If not now then gets truncated to the granularity of the underlying meter. To *time.Time `form:"to,omitempty" json:"to,omitempty"` // WindowSize Windowsize WindowSize WindowSize `form:"windowSize" json:"windowSize"` // WindowTimeZone The timezone used when calculating the windows. WindowTimeZone *string `form:"windowTimeZone,omitempty" json:"windowTimeZone,omitempty"` } // GetCustomerEntitlementValueV2Params defines parameters for GetCustomerEntitlementValueV2. type GetCustomerEntitlementValueV2Params struct { Time *time.Time `form:"time,omitempty" json:"time,omitempty"` } // ListEntitlementsV2Params defines parameters for ListEntitlementsV2. type ListEntitlementsV2Params struct { // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` Feature *[]string `form:"feature,omitempty" json:"feature,omitempty"` // CustomerKeys Filtering by multiple customers. // // Usage: `?customerKeys=customer-1&customerKeys=customer-3` CustomerKeys *[]string `form:"customerKeys,omitempty" json:"customerKeys,omitempty"` // CustomerIds Filtering by multiple customers. // // Usage: `?customerIds=01K4WAQ0J99ZZ0MD75HXR112H8&customerIds=01K4WAQ0J99ZZ0MD75HXR112H9` CustomerIds *[]string `form:"customerIds,omitempty" json:"customerIds,omitempty"` // EntitlementType Filtering by multiple entitlement types. // // Usage: `?entitlementType=metered&entitlementType=boolean` EntitlementType *[]EntitlementType `form:"entitlementType,omitempty" json:"entitlementType,omitempty"` // ExcludeInactive Exclude inactive entitlements in the response (those scheduled for later or earlier) ExcludeInactive *bool `form:"excludeInactive,omitempty" json:"excludeInactive,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Offset Number of items to skip. // // Default is 0. Offset *LimitOffsetOffset `form:"offset,omitempty" json:"offset,omitempty"` // Limit Number of items to return. // // Default is 100. Limit *LimitOffsetLimit `form:"limit,omitempty" json:"limit,omitempty"` // Order The order direction. Order *EntitlementOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *EntitlementOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // ListEventsV2Params defines parameters for ListEventsV2. type ListEventsV2Params struct { // Cursor The cursor after which to start the pagination. Cursor *CursorPaginationCursor `form:"cursor,omitempty" json:"cursor,omitempty"` // Limit The limit of the pagination. Limit *CursorPaginationLimit `form:"limit,omitempty" json:"limit,omitempty"` // ClientId Client ID // Useful to track progress of a query. ClientId *string `form:"clientId,omitempty" json:"clientId,omitempty"` // Filter The filter for the events encoded as JSON string. Filter *struct { // CustomerId A filter for a ID (ULID) field allowing only equality or inclusion. CustomerId *FilterIDExact `json:"customerId,omitempty"` // Id A filter for a string field. Id *FilterString `json:"id,omitempty"` // IngestedAt A filter for a time field. IngestedAt *FilterTime `json:"ingestedAt,omitempty"` // Source A filter for a string field. Source *FilterString `json:"source,omitempty"` // Subject A filter for a string field. Subject *FilterString `json:"subject,omitempty"` // Time A filter for a time field. Time *FilterTime `json:"time,omitempty"` // Type A filter for a string field. Type *FilterString `json:"type,omitempty"` } `form:"filter,omitempty" json:"filter,omitempty"` } // ListGrantsV2Params defines parameters for ListGrantsV2. type ListGrantsV2Params struct { // Feature Filtering by multiple features. // // Usage: `?feature=feature-1&feature=feature-2` Feature *[]string `form:"feature,omitempty" json:"feature,omitempty"` // Customer Filtering by multiple customers (either by ID or key). // // Usage: `?customer=customer-1&customer=customer-2` Customer *[]ULIDOrExternalKey `form:"customer,omitempty" json:"customer,omitempty"` // IncludeDeleted Include deleted IncludeDeleted *bool `form:"includeDeleted,omitempty" json:"includeDeleted,omitempty"` // Page Page index. // // Default is 1. Page *PaginationPage `form:"page,omitempty" json:"page,omitempty"` // PageSize The maximum number of items per page. // // Default is 100. PageSize *PaginationPageSize `form:"pageSize,omitempty" json:"pageSize,omitempty"` // Offset Number of items to skip. // // Default is 0. Offset *LimitOffsetOffset `form:"offset,omitempty" json:"offset,omitempty"` // Limit Number of items to return. // // Default is 100. Limit *LimitOffsetLimit `form:"limit,omitempty" json:"limit,omitempty"` // Order The order direction. Order *GrantOrderByOrderingOrder `form:"order,omitempty" json:"order,omitempty"` // OrderBy The order by field. OrderBy *GrantOrderByOrderingOrderBy `form:"orderBy,omitempty" json:"orderBy,omitempty"` } // CreateAddonJSONRequestBody defines body for CreateAddon for application/json ContentType. type CreateAddonJSONRequestBody = AddonCreate // UpdateAddonJSONRequestBody defines body for UpdateAddon for application/json ContentType. type UpdateAddonJSONRequestBody = AddonReplaceUpdate // AppCustomInvoicingDraftSynchronizedJSONRequestBody defines body for AppCustomInvoicingDraftSynchronized for application/json ContentType. type AppCustomInvoicingDraftSynchronizedJSONRequestBody = CustomInvoicingDraftSynchronizedRequest // AppCustomInvoicingIssuingSynchronizedJSONRequestBody defines body for AppCustomInvoicingIssuingSynchronized for application/json ContentType. type AppCustomInvoicingIssuingSynchronizedJSONRequestBody = CustomInvoicingFinalizedRequest // AppCustomInvoicingUpdatePaymentStatusJSONRequestBody defines body for AppCustomInvoicingUpdatePaymentStatus for application/json ContentType. type AppCustomInvoicingUpdatePaymentStatusJSONRequestBody = CustomInvoicingUpdatePaymentStatusRequest // UpdateAppJSONRequestBody defines body for UpdateApp for application/json ContentType. type UpdateAppJSONRequestBody = AppReplaceUpdate // UpdateStripeAPIKeyJSONRequestBody defines body for UpdateStripeAPIKey for application/json ContentType. type UpdateStripeAPIKeyJSONRequestBody = StripeAPIKeyInput // AppStripeWebhookJSONRequestBody defines body for AppStripeWebhook for application/json ContentType. type AppStripeWebhookJSONRequestBody = StripeWebhookEvent // UpsertBillingProfileCustomerOverrideJSONRequestBody defines body for UpsertBillingProfileCustomerOverride for application/json ContentType. type UpsertBillingProfileCustomerOverrideJSONRequestBody = BillingProfileCustomerOverrideCreate // CreatePendingInvoiceLineJSONRequestBody defines body for CreatePendingInvoiceLine for application/json ContentType. type CreatePendingInvoiceLineJSONRequestBody = InvoicePendingLineCreateInput // SimulateInvoiceJSONRequestBody defines body for SimulateInvoice for application/json ContentType. type SimulateInvoiceJSONRequestBody = InvoiceSimulationInput // InvoicePendingLinesActionJSONRequestBody defines body for InvoicePendingLinesAction for application/json ContentType. type InvoicePendingLinesActionJSONRequestBody = InvoicePendingLinesActionInput // UpdateInvoiceJSONRequestBody defines body for UpdateInvoice for application/json ContentType. type UpdateInvoiceJSONRequestBody = InvoiceReplaceUpdate // VoidInvoiceActionJSONRequestBody defines body for VoidInvoiceAction for application/json ContentType. type VoidInvoiceActionJSONRequestBody = VoidInvoiceActionInput // CreateBillingProfileJSONRequestBody defines body for CreateBillingProfile for application/json ContentType. type CreateBillingProfileJSONRequestBody = BillingProfileCreate // UpdateBillingProfileJSONRequestBody defines body for UpdateBillingProfile for application/json ContentType. type UpdateBillingProfileJSONRequestBody = BillingProfileReplaceUpdateWithWorkflow // CreateCustomerJSONRequestBody defines body for CreateCustomer for application/json ContentType. type CreateCustomerJSONRequestBody = CustomerCreate // UpdateCustomerJSONRequestBody defines body for UpdateCustomer for application/json ContentType. type UpdateCustomerJSONRequestBody = CustomerReplaceUpdate // UpsertCustomerAppDataJSONRequestBody defines body for UpsertCustomerAppData for application/json ContentType. type UpsertCustomerAppDataJSONRequestBody = UpsertCustomerAppDataJSONBody // UpsertCustomerStripeAppDataJSONRequestBody defines body for UpsertCustomerStripeAppData for application/json ContentType. type UpsertCustomerStripeAppDataJSONRequestBody = StripeCustomerAppDataBase // CreateCustomerStripePortalSessionJSONRequestBody defines body for CreateCustomerStripePortalSession for application/json ContentType. type CreateCustomerStripePortalSessionJSONRequestBody = CreateStripeCustomerPortalSessionParams // IngestEventsApplicationCloudeventsPlusJSONRequestBody defines body for IngestEvents for application/cloudevents+json ContentType. type IngestEventsApplicationCloudeventsPlusJSONRequestBody = Event // IngestEventsApplicationCloudeventsBatchPlusJSONRequestBody defines body for IngestEvents for application/cloudevents-batch+json ContentType. type IngestEventsApplicationCloudeventsBatchPlusJSONRequestBody = IngestEventsApplicationCloudeventsBatchPlusJSONBody // IngestEventsJSONRequestBody defines body for IngestEvents for application/json ContentType. type IngestEventsJSONRequestBody = IngestEventsBody // CreateFeatureJSONRequestBody defines body for CreateFeature for application/json ContentType. type CreateFeatureJSONRequestBody = FeatureCreateInputs // MarketplaceAppInstallJSONRequestBody defines body for MarketplaceAppInstall for application/json ContentType. type MarketplaceAppInstallJSONRequestBody = MarketplaceInstallRequestPayload // MarketplaceAppAPIKeyInstallJSONRequestBody defines body for MarketplaceAppAPIKeyInstall for application/json ContentType. type MarketplaceAppAPIKeyInstallJSONRequestBody MarketplaceAppAPIKeyInstallJSONBody // CreateMeterJSONRequestBody defines body for CreateMeter for application/json ContentType. type CreateMeterJSONRequestBody = MeterCreate // UpdateMeterJSONRequestBody defines body for UpdateMeter for application/json ContentType. type UpdateMeterJSONRequestBody = MeterUpdate // QueryMeterPostJSONRequestBody defines body for QueryMeterPost for application/json ContentType. type QueryMeterPostJSONRequestBody = MeterQueryRequest // CreateNotificationChannelJSONRequestBody defines body for CreateNotificationChannel for application/json ContentType. type CreateNotificationChannelJSONRequestBody = NotificationChannelCreateRequest // UpdateNotificationChannelJSONRequestBody defines body for UpdateNotificationChannel for application/json ContentType. type UpdateNotificationChannelJSONRequestBody = NotificationChannelCreateRequest // ResendNotificationEventJSONRequestBody defines body for ResendNotificationEvent for application/json ContentType. type ResendNotificationEventJSONRequestBody = NotificationEventResendRequest // CreateNotificationRuleJSONRequestBody defines body for CreateNotificationRule for application/json ContentType. type CreateNotificationRuleJSONRequestBody = NotificationRuleCreateRequest // UpdateNotificationRuleJSONRequestBody defines body for UpdateNotificationRule for application/json ContentType. type UpdateNotificationRuleJSONRequestBody = NotificationRuleCreateRequest // CreatePlanJSONRequestBody defines body for CreatePlan for application/json ContentType. type CreatePlanJSONRequestBody = PlanCreate // UpdatePlanJSONRequestBody defines body for UpdatePlan for application/json ContentType. type UpdatePlanJSONRequestBody = PlanReplaceUpdate // CreatePlanAddonJSONRequestBody defines body for CreatePlanAddon for application/json ContentType. type CreatePlanAddonJSONRequestBody = PlanAddonCreate // UpdatePlanAddonJSONRequestBody defines body for UpdatePlanAddon for application/json ContentType. type UpdatePlanAddonJSONRequestBody = PlanAddonReplaceUpdate // CreatePortalTokenJSONRequestBody defines body for CreatePortalToken for application/json ContentType. type CreatePortalTokenJSONRequestBody = PortalToken // InvalidatePortalTokensJSONRequestBody defines body for InvalidatePortalTokens for application/json ContentType. type InvalidatePortalTokensJSONRequestBody InvalidatePortalTokensJSONBody // CreateStripeCheckoutSessionJSONRequestBody defines body for CreateStripeCheckoutSession for application/json ContentType. type CreateStripeCheckoutSessionJSONRequestBody = CreateStripeCheckoutSessionRequest // UpsertSubjectJSONRequestBody defines body for UpsertSubject for application/json ContentType. type UpsertSubjectJSONRequestBody = UpsertSubjectJSONBody // CreateEntitlementJSONRequestBody defines body for CreateEntitlement for application/json ContentType. type CreateEntitlementJSONRequestBody = EntitlementCreateInputs // CreateGrantJSONRequestBody defines body for CreateGrant for application/json ContentType. type CreateGrantJSONRequestBody = EntitlementGrantCreateInput // OverrideEntitlementJSONRequestBody defines body for OverrideEntitlement for application/json ContentType. type OverrideEntitlementJSONRequestBody = EntitlementCreateInputs // ResetEntitlementUsageJSONRequestBody defines body for ResetEntitlementUsage for application/json ContentType. type ResetEntitlementUsageJSONRequestBody = ResetEntitlementUsageInput // CreateSubscriptionJSONRequestBody defines body for CreateSubscription for application/json ContentType. type CreateSubscriptionJSONRequestBody = SubscriptionCreate // EditSubscriptionJSONRequestBody defines body for EditSubscription for application/json ContentType. type EditSubscriptionJSONRequestBody = SubscriptionEdit // CreateSubscriptionAddonJSONRequestBody defines body for CreateSubscriptionAddon for application/json ContentType. type CreateSubscriptionAddonJSONRequestBody = SubscriptionAddonCreate // UpdateSubscriptionAddonJSONRequestBody defines body for UpdateSubscriptionAddon for application/json ContentType. type UpdateSubscriptionAddonJSONRequestBody = SubscriptionAddonUpdate // CancelSubscriptionJSONRequestBody defines body for CancelSubscription for application/json ContentType. type CancelSubscriptionJSONRequestBody CancelSubscriptionJSONBody // ChangeSubscriptionJSONRequestBody defines body for ChangeSubscription for application/json ContentType. type ChangeSubscriptionJSONRequestBody = SubscriptionChange // MigrateSubscriptionJSONRequestBody defines body for MigrateSubscription for application/json ContentType. type MigrateSubscriptionJSONRequestBody MigrateSubscriptionJSONBody // CreateCustomerEntitlementV2JSONRequestBody defines body for CreateCustomerEntitlementV2 for application/json ContentType. type CreateCustomerEntitlementV2JSONRequestBody = EntitlementV2CreateInputs // CreateCustomerEntitlementGrantV2JSONRequestBody defines body for CreateCustomerEntitlementGrantV2 for application/json ContentType. type CreateCustomerEntitlementGrantV2JSONRequestBody = EntitlementGrantCreateInputV2 // OverrideCustomerEntitlementV2JSONRequestBody defines body for OverrideCustomerEntitlementV2 for application/json ContentType. type OverrideCustomerEntitlementV2JSONRequestBody = EntitlementV2CreateInputs // ResetCustomerEntitlementUsageV2JSONRequestBody defines body for ResetCustomerEntitlementUsageV2 for application/json ContentType. type ResetCustomerEntitlementUsageV2JSONRequestBody = ResetEntitlementUsageInput // Getter for additional properties for ErrorExtension. Returns the specified // element and whether it was found func (a ErrorExtension) Get(fieldName string) (value interface{}, found bool) { if a.AdditionalProperties != nil { value, found = a.AdditionalProperties[fieldName] } return } // Setter for additional properties for ErrorExtension func (a *ErrorExtension) Set(fieldName string, value interface{}) { if a.AdditionalProperties == nil { a.AdditionalProperties = make(map[string]interface{}) } a.AdditionalProperties[fieldName] = value } // Override default JSON handling for ErrorExtension to handle AdditionalProperties func (a *ErrorExtension) UnmarshalJSON(b []byte) error { object := make(map[string]json.RawMessage) err := json.Unmarshal(b, &object) if err != nil { return err } if raw, found := object["code"]; found { err = json.Unmarshal(raw, &a.Code) if err != nil { return fmt.Errorf("error reading 'code': %w", err) } delete(object, "code") } if raw, found := object["field"]; found { err = json.Unmarshal(raw, &a.Field) if err != nil { return fmt.Errorf("error reading 'field': %w", err) } delete(object, "field") } if raw, found := object["message"]; found { err = json.Unmarshal(raw, &a.Message) if err != nil { return fmt.Errorf("error reading 'message': %w", err) } delete(object, "message") } if len(object) != 0 { a.AdditionalProperties = make(map[string]interface{}) for fieldName, fieldBuf := range object { var fieldVal interface{} err := json.Unmarshal(fieldBuf, &fieldVal) if err != nil { return fmt.Errorf("error unmarshaling field %s: %w", fieldName, err) } a.AdditionalProperties[fieldName] = fieldVal } } return nil } // Override default JSON handling for ErrorExtension to handle AdditionalProperties func (a ErrorExtension) MarshalJSON() ([]byte, error) { var err error object := make(map[string]json.RawMessage) object["code"], err = json.Marshal(a.Code) if err != nil { return nil, fmt.Errorf("error marshaling 'code': %w", err) } object["field"], err = json.Marshal(a.Field) if err != nil { return nil, fmt.Errorf("error marshaling 'field': %w", err) } object["message"], err = json.Marshal(a.Message) if err != nil { return nil, fmt.Errorf("error marshaling 'message': %w", err) } for fieldName, field := range a.AdditionalProperties { object[fieldName], err = json.Marshal(field) if err != nil { return nil, fmt.Errorf("error marshaling '%s': %w", fieldName, err) } } return json.Marshal(object) } // AsStripeApp returns the union data inside the App as a StripeApp func (t App) AsStripeApp() (StripeApp, error) { var body StripeApp err := json.Unmarshal(t.union, &body) return body, err } // FromStripeApp overwrites any union data inside the App as the provided StripeApp func (t *App) FromStripeApp(v StripeApp) error { v.Type = "stripe" b, err := json.Marshal(v) t.union = b return err } // MergeStripeApp performs a merge with any union data inside the App, using the provided StripeApp func (t *App) MergeStripeApp(v StripeApp) error { v.Type = "stripe" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsSandboxApp returns the union data inside the App as a SandboxApp func (t App) AsSandboxApp() (SandboxApp, error) { var body SandboxApp err := json.Unmarshal(t.union, &body) return body, err } // FromSandboxApp overwrites any union data inside the App as the provided SandboxApp func (t *App) FromSandboxApp(v SandboxApp) error { v.Type = "sandbox" b, err := json.Marshal(v) t.union = b return err } // MergeSandboxApp performs a merge with any union data inside the App, using the provided SandboxApp func (t *App) MergeSandboxApp(v SandboxApp) error { v.Type = "sandbox" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomInvoicingApp returns the union data inside the App as a CustomInvoicingApp func (t App) AsCustomInvoicingApp() (CustomInvoicingApp, error) { var body CustomInvoicingApp err := json.Unmarshal(t.union, &body) return body, err } // FromCustomInvoicingApp overwrites any union data inside the App as the provided CustomInvoicingApp func (t *App) FromCustomInvoicingApp(v CustomInvoicingApp) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) t.union = b return err } // MergeCustomInvoicingApp performs a merge with any union data inside the App, using the provided CustomInvoicingApp func (t *App) MergeCustomInvoicingApp(v CustomInvoicingApp) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t App) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t App) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "custom_invoicing": return t.AsCustomInvoicingApp() case "sandbox": return t.AsSandboxApp() case "stripe": return t.AsStripeApp() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t App) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *App) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsStripeAppReadOrCreateOrUpdateOrDeleteOrQuery returns the union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery as a StripeAppReadOrCreateOrUpdateOrDeleteOrQuery func (t AppReadOrCreateOrUpdateOrDeleteOrQuery) AsStripeAppReadOrCreateOrUpdateOrDeleteOrQuery() (StripeAppReadOrCreateOrUpdateOrDeleteOrQuery, error) { var body StripeAppReadOrCreateOrUpdateOrDeleteOrQuery err := json.Unmarshal(t.union, &body) return body, err } // FromStripeAppReadOrCreateOrUpdateOrDeleteOrQuery overwrites any union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery as the provided StripeAppReadOrCreateOrUpdateOrDeleteOrQuery func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) FromStripeAppReadOrCreateOrUpdateOrDeleteOrQuery(v StripeAppReadOrCreateOrUpdateOrDeleteOrQuery) error { v.Type = "stripe" b, err := json.Marshal(v) t.union = b return err } // MergeStripeAppReadOrCreateOrUpdateOrDeleteOrQuery performs a merge with any union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery, using the provided StripeAppReadOrCreateOrUpdateOrDeleteOrQuery func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) MergeStripeAppReadOrCreateOrUpdateOrDeleteOrQuery(v StripeAppReadOrCreateOrUpdateOrDeleteOrQuery) error { v.Type = "stripe" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsSandboxApp returns the union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery as a SandboxApp func (t AppReadOrCreateOrUpdateOrDeleteOrQuery) AsSandboxApp() (SandboxApp, error) { var body SandboxApp err := json.Unmarshal(t.union, &body) return body, err } // FromSandboxApp overwrites any union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery as the provided SandboxApp func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) FromSandboxApp(v SandboxApp) error { v.Type = "sandbox" b, err := json.Marshal(v) t.union = b return err } // MergeSandboxApp performs a merge with any union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery, using the provided SandboxApp func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) MergeSandboxApp(v SandboxApp) error { v.Type = "sandbox" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomInvoicingApp returns the union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery as a CustomInvoicingApp func (t AppReadOrCreateOrUpdateOrDeleteOrQuery) AsCustomInvoicingApp() (CustomInvoicingApp, error) { var body CustomInvoicingApp err := json.Unmarshal(t.union, &body) return body, err } // FromCustomInvoicingApp overwrites any union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery as the provided CustomInvoicingApp func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) FromCustomInvoicingApp(v CustomInvoicingApp) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) t.union = b return err } // MergeCustomInvoicingApp performs a merge with any union data inside the AppReadOrCreateOrUpdateOrDeleteOrQuery, using the provided CustomInvoicingApp func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) MergeCustomInvoicingApp(v CustomInvoicingApp) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t AppReadOrCreateOrUpdateOrDeleteOrQuery) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t AppReadOrCreateOrUpdateOrDeleteOrQuery) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "custom_invoicing": return t.AsCustomInvoicingApp() case "sandbox": return t.AsSandboxApp() case "stripe": return t.AsStripeAppReadOrCreateOrUpdateOrDeleteOrQuery() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t AppReadOrCreateOrUpdateOrDeleteOrQuery) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *AppReadOrCreateOrUpdateOrDeleteOrQuery) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsStripeAppReplaceUpdate returns the union data inside the AppReplaceUpdate as a StripeAppReplaceUpdate func (t AppReplaceUpdate) AsStripeAppReplaceUpdate() (StripeAppReplaceUpdate, error) { var body StripeAppReplaceUpdate err := json.Unmarshal(t.union, &body) return body, err } // FromStripeAppReplaceUpdate overwrites any union data inside the AppReplaceUpdate as the provided StripeAppReplaceUpdate func (t *AppReplaceUpdate) FromStripeAppReplaceUpdate(v StripeAppReplaceUpdate) error { v.Type = "stripe" b, err := json.Marshal(v) t.union = b return err } // MergeStripeAppReplaceUpdate performs a merge with any union data inside the AppReplaceUpdate, using the provided StripeAppReplaceUpdate func (t *AppReplaceUpdate) MergeStripeAppReplaceUpdate(v StripeAppReplaceUpdate) error { v.Type = "stripe" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsSandboxAppReplaceUpdate returns the union data inside the AppReplaceUpdate as a SandboxAppReplaceUpdate func (t AppReplaceUpdate) AsSandboxAppReplaceUpdate() (SandboxAppReplaceUpdate, error) { var body SandboxAppReplaceUpdate err := json.Unmarshal(t.union, &body) return body, err } // FromSandboxAppReplaceUpdate overwrites any union data inside the AppReplaceUpdate as the provided SandboxAppReplaceUpdate func (t *AppReplaceUpdate) FromSandboxAppReplaceUpdate(v SandboxAppReplaceUpdate) error { v.Type = "sandbox" b, err := json.Marshal(v) t.union = b return err } // MergeSandboxAppReplaceUpdate performs a merge with any union data inside the AppReplaceUpdate, using the provided SandboxAppReplaceUpdate func (t *AppReplaceUpdate) MergeSandboxAppReplaceUpdate(v SandboxAppReplaceUpdate) error { v.Type = "sandbox" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomInvoicingAppReplaceUpdate returns the union data inside the AppReplaceUpdate as a CustomInvoicingAppReplaceUpdate func (t AppReplaceUpdate) AsCustomInvoicingAppReplaceUpdate() (CustomInvoicingAppReplaceUpdate, error) { var body CustomInvoicingAppReplaceUpdate err := json.Unmarshal(t.union, &body) return body, err } // FromCustomInvoicingAppReplaceUpdate overwrites any union data inside the AppReplaceUpdate as the provided CustomInvoicingAppReplaceUpdate func (t *AppReplaceUpdate) FromCustomInvoicingAppReplaceUpdate(v CustomInvoicingAppReplaceUpdate) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) t.union = b return err } // MergeCustomInvoicingAppReplaceUpdate performs a merge with any union data inside the AppReplaceUpdate, using the provided CustomInvoicingAppReplaceUpdate func (t *AppReplaceUpdate) MergeCustomInvoicingAppReplaceUpdate(v CustomInvoicingAppReplaceUpdate) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t AppReplaceUpdate) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t AppReplaceUpdate) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "custom_invoicing": return t.AsCustomInvoicingAppReplaceUpdate() case "sandbox": return t.AsSandboxAppReplaceUpdate() case "stripe": return t.AsStripeAppReplaceUpdate() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t AppReplaceUpdate) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *AppReplaceUpdate) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsDiscountReasonMaximumSpend returns the union data inside the BillingDiscountReason as a DiscountReasonMaximumSpend func (t BillingDiscountReason) AsDiscountReasonMaximumSpend() (DiscountReasonMaximumSpend, error) { var body DiscountReasonMaximumSpend err := json.Unmarshal(t.union, &body) return body, err } // FromDiscountReasonMaximumSpend overwrites any union data inside the BillingDiscountReason as the provided DiscountReasonMaximumSpend func (t *BillingDiscountReason) FromDiscountReasonMaximumSpend(v DiscountReasonMaximumSpend) error { v.Type = "maximum_spend" b, err := json.Marshal(v) t.union = b return err } // MergeDiscountReasonMaximumSpend performs a merge with any union data inside the BillingDiscountReason, using the provided DiscountReasonMaximumSpend func (t *BillingDiscountReason) MergeDiscountReasonMaximumSpend(v DiscountReasonMaximumSpend) error { v.Type = "maximum_spend" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsDiscountReasonRatecardPercentage returns the union data inside the BillingDiscountReason as a DiscountReasonRatecardPercentage func (t BillingDiscountReason) AsDiscountReasonRatecardPercentage() (DiscountReasonRatecardPercentage, error) { var body DiscountReasonRatecardPercentage err := json.Unmarshal(t.union, &body) return body, err } // FromDiscountReasonRatecardPercentage overwrites any union data inside the BillingDiscountReason as the provided DiscountReasonRatecardPercentage func (t *BillingDiscountReason) FromDiscountReasonRatecardPercentage(v DiscountReasonRatecardPercentage) error { v.Type = "ratecard_percentage" b, err := json.Marshal(v) t.union = b return err } // MergeDiscountReasonRatecardPercentage performs a merge with any union data inside the BillingDiscountReason, using the provided DiscountReasonRatecardPercentage func (t *BillingDiscountReason) MergeDiscountReasonRatecardPercentage(v DiscountReasonRatecardPercentage) error { v.Type = "ratecard_percentage" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsDiscountReasonRatecardUsage returns the union data inside the BillingDiscountReason as a DiscountReasonRatecardUsage func (t BillingDiscountReason) AsDiscountReasonRatecardUsage() (DiscountReasonRatecardUsage, error) { var body DiscountReasonRatecardUsage err := json.Unmarshal(t.union, &body) return body, err } // FromDiscountReasonRatecardUsage overwrites any union data inside the BillingDiscountReason as the provided DiscountReasonRatecardUsage func (t *BillingDiscountReason) FromDiscountReasonRatecardUsage(v DiscountReasonRatecardUsage) error { v.Type = "ratecard_usage" b, err := json.Marshal(v) t.union = b return err } // MergeDiscountReasonRatecardUsage performs a merge with any union data inside the BillingDiscountReason, using the provided DiscountReasonRatecardUsage func (t *BillingDiscountReason) MergeDiscountReasonRatecardUsage(v DiscountReasonRatecardUsage) error { v.Type = "ratecard_usage" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t BillingDiscountReason) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t BillingDiscountReason) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "maximum_spend": return t.AsDiscountReasonMaximumSpend() case "ratecard_percentage": return t.AsDiscountReasonRatecardPercentage() case "ratecard_usage": return t.AsDiscountReasonRatecardUsage() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t BillingDiscountReason) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *BillingDiscountReason) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsBillingProfileApps returns the union data inside the BillingProfileAppsOrReference as a BillingProfileApps func (t BillingProfileAppsOrReference) AsBillingProfileApps() (BillingProfileApps, error) { var body BillingProfileApps err := json.Unmarshal(t.union, &body) return body, err } // FromBillingProfileApps overwrites any union data inside the BillingProfileAppsOrReference as the provided BillingProfileApps func (t *BillingProfileAppsOrReference) FromBillingProfileApps(v BillingProfileApps) error { b, err := json.Marshal(v) t.union = b return err } // MergeBillingProfileApps performs a merge with any union data inside the BillingProfileAppsOrReference, using the provided BillingProfileApps func (t *BillingProfileAppsOrReference) MergeBillingProfileApps(v BillingProfileApps) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsBillingProfileAppReferences returns the union data inside the BillingProfileAppsOrReference as a BillingProfileAppReferences func (t BillingProfileAppsOrReference) AsBillingProfileAppReferences() (BillingProfileAppReferences, error) { var body BillingProfileAppReferences err := json.Unmarshal(t.union, &body) return body, err } // FromBillingProfileAppReferences overwrites any union data inside the BillingProfileAppsOrReference as the provided BillingProfileAppReferences func (t *BillingProfileAppsOrReference) FromBillingProfileAppReferences(v BillingProfileAppReferences) error { b, err := json.Marshal(v) t.union = b return err } // MergeBillingProfileAppReferences performs a merge with any union data inside the BillingProfileAppsOrReference, using the provided BillingProfileAppReferences func (t *BillingProfileAppsOrReference) MergeBillingProfileAppReferences(v BillingProfileAppReferences) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t BillingProfileAppsOrReference) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *BillingProfileAppsOrReference) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsBillingWorkflowCollectionAlignmentSubscription returns the union data inside the BillingWorkflowCollectionAlignment as a BillingWorkflowCollectionAlignmentSubscription func (t BillingWorkflowCollectionAlignment) AsBillingWorkflowCollectionAlignmentSubscription() (BillingWorkflowCollectionAlignmentSubscription, error) { var body BillingWorkflowCollectionAlignmentSubscription err := json.Unmarshal(t.union, &body) return body, err } // FromBillingWorkflowCollectionAlignmentSubscription overwrites any union data inside the BillingWorkflowCollectionAlignment as the provided BillingWorkflowCollectionAlignmentSubscription func (t *BillingWorkflowCollectionAlignment) FromBillingWorkflowCollectionAlignmentSubscription(v BillingWorkflowCollectionAlignmentSubscription) error { v.Type = "subscription" b, err := json.Marshal(v) t.union = b return err } // MergeBillingWorkflowCollectionAlignmentSubscription performs a merge with any union data inside the BillingWorkflowCollectionAlignment, using the provided BillingWorkflowCollectionAlignmentSubscription func (t *BillingWorkflowCollectionAlignment) MergeBillingWorkflowCollectionAlignmentSubscription(v BillingWorkflowCollectionAlignmentSubscription) error { v.Type = "subscription" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsBillingWorkflowCollectionAlignmentAnchored returns the union data inside the BillingWorkflowCollectionAlignment as a BillingWorkflowCollectionAlignmentAnchored func (t BillingWorkflowCollectionAlignment) AsBillingWorkflowCollectionAlignmentAnchored() (BillingWorkflowCollectionAlignmentAnchored, error) { var body BillingWorkflowCollectionAlignmentAnchored err := json.Unmarshal(t.union, &body) return body, err } // FromBillingWorkflowCollectionAlignmentAnchored overwrites any union data inside the BillingWorkflowCollectionAlignment as the provided BillingWorkflowCollectionAlignmentAnchored func (t *BillingWorkflowCollectionAlignment) FromBillingWorkflowCollectionAlignmentAnchored(v BillingWorkflowCollectionAlignmentAnchored) error { v.Type = "anchored" b, err := json.Marshal(v) t.union = b return err } // MergeBillingWorkflowCollectionAlignmentAnchored performs a merge with any union data inside the BillingWorkflowCollectionAlignment, using the provided BillingWorkflowCollectionAlignmentAnchored func (t *BillingWorkflowCollectionAlignment) MergeBillingWorkflowCollectionAlignmentAnchored(v BillingWorkflowCollectionAlignmentAnchored) error { v.Type = "anchored" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t BillingWorkflowCollectionAlignment) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t BillingWorkflowCollectionAlignment) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "anchored": return t.AsBillingWorkflowCollectionAlignmentAnchored() case "subscription": return t.AsBillingWorkflowCollectionAlignmentSubscription() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t BillingWorkflowCollectionAlignment) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *BillingWorkflowCollectionAlignment) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsCustomerId returns the union data inside the CreateStripeCheckoutSessionRequest_Customer as a CustomerId func (t CreateStripeCheckoutSessionRequest_Customer) AsCustomerId() (CustomerId, error) { var body CustomerId err := json.Unmarshal(t.union, &body) return body, err } // FromCustomerId overwrites any union data inside the CreateStripeCheckoutSessionRequest_Customer as the provided CustomerId func (t *CreateStripeCheckoutSessionRequest_Customer) FromCustomerId(v CustomerId) error { b, err := json.Marshal(v) t.union = b return err } // MergeCustomerId performs a merge with any union data inside the CreateStripeCheckoutSessionRequest_Customer, using the provided CustomerId func (t *CreateStripeCheckoutSessionRequest_Customer) MergeCustomerId(v CustomerId) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomerKey returns the union data inside the CreateStripeCheckoutSessionRequest_Customer as a CustomerKey func (t CreateStripeCheckoutSessionRequest_Customer) AsCustomerKey() (CustomerKey, error) { var body CustomerKey err := json.Unmarshal(t.union, &body) return body, err } // FromCustomerKey overwrites any union data inside the CreateStripeCheckoutSessionRequest_Customer as the provided CustomerKey func (t *CreateStripeCheckoutSessionRequest_Customer) FromCustomerKey(v CustomerKey) error { b, err := json.Marshal(v) t.union = b return err } // MergeCustomerKey performs a merge with any union data inside the CreateStripeCheckoutSessionRequest_Customer, using the provided CustomerKey func (t *CreateStripeCheckoutSessionRequest_Customer) MergeCustomerKey(v CustomerKey) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomerCreate returns the union data inside the CreateStripeCheckoutSessionRequest_Customer as a CustomerCreate func (t CreateStripeCheckoutSessionRequest_Customer) AsCustomerCreate() (CustomerCreate, error) { var body CustomerCreate err := json.Unmarshal(t.union, &body) return body, err } // FromCustomerCreate overwrites any union data inside the CreateStripeCheckoutSessionRequest_Customer as the provided CustomerCreate func (t *CreateStripeCheckoutSessionRequest_Customer) FromCustomerCreate(v CustomerCreate) error { b, err := json.Marshal(v) t.union = b return err } // MergeCustomerCreate performs a merge with any union data inside the CreateStripeCheckoutSessionRequest_Customer, using the provided CustomerCreate func (t *CreateStripeCheckoutSessionRequest_Customer) MergeCustomerCreate(v CustomerCreate) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t CreateStripeCheckoutSessionRequest_Customer) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *CreateStripeCheckoutSessionRequest_Customer) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsStripeCustomerAppData returns the union data inside the CustomerAppData as a StripeCustomerAppData func (t CustomerAppData) AsStripeCustomerAppData() (StripeCustomerAppData, error) { var body StripeCustomerAppData err := json.Unmarshal(t.union, &body) return body, err } // FromStripeCustomerAppData overwrites any union data inside the CustomerAppData as the provided StripeCustomerAppData func (t *CustomerAppData) FromStripeCustomerAppData(v StripeCustomerAppData) error { v.Type = "stripe" b, err := json.Marshal(v) t.union = b return err } // MergeStripeCustomerAppData performs a merge with any union data inside the CustomerAppData, using the provided StripeCustomerAppData func (t *CustomerAppData) MergeStripeCustomerAppData(v StripeCustomerAppData) error { v.Type = "stripe" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsSandboxCustomerAppData returns the union data inside the CustomerAppData as a SandboxCustomerAppData func (t CustomerAppData) AsSandboxCustomerAppData() (SandboxCustomerAppData, error) { var body SandboxCustomerAppData err := json.Unmarshal(t.union, &body) return body, err } // FromSandboxCustomerAppData overwrites any union data inside the CustomerAppData as the provided SandboxCustomerAppData func (t *CustomerAppData) FromSandboxCustomerAppData(v SandboxCustomerAppData) error { v.Type = "sandbox" b, err := json.Marshal(v) t.union = b return err } // MergeSandboxCustomerAppData performs a merge with any union data inside the CustomerAppData, using the provided SandboxCustomerAppData func (t *CustomerAppData) MergeSandboxCustomerAppData(v SandboxCustomerAppData) error { v.Type = "sandbox" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomInvoicingCustomerAppData returns the union data inside the CustomerAppData as a CustomInvoicingCustomerAppData func (t CustomerAppData) AsCustomInvoicingCustomerAppData() (CustomInvoicingCustomerAppData, error) { var body CustomInvoicingCustomerAppData err := json.Unmarshal(t.union, &body) return body, err } // FromCustomInvoicingCustomerAppData overwrites any union data inside the CustomerAppData as the provided CustomInvoicingCustomerAppData func (t *CustomerAppData) FromCustomInvoicingCustomerAppData(v CustomInvoicingCustomerAppData) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) t.union = b return err } // MergeCustomInvoicingCustomerAppData performs a merge with any union data inside the CustomerAppData, using the provided CustomInvoicingCustomerAppData func (t *CustomerAppData) MergeCustomInvoicingCustomerAppData(v CustomInvoicingCustomerAppData) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t CustomerAppData) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t CustomerAppData) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "custom_invoicing": return t.AsCustomInvoicingCustomerAppData() case "sandbox": return t.AsSandboxCustomerAppData() case "stripe": return t.AsStripeCustomerAppData() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t CustomerAppData) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *CustomerAppData) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsStripeCustomerAppDataCreateOrUpdateItem returns the union data inside the CustomerAppDataCreateOrUpdateItem as a StripeCustomerAppDataCreateOrUpdateItem func (t CustomerAppDataCreateOrUpdateItem) AsStripeCustomerAppDataCreateOrUpdateItem() (StripeCustomerAppDataCreateOrUpdateItem, error) { var body StripeCustomerAppDataCreateOrUpdateItem err := json.Unmarshal(t.union, &body) return body, err } // FromStripeCustomerAppDataCreateOrUpdateItem overwrites any union data inside the CustomerAppDataCreateOrUpdateItem as the provided StripeCustomerAppDataCreateOrUpdateItem func (t *CustomerAppDataCreateOrUpdateItem) FromStripeCustomerAppDataCreateOrUpdateItem(v StripeCustomerAppDataCreateOrUpdateItem) error { v.Type = "stripe" b, err := json.Marshal(v) t.union = b return err } // MergeStripeCustomerAppDataCreateOrUpdateItem performs a merge with any union data inside the CustomerAppDataCreateOrUpdateItem, using the provided StripeCustomerAppDataCreateOrUpdateItem func (t *CustomerAppDataCreateOrUpdateItem) MergeStripeCustomerAppDataCreateOrUpdateItem(v StripeCustomerAppDataCreateOrUpdateItem) error { v.Type = "stripe" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsSandboxCustomerAppData returns the union data inside the CustomerAppDataCreateOrUpdateItem as a SandboxCustomerAppData func (t CustomerAppDataCreateOrUpdateItem) AsSandboxCustomerAppData() (SandboxCustomerAppData, error) { var body SandboxCustomerAppData err := json.Unmarshal(t.union, &body) return body, err } // FromSandboxCustomerAppData overwrites any union data inside the CustomerAppDataCreateOrUpdateItem as the provided SandboxCustomerAppData func (t *CustomerAppDataCreateOrUpdateItem) FromSandboxCustomerAppData(v SandboxCustomerAppData) error { v.Type = "sandbox" b, err := json.Marshal(v) t.union = b return err } // MergeSandboxCustomerAppData performs a merge with any union data inside the CustomerAppDataCreateOrUpdateItem, using the provided SandboxCustomerAppData func (t *CustomerAppDataCreateOrUpdateItem) MergeSandboxCustomerAppData(v SandboxCustomerAppData) error { v.Type = "sandbox" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomInvoicingCustomerAppData returns the union data inside the CustomerAppDataCreateOrUpdateItem as a CustomInvoicingCustomerAppData func (t CustomerAppDataCreateOrUpdateItem) AsCustomInvoicingCustomerAppData() (CustomInvoicingCustomerAppData, error) { var body CustomInvoicingCustomerAppData err := json.Unmarshal(t.union, &body) return body, err } // FromCustomInvoicingCustomerAppData overwrites any union data inside the CustomerAppDataCreateOrUpdateItem as the provided CustomInvoicingCustomerAppData func (t *CustomerAppDataCreateOrUpdateItem) FromCustomInvoicingCustomerAppData(v CustomInvoicingCustomerAppData) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) t.union = b return err } // MergeCustomInvoicingCustomerAppData performs a merge with any union data inside the CustomerAppDataCreateOrUpdateItem, using the provided CustomInvoicingCustomerAppData func (t *CustomerAppDataCreateOrUpdateItem) MergeCustomInvoicingCustomerAppData(v CustomInvoicingCustomerAppData) error { v.Type = "custom_invoicing" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t CustomerAppDataCreateOrUpdateItem) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t CustomerAppDataCreateOrUpdateItem) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "custom_invoicing": return t.AsCustomInvoicingCustomerAppData() case "sandbox": return t.AsSandboxCustomerAppData() case "stripe": return t.AsStripeCustomerAppDataCreateOrUpdateItem() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t CustomerAppDataCreateOrUpdateItem) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *CustomerAppDataCreateOrUpdateItem) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsEntitlementMetered returns the union data inside the Entitlement as a EntitlementMetered func (t Entitlement) AsEntitlementMetered() (EntitlementMetered, error) { var body EntitlementMetered err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementMetered overwrites any union data inside the Entitlement as the provided EntitlementMetered func (t *Entitlement) FromEntitlementMetered(v EntitlementMetered) error { v.Type = "metered" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementMetered performs a merge with any union data inside the Entitlement, using the provided EntitlementMetered func (t *Entitlement) MergeEntitlementMetered(v EntitlementMetered) error { v.Type = "metered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementStatic returns the union data inside the Entitlement as a EntitlementStatic func (t Entitlement) AsEntitlementStatic() (EntitlementStatic, error) { var body EntitlementStatic err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementStatic overwrites any union data inside the Entitlement as the provided EntitlementStatic func (t *Entitlement) FromEntitlementStatic(v EntitlementStatic) error { v.Type = "static" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementStatic performs a merge with any union data inside the Entitlement, using the provided EntitlementStatic func (t *Entitlement) MergeEntitlementStatic(v EntitlementStatic) error { v.Type = "static" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementBoolean returns the union data inside the Entitlement as a EntitlementBoolean func (t Entitlement) AsEntitlementBoolean() (EntitlementBoolean, error) { var body EntitlementBoolean err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementBoolean overwrites any union data inside the Entitlement as the provided EntitlementBoolean func (t *Entitlement) FromEntitlementBoolean(v EntitlementBoolean) error { v.Type = "boolean" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementBoolean performs a merge with any union data inside the Entitlement, using the provided EntitlementBoolean func (t *Entitlement) MergeEntitlementBoolean(v EntitlementBoolean) error { v.Type = "boolean" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t Entitlement) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t Entitlement) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "boolean": return t.AsEntitlementBoolean() case "metered": return t.AsEntitlementMetered() case "static": return t.AsEntitlementStatic() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t Entitlement) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *Entitlement) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsEntitlementMeteredCreateInputs returns the union data inside the EntitlementCreateInputs as a EntitlementMeteredCreateInputs func (t EntitlementCreateInputs) AsEntitlementMeteredCreateInputs() (EntitlementMeteredCreateInputs, error) { var body EntitlementMeteredCreateInputs err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementMeteredCreateInputs overwrites any union data inside the EntitlementCreateInputs as the provided EntitlementMeteredCreateInputs func (t *EntitlementCreateInputs) FromEntitlementMeteredCreateInputs(v EntitlementMeteredCreateInputs) error { v.Type = "metered" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementMeteredCreateInputs performs a merge with any union data inside the EntitlementCreateInputs, using the provided EntitlementMeteredCreateInputs func (t *EntitlementCreateInputs) MergeEntitlementMeteredCreateInputs(v EntitlementMeteredCreateInputs) error { v.Type = "metered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementStaticCreateInputs returns the union data inside the EntitlementCreateInputs as a EntitlementStaticCreateInputs func (t EntitlementCreateInputs) AsEntitlementStaticCreateInputs() (EntitlementStaticCreateInputs, error) { var body EntitlementStaticCreateInputs err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementStaticCreateInputs overwrites any union data inside the EntitlementCreateInputs as the provided EntitlementStaticCreateInputs func (t *EntitlementCreateInputs) FromEntitlementStaticCreateInputs(v EntitlementStaticCreateInputs) error { v.Type = "static" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementStaticCreateInputs performs a merge with any union data inside the EntitlementCreateInputs, using the provided EntitlementStaticCreateInputs func (t *EntitlementCreateInputs) MergeEntitlementStaticCreateInputs(v EntitlementStaticCreateInputs) error { v.Type = "static" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementBooleanCreateInputs returns the union data inside the EntitlementCreateInputs as a EntitlementBooleanCreateInputs func (t EntitlementCreateInputs) AsEntitlementBooleanCreateInputs() (EntitlementBooleanCreateInputs, error) { var body EntitlementBooleanCreateInputs err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementBooleanCreateInputs overwrites any union data inside the EntitlementCreateInputs as the provided EntitlementBooleanCreateInputs func (t *EntitlementCreateInputs) FromEntitlementBooleanCreateInputs(v EntitlementBooleanCreateInputs) error { v.Type = "boolean" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementBooleanCreateInputs performs a merge with any union data inside the EntitlementCreateInputs, using the provided EntitlementBooleanCreateInputs func (t *EntitlementCreateInputs) MergeEntitlementBooleanCreateInputs(v EntitlementBooleanCreateInputs) error { v.Type = "boolean" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t EntitlementCreateInputs) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t EntitlementCreateInputs) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "boolean": return t.AsEntitlementBooleanCreateInputs() case "metered": return t.AsEntitlementMeteredCreateInputs() case "static": return t.AsEntitlementStaticCreateInputs() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t EntitlementCreateInputs) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *EntitlementCreateInputs) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsEntitlementMeteredV2 returns the union data inside the EntitlementV2 as a EntitlementMeteredV2 func (t EntitlementV2) AsEntitlementMeteredV2() (EntitlementMeteredV2, error) { var body EntitlementMeteredV2 err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementMeteredV2 overwrites any union data inside the EntitlementV2 as the provided EntitlementMeteredV2 func (t *EntitlementV2) FromEntitlementMeteredV2(v EntitlementMeteredV2) error { v.Type = "metered" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementMeteredV2 performs a merge with any union data inside the EntitlementV2, using the provided EntitlementMeteredV2 func (t *EntitlementV2) MergeEntitlementMeteredV2(v EntitlementMeteredV2) error { v.Type = "metered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementStaticV2 returns the union data inside the EntitlementV2 as a EntitlementStaticV2 func (t EntitlementV2) AsEntitlementStaticV2() (EntitlementStaticV2, error) { var body EntitlementStaticV2 err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementStaticV2 overwrites any union data inside the EntitlementV2 as the provided EntitlementStaticV2 func (t *EntitlementV2) FromEntitlementStaticV2(v EntitlementStaticV2) error { v.Type = "static" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementStaticV2 performs a merge with any union data inside the EntitlementV2, using the provided EntitlementStaticV2 func (t *EntitlementV2) MergeEntitlementStaticV2(v EntitlementStaticV2) error { v.Type = "static" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementBooleanV2 returns the union data inside the EntitlementV2 as a EntitlementBooleanV2 func (t EntitlementV2) AsEntitlementBooleanV2() (EntitlementBooleanV2, error) { var body EntitlementBooleanV2 err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementBooleanV2 overwrites any union data inside the EntitlementV2 as the provided EntitlementBooleanV2 func (t *EntitlementV2) FromEntitlementBooleanV2(v EntitlementBooleanV2) error { v.Type = "boolean" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementBooleanV2 performs a merge with any union data inside the EntitlementV2, using the provided EntitlementBooleanV2 func (t *EntitlementV2) MergeEntitlementBooleanV2(v EntitlementBooleanV2) error { v.Type = "boolean" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t EntitlementV2) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t EntitlementV2) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "boolean": return t.AsEntitlementBooleanV2() case "metered": return t.AsEntitlementMeteredV2() case "static": return t.AsEntitlementStaticV2() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t EntitlementV2) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *EntitlementV2) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsEntitlementMeteredV2CreateInputs returns the union data inside the EntitlementV2CreateInputs as a EntitlementMeteredV2CreateInputs func (t EntitlementV2CreateInputs) AsEntitlementMeteredV2CreateInputs() (EntitlementMeteredV2CreateInputs, error) { var body EntitlementMeteredV2CreateInputs err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementMeteredV2CreateInputs overwrites any union data inside the EntitlementV2CreateInputs as the provided EntitlementMeteredV2CreateInputs func (t *EntitlementV2CreateInputs) FromEntitlementMeteredV2CreateInputs(v EntitlementMeteredV2CreateInputs) error { v.Type = "metered" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementMeteredV2CreateInputs performs a merge with any union data inside the EntitlementV2CreateInputs, using the provided EntitlementMeteredV2CreateInputs func (t *EntitlementV2CreateInputs) MergeEntitlementMeteredV2CreateInputs(v EntitlementMeteredV2CreateInputs) error { v.Type = "metered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementStaticCreateInputs returns the union data inside the EntitlementV2CreateInputs as a EntitlementStaticCreateInputs func (t EntitlementV2CreateInputs) AsEntitlementStaticCreateInputs() (EntitlementStaticCreateInputs, error) { var body EntitlementStaticCreateInputs err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementStaticCreateInputs overwrites any union data inside the EntitlementV2CreateInputs as the provided EntitlementStaticCreateInputs func (t *EntitlementV2CreateInputs) FromEntitlementStaticCreateInputs(v EntitlementStaticCreateInputs) error { v.Type = "static" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementStaticCreateInputs performs a merge with any union data inside the EntitlementV2CreateInputs, using the provided EntitlementStaticCreateInputs func (t *EntitlementV2CreateInputs) MergeEntitlementStaticCreateInputs(v EntitlementStaticCreateInputs) error { v.Type = "static" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementBooleanCreateInputs returns the union data inside the EntitlementV2CreateInputs as a EntitlementBooleanCreateInputs func (t EntitlementV2CreateInputs) AsEntitlementBooleanCreateInputs() (EntitlementBooleanCreateInputs, error) { var body EntitlementBooleanCreateInputs err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementBooleanCreateInputs overwrites any union data inside the EntitlementV2CreateInputs as the provided EntitlementBooleanCreateInputs func (t *EntitlementV2CreateInputs) FromEntitlementBooleanCreateInputs(v EntitlementBooleanCreateInputs) error { v.Type = "boolean" b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementBooleanCreateInputs performs a merge with any union data inside the EntitlementV2CreateInputs, using the provided EntitlementBooleanCreateInputs func (t *EntitlementV2CreateInputs) MergeEntitlementBooleanCreateInputs(v EntitlementBooleanCreateInputs) error { v.Type = "boolean" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t EntitlementV2CreateInputs) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t EntitlementV2CreateInputs) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "boolean": return t.AsEntitlementBooleanCreateInputs() case "metered": return t.AsEntitlementMeteredV2CreateInputs() case "static": return t.AsEntitlementStaticCreateInputs() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t EntitlementV2CreateInputs) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *EntitlementV2CreateInputs) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsFeatureManualUnitCost returns the union data inside the FeatureUnitCost as a FeatureManualUnitCost func (t FeatureUnitCost) AsFeatureManualUnitCost() (FeatureManualUnitCost, error) { var body FeatureManualUnitCost err := json.Unmarshal(t.union, &body) return body, err } // FromFeatureManualUnitCost overwrites any union data inside the FeatureUnitCost as the provided FeatureManualUnitCost func (t *FeatureUnitCost) FromFeatureManualUnitCost(v FeatureManualUnitCost) error { v.Type = "manual" b, err := json.Marshal(v) t.union = b return err } // MergeFeatureManualUnitCost performs a merge with any union data inside the FeatureUnitCost, using the provided FeatureManualUnitCost func (t *FeatureUnitCost) MergeFeatureManualUnitCost(v FeatureManualUnitCost) error { v.Type = "manual" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsFeatureLLMUnitCost returns the union data inside the FeatureUnitCost as a FeatureLLMUnitCost func (t FeatureUnitCost) AsFeatureLLMUnitCost() (FeatureLLMUnitCost, error) { var body FeatureLLMUnitCost err := json.Unmarshal(t.union, &body) return body, err } // FromFeatureLLMUnitCost overwrites any union data inside the FeatureUnitCost as the provided FeatureLLMUnitCost func (t *FeatureUnitCost) FromFeatureLLMUnitCost(v FeatureLLMUnitCost) error { v.Type = "llm" b, err := json.Marshal(v) t.union = b return err } // MergeFeatureLLMUnitCost performs a merge with any union data inside the FeatureUnitCost, using the provided FeatureLLMUnitCost func (t *FeatureUnitCost) MergeFeatureLLMUnitCost(v FeatureLLMUnitCost) error { v.Type = "llm" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t FeatureUnitCost) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t FeatureUnitCost) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "llm": return t.AsFeatureLLMUnitCost() case "manual": return t.AsFeatureManualUnitCost() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t FeatureUnitCost) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *FeatureUnitCost) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsEvent returns the union data inside the IngestEventsBody as a Event func (t IngestEventsBody) AsEvent() (Event, error) { var body Event err := json.Unmarshal(t.union, &body) return body, err } // FromEvent overwrites any union data inside the IngestEventsBody as the provided Event func (t *IngestEventsBody) FromEvent(v Event) error { b, err := json.Marshal(v) t.union = b return err } // MergeEvent performs a merge with any union data inside the IngestEventsBody, using the provided Event func (t *IngestEventsBody) MergeEvent(v Event) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsIngestEventsBody1 returns the union data inside the IngestEventsBody as a IngestEventsBody1 func (t IngestEventsBody) AsIngestEventsBody1() (IngestEventsBody1, error) { var body IngestEventsBody1 err := json.Unmarshal(t.union, &body) return body, err } // FromIngestEventsBody1 overwrites any union data inside the IngestEventsBody as the provided IngestEventsBody1 func (t *IngestEventsBody) FromIngestEventsBody1(v IngestEventsBody1) error { b, err := json.Marshal(v) t.union = b return err } // MergeIngestEventsBody1 performs a merge with any union data inside the IngestEventsBody, using the provided IngestEventsBody1 func (t *IngestEventsBody) MergeIngestEventsBody1(v IngestEventsBody1) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t IngestEventsBody) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *IngestEventsBody) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsListEntitlementsResult0 returns the union data inside the ListEntitlementsResult as a ListEntitlementsResult0 func (t ListEntitlementsResult) AsListEntitlementsResult0() (ListEntitlementsResult0, error) { var body ListEntitlementsResult0 err := json.Unmarshal(t.union, &body) return body, err } // FromListEntitlementsResult0 overwrites any union data inside the ListEntitlementsResult as the provided ListEntitlementsResult0 func (t *ListEntitlementsResult) FromListEntitlementsResult0(v ListEntitlementsResult0) error { b, err := json.Marshal(v) t.union = b return err } // MergeListEntitlementsResult0 performs a merge with any union data inside the ListEntitlementsResult, using the provided ListEntitlementsResult0 func (t *ListEntitlementsResult) MergeListEntitlementsResult0(v ListEntitlementsResult0) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEntitlementPaginatedResponse returns the union data inside the ListEntitlementsResult as a EntitlementPaginatedResponse func (t ListEntitlementsResult) AsEntitlementPaginatedResponse() (EntitlementPaginatedResponse, error) { var body EntitlementPaginatedResponse err := json.Unmarshal(t.union, &body) return body, err } // FromEntitlementPaginatedResponse overwrites any union data inside the ListEntitlementsResult as the provided EntitlementPaginatedResponse func (t *ListEntitlementsResult) FromEntitlementPaginatedResponse(v EntitlementPaginatedResponse) error { b, err := json.Marshal(v) t.union = b return err } // MergeEntitlementPaginatedResponse performs a merge with any union data inside the ListEntitlementsResult, using the provided EntitlementPaginatedResponse func (t *ListEntitlementsResult) MergeEntitlementPaginatedResponse(v EntitlementPaginatedResponse) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t ListEntitlementsResult) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *ListEntitlementsResult) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsListFeaturesResult0 returns the union data inside the ListFeaturesResult as a ListFeaturesResult0 func (t ListFeaturesResult) AsListFeaturesResult0() (ListFeaturesResult0, error) { var body ListFeaturesResult0 err := json.Unmarshal(t.union, &body) return body, err } // FromListFeaturesResult0 overwrites any union data inside the ListFeaturesResult as the provided ListFeaturesResult0 func (t *ListFeaturesResult) FromListFeaturesResult0(v ListFeaturesResult0) error { b, err := json.Marshal(v) t.union = b return err } // MergeListFeaturesResult0 performs a merge with any union data inside the ListFeaturesResult, using the provided ListFeaturesResult0 func (t *ListFeaturesResult) MergeListFeaturesResult0(v ListFeaturesResult0) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsFeaturePaginatedResponse returns the union data inside the ListFeaturesResult as a FeaturePaginatedResponse func (t ListFeaturesResult) AsFeaturePaginatedResponse() (FeaturePaginatedResponse, error) { var body FeaturePaginatedResponse err := json.Unmarshal(t.union, &body) return body, err } // FromFeaturePaginatedResponse overwrites any union data inside the ListFeaturesResult as the provided FeaturePaginatedResponse func (t *ListFeaturesResult) FromFeaturePaginatedResponse(v FeaturePaginatedResponse) error { b, err := json.Marshal(v) t.union = b return err } // MergeFeaturePaginatedResponse performs a merge with any union data inside the ListFeaturesResult, using the provided FeaturePaginatedResponse func (t *ListFeaturesResult) MergeFeaturePaginatedResponse(v FeaturePaginatedResponse) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t ListFeaturesResult) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *ListFeaturesResult) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsMeasureUsageFromPreset returns the union data inside the MeasureUsageFrom as a MeasureUsageFromPreset func (t MeasureUsageFrom) AsMeasureUsageFromPreset() (MeasureUsageFromPreset, error) { var body MeasureUsageFromPreset err := json.Unmarshal(t.union, &body) return body, err } // FromMeasureUsageFromPreset overwrites any union data inside the MeasureUsageFrom as the provided MeasureUsageFromPreset func (t *MeasureUsageFrom) FromMeasureUsageFromPreset(v MeasureUsageFromPreset) error { b, err := json.Marshal(v) t.union = b return err } // MergeMeasureUsageFromPreset performs a merge with any union data inside the MeasureUsageFrom, using the provided MeasureUsageFromPreset func (t *MeasureUsageFrom) MergeMeasureUsageFromPreset(v MeasureUsageFromPreset) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsMeasureUsageFromTime returns the union data inside the MeasureUsageFrom as a MeasureUsageFromTime func (t MeasureUsageFrom) AsMeasureUsageFromTime() (MeasureUsageFromTime, error) { var body MeasureUsageFromTime err := json.Unmarshal(t.union, &body) return body, err } // FromMeasureUsageFromTime overwrites any union data inside the MeasureUsageFrom as the provided MeasureUsageFromTime func (t *MeasureUsageFrom) FromMeasureUsageFromTime(v MeasureUsageFromTime) error { b, err := json.Marshal(v) t.union = b return err } // MergeMeasureUsageFromTime performs a merge with any union data inside the MeasureUsageFrom, using the provided MeasureUsageFromTime func (t *MeasureUsageFrom) MergeMeasureUsageFromTime(v MeasureUsageFromTime) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t MeasureUsageFrom) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *MeasureUsageFrom) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsNotificationEventResetPayload returns the union data inside the NotificationEventPayload as a NotificationEventResetPayload func (t NotificationEventPayload) AsNotificationEventResetPayload() (NotificationEventResetPayload, error) { var body NotificationEventResetPayload err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationEventResetPayload overwrites any union data inside the NotificationEventPayload as the provided NotificationEventResetPayload func (t *NotificationEventPayload) FromNotificationEventResetPayload(v NotificationEventResetPayload) error { v.Type = "entitlements.reset" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationEventResetPayload performs a merge with any union data inside the NotificationEventPayload, using the provided NotificationEventResetPayload func (t *NotificationEventPayload) MergeNotificationEventResetPayload(v NotificationEventResetPayload) error { v.Type = "entitlements.reset" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationEventBalanceThresholdPayload returns the union data inside the NotificationEventPayload as a NotificationEventBalanceThresholdPayload func (t NotificationEventPayload) AsNotificationEventBalanceThresholdPayload() (NotificationEventBalanceThresholdPayload, error) { var body NotificationEventBalanceThresholdPayload err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationEventBalanceThresholdPayload overwrites any union data inside the NotificationEventPayload as the provided NotificationEventBalanceThresholdPayload func (t *NotificationEventPayload) FromNotificationEventBalanceThresholdPayload(v NotificationEventBalanceThresholdPayload) error { v.Type = "entitlements.balance.threshold" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationEventBalanceThresholdPayload performs a merge with any union data inside the NotificationEventPayload, using the provided NotificationEventBalanceThresholdPayload func (t *NotificationEventPayload) MergeNotificationEventBalanceThresholdPayload(v NotificationEventBalanceThresholdPayload) error { v.Type = "entitlements.balance.threshold" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationEventInvoiceCreatedPayload returns the union data inside the NotificationEventPayload as a NotificationEventInvoiceCreatedPayload func (t NotificationEventPayload) AsNotificationEventInvoiceCreatedPayload() (NotificationEventInvoiceCreatedPayload, error) { var body NotificationEventInvoiceCreatedPayload err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationEventInvoiceCreatedPayload overwrites any union data inside the NotificationEventPayload as the provided NotificationEventInvoiceCreatedPayload func (t *NotificationEventPayload) FromNotificationEventInvoiceCreatedPayload(v NotificationEventInvoiceCreatedPayload) error { v.Type = "invoice.created" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationEventInvoiceCreatedPayload performs a merge with any union data inside the NotificationEventPayload, using the provided NotificationEventInvoiceCreatedPayload func (t *NotificationEventPayload) MergeNotificationEventInvoiceCreatedPayload(v NotificationEventInvoiceCreatedPayload) error { v.Type = "invoice.created" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationEventInvoiceUpdatedPayload returns the union data inside the NotificationEventPayload as a NotificationEventInvoiceUpdatedPayload func (t NotificationEventPayload) AsNotificationEventInvoiceUpdatedPayload() (NotificationEventInvoiceUpdatedPayload, error) { var body NotificationEventInvoiceUpdatedPayload err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationEventInvoiceUpdatedPayload overwrites any union data inside the NotificationEventPayload as the provided NotificationEventInvoiceUpdatedPayload func (t *NotificationEventPayload) FromNotificationEventInvoiceUpdatedPayload(v NotificationEventInvoiceUpdatedPayload) error { v.Type = "invoice.updated" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationEventInvoiceUpdatedPayload performs a merge with any union data inside the NotificationEventPayload, using the provided NotificationEventInvoiceUpdatedPayload func (t *NotificationEventPayload) MergeNotificationEventInvoiceUpdatedPayload(v NotificationEventInvoiceUpdatedPayload) error { v.Type = "invoice.updated" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t NotificationEventPayload) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t NotificationEventPayload) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "entitlements.balance.threshold": return t.AsNotificationEventBalanceThresholdPayload() case "entitlements.reset": return t.AsNotificationEventResetPayload() case "invoice.created": return t.AsNotificationEventInvoiceCreatedPayload() case "invoice.updated": return t.AsNotificationEventInvoiceUpdatedPayload() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t NotificationEventPayload) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *NotificationEventPayload) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsNotificationRuleBalanceThreshold returns the union data inside the NotificationRule as a NotificationRuleBalanceThreshold func (t NotificationRule) AsNotificationRuleBalanceThreshold() (NotificationRuleBalanceThreshold, error) { var body NotificationRuleBalanceThreshold err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleBalanceThreshold overwrites any union data inside the NotificationRule as the provided NotificationRuleBalanceThreshold func (t *NotificationRule) FromNotificationRuleBalanceThreshold(v NotificationRuleBalanceThreshold) error { v.Type = "entitlements.balance.threshold" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleBalanceThreshold performs a merge with any union data inside the NotificationRule, using the provided NotificationRuleBalanceThreshold func (t *NotificationRule) MergeNotificationRuleBalanceThreshold(v NotificationRuleBalanceThreshold) error { v.Type = "entitlements.balance.threshold" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationRuleEntitlementReset returns the union data inside the NotificationRule as a NotificationRuleEntitlementReset func (t NotificationRule) AsNotificationRuleEntitlementReset() (NotificationRuleEntitlementReset, error) { var body NotificationRuleEntitlementReset err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleEntitlementReset overwrites any union data inside the NotificationRule as the provided NotificationRuleEntitlementReset func (t *NotificationRule) FromNotificationRuleEntitlementReset(v NotificationRuleEntitlementReset) error { v.Type = "entitlements.reset" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleEntitlementReset performs a merge with any union data inside the NotificationRule, using the provided NotificationRuleEntitlementReset func (t *NotificationRule) MergeNotificationRuleEntitlementReset(v NotificationRuleEntitlementReset) error { v.Type = "entitlements.reset" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationRuleInvoiceCreated returns the union data inside the NotificationRule as a NotificationRuleInvoiceCreated func (t NotificationRule) AsNotificationRuleInvoiceCreated() (NotificationRuleInvoiceCreated, error) { var body NotificationRuleInvoiceCreated err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleInvoiceCreated overwrites any union data inside the NotificationRule as the provided NotificationRuleInvoiceCreated func (t *NotificationRule) FromNotificationRuleInvoiceCreated(v NotificationRuleInvoiceCreated) error { v.Type = "invoice.created" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleInvoiceCreated performs a merge with any union data inside the NotificationRule, using the provided NotificationRuleInvoiceCreated func (t *NotificationRule) MergeNotificationRuleInvoiceCreated(v NotificationRuleInvoiceCreated) error { v.Type = "invoice.created" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationRuleInvoiceUpdated returns the union data inside the NotificationRule as a NotificationRuleInvoiceUpdated func (t NotificationRule) AsNotificationRuleInvoiceUpdated() (NotificationRuleInvoiceUpdated, error) { var body NotificationRuleInvoiceUpdated err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleInvoiceUpdated overwrites any union data inside the NotificationRule as the provided NotificationRuleInvoiceUpdated func (t *NotificationRule) FromNotificationRuleInvoiceUpdated(v NotificationRuleInvoiceUpdated) error { v.Type = "invoice.updated" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleInvoiceUpdated performs a merge with any union data inside the NotificationRule, using the provided NotificationRuleInvoiceUpdated func (t *NotificationRule) MergeNotificationRuleInvoiceUpdated(v NotificationRuleInvoiceUpdated) error { v.Type = "invoice.updated" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t NotificationRule) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t NotificationRule) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "entitlements.balance.threshold": return t.AsNotificationRuleBalanceThreshold() case "entitlements.reset": return t.AsNotificationRuleEntitlementReset() case "invoice.created": return t.AsNotificationRuleInvoiceCreated() case "invoice.updated": return t.AsNotificationRuleInvoiceUpdated() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t NotificationRule) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *NotificationRule) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsNotificationRuleBalanceThresholdCreateRequest returns the union data inside the NotificationRuleCreateRequest as a NotificationRuleBalanceThresholdCreateRequest func (t NotificationRuleCreateRequest) AsNotificationRuleBalanceThresholdCreateRequest() (NotificationRuleBalanceThresholdCreateRequest, error) { var body NotificationRuleBalanceThresholdCreateRequest err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleBalanceThresholdCreateRequest overwrites any union data inside the NotificationRuleCreateRequest as the provided NotificationRuleBalanceThresholdCreateRequest func (t *NotificationRuleCreateRequest) FromNotificationRuleBalanceThresholdCreateRequest(v NotificationRuleBalanceThresholdCreateRequest) error { v.Type = "entitlements.balance.threshold" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleBalanceThresholdCreateRequest performs a merge with any union data inside the NotificationRuleCreateRequest, using the provided NotificationRuleBalanceThresholdCreateRequest func (t *NotificationRuleCreateRequest) MergeNotificationRuleBalanceThresholdCreateRequest(v NotificationRuleBalanceThresholdCreateRequest) error { v.Type = "entitlements.balance.threshold" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationRuleEntitlementResetCreateRequest returns the union data inside the NotificationRuleCreateRequest as a NotificationRuleEntitlementResetCreateRequest func (t NotificationRuleCreateRequest) AsNotificationRuleEntitlementResetCreateRequest() (NotificationRuleEntitlementResetCreateRequest, error) { var body NotificationRuleEntitlementResetCreateRequest err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleEntitlementResetCreateRequest overwrites any union data inside the NotificationRuleCreateRequest as the provided NotificationRuleEntitlementResetCreateRequest func (t *NotificationRuleCreateRequest) FromNotificationRuleEntitlementResetCreateRequest(v NotificationRuleEntitlementResetCreateRequest) error { v.Type = "entitlements.reset" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleEntitlementResetCreateRequest performs a merge with any union data inside the NotificationRuleCreateRequest, using the provided NotificationRuleEntitlementResetCreateRequest func (t *NotificationRuleCreateRequest) MergeNotificationRuleEntitlementResetCreateRequest(v NotificationRuleEntitlementResetCreateRequest) error { v.Type = "entitlements.reset" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationRuleInvoiceCreatedCreateRequest returns the union data inside the NotificationRuleCreateRequest as a NotificationRuleInvoiceCreatedCreateRequest func (t NotificationRuleCreateRequest) AsNotificationRuleInvoiceCreatedCreateRequest() (NotificationRuleInvoiceCreatedCreateRequest, error) { var body NotificationRuleInvoiceCreatedCreateRequest err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleInvoiceCreatedCreateRequest overwrites any union data inside the NotificationRuleCreateRequest as the provided NotificationRuleInvoiceCreatedCreateRequest func (t *NotificationRuleCreateRequest) FromNotificationRuleInvoiceCreatedCreateRequest(v NotificationRuleInvoiceCreatedCreateRequest) error { v.Type = "invoice.created" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleInvoiceCreatedCreateRequest performs a merge with any union data inside the NotificationRuleCreateRequest, using the provided NotificationRuleInvoiceCreatedCreateRequest func (t *NotificationRuleCreateRequest) MergeNotificationRuleInvoiceCreatedCreateRequest(v NotificationRuleInvoiceCreatedCreateRequest) error { v.Type = "invoice.created" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsNotificationRuleInvoiceUpdatedCreateRequest returns the union data inside the NotificationRuleCreateRequest as a NotificationRuleInvoiceUpdatedCreateRequest func (t NotificationRuleCreateRequest) AsNotificationRuleInvoiceUpdatedCreateRequest() (NotificationRuleInvoiceUpdatedCreateRequest, error) { var body NotificationRuleInvoiceUpdatedCreateRequest err := json.Unmarshal(t.union, &body) return body, err } // FromNotificationRuleInvoiceUpdatedCreateRequest overwrites any union data inside the NotificationRuleCreateRequest as the provided NotificationRuleInvoiceUpdatedCreateRequest func (t *NotificationRuleCreateRequest) FromNotificationRuleInvoiceUpdatedCreateRequest(v NotificationRuleInvoiceUpdatedCreateRequest) error { v.Type = "invoice.updated" b, err := json.Marshal(v) t.union = b return err } // MergeNotificationRuleInvoiceUpdatedCreateRequest performs a merge with any union data inside the NotificationRuleCreateRequest, using the provided NotificationRuleInvoiceUpdatedCreateRequest func (t *NotificationRuleCreateRequest) MergeNotificationRuleInvoiceUpdatedCreateRequest(v NotificationRuleInvoiceUpdatedCreateRequest) error { v.Type = "invoice.updated" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t NotificationRuleCreateRequest) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t NotificationRuleCreateRequest) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "entitlements.balance.threshold": return t.AsNotificationRuleBalanceThresholdCreateRequest() case "entitlements.reset": return t.AsNotificationRuleEntitlementResetCreateRequest() case "invoice.created": return t.AsNotificationRuleInvoiceCreatedCreateRequest() case "invoice.updated": return t.AsNotificationRuleInvoiceUpdatedCreateRequest() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t NotificationRuleCreateRequest) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *NotificationRuleCreateRequest) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsPaymentTermInstant returns the union data inside the PaymentTerms as a PaymentTermInstant func (t PaymentTerms) AsPaymentTermInstant() (PaymentTermInstant, error) { var body PaymentTermInstant err := json.Unmarshal(t.union, &body) return body, err } // FromPaymentTermInstant overwrites any union data inside the PaymentTerms as the provided PaymentTermInstant func (t *PaymentTerms) FromPaymentTermInstant(v PaymentTermInstant) error { b, err := json.Marshal(v) t.union = b return err } // MergePaymentTermInstant performs a merge with any union data inside the PaymentTerms, using the provided PaymentTermInstant func (t *PaymentTerms) MergePaymentTermInstant(v PaymentTermInstant) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsPaymentTermDueDate returns the union data inside the PaymentTerms as a PaymentTermDueDate func (t PaymentTerms) AsPaymentTermDueDate() (PaymentTermDueDate, error) { var body PaymentTermDueDate err := json.Unmarshal(t.union, &body) return body, err } // FromPaymentTermDueDate overwrites any union data inside the PaymentTerms as the provided PaymentTermDueDate func (t *PaymentTerms) FromPaymentTermDueDate(v PaymentTermDueDate) error { b, err := json.Marshal(v) t.union = b return err } // MergePaymentTermDueDate performs a merge with any union data inside the PaymentTerms, using the provided PaymentTermDueDate func (t *PaymentTerms) MergePaymentTermDueDate(v PaymentTermDueDate) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t PaymentTerms) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *PaymentTerms) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsFlatPrice returns the union data inside the Price as a FlatPrice func (t Price) AsFlatPrice() (FlatPrice, error) { var body FlatPrice err := json.Unmarshal(t.union, &body) return body, err } // FromFlatPrice overwrites any union data inside the Price as the provided FlatPrice func (t *Price) FromFlatPrice(v FlatPrice) error { v.Type = "flat" b, err := json.Marshal(v) t.union = b return err } // MergeFlatPrice performs a merge with any union data inside the Price, using the provided FlatPrice func (t *Price) MergeFlatPrice(v FlatPrice) error { v.Type = "flat" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsUnitPrice returns the union data inside the Price as a UnitPrice func (t Price) AsUnitPrice() (UnitPrice, error) { var body UnitPrice err := json.Unmarshal(t.union, &body) return body, err } // FromUnitPrice overwrites any union data inside the Price as the provided UnitPrice func (t *Price) FromUnitPrice(v UnitPrice) error { v.Type = "unit" b, err := json.Marshal(v) t.union = b return err } // MergeUnitPrice performs a merge with any union data inside the Price, using the provided UnitPrice func (t *Price) MergeUnitPrice(v UnitPrice) error { v.Type = "unit" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsTieredPrice returns the union data inside the Price as a TieredPrice func (t Price) AsTieredPrice() (TieredPrice, error) { var body TieredPrice err := json.Unmarshal(t.union, &body) return body, err } // FromTieredPrice overwrites any union data inside the Price as the provided TieredPrice func (t *Price) FromTieredPrice(v TieredPrice) error { v.Type = "tiered" b, err := json.Marshal(v) t.union = b return err } // MergeTieredPrice performs a merge with any union data inside the Price, using the provided TieredPrice func (t *Price) MergeTieredPrice(v TieredPrice) error { v.Type = "tiered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsDynamicPrice returns the union data inside the Price as a DynamicPrice func (t Price) AsDynamicPrice() (DynamicPrice, error) { var body DynamicPrice err := json.Unmarshal(t.union, &body) return body, err } // FromDynamicPrice overwrites any union data inside the Price as the provided DynamicPrice func (t *Price) FromDynamicPrice(v DynamicPrice) error { v.Type = "dynamic" b, err := json.Marshal(v) t.union = b return err } // MergeDynamicPrice performs a merge with any union data inside the Price, using the provided DynamicPrice func (t *Price) MergeDynamicPrice(v DynamicPrice) error { v.Type = "dynamic" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsPackagePrice returns the union data inside the Price as a PackagePrice func (t Price) AsPackagePrice() (PackagePrice, error) { var body PackagePrice err := json.Unmarshal(t.union, &body) return body, err } // FromPackagePrice overwrites any union data inside the Price as the provided PackagePrice func (t *Price) FromPackagePrice(v PackagePrice) error { v.Type = "package" b, err := json.Marshal(v) t.union = b return err } // MergePackagePrice performs a merge with any union data inside the Price, using the provided PackagePrice func (t *Price) MergePackagePrice(v PackagePrice) error { v.Type = "package" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t Price) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t Price) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "dynamic": return t.AsDynamicPrice() case "flat": return t.AsFlatPrice() case "package": return t.AsPackagePrice() case "tiered": return t.AsTieredPrice() case "unit": return t.AsUnitPrice() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t Price) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *Price) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsRateCardFlatFee returns the union data inside the RateCard as a RateCardFlatFee func (t RateCard) AsRateCardFlatFee() (RateCardFlatFee, error) { var body RateCardFlatFee err := json.Unmarshal(t.union, &body) return body, err } // FromRateCardFlatFee overwrites any union data inside the RateCard as the provided RateCardFlatFee func (t *RateCard) FromRateCardFlatFee(v RateCardFlatFee) error { v.Type = "flat_fee" b, err := json.Marshal(v) t.union = b return err } // MergeRateCardFlatFee performs a merge with any union data inside the RateCard, using the provided RateCardFlatFee func (t *RateCard) MergeRateCardFlatFee(v RateCardFlatFee) error { v.Type = "flat_fee" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsRateCardUsageBased returns the union data inside the RateCard as a RateCardUsageBased func (t RateCard) AsRateCardUsageBased() (RateCardUsageBased, error) { var body RateCardUsageBased err := json.Unmarshal(t.union, &body) return body, err } // FromRateCardUsageBased overwrites any union data inside the RateCard as the provided RateCardUsageBased func (t *RateCard) FromRateCardUsageBased(v RateCardUsageBased) error { v.Type = "usage_based" b, err := json.Marshal(v) t.union = b return err } // MergeRateCardUsageBased performs a merge with any union data inside the RateCard, using the provided RateCardUsageBased func (t *RateCard) MergeRateCardUsageBased(v RateCardUsageBased) error { v.Type = "usage_based" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t RateCard) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t RateCard) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "flat_fee": return t.AsRateCardFlatFee() case "usage_based": return t.AsRateCardUsageBased() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t RateCard) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *RateCard) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsRateCardMeteredEntitlement returns the union data inside the RateCardEntitlement as a RateCardMeteredEntitlement func (t RateCardEntitlement) AsRateCardMeteredEntitlement() (RateCardMeteredEntitlement, error) { var body RateCardMeteredEntitlement err := json.Unmarshal(t.union, &body) return body, err } // FromRateCardMeteredEntitlement overwrites any union data inside the RateCardEntitlement as the provided RateCardMeteredEntitlement func (t *RateCardEntitlement) FromRateCardMeteredEntitlement(v RateCardMeteredEntitlement) error { v.Type = "metered" b, err := json.Marshal(v) t.union = b return err } // MergeRateCardMeteredEntitlement performs a merge with any union data inside the RateCardEntitlement, using the provided RateCardMeteredEntitlement func (t *RateCardEntitlement) MergeRateCardMeteredEntitlement(v RateCardMeteredEntitlement) error { v.Type = "metered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsRateCardStaticEntitlement returns the union data inside the RateCardEntitlement as a RateCardStaticEntitlement func (t RateCardEntitlement) AsRateCardStaticEntitlement() (RateCardStaticEntitlement, error) { var body RateCardStaticEntitlement err := json.Unmarshal(t.union, &body) return body, err } // FromRateCardStaticEntitlement overwrites any union data inside the RateCardEntitlement as the provided RateCardStaticEntitlement func (t *RateCardEntitlement) FromRateCardStaticEntitlement(v RateCardStaticEntitlement) error { v.Type = "static" b, err := json.Marshal(v) t.union = b return err } // MergeRateCardStaticEntitlement performs a merge with any union data inside the RateCardEntitlement, using the provided RateCardStaticEntitlement func (t *RateCardEntitlement) MergeRateCardStaticEntitlement(v RateCardStaticEntitlement) error { v.Type = "static" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsRateCardBooleanEntitlement returns the union data inside the RateCardEntitlement as a RateCardBooleanEntitlement func (t RateCardEntitlement) AsRateCardBooleanEntitlement() (RateCardBooleanEntitlement, error) { var body RateCardBooleanEntitlement err := json.Unmarshal(t.union, &body) return body, err } // FromRateCardBooleanEntitlement overwrites any union data inside the RateCardEntitlement as the provided RateCardBooleanEntitlement func (t *RateCardEntitlement) FromRateCardBooleanEntitlement(v RateCardBooleanEntitlement) error { v.Type = "boolean" b, err := json.Marshal(v) t.union = b return err } // MergeRateCardBooleanEntitlement performs a merge with any union data inside the RateCardEntitlement, using the provided RateCardBooleanEntitlement func (t *RateCardEntitlement) MergeRateCardBooleanEntitlement(v RateCardBooleanEntitlement) error { v.Type = "boolean" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t RateCardEntitlement) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t RateCardEntitlement) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "boolean": return t.AsRateCardBooleanEntitlement() case "metered": return t.AsRateCardMeteredEntitlement() case "static": return t.AsRateCardStaticEntitlement() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t RateCardEntitlement) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *RateCardEntitlement) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsFlatPriceWithPaymentTerm returns the union data inside the RateCardUsageBasedPrice as a FlatPriceWithPaymentTerm func (t RateCardUsageBasedPrice) AsFlatPriceWithPaymentTerm() (FlatPriceWithPaymentTerm, error) { var body FlatPriceWithPaymentTerm err := json.Unmarshal(t.union, &body) return body, err } // FromFlatPriceWithPaymentTerm overwrites any union data inside the RateCardUsageBasedPrice as the provided FlatPriceWithPaymentTerm func (t *RateCardUsageBasedPrice) FromFlatPriceWithPaymentTerm(v FlatPriceWithPaymentTerm) error { v.Type = "flat" b, err := json.Marshal(v) t.union = b return err } // MergeFlatPriceWithPaymentTerm performs a merge with any union data inside the RateCardUsageBasedPrice, using the provided FlatPriceWithPaymentTerm func (t *RateCardUsageBasedPrice) MergeFlatPriceWithPaymentTerm(v FlatPriceWithPaymentTerm) error { v.Type = "flat" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsUnitPriceWithCommitments returns the union data inside the RateCardUsageBasedPrice as a UnitPriceWithCommitments func (t RateCardUsageBasedPrice) AsUnitPriceWithCommitments() (UnitPriceWithCommitments, error) { var body UnitPriceWithCommitments err := json.Unmarshal(t.union, &body) return body, err } // FromUnitPriceWithCommitments overwrites any union data inside the RateCardUsageBasedPrice as the provided UnitPriceWithCommitments func (t *RateCardUsageBasedPrice) FromUnitPriceWithCommitments(v UnitPriceWithCommitments) error { v.Type = "unit" b, err := json.Marshal(v) t.union = b return err } // MergeUnitPriceWithCommitments performs a merge with any union data inside the RateCardUsageBasedPrice, using the provided UnitPriceWithCommitments func (t *RateCardUsageBasedPrice) MergeUnitPriceWithCommitments(v UnitPriceWithCommitments) error { v.Type = "unit" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsTieredPriceWithCommitments returns the union data inside the RateCardUsageBasedPrice as a TieredPriceWithCommitments func (t RateCardUsageBasedPrice) AsTieredPriceWithCommitments() (TieredPriceWithCommitments, error) { var body TieredPriceWithCommitments err := json.Unmarshal(t.union, &body) return body, err } // FromTieredPriceWithCommitments overwrites any union data inside the RateCardUsageBasedPrice as the provided TieredPriceWithCommitments func (t *RateCardUsageBasedPrice) FromTieredPriceWithCommitments(v TieredPriceWithCommitments) error { v.Type = "tiered" b, err := json.Marshal(v) t.union = b return err } // MergeTieredPriceWithCommitments performs a merge with any union data inside the RateCardUsageBasedPrice, using the provided TieredPriceWithCommitments func (t *RateCardUsageBasedPrice) MergeTieredPriceWithCommitments(v TieredPriceWithCommitments) error { v.Type = "tiered" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsDynamicPriceWithCommitments returns the union data inside the RateCardUsageBasedPrice as a DynamicPriceWithCommitments func (t RateCardUsageBasedPrice) AsDynamicPriceWithCommitments() (DynamicPriceWithCommitments, error) { var body DynamicPriceWithCommitments err := json.Unmarshal(t.union, &body) return body, err } // FromDynamicPriceWithCommitments overwrites any union data inside the RateCardUsageBasedPrice as the provided DynamicPriceWithCommitments func (t *RateCardUsageBasedPrice) FromDynamicPriceWithCommitments(v DynamicPriceWithCommitments) error { v.Type = "dynamic" b, err := json.Marshal(v) t.union = b return err } // MergeDynamicPriceWithCommitments performs a merge with any union data inside the RateCardUsageBasedPrice, using the provided DynamicPriceWithCommitments func (t *RateCardUsageBasedPrice) MergeDynamicPriceWithCommitments(v DynamicPriceWithCommitments) error { v.Type = "dynamic" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsPackagePriceWithCommitments returns the union data inside the RateCardUsageBasedPrice as a PackagePriceWithCommitments func (t RateCardUsageBasedPrice) AsPackagePriceWithCommitments() (PackagePriceWithCommitments, error) { var body PackagePriceWithCommitments err := json.Unmarshal(t.union, &body) return body, err } // FromPackagePriceWithCommitments overwrites any union data inside the RateCardUsageBasedPrice as the provided PackagePriceWithCommitments func (t *RateCardUsageBasedPrice) FromPackagePriceWithCommitments(v PackagePriceWithCommitments) error { v.Type = "package" b, err := json.Marshal(v) t.union = b return err } // MergePackagePriceWithCommitments performs a merge with any union data inside the RateCardUsageBasedPrice, using the provided PackagePriceWithCommitments func (t *RateCardUsageBasedPrice) MergePackagePriceWithCommitments(v PackagePriceWithCommitments) error { v.Type = "package" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t RateCardUsageBasedPrice) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t RateCardUsageBasedPrice) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "dynamic": return t.AsDynamicPriceWithCommitments() case "flat": return t.AsFlatPriceWithPaymentTerm() case "package": return t.AsPackagePriceWithCommitments() case "tiered": return t.AsTieredPriceWithCommitments() case "unit": return t.AsUnitPriceWithCommitments() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t RateCardUsageBasedPrice) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *RateCardUsageBasedPrice) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsRecurringPeriodInterval0 returns the union data inside the RecurringPeriodInterval as a RecurringPeriodInterval0 func (t RecurringPeriodInterval) AsRecurringPeriodInterval0() (RecurringPeriodInterval0, error) { var body RecurringPeriodInterval0 err := json.Unmarshal(t.union, &body) return body, err } // FromRecurringPeriodInterval0 overwrites any union data inside the RecurringPeriodInterval as the provided RecurringPeriodInterval0 func (t *RecurringPeriodInterval) FromRecurringPeriodInterval0(v RecurringPeriodInterval0) error { b, err := json.Marshal(v) t.union = b return err } // MergeRecurringPeriodInterval0 performs a merge with any union data inside the RecurringPeriodInterval, using the provided RecurringPeriodInterval0 func (t *RecurringPeriodInterval) MergeRecurringPeriodInterval0(v RecurringPeriodInterval0) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsRecurringPeriodIntervalEnum returns the union data inside the RecurringPeriodInterval as a RecurringPeriodIntervalEnum func (t RecurringPeriodInterval) AsRecurringPeriodIntervalEnum() (RecurringPeriodIntervalEnum, error) { var body RecurringPeriodIntervalEnum err := json.Unmarshal(t.union, &body) return body, err } // FromRecurringPeriodIntervalEnum overwrites any union data inside the RecurringPeriodInterval as the provided RecurringPeriodIntervalEnum func (t *RecurringPeriodInterval) FromRecurringPeriodIntervalEnum(v RecurringPeriodIntervalEnum) error { b, err := json.Marshal(v) t.union = b return err } // MergeRecurringPeriodIntervalEnum performs a merge with any union data inside the RecurringPeriodInterval, using the provided RecurringPeriodIntervalEnum func (t *RecurringPeriodInterval) MergeRecurringPeriodIntervalEnum(v RecurringPeriodIntervalEnum) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t RecurringPeriodInterval) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *RecurringPeriodInterval) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsPlanSubscriptionChange returns the union data inside the SubscriptionChange as a PlanSubscriptionChange func (t SubscriptionChange) AsPlanSubscriptionChange() (PlanSubscriptionChange, error) { var body PlanSubscriptionChange err := json.Unmarshal(t.union, &body) return body, err } // FromPlanSubscriptionChange overwrites any union data inside the SubscriptionChange as the provided PlanSubscriptionChange func (t *SubscriptionChange) FromPlanSubscriptionChange(v PlanSubscriptionChange) error { b, err := json.Marshal(v) t.union = b return err } // MergePlanSubscriptionChange performs a merge with any union data inside the SubscriptionChange, using the provided PlanSubscriptionChange func (t *SubscriptionChange) MergePlanSubscriptionChange(v PlanSubscriptionChange) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomSubscriptionChange returns the union data inside the SubscriptionChange as a CustomSubscriptionChange func (t SubscriptionChange) AsCustomSubscriptionChange() (CustomSubscriptionChange, error) { var body CustomSubscriptionChange err := json.Unmarshal(t.union, &body) return body, err } // FromCustomSubscriptionChange overwrites any union data inside the SubscriptionChange as the provided CustomSubscriptionChange func (t *SubscriptionChange) FromCustomSubscriptionChange(v CustomSubscriptionChange) error { b, err := json.Marshal(v) t.union = b return err } // MergeCustomSubscriptionChange performs a merge with any union data inside the SubscriptionChange, using the provided CustomSubscriptionChange func (t *SubscriptionChange) MergeCustomSubscriptionChange(v CustomSubscriptionChange) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t SubscriptionChange) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *SubscriptionChange) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsPlanSubscriptionCreate returns the union data inside the SubscriptionCreate as a PlanSubscriptionCreate func (t SubscriptionCreate) AsPlanSubscriptionCreate() (PlanSubscriptionCreate, error) { var body PlanSubscriptionCreate err := json.Unmarshal(t.union, &body) return body, err } // FromPlanSubscriptionCreate overwrites any union data inside the SubscriptionCreate as the provided PlanSubscriptionCreate func (t *SubscriptionCreate) FromPlanSubscriptionCreate(v PlanSubscriptionCreate) error { b, err := json.Marshal(v) t.union = b return err } // MergePlanSubscriptionCreate performs a merge with any union data inside the SubscriptionCreate, using the provided PlanSubscriptionCreate func (t *SubscriptionCreate) MergePlanSubscriptionCreate(v PlanSubscriptionCreate) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsCustomSubscriptionCreate returns the union data inside the SubscriptionCreate as a CustomSubscriptionCreate func (t SubscriptionCreate) AsCustomSubscriptionCreate() (CustomSubscriptionCreate, error) { var body CustomSubscriptionCreate err := json.Unmarshal(t.union, &body) return body, err } // FromCustomSubscriptionCreate overwrites any union data inside the SubscriptionCreate as the provided CustomSubscriptionCreate func (t *SubscriptionCreate) FromCustomSubscriptionCreate(v CustomSubscriptionCreate) error { b, err := json.Marshal(v) t.union = b return err } // MergeCustomSubscriptionCreate performs a merge with any union data inside the SubscriptionCreate, using the provided CustomSubscriptionCreate func (t *SubscriptionCreate) MergeCustomSubscriptionCreate(v CustomSubscriptionCreate) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t SubscriptionCreate) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *SubscriptionCreate) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsEditSubscriptionAddItem returns the union data inside the SubscriptionEditOperation as a EditSubscriptionAddItem func (t SubscriptionEditOperation) AsEditSubscriptionAddItem() (EditSubscriptionAddItem, error) { var body EditSubscriptionAddItem err := json.Unmarshal(t.union, &body) return body, err } // FromEditSubscriptionAddItem overwrites any union data inside the SubscriptionEditOperation as the provided EditSubscriptionAddItem func (t *SubscriptionEditOperation) FromEditSubscriptionAddItem(v EditSubscriptionAddItem) error { v.Op = "add_item" b, err := json.Marshal(v) t.union = b return err } // MergeEditSubscriptionAddItem performs a merge with any union data inside the SubscriptionEditOperation, using the provided EditSubscriptionAddItem func (t *SubscriptionEditOperation) MergeEditSubscriptionAddItem(v EditSubscriptionAddItem) error { v.Op = "add_item" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEditSubscriptionRemoveItem returns the union data inside the SubscriptionEditOperation as a EditSubscriptionRemoveItem func (t SubscriptionEditOperation) AsEditSubscriptionRemoveItem() (EditSubscriptionRemoveItem, error) { var body EditSubscriptionRemoveItem err := json.Unmarshal(t.union, &body) return body, err } // FromEditSubscriptionRemoveItem overwrites any union data inside the SubscriptionEditOperation as the provided EditSubscriptionRemoveItem func (t *SubscriptionEditOperation) FromEditSubscriptionRemoveItem(v EditSubscriptionRemoveItem) error { v.Op = "remove_item" b, err := json.Marshal(v) t.union = b return err } // MergeEditSubscriptionRemoveItem performs a merge with any union data inside the SubscriptionEditOperation, using the provided EditSubscriptionRemoveItem func (t *SubscriptionEditOperation) MergeEditSubscriptionRemoveItem(v EditSubscriptionRemoveItem) error { v.Op = "remove_item" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEditSubscriptionAddPhase returns the union data inside the SubscriptionEditOperation as a EditSubscriptionAddPhase func (t SubscriptionEditOperation) AsEditSubscriptionAddPhase() (EditSubscriptionAddPhase, error) { var body EditSubscriptionAddPhase err := json.Unmarshal(t.union, &body) return body, err } // FromEditSubscriptionAddPhase overwrites any union data inside the SubscriptionEditOperation as the provided EditSubscriptionAddPhase func (t *SubscriptionEditOperation) FromEditSubscriptionAddPhase(v EditSubscriptionAddPhase) error { v.Op = "add_phase" b, err := json.Marshal(v) t.union = b return err } // MergeEditSubscriptionAddPhase performs a merge with any union data inside the SubscriptionEditOperation, using the provided EditSubscriptionAddPhase func (t *SubscriptionEditOperation) MergeEditSubscriptionAddPhase(v EditSubscriptionAddPhase) error { v.Op = "add_phase" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEditSubscriptionRemovePhase returns the union data inside the SubscriptionEditOperation as a EditSubscriptionRemovePhase func (t SubscriptionEditOperation) AsEditSubscriptionRemovePhase() (EditSubscriptionRemovePhase, error) { var body EditSubscriptionRemovePhase err := json.Unmarshal(t.union, &body) return body, err } // FromEditSubscriptionRemovePhase overwrites any union data inside the SubscriptionEditOperation as the provided EditSubscriptionRemovePhase func (t *SubscriptionEditOperation) FromEditSubscriptionRemovePhase(v EditSubscriptionRemovePhase) error { v.Op = "remove_phase" b, err := json.Marshal(v) t.union = b return err } // MergeEditSubscriptionRemovePhase performs a merge with any union data inside the SubscriptionEditOperation, using the provided EditSubscriptionRemovePhase func (t *SubscriptionEditOperation) MergeEditSubscriptionRemovePhase(v EditSubscriptionRemovePhase) error { v.Op = "remove_phase" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEditSubscriptionStretchPhase returns the union data inside the SubscriptionEditOperation as a EditSubscriptionStretchPhase func (t SubscriptionEditOperation) AsEditSubscriptionStretchPhase() (EditSubscriptionStretchPhase, error) { var body EditSubscriptionStretchPhase err := json.Unmarshal(t.union, &body) return body, err } // FromEditSubscriptionStretchPhase overwrites any union data inside the SubscriptionEditOperation as the provided EditSubscriptionStretchPhase func (t *SubscriptionEditOperation) FromEditSubscriptionStretchPhase(v EditSubscriptionStretchPhase) error { v.Op = "stretch_phase" b, err := json.Marshal(v) t.union = b return err } // MergeEditSubscriptionStretchPhase performs a merge with any union data inside the SubscriptionEditOperation, using the provided EditSubscriptionStretchPhase func (t *SubscriptionEditOperation) MergeEditSubscriptionStretchPhase(v EditSubscriptionStretchPhase) error { v.Op = "stretch_phase" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsEditSubscriptionUnscheduleEdit returns the union data inside the SubscriptionEditOperation as a EditSubscriptionUnscheduleEdit func (t SubscriptionEditOperation) AsEditSubscriptionUnscheduleEdit() (EditSubscriptionUnscheduleEdit, error) { var body EditSubscriptionUnscheduleEdit err := json.Unmarshal(t.union, &body) return body, err } // FromEditSubscriptionUnscheduleEdit overwrites any union data inside the SubscriptionEditOperation as the provided EditSubscriptionUnscheduleEdit func (t *SubscriptionEditOperation) FromEditSubscriptionUnscheduleEdit(v EditSubscriptionUnscheduleEdit) error { v.Op = "unschedule_edit" b, err := json.Marshal(v) t.union = b return err } // MergeEditSubscriptionUnscheduleEdit performs a merge with any union data inside the SubscriptionEditOperation, using the provided EditSubscriptionUnscheduleEdit func (t *SubscriptionEditOperation) MergeEditSubscriptionUnscheduleEdit(v EditSubscriptionUnscheduleEdit) error { v.Op = "unschedule_edit" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t SubscriptionEditOperation) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"op"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t SubscriptionEditOperation) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "add_item": return t.AsEditSubscriptionAddItem() case "add_phase": return t.AsEditSubscriptionAddPhase() case "remove_item": return t.AsEditSubscriptionRemoveItem() case "remove_phase": return t.AsEditSubscriptionRemovePhase() case "stretch_phase": return t.AsEditSubscriptionStretchPhase() case "unschedule_edit": return t.AsEditSubscriptionUnscheduleEdit() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t SubscriptionEditOperation) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *SubscriptionEditOperation) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsSubscriptionTimingEnum returns the union data inside the SubscriptionTiming as a SubscriptionTimingEnum func (t SubscriptionTiming) AsSubscriptionTimingEnum() (SubscriptionTimingEnum, error) { var body SubscriptionTimingEnum err := json.Unmarshal(t.union, &body) return body, err } // FromSubscriptionTimingEnum overwrites any union data inside the SubscriptionTiming as the provided SubscriptionTimingEnum func (t *SubscriptionTiming) FromSubscriptionTimingEnum(v SubscriptionTimingEnum) error { b, err := json.Marshal(v) t.union = b return err } // MergeSubscriptionTimingEnum performs a merge with any union data inside the SubscriptionTiming, using the provided SubscriptionTimingEnum func (t *SubscriptionTiming) MergeSubscriptionTimingEnum(v SubscriptionTimingEnum) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsSubscriptionTiming1 returns the union data inside the SubscriptionTiming as a SubscriptionTiming1 func (t SubscriptionTiming) AsSubscriptionTiming1() (SubscriptionTiming1, error) { var body SubscriptionTiming1 err := json.Unmarshal(t.union, &body) return body, err } // FromSubscriptionTiming1 overwrites any union data inside the SubscriptionTiming as the provided SubscriptionTiming1 func (t *SubscriptionTiming) FromSubscriptionTiming1(v SubscriptionTiming1) error { b, err := json.Marshal(v) t.union = b return err } // MergeSubscriptionTiming1 performs a merge with any union data inside the SubscriptionTiming, using the provided SubscriptionTiming1 func (t *SubscriptionTiming) MergeSubscriptionTiming1(v SubscriptionTiming1) error { b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t SubscriptionTiming) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *SubscriptionTiming) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsVoidInvoiceLineDiscardAction returns the union data inside the VoidInvoiceLineActionCreate as a VoidInvoiceLineDiscardAction func (t VoidInvoiceLineActionCreate) AsVoidInvoiceLineDiscardAction() (VoidInvoiceLineDiscardAction, error) { var body VoidInvoiceLineDiscardAction err := json.Unmarshal(t.union, &body) return body, err } // FromVoidInvoiceLineDiscardAction overwrites any union data inside the VoidInvoiceLineActionCreate as the provided VoidInvoiceLineDiscardAction func (t *VoidInvoiceLineActionCreate) FromVoidInvoiceLineDiscardAction(v VoidInvoiceLineDiscardAction) error { v.Type = "discard" b, err := json.Marshal(v) t.union = b return err } // MergeVoidInvoiceLineDiscardAction performs a merge with any union data inside the VoidInvoiceLineActionCreate, using the provided VoidInvoiceLineDiscardAction func (t *VoidInvoiceLineActionCreate) MergeVoidInvoiceLineDiscardAction(v VoidInvoiceLineDiscardAction) error { v.Type = "discard" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsVoidInvoiceLinePendingActionCreate returns the union data inside the VoidInvoiceLineActionCreate as a VoidInvoiceLinePendingActionCreate func (t VoidInvoiceLineActionCreate) AsVoidInvoiceLinePendingActionCreate() (VoidInvoiceLinePendingActionCreate, error) { var body VoidInvoiceLinePendingActionCreate err := json.Unmarshal(t.union, &body) return body, err } // FromVoidInvoiceLinePendingActionCreate overwrites any union data inside the VoidInvoiceLineActionCreate as the provided VoidInvoiceLinePendingActionCreate func (t *VoidInvoiceLineActionCreate) FromVoidInvoiceLinePendingActionCreate(v VoidInvoiceLinePendingActionCreate) error { v.Type = "pending" b, err := json.Marshal(v) t.union = b return err } // MergeVoidInvoiceLinePendingActionCreate performs a merge with any union data inside the VoidInvoiceLineActionCreate, using the provided VoidInvoiceLinePendingActionCreate func (t *VoidInvoiceLineActionCreate) MergeVoidInvoiceLinePendingActionCreate(v VoidInvoiceLinePendingActionCreate) error { v.Type = "pending" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t VoidInvoiceLineActionCreate) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t VoidInvoiceLineActionCreate) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "discard": return t.AsVoidInvoiceLineDiscardAction() case "pending": return t.AsVoidInvoiceLinePendingActionCreate() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t VoidInvoiceLineActionCreate) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *VoidInvoiceLineActionCreate) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // AsVoidInvoiceLineDiscardAction returns the union data inside the VoidInvoiceLineActionCreateItem as a VoidInvoiceLineDiscardAction func (t VoidInvoiceLineActionCreateItem) AsVoidInvoiceLineDiscardAction() (VoidInvoiceLineDiscardAction, error) { var body VoidInvoiceLineDiscardAction err := json.Unmarshal(t.union, &body) return body, err } // FromVoidInvoiceLineDiscardAction overwrites any union data inside the VoidInvoiceLineActionCreateItem as the provided VoidInvoiceLineDiscardAction func (t *VoidInvoiceLineActionCreateItem) FromVoidInvoiceLineDiscardAction(v VoidInvoiceLineDiscardAction) error { v.Type = "discard" b, err := json.Marshal(v) t.union = b return err } // MergeVoidInvoiceLineDiscardAction performs a merge with any union data inside the VoidInvoiceLineActionCreateItem, using the provided VoidInvoiceLineDiscardAction func (t *VoidInvoiceLineActionCreateItem) MergeVoidInvoiceLineDiscardAction(v VoidInvoiceLineDiscardAction) error { v.Type = "discard" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } // AsVoidInvoiceLinePendingActionCreateItem returns the union data inside the VoidInvoiceLineActionCreateItem as a VoidInvoiceLinePendingActionCreateItem func (t VoidInvoiceLineActionCreateItem) AsVoidInvoiceLinePendingActionCreateItem() (VoidInvoiceLinePendingActionCreateItem, error) { var body VoidInvoiceLinePendingActionCreateItem err := json.Unmarshal(t.union, &body) return body, err } // FromVoidInvoiceLinePendingActionCreateItem overwrites any union data inside the VoidInvoiceLineActionCreateItem as the provided VoidInvoiceLinePendingActionCreateItem func (t *VoidInvoiceLineActionCreateItem) FromVoidInvoiceLinePendingActionCreateItem(v VoidInvoiceLinePendingActionCreateItem) error { v.Type = "pending" b, err := json.Marshal(v) t.union = b return err } // MergeVoidInvoiceLinePendingActionCreateItem performs a merge with any union data inside the VoidInvoiceLineActionCreateItem, using the provided VoidInvoiceLinePendingActionCreateItem func (t *VoidInvoiceLineActionCreateItem) MergeVoidInvoiceLinePendingActionCreateItem(v VoidInvoiceLinePendingActionCreateItem) error { v.Type = "pending" b, err := json.Marshal(v) if err != nil { return err } merged, err := runtime.JSONMerge(t.union, b) t.union = merged return err } func (t VoidInvoiceLineActionCreateItem) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } err := json.Unmarshal(t.union, &discriminator) return discriminator.Discriminator, err } func (t VoidInvoiceLineActionCreateItem) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "discard": return t.AsVoidInvoiceLineDiscardAction() case "pending": return t.AsVoidInvoiceLinePendingActionCreateItem() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } func (t VoidInvoiceLineActionCreateItem) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } func (t *VoidInvoiceLineActionCreateItem) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } // ServerInterface represents all server handlers. type ServerInterface interface { // List add-ons // (GET /api/v1/addons) ListAddons(w http.ResponseWriter, r *http.Request, params ListAddonsParams) // Create an add-on // (POST /api/v1/addons) CreateAddon(w http.ResponseWriter, r *http.Request) // Delete add-on // (DELETE /api/v1/addons/{addonId}) DeleteAddon(w http.ResponseWriter, r *http.Request, addonId string) // Get add-on // (GET /api/v1/addons/{addonId}) GetAddon(w http.ResponseWriter, r *http.Request, addonId string, params GetAddonParams) // Update add-on // (PUT /api/v1/addons/{addonId}) UpdateAddon(w http.ResponseWriter, r *http.Request, addonId string) // Archive add-on version // (POST /api/v1/addons/{addonId}/archive) ArchiveAddon(w http.ResponseWriter, r *http.Request, addonId string) // Publish add-on // (POST /api/v1/addons/{addonId}/publish) PublishAddon(w http.ResponseWriter, r *http.Request, addonId string) // List apps // (GET /api/v1/apps) ListApps(w http.ResponseWriter, r *http.Request, params ListAppsParams) // Submit draft synchronization results // (POST /api/v1/apps/custom-invoicing/{invoiceId}/draft/synchronized) AppCustomInvoicingDraftSynchronized(w http.ResponseWriter, r *http.Request, invoiceId string) // Submit issuing synchronization results // (POST /api/v1/apps/custom-invoicing/{invoiceId}/issuing/synchronized) AppCustomInvoicingIssuingSynchronized(w http.ResponseWriter, r *http.Request, invoiceId string) // Update payment status // (POST /api/v1/apps/custom-invoicing/{invoiceId}/payment/status) AppCustomInvoicingUpdatePaymentStatus(w http.ResponseWriter, r *http.Request, invoiceId string) // Uninstall app // (DELETE /api/v1/apps/{id}) UninstallApp(w http.ResponseWriter, r *http.Request, id string) // Get app // (GET /api/v1/apps/{id}) GetApp(w http.ResponseWriter, r *http.Request, id string) // Update app // (PUT /api/v1/apps/{id}) UpdateApp(w http.ResponseWriter, r *http.Request, id string) // Update Stripe API key // (PUT /api/v1/apps/{id}/stripe/api-key) UpdateStripeAPIKey(w http.ResponseWriter, r *http.Request, id string) // Stripe webhook // (POST /api/v1/apps/{id}/stripe/webhook) AppStripeWebhook(w http.ResponseWriter, r *http.Request, id string) // List customer overrides // (GET /api/v1/billing/customers) ListBillingProfileCustomerOverrides(w http.ResponseWriter, r *http.Request, params ListBillingProfileCustomerOverridesParams) // Delete a customer override // (DELETE /api/v1/billing/customers/{customerId}) DeleteBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request, customerId string) // Get a customer override // (GET /api/v1/billing/customers/{customerId}) GetBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request, customerId string, params GetBillingProfileCustomerOverrideParams) // Create a new or update a customer override // (PUT /api/v1/billing/customers/{customerId}) UpsertBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request, customerId string) // Create pending line items // (POST /api/v1/billing/customers/{customerId}/invoices/pending-lines) CreatePendingInvoiceLine(w http.ResponseWriter, r *http.Request, customerId string) // Simulate an invoice for a customer // (POST /api/v1/billing/customers/{customerId}/invoices/simulate) SimulateInvoice(w http.ResponseWriter, r *http.Request, customerId string) // List invoices // (GET /api/v1/billing/invoices) ListInvoices(w http.ResponseWriter, r *http.Request, params ListInvoicesParams) // Invoice a customer based on the pending line items // (POST /api/v1/billing/invoices/invoice) InvoicePendingLinesAction(w http.ResponseWriter, r *http.Request) // Delete an invoice // (DELETE /api/v1/billing/invoices/{invoiceId}) DeleteInvoice(w http.ResponseWriter, r *http.Request, invoiceId string) // Get an invoice // (GET /api/v1/billing/invoices/{invoiceId}) GetInvoice(w http.ResponseWriter, r *http.Request, invoiceId string, params GetInvoiceParams) // Update an invoice // (PUT /api/v1/billing/invoices/{invoiceId}) UpdateInvoice(w http.ResponseWriter, r *http.Request, invoiceId string) // Advance the invoice's state to the next status // (POST /api/v1/billing/invoices/{invoiceId}/advance) AdvanceInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) // Send the invoice to the customer // (POST /api/v1/billing/invoices/{invoiceId}/approve) ApproveInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) // Retry advancing the invoice after a failed attempt. // (POST /api/v1/billing/invoices/{invoiceId}/retry) RetryInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) // Snapshot quantities for usage based line items // (POST /api/v1/billing/invoices/{invoiceId}/snapshot-quantities) SnapshotQuantitiesInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) // Recalculate an invoice's tax amounts // (POST /api/v1/billing/invoices/{invoiceId}/taxes/recalculate) RecalculateInvoiceTaxAction(w http.ResponseWriter, r *http.Request, invoiceId string) // Void an invoice // (POST /api/v1/billing/invoices/{invoiceId}/void) VoidInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) // List billing profiles // (GET /api/v1/billing/profiles) ListBillingProfiles(w http.ResponseWriter, r *http.Request, params ListBillingProfilesParams) // Create a new billing profile // (POST /api/v1/billing/profiles) CreateBillingProfile(w http.ResponseWriter, r *http.Request) // Delete a billing profile // (DELETE /api/v1/billing/profiles/{id}) DeleteBillingProfile(w http.ResponseWriter, r *http.Request, id string) // Get a billing profile // (GET /api/v1/billing/profiles/{id}) GetBillingProfile(w http.ResponseWriter, r *http.Request, id string, params GetBillingProfileParams) // Update a billing profile // (PUT /api/v1/billing/profiles/{id}) UpdateBillingProfile(w http.ResponseWriter, r *http.Request, id string) // List customers // (GET /api/v1/customers) ListCustomers(w http.ResponseWriter, r *http.Request, params ListCustomersParams) // Create customer // (POST /api/v1/customers) CreateCustomer(w http.ResponseWriter, r *http.Request) // Delete customer // (DELETE /api/v1/customers/{customerIdOrKey}) DeleteCustomer(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // Get customer // (GET /api/v1/customers/{customerIdOrKey}) GetCustomer(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params GetCustomerParams) // Update customer // (PUT /api/v1/customers/{customerIdOrKey}) UpdateCustomer(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // Get customer access // (GET /api/v1/customers/{customerIdOrKey}/access) GetCustomerAccess(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // List customer app data // (GET /api/v1/customers/{customerIdOrKey}/apps) ListCustomerAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params ListCustomerAppDataParams) // Upsert customer app data // (PUT /api/v1/customers/{customerIdOrKey}/apps) UpsertCustomerAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // Delete customer app data // (DELETE /api/v1/customers/{customerIdOrKey}/apps/{appId}) DeleteCustomerAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, appId string) // Get customer entitlement value // (GET /api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value) GetCustomerEntitlementValue(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, featureKey string, params GetCustomerEntitlementValueParams) // Get customer stripe app data // (GET /api/v1/customers/{customerIdOrKey}/stripe) GetCustomerStripeAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // Upsert customer stripe app data // (PUT /api/v1/customers/{customerIdOrKey}/stripe) UpsertCustomerStripeAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // Create Stripe customer portal session // (POST /api/v1/customers/{customerIdOrKey}/stripe/portal) CreateCustomerStripePortalSession(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // List customer subscriptions // (GET /api/v1/customers/{customerIdOrKey}/subscriptions) ListCustomerSubscriptions(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params ListCustomerSubscriptionsParams) // Get event metrics // (GET /api/v1/debug/metrics) GetDebugMetrics(w http.ResponseWriter, r *http.Request) // List all entitlements // (GET /api/v1/entitlements) ListEntitlements(w http.ResponseWriter, r *http.Request, params ListEntitlementsParams) // Get entitlement by ID // (GET /api/v1/entitlements/{entitlementId}) GetEntitlementById(w http.ResponseWriter, r *http.Request, entitlementId string) // List ingested events // (GET /api/v1/events) ListEvents(w http.ResponseWriter, r *http.Request, params ListEventsParams) // Ingest events // (POST /api/v1/events) IngestEvents(w http.ResponseWriter, r *http.Request) // List features // (GET /api/v1/features) ListFeatures(w http.ResponseWriter, r *http.Request, params ListFeaturesParams) // Create feature // (POST /api/v1/features) CreateFeature(w http.ResponseWriter, r *http.Request) // Delete feature // (DELETE /api/v1/features/{featureId}) DeleteFeature(w http.ResponseWriter, r *http.Request, featureId string) // Get feature // (GET /api/v1/features/{featureId}) GetFeature(w http.ResponseWriter, r *http.Request, featureId string) // List grants // (GET /api/v1/grants) ListGrants(w http.ResponseWriter, r *http.Request, params ListGrantsParams) // Void grant // (DELETE /api/v1/grants/{grantId}) VoidGrant(w http.ResponseWriter, r *http.Request, grantId string, params VoidGrantParams) // List supported currencies // (GET /api/v1/info/currencies) ListCurrencies(w http.ResponseWriter, r *http.Request) // Get progress // (GET /api/v1/info/progress/{id}) GetProgress(w http.ResponseWriter, r *http.Request, id string) // List available apps // (GET /api/v1/marketplace/listings) ListMarketplaceListings(w http.ResponseWriter, r *http.Request, params ListMarketplaceListingsParams) // Get app details by type // (GET /api/v1/marketplace/listings/{type}) GetMarketplaceListing(w http.ResponseWriter, r *http.Request, pType AppType) // Install app // (POST /api/v1/marketplace/listings/{type}/install) MarketplaceAppInstall(w http.ResponseWriter, r *http.Request, pType MarketplaceInstallRequestType) // Install app via API key // (POST /api/v1/marketplace/listings/{type}/install/apikey) MarketplaceAppAPIKeyInstall(w http.ResponseWriter, r *http.Request, pType MarketplaceApiKeyInstallRequestType) // Get OAuth2 install URL // (GET /api/v1/marketplace/listings/{type}/install/oauth2) MarketplaceOAuth2InstallGetURL(w http.ResponseWriter, r *http.Request, pType AppType) // Install app via OAuth2 // (GET /api/v1/marketplace/listings/{type}/install/oauth2/authorize) MarketplaceOAuth2InstallAuthorize(w http.ResponseWriter, r *http.Request, pType MarketplaceOAuth2InstallAuthorizeRequestType, params MarketplaceOAuth2InstallAuthorizeParams) // List meters // (GET /api/v1/meters) ListMeters(w http.ResponseWriter, r *http.Request, params ListMetersParams) // Create meter // (POST /api/v1/meters) CreateMeter(w http.ResponseWriter, r *http.Request) // Delete meter // (DELETE /api/v1/meters/{meterIdOrSlug}) DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) // Get meter // (GET /api/v1/meters/{meterIdOrSlug}) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) // Update meter // (PUT /api/v1/meters/{meterIdOrSlug}) UpdateMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) // List meter group by values // (GET /api/v1/meters/{meterIdOrSlug}/group-by/{groupByKey}/values) ListMeterGroupByValues(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, groupByKey string, params ListMeterGroupByValuesParams) // Query meter // (GET /api/v1/meters/{meterIdOrSlug}/query) QueryMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, params QueryMeterParams) // Query meter // (POST /api/v1/meters/{meterIdOrSlug}/query) QueryMeterPost(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) // List meter subjects // (GET /api/v1/meters/{meterIdOrSlug}/subjects) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, params ListMeterSubjectsParams) // List notification channels // (GET /api/v1/notification/channels) ListNotificationChannels(w http.ResponseWriter, r *http.Request, params ListNotificationChannelsParams) // Create a notification channel // (POST /api/v1/notification/channels) CreateNotificationChannel(w http.ResponseWriter, r *http.Request) // Delete a notification channel // (DELETE /api/v1/notification/channels/{channelId}) DeleteNotificationChannel(w http.ResponseWriter, r *http.Request, channelId string) // Get notification channel // (GET /api/v1/notification/channels/{channelId}) GetNotificationChannel(w http.ResponseWriter, r *http.Request, channelId string) // Update a notification channel // (PUT /api/v1/notification/channels/{channelId}) UpdateNotificationChannel(w http.ResponseWriter, r *http.Request, channelId string) // List notification events // (GET /api/v1/notification/events) ListNotificationEvents(w http.ResponseWriter, r *http.Request, params ListNotificationEventsParams) // Get notification event // (GET /api/v1/notification/events/{eventId}) GetNotificationEvent(w http.ResponseWriter, r *http.Request, eventId string) // Re-send notification event // (POST /api/v1/notification/events/{eventId}/resend) ResendNotificationEvent(w http.ResponseWriter, r *http.Request, eventId string) // List notification rules // (GET /api/v1/notification/rules) ListNotificationRules(w http.ResponseWriter, r *http.Request, params ListNotificationRulesParams) // Create a notification rule // (POST /api/v1/notification/rules) CreateNotificationRule(w http.ResponseWriter, r *http.Request) // Delete a notification rule // (DELETE /api/v1/notification/rules/{ruleId}) DeleteNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) // Get notification rule // (GET /api/v1/notification/rules/{ruleId}) GetNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) // Update a notification rule // (PUT /api/v1/notification/rules/{ruleId}) UpdateNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) // Test notification rule // (POST /api/v1/notification/rules/{ruleId}/test) TestNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) // List plans // (GET /api/v1/plans) ListPlans(w http.ResponseWriter, r *http.Request, params ListPlansParams) // Create a plan // (POST /api/v1/plans) CreatePlan(w http.ResponseWriter, r *http.Request) // New draft plan // (POST /api/v1/plans/{planIdOrKey}/next) NextPlan(w http.ResponseWriter, r *http.Request, planIdOrKey string) // Delete plan // (DELETE /api/v1/plans/{planId}) DeletePlan(w http.ResponseWriter, r *http.Request, planId string) // Get plan // (GET /api/v1/plans/{planId}) GetPlan(w http.ResponseWriter, r *http.Request, planId string, params GetPlanParams) // Update a plan // (PUT /api/v1/plans/{planId}) UpdatePlan(w http.ResponseWriter, r *http.Request, planId string) // List all available add-ons for plan // (GET /api/v1/plans/{planId}/addons) ListPlanAddons(w http.ResponseWriter, r *http.Request, planId string, params ListPlanAddonsParams) // Create new add-on assignment for plan // (POST /api/v1/plans/{planId}/addons) CreatePlanAddon(w http.ResponseWriter, r *http.Request, planId string) // Delete add-on assignment for plan // (DELETE /api/v1/plans/{planId}/addons/{planAddonId}) DeletePlanAddon(w http.ResponseWriter, r *http.Request, planId string, planAddonId string) // Get add-on assignment for plan // (GET /api/v1/plans/{planId}/addons/{planAddonId}) GetPlanAddon(w http.ResponseWriter, r *http.Request, planId string, planAddonId string) // Update add-on assignment for plan // (PUT /api/v1/plans/{planId}/addons/{planAddonId}) UpdatePlanAddon(w http.ResponseWriter, r *http.Request, planId string, planAddonId string) // Archive plan version // (POST /api/v1/plans/{planId}/archive) ArchivePlan(w http.ResponseWriter, r *http.Request, planId string) // Publish plan // (POST /api/v1/plans/{planId}/publish) PublishPlan(w http.ResponseWriter, r *http.Request, planId string) // Query meter Query meter // (GET /api/v1/portal/meters/{meterSlug}/query) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params QueryPortalMeterParams) // List consumer portal tokens // (GET /api/v1/portal/tokens) ListPortalTokens(w http.ResponseWriter, r *http.Request, params ListPortalTokensParams) // Create consumer portal token // (POST /api/v1/portal/tokens) CreatePortalToken(w http.ResponseWriter, r *http.Request) // Invalidate portal tokens // (POST /api/v1/portal/tokens/invalidate) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request) // Create checkout session // (POST /api/v1/stripe/checkout/sessions) CreateStripeCheckoutSession(w http.ResponseWriter, r *http.Request) // List subjects // (GET /api/v1/subjects) ListSubjects(w http.ResponseWriter, r *http.Request) // Upsert subject // (POST /api/v1/subjects) UpsertSubject(w http.ResponseWriter, r *http.Request) // Delete subject // (DELETE /api/v1/subjects/{subjectIdOrKey}) DeleteSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) // Get subject // (GET /api/v1/subjects/{subjectIdOrKey}) GetSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) // List subject entitlements // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements) ListSubjectEntitlements(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, params ListSubjectEntitlementsParams) // Create a subject entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements) CreateEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) // List subject entitlement grants // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) ListEntitlementGrants(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params ListEntitlementGrantsParams) // Create subject entitlement grant // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) CreateGrant(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) // Override subject entitlement // (PUT /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override) OverrideEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) // Get subject entitlement value // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value) GetEntitlementValue(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params GetEntitlementValueParams) // Delete subject entitlement // (DELETE /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) DeleteEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) // Get subject entitlement // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) GetEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) // Get subject entitlement history // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history) GetEntitlementHistory(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string, params GetEntitlementHistoryParams) // Reset subject entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset) ResetEntitlementUsage(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) // Create subscription // (POST /api/v1/subscriptions) CreateSubscription(w http.ResponseWriter, r *http.Request) // Delete subscription // (DELETE /api/v1/subscriptions/{subscriptionId}) DeleteSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) // Get subscription // (GET /api/v1/subscriptions/{subscriptionId}) GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string, params GetSubscriptionParams) // Edit subscription // (PATCH /api/v1/subscriptions/{subscriptionId}) EditSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) // List subscription addons // (GET /api/v1/subscriptions/{subscriptionId}/addons) ListSubscriptionAddons(w http.ResponseWriter, r *http.Request, subscriptionId string) // Create subscription addon // (POST /api/v1/subscriptions/{subscriptionId}/addons) CreateSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId string) // Get subscription addon // (GET /api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}) GetSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId string, subscriptionAddonId string) // Update subscription addon // (PATCH /api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}) UpdateSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId string, subscriptionAddonId string) // Cancel subscription // (POST /api/v1/subscriptions/{subscriptionId}/cancel) CancelSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) // Change subscription // (POST /api/v1/subscriptions/{subscriptionId}/change) ChangeSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) // Migrate subscription // (POST /api/v1/subscriptions/{subscriptionId}/migrate) MigrateSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) // Restore subscription // (POST /api/v1/subscriptions/{subscriptionId}/restore) RestoreSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) // Unschedule cancelation // (POST /api/v1/subscriptions/{subscriptionId}/unschedule-cancelation) UnscheduleCancelation(w http.ResponseWriter, r *http.Request, subscriptionId string) // List customer entitlements // (GET /api/v2/customers/{customerIdOrKey}/entitlements) ListCustomerEntitlementsV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params ListCustomerEntitlementsV2Params) // Create a customer entitlement // (POST /api/v2/customers/{customerIdOrKey}/entitlements) CreateCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) // Delete customer entitlement // (DELETE /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}) DeleteCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) // Get customer entitlement // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}) GetCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) // List customer entitlement grants // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) ListCustomerEntitlementGrantsV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string, params ListCustomerEntitlementGrantsV2Params) // Create customer entitlement grant // (POST /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) CreateCustomerEntitlementGrantV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) // Get customer entitlement history // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/history) GetCustomerEntitlementHistoryV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string, params GetCustomerEntitlementHistoryV2Params) // Override customer entitlement // (PUT /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override) OverrideCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey ULIDOrExternalKey) // Reset customer entitlement // (POST /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/reset) ResetCustomerEntitlementUsageV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) // Get customer entitlement value // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value) GetCustomerEntitlementValueV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string, params GetCustomerEntitlementValueV2Params) // List all entitlements // (GET /api/v2/entitlements) ListEntitlementsV2(w http.ResponseWriter, r *http.Request, params ListEntitlementsV2Params) // Get entitlement by ID // (GET /api/v2/entitlements/{entitlementId}) GetEntitlementByIdV2(w http.ResponseWriter, r *http.Request, entitlementId string) // List ingested events // (GET /api/v2/events) ListEventsV2(w http.ResponseWriter, r *http.Request, params ListEventsV2Params) // List grants // (GET /api/v2/grants) ListGrantsV2(w http.ResponseWriter, r *http.Request, params ListGrantsV2Params) } // Unimplemented server implementation that returns http.StatusNotImplemented for each endpoint. type Unimplemented struct{} // List add-ons // (GET /api/v1/addons) func (_ Unimplemented) ListAddons(w http.ResponseWriter, r *http.Request, params ListAddonsParams) { w.WriteHeader(http.StatusNotImplemented) } // Create an add-on // (POST /api/v1/addons) func (_ Unimplemented) CreateAddon(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete add-on // (DELETE /api/v1/addons/{addonId}) func (_ Unimplemented) DeleteAddon(w http.ResponseWriter, r *http.Request, addonId string) { w.WriteHeader(http.StatusNotImplemented) } // Get add-on // (GET /api/v1/addons/{addonId}) func (_ Unimplemented) GetAddon(w http.ResponseWriter, r *http.Request, addonId string, params GetAddonParams) { w.WriteHeader(http.StatusNotImplemented) } // Update add-on // (PUT /api/v1/addons/{addonId}) func (_ Unimplemented) UpdateAddon(w http.ResponseWriter, r *http.Request, addonId string) { w.WriteHeader(http.StatusNotImplemented) } // Archive add-on version // (POST /api/v1/addons/{addonId}/archive) func (_ Unimplemented) ArchiveAddon(w http.ResponseWriter, r *http.Request, addonId string) { w.WriteHeader(http.StatusNotImplemented) } // Publish add-on // (POST /api/v1/addons/{addonId}/publish) func (_ Unimplemented) PublishAddon(w http.ResponseWriter, r *http.Request, addonId string) { w.WriteHeader(http.StatusNotImplemented) } // List apps // (GET /api/v1/apps) func (_ Unimplemented) ListApps(w http.ResponseWriter, r *http.Request, params ListAppsParams) { w.WriteHeader(http.StatusNotImplemented) } // Submit draft synchronization results // (POST /api/v1/apps/custom-invoicing/{invoiceId}/draft/synchronized) func (_ Unimplemented) AppCustomInvoicingDraftSynchronized(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Submit issuing synchronization results // (POST /api/v1/apps/custom-invoicing/{invoiceId}/issuing/synchronized) func (_ Unimplemented) AppCustomInvoicingIssuingSynchronized(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Update payment status // (POST /api/v1/apps/custom-invoicing/{invoiceId}/payment/status) func (_ Unimplemented) AppCustomInvoicingUpdatePaymentStatus(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Uninstall app // (DELETE /api/v1/apps/{id}) func (_ Unimplemented) UninstallApp(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // Get app // (GET /api/v1/apps/{id}) func (_ Unimplemented) GetApp(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // Update app // (PUT /api/v1/apps/{id}) func (_ Unimplemented) UpdateApp(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // Update Stripe API key // (PUT /api/v1/apps/{id}/stripe/api-key) func (_ Unimplemented) UpdateStripeAPIKey(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // Stripe webhook // (POST /api/v1/apps/{id}/stripe/webhook) func (_ Unimplemented) AppStripeWebhook(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // List customer overrides // (GET /api/v1/billing/customers) func (_ Unimplemented) ListBillingProfileCustomerOverrides(w http.ResponseWriter, r *http.Request, params ListBillingProfileCustomerOverridesParams) { w.WriteHeader(http.StatusNotImplemented) } // Delete a customer override // (DELETE /api/v1/billing/customers/{customerId}) func (_ Unimplemented) DeleteBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request, customerId string) { w.WriteHeader(http.StatusNotImplemented) } // Get a customer override // (GET /api/v1/billing/customers/{customerId}) func (_ Unimplemented) GetBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request, customerId string, params GetBillingProfileCustomerOverrideParams) { w.WriteHeader(http.StatusNotImplemented) } // Create a new or update a customer override // (PUT /api/v1/billing/customers/{customerId}) func (_ Unimplemented) UpsertBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request, customerId string) { w.WriteHeader(http.StatusNotImplemented) } // Create pending line items // (POST /api/v1/billing/customers/{customerId}/invoices/pending-lines) func (_ Unimplemented) CreatePendingInvoiceLine(w http.ResponseWriter, r *http.Request, customerId string) { w.WriteHeader(http.StatusNotImplemented) } // Simulate an invoice for a customer // (POST /api/v1/billing/customers/{customerId}/invoices/simulate) func (_ Unimplemented) SimulateInvoice(w http.ResponseWriter, r *http.Request, customerId string) { w.WriteHeader(http.StatusNotImplemented) } // List invoices // (GET /api/v1/billing/invoices) func (_ Unimplemented) ListInvoices(w http.ResponseWriter, r *http.Request, params ListInvoicesParams) { w.WriteHeader(http.StatusNotImplemented) } // Invoice a customer based on the pending line items // (POST /api/v1/billing/invoices/invoice) func (_ Unimplemented) InvoicePendingLinesAction(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete an invoice // (DELETE /api/v1/billing/invoices/{invoiceId}) func (_ Unimplemented) DeleteInvoice(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Get an invoice // (GET /api/v1/billing/invoices/{invoiceId}) func (_ Unimplemented) GetInvoice(w http.ResponseWriter, r *http.Request, invoiceId string, params GetInvoiceParams) { w.WriteHeader(http.StatusNotImplemented) } // Update an invoice // (PUT /api/v1/billing/invoices/{invoiceId}) func (_ Unimplemented) UpdateInvoice(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Advance the invoice's state to the next status // (POST /api/v1/billing/invoices/{invoiceId}/advance) func (_ Unimplemented) AdvanceInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Send the invoice to the customer // (POST /api/v1/billing/invoices/{invoiceId}/approve) func (_ Unimplemented) ApproveInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Retry advancing the invoice after a failed attempt. // (POST /api/v1/billing/invoices/{invoiceId}/retry) func (_ Unimplemented) RetryInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Snapshot quantities for usage based line items // (POST /api/v1/billing/invoices/{invoiceId}/snapshot-quantities) func (_ Unimplemented) SnapshotQuantitiesInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Recalculate an invoice's tax amounts // (POST /api/v1/billing/invoices/{invoiceId}/taxes/recalculate) func (_ Unimplemented) RecalculateInvoiceTaxAction(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // Void an invoice // (POST /api/v1/billing/invoices/{invoiceId}/void) func (_ Unimplemented) VoidInvoiceAction(w http.ResponseWriter, r *http.Request, invoiceId string) { w.WriteHeader(http.StatusNotImplemented) } // List billing profiles // (GET /api/v1/billing/profiles) func (_ Unimplemented) ListBillingProfiles(w http.ResponseWriter, r *http.Request, params ListBillingProfilesParams) { w.WriteHeader(http.StatusNotImplemented) } // Create a new billing profile // (POST /api/v1/billing/profiles) func (_ Unimplemented) CreateBillingProfile(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete a billing profile // (DELETE /api/v1/billing/profiles/{id}) func (_ Unimplemented) DeleteBillingProfile(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // Get a billing profile // (GET /api/v1/billing/profiles/{id}) func (_ Unimplemented) GetBillingProfile(w http.ResponseWriter, r *http.Request, id string, params GetBillingProfileParams) { w.WriteHeader(http.StatusNotImplemented) } // Update a billing profile // (PUT /api/v1/billing/profiles/{id}) func (_ Unimplemented) UpdateBillingProfile(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // List customers // (GET /api/v1/customers) func (_ Unimplemented) ListCustomers(w http.ResponseWriter, r *http.Request, params ListCustomersParams) { w.WriteHeader(http.StatusNotImplemented) } // Create customer // (POST /api/v1/customers) func (_ Unimplemented) CreateCustomer(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete customer // (DELETE /api/v1/customers/{customerIdOrKey}) func (_ Unimplemented) DeleteCustomer(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Get customer // (GET /api/v1/customers/{customerIdOrKey}) func (_ Unimplemented) GetCustomer(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params GetCustomerParams) { w.WriteHeader(http.StatusNotImplemented) } // Update customer // (PUT /api/v1/customers/{customerIdOrKey}) func (_ Unimplemented) UpdateCustomer(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Get customer access // (GET /api/v1/customers/{customerIdOrKey}/access) func (_ Unimplemented) GetCustomerAccess(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // List customer app data // (GET /api/v1/customers/{customerIdOrKey}/apps) func (_ Unimplemented) ListCustomerAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params ListCustomerAppDataParams) { w.WriteHeader(http.StatusNotImplemented) } // Upsert customer app data // (PUT /api/v1/customers/{customerIdOrKey}/apps) func (_ Unimplemented) UpsertCustomerAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Delete customer app data // (DELETE /api/v1/customers/{customerIdOrKey}/apps/{appId}) func (_ Unimplemented) DeleteCustomerAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, appId string) { w.WriteHeader(http.StatusNotImplemented) } // Get customer entitlement value // (GET /api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value) func (_ Unimplemented) GetCustomerEntitlementValue(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, featureKey string, params GetCustomerEntitlementValueParams) { w.WriteHeader(http.StatusNotImplemented) } // Get customer stripe app data // (GET /api/v1/customers/{customerIdOrKey}/stripe) func (_ Unimplemented) GetCustomerStripeAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Upsert customer stripe app data // (PUT /api/v1/customers/{customerIdOrKey}/stripe) func (_ Unimplemented) UpsertCustomerStripeAppData(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Create Stripe customer portal session // (POST /api/v1/customers/{customerIdOrKey}/stripe/portal) func (_ Unimplemented) CreateCustomerStripePortalSession(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // List customer subscriptions // (GET /api/v1/customers/{customerIdOrKey}/subscriptions) func (_ Unimplemented) ListCustomerSubscriptions(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params ListCustomerSubscriptionsParams) { w.WriteHeader(http.StatusNotImplemented) } // Get event metrics // (GET /api/v1/debug/metrics) func (_ Unimplemented) GetDebugMetrics(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // List all entitlements // (GET /api/v1/entitlements) func (_ Unimplemented) ListEntitlements(w http.ResponseWriter, r *http.Request, params ListEntitlementsParams) { w.WriteHeader(http.StatusNotImplemented) } // Get entitlement by ID // (GET /api/v1/entitlements/{entitlementId}) func (_ Unimplemented) GetEntitlementById(w http.ResponseWriter, r *http.Request, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } // List ingested events // (GET /api/v1/events) func (_ Unimplemented) ListEvents(w http.ResponseWriter, r *http.Request, params ListEventsParams) { w.WriteHeader(http.StatusNotImplemented) } // Ingest events // (POST /api/v1/events) func (_ Unimplemented) IngestEvents(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // List features // (GET /api/v1/features) func (_ Unimplemented) ListFeatures(w http.ResponseWriter, r *http.Request, params ListFeaturesParams) { w.WriteHeader(http.StatusNotImplemented) } // Create feature // (POST /api/v1/features) func (_ Unimplemented) CreateFeature(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete feature // (DELETE /api/v1/features/{featureId}) func (_ Unimplemented) DeleteFeature(w http.ResponseWriter, r *http.Request, featureId string) { w.WriteHeader(http.StatusNotImplemented) } // Get feature // (GET /api/v1/features/{featureId}) func (_ Unimplemented) GetFeature(w http.ResponseWriter, r *http.Request, featureId string) { w.WriteHeader(http.StatusNotImplemented) } // List grants // (GET /api/v1/grants) func (_ Unimplemented) ListGrants(w http.ResponseWriter, r *http.Request, params ListGrantsParams) { w.WriteHeader(http.StatusNotImplemented) } // Void grant // (DELETE /api/v1/grants/{grantId}) func (_ Unimplemented) VoidGrant(w http.ResponseWriter, r *http.Request, grantId string, params VoidGrantParams) { w.WriteHeader(http.StatusNotImplemented) } // List supported currencies // (GET /api/v1/info/currencies) func (_ Unimplemented) ListCurrencies(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Get progress // (GET /api/v1/info/progress/{id}) func (_ Unimplemented) GetProgress(w http.ResponseWriter, r *http.Request, id string) { w.WriteHeader(http.StatusNotImplemented) } // List available apps // (GET /api/v1/marketplace/listings) func (_ Unimplemented) ListMarketplaceListings(w http.ResponseWriter, r *http.Request, params ListMarketplaceListingsParams) { w.WriteHeader(http.StatusNotImplemented) } // Get app details by type // (GET /api/v1/marketplace/listings/{type}) func (_ Unimplemented) GetMarketplaceListing(w http.ResponseWriter, r *http.Request, pType AppType) { w.WriteHeader(http.StatusNotImplemented) } // Install app // (POST /api/v1/marketplace/listings/{type}/install) func (_ Unimplemented) MarketplaceAppInstall(w http.ResponseWriter, r *http.Request, pType MarketplaceInstallRequestType) { w.WriteHeader(http.StatusNotImplemented) } // Install app via API key // (POST /api/v1/marketplace/listings/{type}/install/apikey) func (_ Unimplemented) MarketplaceAppAPIKeyInstall(w http.ResponseWriter, r *http.Request, pType MarketplaceApiKeyInstallRequestType) { w.WriteHeader(http.StatusNotImplemented) } // Get OAuth2 install URL // (GET /api/v1/marketplace/listings/{type}/install/oauth2) func (_ Unimplemented) MarketplaceOAuth2InstallGetURL(w http.ResponseWriter, r *http.Request, pType AppType) { w.WriteHeader(http.StatusNotImplemented) } // Install app via OAuth2 // (GET /api/v1/marketplace/listings/{type}/install/oauth2/authorize) func (_ Unimplemented) MarketplaceOAuth2InstallAuthorize(w http.ResponseWriter, r *http.Request, pType MarketplaceOAuth2InstallAuthorizeRequestType, params MarketplaceOAuth2InstallAuthorizeParams) { w.WriteHeader(http.StatusNotImplemented) } // List meters // (GET /api/v1/meters) func (_ Unimplemented) ListMeters(w http.ResponseWriter, r *http.Request, params ListMetersParams) { w.WriteHeader(http.StatusNotImplemented) } // Create meter // (POST /api/v1/meters) func (_ Unimplemented) CreateMeter(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete meter // (DELETE /api/v1/meters/{meterIdOrSlug}) func (_ Unimplemented) DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) { w.WriteHeader(http.StatusNotImplemented) } // Get meter // (GET /api/v1/meters/{meterIdOrSlug}) func (_ Unimplemented) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) { w.WriteHeader(http.StatusNotImplemented) } // Update meter // (PUT /api/v1/meters/{meterIdOrSlug}) func (_ Unimplemented) UpdateMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) { w.WriteHeader(http.StatusNotImplemented) } // List meter group by values // (GET /api/v1/meters/{meterIdOrSlug}/group-by/{groupByKey}/values) func (_ Unimplemented) ListMeterGroupByValues(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, groupByKey string, params ListMeterGroupByValuesParams) { w.WriteHeader(http.StatusNotImplemented) } // Query meter // (GET /api/v1/meters/{meterIdOrSlug}/query) func (_ Unimplemented) QueryMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, params QueryMeterParams) { w.WriteHeader(http.StatusNotImplemented) } // Query meter // (POST /api/v1/meters/{meterIdOrSlug}/query) func (_ Unimplemented) QueryMeterPost(w http.ResponseWriter, r *http.Request, meterIdOrSlug string) { w.WriteHeader(http.StatusNotImplemented) } // List meter subjects // (GET /api/v1/meters/{meterIdOrSlug}/subjects) func (_ Unimplemented) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIdOrSlug string, params ListMeterSubjectsParams) { w.WriteHeader(http.StatusNotImplemented) } // List notification channels // (GET /api/v1/notification/channels) func (_ Unimplemented) ListNotificationChannels(w http.ResponseWriter, r *http.Request, params ListNotificationChannelsParams) { w.WriteHeader(http.StatusNotImplemented) } // Create a notification channel // (POST /api/v1/notification/channels) func (_ Unimplemented) CreateNotificationChannel(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete a notification channel // (DELETE /api/v1/notification/channels/{channelId}) func (_ Unimplemented) DeleteNotificationChannel(w http.ResponseWriter, r *http.Request, channelId string) { w.WriteHeader(http.StatusNotImplemented) } // Get notification channel // (GET /api/v1/notification/channels/{channelId}) func (_ Unimplemented) GetNotificationChannel(w http.ResponseWriter, r *http.Request, channelId string) { w.WriteHeader(http.StatusNotImplemented) } // Update a notification channel // (PUT /api/v1/notification/channels/{channelId}) func (_ Unimplemented) UpdateNotificationChannel(w http.ResponseWriter, r *http.Request, channelId string) { w.WriteHeader(http.StatusNotImplemented) } // List notification events // (GET /api/v1/notification/events) func (_ Unimplemented) ListNotificationEvents(w http.ResponseWriter, r *http.Request, params ListNotificationEventsParams) { w.WriteHeader(http.StatusNotImplemented) } // Get notification event // (GET /api/v1/notification/events/{eventId}) func (_ Unimplemented) GetNotificationEvent(w http.ResponseWriter, r *http.Request, eventId string) { w.WriteHeader(http.StatusNotImplemented) } // Re-send notification event // (POST /api/v1/notification/events/{eventId}/resend) func (_ Unimplemented) ResendNotificationEvent(w http.ResponseWriter, r *http.Request, eventId string) { w.WriteHeader(http.StatusNotImplemented) } // List notification rules // (GET /api/v1/notification/rules) func (_ Unimplemented) ListNotificationRules(w http.ResponseWriter, r *http.Request, params ListNotificationRulesParams) { w.WriteHeader(http.StatusNotImplemented) } // Create a notification rule // (POST /api/v1/notification/rules) func (_ Unimplemented) CreateNotificationRule(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete a notification rule // (DELETE /api/v1/notification/rules/{ruleId}) func (_ Unimplemented) DeleteNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) { w.WriteHeader(http.StatusNotImplemented) } // Get notification rule // (GET /api/v1/notification/rules/{ruleId}) func (_ Unimplemented) GetNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) { w.WriteHeader(http.StatusNotImplemented) } // Update a notification rule // (PUT /api/v1/notification/rules/{ruleId}) func (_ Unimplemented) UpdateNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) { w.WriteHeader(http.StatusNotImplemented) } // Test notification rule // (POST /api/v1/notification/rules/{ruleId}/test) func (_ Unimplemented) TestNotificationRule(w http.ResponseWriter, r *http.Request, ruleId string) { w.WriteHeader(http.StatusNotImplemented) } // List plans // (GET /api/v1/plans) func (_ Unimplemented) ListPlans(w http.ResponseWriter, r *http.Request, params ListPlansParams) { w.WriteHeader(http.StatusNotImplemented) } // Create a plan // (POST /api/v1/plans) func (_ Unimplemented) CreatePlan(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // New draft plan // (POST /api/v1/plans/{planIdOrKey}/next) func (_ Unimplemented) NextPlan(w http.ResponseWriter, r *http.Request, planIdOrKey string) { w.WriteHeader(http.StatusNotImplemented) } // Delete plan // (DELETE /api/v1/plans/{planId}) func (_ Unimplemented) DeletePlan(w http.ResponseWriter, r *http.Request, planId string) { w.WriteHeader(http.StatusNotImplemented) } // Get plan // (GET /api/v1/plans/{planId}) func (_ Unimplemented) GetPlan(w http.ResponseWriter, r *http.Request, planId string, params GetPlanParams) { w.WriteHeader(http.StatusNotImplemented) } // Update a plan // (PUT /api/v1/plans/{planId}) func (_ Unimplemented) UpdatePlan(w http.ResponseWriter, r *http.Request, planId string) { w.WriteHeader(http.StatusNotImplemented) } // List all available add-ons for plan // (GET /api/v1/plans/{planId}/addons) func (_ Unimplemented) ListPlanAddons(w http.ResponseWriter, r *http.Request, planId string, params ListPlanAddonsParams) { w.WriteHeader(http.StatusNotImplemented) } // Create new add-on assignment for plan // (POST /api/v1/plans/{planId}/addons) func (_ Unimplemented) CreatePlanAddon(w http.ResponseWriter, r *http.Request, planId string) { w.WriteHeader(http.StatusNotImplemented) } // Delete add-on assignment for plan // (DELETE /api/v1/plans/{planId}/addons/{planAddonId}) func (_ Unimplemented) DeletePlanAddon(w http.ResponseWriter, r *http.Request, planId string, planAddonId string) { w.WriteHeader(http.StatusNotImplemented) } // Get add-on assignment for plan // (GET /api/v1/plans/{planId}/addons/{planAddonId}) func (_ Unimplemented) GetPlanAddon(w http.ResponseWriter, r *http.Request, planId string, planAddonId string) { w.WriteHeader(http.StatusNotImplemented) } // Update add-on assignment for plan // (PUT /api/v1/plans/{planId}/addons/{planAddonId}) func (_ Unimplemented) UpdatePlanAddon(w http.ResponseWriter, r *http.Request, planId string, planAddonId string) { w.WriteHeader(http.StatusNotImplemented) } // Archive plan version // (POST /api/v1/plans/{planId}/archive) func (_ Unimplemented) ArchivePlan(w http.ResponseWriter, r *http.Request, planId string) { w.WriteHeader(http.StatusNotImplemented) } // Publish plan // (POST /api/v1/plans/{planId}/publish) func (_ Unimplemented) PublishPlan(w http.ResponseWriter, r *http.Request, planId string) { w.WriteHeader(http.StatusNotImplemented) } // Query meter Query meter // (GET /api/v1/portal/meters/{meterSlug}/query) func (_ Unimplemented) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params QueryPortalMeterParams) { w.WriteHeader(http.StatusNotImplemented) } // List consumer portal tokens // (GET /api/v1/portal/tokens) func (_ Unimplemented) ListPortalTokens(w http.ResponseWriter, r *http.Request, params ListPortalTokensParams) { w.WriteHeader(http.StatusNotImplemented) } // Create consumer portal token // (POST /api/v1/portal/tokens) func (_ Unimplemented) CreatePortalToken(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Invalidate portal tokens // (POST /api/v1/portal/tokens/invalidate) func (_ Unimplemented) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Create checkout session // (POST /api/v1/stripe/checkout/sessions) func (_ Unimplemented) CreateStripeCheckoutSession(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // List subjects // (GET /api/v1/subjects) func (_ Unimplemented) ListSubjects(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Upsert subject // (POST /api/v1/subjects) func (_ Unimplemented) UpsertSubject(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete subject // (DELETE /api/v1/subjects/{subjectIdOrKey}) func (_ Unimplemented) DeleteSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) { w.WriteHeader(http.StatusNotImplemented) } // Get subject // (GET /api/v1/subjects/{subjectIdOrKey}) func (_ Unimplemented) GetSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) { w.WriteHeader(http.StatusNotImplemented) } // List subject entitlements // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements) func (_ Unimplemented) ListSubjectEntitlements(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, params ListSubjectEntitlementsParams) { w.WriteHeader(http.StatusNotImplemented) } // Create a subject entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements) func (_ Unimplemented) CreateEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string) { w.WriteHeader(http.StatusNotImplemented) } // List subject entitlement grants // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) func (_ Unimplemented) ListEntitlementGrants(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params ListEntitlementGrantsParams) { w.WriteHeader(http.StatusNotImplemented) } // Create subject entitlement grant // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) func (_ Unimplemented) CreateGrant(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } // Override subject entitlement // (PUT /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override) func (_ Unimplemented) OverrideEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } // Get subject entitlement value // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value) func (_ Unimplemented) GetEntitlementValue(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementIdOrFeatureKey string, params GetEntitlementValueParams) { w.WriteHeader(http.StatusNotImplemented) } // Delete subject entitlement // (DELETE /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) func (_ Unimplemented) DeleteEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } // Get subject entitlement // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}) func (_ Unimplemented) GetEntitlement(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } // Get subject entitlement history // (GET /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history) func (_ Unimplemented) GetEntitlementHistory(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string, params GetEntitlementHistoryParams) { w.WriteHeader(http.StatusNotImplemented) } // Reset subject entitlement // (POST /api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset) func (_ Unimplemented) ResetEntitlementUsage(w http.ResponseWriter, r *http.Request, subjectIdOrKey string, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } // Create subscription // (POST /api/v1/subscriptions) func (_ Unimplemented) CreateSubscription(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotImplemented) } // Delete subscription // (DELETE /api/v1/subscriptions/{subscriptionId}) func (_ Unimplemented) DeleteSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Get subscription // (GET /api/v1/subscriptions/{subscriptionId}) func (_ Unimplemented) GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string, params GetSubscriptionParams) { w.WriteHeader(http.StatusNotImplemented) } // Edit subscription // (PATCH /api/v1/subscriptions/{subscriptionId}) func (_ Unimplemented) EditSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // List subscription addons // (GET /api/v1/subscriptions/{subscriptionId}/addons) func (_ Unimplemented) ListSubscriptionAddons(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Create subscription addon // (POST /api/v1/subscriptions/{subscriptionId}/addons) func (_ Unimplemented) CreateSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Get subscription addon // (GET /api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}) func (_ Unimplemented) GetSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId string, subscriptionAddonId string) { w.WriteHeader(http.StatusNotImplemented) } // Update subscription addon // (PATCH /api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}) func (_ Unimplemented) UpdateSubscriptionAddon(w http.ResponseWriter, r *http.Request, subscriptionId string, subscriptionAddonId string) { w.WriteHeader(http.StatusNotImplemented) } // Cancel subscription // (POST /api/v1/subscriptions/{subscriptionId}/cancel) func (_ Unimplemented) CancelSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Change subscription // (POST /api/v1/subscriptions/{subscriptionId}/change) func (_ Unimplemented) ChangeSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Migrate subscription // (POST /api/v1/subscriptions/{subscriptionId}/migrate) func (_ Unimplemented) MigrateSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Restore subscription // (POST /api/v1/subscriptions/{subscriptionId}/restore) func (_ Unimplemented) RestoreSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // Unschedule cancelation // (POST /api/v1/subscriptions/{subscriptionId}/unschedule-cancelation) func (_ Unimplemented) UnscheduleCancelation(w http.ResponseWriter, r *http.Request, subscriptionId string) { w.WriteHeader(http.StatusNotImplemented) } // List customer entitlements // (GET /api/v2/customers/{customerIdOrKey}/entitlements) func (_ Unimplemented) ListCustomerEntitlementsV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, params ListCustomerEntitlementsV2Params) { w.WriteHeader(http.StatusNotImplemented) } // Create a customer entitlement // (POST /api/v2/customers/{customerIdOrKey}/entitlements) func (_ Unimplemented) CreateCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Delete customer entitlement // (DELETE /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}) func (_ Unimplemented) DeleteCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } // Get customer entitlement // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}) func (_ Unimplemented) GetCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } // List customer entitlement grants // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) func (_ Unimplemented) ListCustomerEntitlementGrantsV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string, params ListCustomerEntitlementGrantsV2Params) { w.WriteHeader(http.StatusNotImplemented) } // Create customer entitlement grant // (POST /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants) func (_ Unimplemented) CreateCustomerEntitlementGrantV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } // Get customer entitlement history // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/history) func (_ Unimplemented) GetCustomerEntitlementHistoryV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string, params GetCustomerEntitlementHistoryV2Params) { w.WriteHeader(http.StatusNotImplemented) } // Override customer entitlement // (PUT /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override) func (_ Unimplemented) OverrideCustomerEntitlementV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey ULIDOrExternalKey) { w.WriteHeader(http.StatusNotImplemented) } // Reset customer entitlement // (POST /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/reset) func (_ Unimplemented) ResetCustomerEntitlementUsageV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string) { w.WriteHeader(http.StatusNotImplemented) } // Get customer entitlement value // (GET /api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value) func (_ Unimplemented) GetCustomerEntitlementValueV2(w http.ResponseWriter, r *http.Request, customerIdOrKey ULIDOrExternalKey, entitlementIdOrFeatureKey string, params GetCustomerEntitlementValueV2Params) { w.WriteHeader(http.StatusNotImplemented) } // List all entitlements // (GET /api/v2/entitlements) func (_ Unimplemented) ListEntitlementsV2(w http.ResponseWriter, r *http.Request, params ListEntitlementsV2Params) { w.WriteHeader(http.StatusNotImplemented) } // Get entitlement by ID // (GET /api/v2/entitlements/{entitlementId}) func (_ Unimplemented) GetEntitlementByIdV2(w http.ResponseWriter, r *http.Request, entitlementId string) { w.WriteHeader(http.StatusNotImplemented) } // List ingested events // (GET /api/v2/events) func (_ Unimplemented) ListEventsV2(w http.ResponseWriter, r *http.Request, params ListEventsV2Params) { w.WriteHeader(http.StatusNotImplemented) } // List grants // (GET /api/v2/grants) func (_ Unimplemented) ListGrantsV2(w http.ResponseWriter, r *http.Request, params ListGrantsV2Params) { w.WriteHeader(http.StatusNotImplemented) } // ServerInterfaceWrapper converts contexts to parameters. type ServerInterfaceWrapper struct { Handler ServerInterface HandlerMiddlewares []MiddlewareFunc ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) } type MiddlewareFunc func(http.Handler) http.Handler // ListAddons operation middleware func (siw *ServerInterfaceWrapper) ListAddons(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListAddonsParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "id" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "id", r.URL.Query(), ¶ms.Id, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } // ------------- Optional query parameter "key" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "key", r.URL.Query(), ¶ms.Key, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) return } // ------------- Optional query parameter "keyVersion" ------------- err = runtime.BindQueryParameterWithOptions("deepObject", true, false, "keyVersion", r.URL.Query(), ¶ms.KeyVersion, runtime.BindQueryParameterOptions{Type: "object", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "keyVersion", Err: err}) return } // ------------- Optional query parameter "status" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) return } // ------------- Optional query parameter "currency" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "currency", r.URL.Query(), ¶ms.Currency, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "currency", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListAddons(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateAddon operation middleware func (siw *ServerInterfaceWrapper) CreateAddon(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateAddon(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteAddon operation middleware func (siw *ServerInterfaceWrapper) DeleteAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "addonId" ------------- var addonId string err = runtime.BindStyledParameterWithOptions("simple", "addonId", chi.URLParam(r, "addonId"), &addonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "addonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteAddon(w, r, addonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetAddon operation middleware func (siw *ServerInterfaceWrapper) GetAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "addonId" ------------- var addonId string err = runtime.BindStyledParameterWithOptions("simple", "addonId", chi.URLParam(r, "addonId"), &addonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "addonId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetAddonParams // ------------- Optional query parameter "includeLatest" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeLatest", r.URL.Query(), ¶ms.IncludeLatest, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeLatest", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetAddon(w, r, addonId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateAddon operation middleware func (siw *ServerInterfaceWrapper) UpdateAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "addonId" ------------- var addonId string err = runtime.BindStyledParameterWithOptions("simple", "addonId", chi.URLParam(r, "addonId"), &addonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "addonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateAddon(w, r, addonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ArchiveAddon operation middleware func (siw *ServerInterfaceWrapper) ArchiveAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "addonId" ------------- var addonId string err = runtime.BindStyledParameterWithOptions("simple", "addonId", chi.URLParam(r, "addonId"), &addonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "addonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ArchiveAddon(w, r, addonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // PublishAddon operation middleware func (siw *ServerInterfaceWrapper) PublishAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "addonId" ------------- var addonId string err = runtime.BindStyledParameterWithOptions("simple", "addonId", chi.URLParam(r, "addonId"), &addonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "addonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.PublishAddon(w, r, addonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListApps operation middleware func (siw *ServerInterfaceWrapper) ListApps(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListAppsParams // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListApps(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // AppCustomInvoicingDraftSynchronized operation middleware func (siw *ServerInterfaceWrapper) AppCustomInvoicingDraftSynchronized(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.AppCustomInvoicingDraftSynchronized(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // AppCustomInvoicingIssuingSynchronized operation middleware func (siw *ServerInterfaceWrapper) AppCustomInvoicingIssuingSynchronized(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.AppCustomInvoicingIssuingSynchronized(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // AppCustomInvoicingUpdatePaymentStatus operation middleware func (siw *ServerInterfaceWrapper) AppCustomInvoicingUpdatePaymentStatus(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.AppCustomInvoicingUpdatePaymentStatus(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UninstallApp operation middleware func (siw *ServerInterfaceWrapper) UninstallApp(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UninstallApp(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetApp operation middleware func (siw *ServerInterfaceWrapper) GetApp(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetApp(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateApp operation middleware func (siw *ServerInterfaceWrapper) UpdateApp(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateApp(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateStripeAPIKey operation middleware func (siw *ServerInterfaceWrapper) UpdateStripeAPIKey(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateStripeAPIKey(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // AppStripeWebhook operation middleware func (siw *ServerInterfaceWrapper) AppStripeWebhook(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.AppStripeWebhook(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListBillingProfileCustomerOverrides operation middleware func (siw *ServerInterfaceWrapper) ListBillingProfileCustomerOverrides(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListBillingProfileCustomerOverridesParams // ------------- Optional query parameter "billingProfile" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "billingProfile", r.URL.Query(), ¶ms.BillingProfile, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "billingProfile", Err: err}) return } // ------------- Optional query parameter "customersWithoutPinnedProfile" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customersWithoutPinnedProfile", r.URL.Query(), ¶ms.CustomersWithoutPinnedProfile, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customersWithoutPinnedProfile", Err: err}) return } // ------------- Optional query parameter "includeAllCustomers" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "includeAllCustomers", r.URL.Query(), ¶ms.IncludeAllCustomers, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeAllCustomers", Err: err}) return } // ------------- Optional query parameter "customerId" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customerId", r.URL.Query(), ¶ms.CustomerId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } // ------------- Optional query parameter "customerName" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "customerName", r.URL.Query(), ¶ms.CustomerName, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerName", Err: err}) return } // ------------- Optional query parameter "customerKey" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "customerKey", r.URL.Query(), ¶ms.CustomerKey, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerKey", Err: err}) return } // ------------- Optional query parameter "customerPrimaryEmail" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "customerPrimaryEmail", r.URL.Query(), ¶ms.CustomerPrimaryEmail, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerPrimaryEmail", Err: err}) return } // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListBillingProfileCustomerOverrides(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteBillingProfileCustomerOverride operation middleware func (siw *ServerInterfaceWrapper) DeleteBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerId" ------------- var customerId string err = runtime.BindStyledParameterWithOptions("simple", "customerId", chi.URLParam(r, "customerId"), &customerId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteBillingProfileCustomerOverride(w, r, customerId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetBillingProfileCustomerOverride operation middleware func (siw *ServerInterfaceWrapper) GetBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerId" ------------- var customerId string err = runtime.BindStyledParameterWithOptions("simple", "customerId", chi.URLParam(r, "customerId"), &customerId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetBillingProfileCustomerOverrideParams // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetBillingProfileCustomerOverride(w, r, customerId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpsertBillingProfileCustomerOverride operation middleware func (siw *ServerInterfaceWrapper) UpsertBillingProfileCustomerOverride(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerId" ------------- var customerId string err = runtime.BindStyledParameterWithOptions("simple", "customerId", chi.URLParam(r, "customerId"), &customerId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpsertBillingProfileCustomerOverride(w, r, customerId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreatePendingInvoiceLine operation middleware func (siw *ServerInterfaceWrapper) CreatePendingInvoiceLine(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerId" ------------- var customerId string err = runtime.BindStyledParameterWithOptions("simple", "customerId", chi.URLParam(r, "customerId"), &customerId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreatePendingInvoiceLine(w, r, customerId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // SimulateInvoice operation middleware func (siw *ServerInterfaceWrapper) SimulateInvoice(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerId" ------------- var customerId string err = runtime.BindStyledParameterWithOptions("simple", "customerId", chi.URLParam(r, "customerId"), &customerId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.SimulateInvoice(w, r, customerId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListInvoices operation middleware func (siw *ServerInterfaceWrapper) ListInvoices(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListInvoicesParams // ------------- Optional query parameter "statuses" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "statuses", r.URL.Query(), ¶ms.Statuses, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "statuses", Err: err}) return } // ------------- Optional query parameter "extendedStatuses" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "extendedStatuses", r.URL.Query(), ¶ms.ExtendedStatuses, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "extendedStatuses", Err: err}) return } // ------------- Optional query parameter "issuedAfter" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "issuedAfter", r.URL.Query(), ¶ms.IssuedAfter, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "issuedAfter", Err: err}) return } // ------------- Optional query parameter "issuedBefore" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "issuedBefore", r.URL.Query(), ¶ms.IssuedBefore, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "issuedBefore", Err: err}) return } // ------------- Optional query parameter "periodStartAfter" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "periodStartAfter", r.URL.Query(), ¶ms.PeriodStartAfter, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "periodStartAfter", Err: err}) return } // ------------- Optional query parameter "periodStartBefore" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "periodStartBefore", r.URL.Query(), ¶ms.PeriodStartBefore, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "periodStartBefore", Err: err}) return } // ------------- Optional query parameter "createdAfter" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "createdAfter", r.URL.Query(), ¶ms.CreatedAfter, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "createdAfter", Err: err}) return } // ------------- Optional query parameter "createdBefore" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "createdBefore", r.URL.Query(), ¶ms.CreatedBefore, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "createdBefore", Err: err}) return } // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } // ------------- Optional query parameter "customers" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customers", r.URL.Query(), ¶ms.Customers, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customers", Err: err}) return } // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListInvoices(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // InvoicePendingLinesAction operation middleware func (siw *ServerInterfaceWrapper) InvoicePendingLinesAction(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.InvoicePendingLinesAction(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteInvoice operation middleware func (siw *ServerInterfaceWrapper) DeleteInvoice(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteInvoice(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetInvoice operation middleware func (siw *ServerInterfaceWrapper) GetInvoice(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetInvoiceParams // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } // ------------- Optional query parameter "includeDeletedLines" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeletedLines", r.URL.Query(), ¶ms.IncludeDeletedLines, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeletedLines", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetInvoice(w, r, invoiceId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateInvoice operation middleware func (siw *ServerInterfaceWrapper) UpdateInvoice(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateInvoice(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // AdvanceInvoiceAction operation middleware func (siw *ServerInterfaceWrapper) AdvanceInvoiceAction(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.AdvanceInvoiceAction(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ApproveInvoiceAction operation middleware func (siw *ServerInterfaceWrapper) ApproveInvoiceAction(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ApproveInvoiceAction(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // RetryInvoiceAction operation middleware func (siw *ServerInterfaceWrapper) RetryInvoiceAction(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.RetryInvoiceAction(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // SnapshotQuantitiesInvoiceAction operation middleware func (siw *ServerInterfaceWrapper) SnapshotQuantitiesInvoiceAction(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.SnapshotQuantitiesInvoiceAction(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // RecalculateInvoiceTaxAction operation middleware func (siw *ServerInterfaceWrapper) RecalculateInvoiceTaxAction(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.RecalculateInvoiceTaxAction(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // VoidInvoiceAction operation middleware func (siw *ServerInterfaceWrapper) VoidInvoiceAction(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "invoiceId" ------------- var invoiceId string err = runtime.BindStyledParameterWithOptions("simple", "invoiceId", chi.URLParam(r, "invoiceId"), &invoiceId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "invoiceId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.VoidInvoiceAction(w, r, invoiceId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListBillingProfiles operation middleware func (siw *ServerInterfaceWrapper) ListBillingProfiles(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListBillingProfilesParams // ------------- Optional query parameter "includeArchived" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeArchived", r.URL.Query(), ¶ms.IncludeArchived, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeArchived", Err: err}) return } // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListBillingProfiles(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateBillingProfile operation middleware func (siw *ServerInterfaceWrapper) CreateBillingProfile(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateBillingProfile(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteBillingProfile operation middleware func (siw *ServerInterfaceWrapper) DeleteBillingProfile(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteBillingProfile(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetBillingProfile operation middleware func (siw *ServerInterfaceWrapper) GetBillingProfile(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetBillingProfileParams // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetBillingProfile(w, r, id, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateBillingProfile operation middleware func (siw *ServerInterfaceWrapper) UpdateBillingProfile(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateBillingProfile(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListCustomers operation middleware func (siw *ServerInterfaceWrapper) ListCustomers(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListCustomersParams // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "key" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "key", r.URL.Query(), ¶ms.Key, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) return } // ------------- Optional query parameter "name" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "name", r.URL.Query(), ¶ms.Name, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "name", Err: err}) return } // ------------- Optional query parameter "primaryEmail" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "primaryEmail", r.URL.Query(), ¶ms.PrimaryEmail, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "primaryEmail", Err: err}) return } // ------------- Optional query parameter "subject" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "subject", r.URL.Query(), ¶ms.Subject, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subject", Err: err}) return } // ------------- Optional query parameter "planKey" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "planKey", r.URL.Query(), ¶ms.PlanKey, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planKey", Err: err}) return } // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListCustomers(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateCustomer operation middleware func (siw *ServerInterfaceWrapper) CreateCustomer(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateCustomer(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteCustomer operation middleware func (siw *ServerInterfaceWrapper) DeleteCustomer(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteCustomer(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomer operation middleware func (siw *ServerInterfaceWrapper) GetCustomer(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetCustomerParams // ------------- Optional query parameter "expand" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "expand", r.URL.Query(), ¶ms.Expand, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "expand", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomer(w, r, customerIdOrKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateCustomer operation middleware func (siw *ServerInterfaceWrapper) UpdateCustomer(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateCustomer(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomerAccess operation middleware func (siw *ServerInterfaceWrapper) GetCustomerAccess(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomerAccess(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListCustomerAppData operation middleware func (siw *ServerInterfaceWrapper) ListCustomerAppData(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListCustomerAppDataParams // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "type" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "type", r.URL.Query(), ¶ms.Type, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListCustomerAppData(w, r, customerIdOrKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpsertCustomerAppData operation middleware func (siw *ServerInterfaceWrapper) UpsertCustomerAppData(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpsertCustomerAppData(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteCustomerAppData operation middleware func (siw *ServerInterfaceWrapper) DeleteCustomerAppData(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "appId" ------------- var appId string err = runtime.BindStyledParameterWithOptions("simple", "appId", chi.URLParam(r, "appId"), &appId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "appId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteCustomerAppData(w, r, customerIdOrKey, appId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomerEntitlementValue operation middleware func (siw *ServerInterfaceWrapper) GetCustomerEntitlementValue(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "featureKey" ------------- var featureKey string err = runtime.BindStyledParameterWithOptions("simple", "featureKey", chi.URLParam(r, "featureKey"), &featureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "featureKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetCustomerEntitlementValueParams // ------------- Optional query parameter "time" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "time", r.URL.Query(), ¶ms.Time, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "time", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomerEntitlementValue(w, r, customerIdOrKey, featureKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomerStripeAppData operation middleware func (siw *ServerInterfaceWrapper) GetCustomerStripeAppData(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomerStripeAppData(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpsertCustomerStripeAppData operation middleware func (siw *ServerInterfaceWrapper) UpsertCustomerStripeAppData(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpsertCustomerStripeAppData(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateCustomerStripePortalSession operation middleware func (siw *ServerInterfaceWrapper) CreateCustomerStripePortalSession(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateCustomerStripePortalSession(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListCustomerSubscriptions operation middleware func (siw *ServerInterfaceWrapper) ListCustomerSubscriptions(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListCustomerSubscriptionsParams // ------------- Optional query parameter "status" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListCustomerSubscriptions(w, r, customerIdOrKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetDebugMetrics operation middleware func (siw *ServerInterfaceWrapper) GetDebugMetrics(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetDebugMetrics(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListEntitlements operation middleware func (siw *ServerInterfaceWrapper) ListEntitlements(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListEntitlementsParams // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "feature", r.URL.Query(), ¶ms.Feature, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "feature", Err: err}) return } // ------------- Optional query parameter "subject" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "subject", r.URL.Query(), ¶ms.Subject, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subject", Err: err}) return } // ------------- Optional query parameter "entitlementType" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "entitlementType", r.URL.Query(), ¶ms.EntitlementType, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementType", Err: err}) return } // ------------- Optional query parameter "excludeInactive" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "excludeInactive", r.URL.Query(), ¶ms.ExcludeInactive, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "excludeInactive", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "offset" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListEntitlements(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetEntitlementById operation middleware func (siw *ServerInterfaceWrapper) GetEntitlementById(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "entitlementId" ------------- var entitlementId string err = runtime.BindStyledParameterWithOptions("simple", "entitlementId", chi.URLParam(r, "entitlementId"), &entitlementId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetEntitlementById(w, r, entitlementId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListEvents operation middleware func (siw *ServerInterfaceWrapper) ListEvents(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListEventsParams // ------------- Optional query parameter "clientId" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "clientId", r.URL.Query(), ¶ms.ClientId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clientId", Err: err}) return } // ------------- Optional query parameter "ingestedAtFrom" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "ingestedAtFrom", r.URL.Query(), ¶ms.IngestedAtFrom, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ingestedAtFrom", Err: err}) return } // ------------- Optional query parameter "ingestedAtTo" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "ingestedAtTo", r.URL.Query(), ¶ms.IngestedAtTo, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ingestedAtTo", Err: err}) return } // ------------- Optional query parameter "id" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "id", r.URL.Query(), ¶ms.Id, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } // ------------- Optional query parameter "subject" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "subject", r.URL.Query(), ¶ms.Subject, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subject", Err: err}) return } // ------------- Optional query parameter "customerId" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customerId", r.URL.Query(), ¶ms.CustomerId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerId", Err: err}) return } // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListEvents(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // IngestEvents operation middleware func (siw *ServerInterfaceWrapper) IngestEvents(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.IngestEvents(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListFeatures operation middleware func (siw *ServerInterfaceWrapper) ListFeatures(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListFeaturesParams // ------------- Optional query parameter "meterSlug" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "meterSlug", r.URL.Query(), ¶ms.MeterSlug, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterSlug", Err: err}) return } // ------------- Optional query parameter "includeArchived" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeArchived", r.URL.Query(), ¶ms.IncludeArchived, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeArchived", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "offset" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListFeatures(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateFeature operation middleware func (siw *ServerInterfaceWrapper) CreateFeature(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateFeature(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteFeature operation middleware func (siw *ServerInterfaceWrapper) DeleteFeature(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "featureId" ------------- var featureId string err = runtime.BindStyledParameterWithOptions("simple", "featureId", chi.URLParam(r, "featureId"), &featureId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "featureId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteFeature(w, r, featureId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetFeature operation middleware func (siw *ServerInterfaceWrapper) GetFeature(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "featureId" ------------- var featureId string err = runtime.BindStyledParameterWithOptions("simple", "featureId", chi.URLParam(r, "featureId"), &featureId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "featureId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetFeature(w, r, featureId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListGrants operation middleware func (siw *ServerInterfaceWrapper) ListGrants(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListGrantsParams // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "feature", r.URL.Query(), ¶ms.Feature, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "feature", Err: err}) return } // ------------- Optional query parameter "subject" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "subject", r.URL.Query(), ¶ms.Subject, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subject", Err: err}) return } // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "offset" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListGrants(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // VoidGrant operation middleware func (siw *ServerInterfaceWrapper) VoidGrant(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "grantId" ------------- var grantId string err = runtime.BindStyledParameterWithOptions("simple", "grantId", chi.URLParam(r, "grantId"), &grantId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "grantId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params VoidGrantParams // ------------- Optional query parameter "at" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "at", r.URL.Query(), ¶ms.At, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "at", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.VoidGrant(w, r, grantId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListCurrencies operation middleware func (siw *ServerInterfaceWrapper) ListCurrencies(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListCurrencies(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetProgress operation middleware func (siw *ServerInterfaceWrapper) GetProgress(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "id" ------------- var id string err = runtime.BindStyledParameterWithOptions("simple", "id", chi.URLParam(r, "id"), &id, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetProgress(w, r, id) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListMarketplaceListings operation middleware func (siw *ServerInterfaceWrapper) ListMarketplaceListings(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListMarketplaceListingsParams // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListMarketplaceListings(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetMarketplaceListing operation middleware func (siw *ServerInterfaceWrapper) GetMarketplaceListing(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "type" ------------- var pType AppType err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetMarketplaceListing(w, r, pType) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // MarketplaceAppInstall operation middleware func (siw *ServerInterfaceWrapper) MarketplaceAppInstall(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "type" ------------- var pType MarketplaceInstallRequestType err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.MarketplaceAppInstall(w, r, pType) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // MarketplaceAppAPIKeyInstall operation middleware func (siw *ServerInterfaceWrapper) MarketplaceAppAPIKeyInstall(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "type" ------------- var pType MarketplaceApiKeyInstallRequestType err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.MarketplaceAppAPIKeyInstall(w, r, pType) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // MarketplaceOAuth2InstallGetURL operation middleware func (siw *ServerInterfaceWrapper) MarketplaceOAuth2InstallGetURL(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "type" ------------- var pType AppType err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.MarketplaceOAuth2InstallGetURL(w, r, pType) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // MarketplaceOAuth2InstallAuthorize operation middleware func (siw *ServerInterfaceWrapper) MarketplaceOAuth2InstallAuthorize(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "type" ------------- var pType MarketplaceOAuth2InstallAuthorizeRequestType err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params MarketplaceOAuth2InstallAuthorizeParams // ------------- Optional query parameter "state" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "state", r.URL.Query(), ¶ms.State, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err}) return } // ------------- Optional query parameter "code" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "code", r.URL.Query(), ¶ms.Code, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "code", Err: err}) return } // ------------- Optional query parameter "error" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "error", r.URL.Query(), ¶ms.Error, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "error", Err: err}) return } // ------------- Optional query parameter "error_description" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "error_description", r.URL.Query(), ¶ms.ErrorDescription, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "error_description", Err: err}) return } // ------------- Optional query parameter "error_uri" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "error_uri", r.URL.Query(), ¶ms.ErrorUri, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "error_uri", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.MarketplaceOAuth2InstallAuthorize(w, r, pType, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListMeters operation middleware func (siw *ServerInterfaceWrapper) ListMeters(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListMetersParams // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListMeters(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateMeter operation middleware func (siw *ServerInterfaceWrapper) CreateMeter(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateMeter(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteMeter operation middleware func (siw *ServerInterfaceWrapper) DeleteMeter(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteMeter(w, r, meterIdOrSlug) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetMeter operation middleware func (siw *ServerInterfaceWrapper) GetMeter(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetMeter(w, r, meterIdOrSlug) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateMeter operation middleware func (siw *ServerInterfaceWrapper) UpdateMeter(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateMeter(w, r, meterIdOrSlug) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListMeterGroupByValues operation middleware func (siw *ServerInterfaceWrapper) ListMeterGroupByValues(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } // ------------- Path parameter "groupByKey" ------------- var groupByKey string err = runtime.BindStyledParameterWithOptions("simple", "groupByKey", chi.URLParam(r, "groupByKey"), &groupByKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "groupByKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListMeterGroupByValuesParams // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListMeterGroupByValues(w, r, meterIdOrSlug, groupByKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // QueryMeter operation middleware func (siw *ServerInterfaceWrapper) QueryMeter(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params QueryMeterParams // ------------- Optional query parameter "clientId" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "clientId", r.URL.Query(), ¶ms.ClientId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clientId", Err: err}) return } // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } // ------------- Optional query parameter "windowSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "windowSize", r.URL.Query(), ¶ms.WindowSize, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowSize", Err: err}) return } // ------------- Optional query parameter "windowTimeZone" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "windowTimeZone", r.URL.Query(), ¶ms.WindowTimeZone, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowTimeZone", Err: err}) return } // ------------- Optional query parameter "subject" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "subject", r.URL.Query(), ¶ms.Subject, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subject", Err: err}) return } // ------------- Optional query parameter "filterCustomerId" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "filterCustomerId", r.URL.Query(), ¶ms.FilterCustomerId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "filterCustomerId", Err: err}) return } // ------------- Optional query parameter "filterGroupBy" ------------- err = runtime.BindQueryParameterWithOptions("deepObject", true, false, "filterGroupBy", r.URL.Query(), ¶ms.FilterGroupBy, runtime.BindQueryParameterOptions{Type: "object", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "filterGroupBy", Err: err}) return } // ------------- Optional query parameter "advancedMeterGroupByFilters" ------------- if paramValue := r.URL.Query().Get("advancedMeterGroupByFilters"); paramValue != "" { var value MeterQueryAdvancedMeterGroupByFilters err = json.Unmarshal([]byte(paramValue), &value) if err != nil { siw.ErrorHandlerFunc(w, r, &UnmarshalingParamError{ParamName: "advancedMeterGroupByFilters", Err: err}) return } params.AdvancedMeterGroupByFilters = &value } // ------------- Optional query parameter "groupBy" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "groupBy", r.URL.Query(), ¶ms.GroupBy, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "groupBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.QueryMeter(w, r, meterIdOrSlug, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // QueryMeterPost operation middleware func (siw *ServerInterfaceWrapper) QueryMeterPost(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.QueryMeterPost(w, r, meterIdOrSlug) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListMeterSubjects operation middleware func (siw *ServerInterfaceWrapper) ListMeterSubjects(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterIdOrSlug" ------------- var meterIdOrSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterIdOrSlug", chi.URLParam(r, "meterIdOrSlug"), &meterIdOrSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterIdOrSlug", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListMeterSubjectsParams // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListMeterSubjects(w, r, meterIdOrSlug, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListNotificationChannels operation middleware func (siw *ServerInterfaceWrapper) ListNotificationChannels(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListNotificationChannelsParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "includeDisabled" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDisabled", r.URL.Query(), ¶ms.IncludeDisabled, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDisabled", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListNotificationChannels(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateNotificationChannel operation middleware func (siw *ServerInterfaceWrapper) CreateNotificationChannel(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateNotificationChannel(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteNotificationChannel operation middleware func (siw *ServerInterfaceWrapper) DeleteNotificationChannel(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "channelId" ------------- var channelId string err = runtime.BindStyledParameterWithOptions("simple", "channelId", chi.URLParam(r, "channelId"), &channelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channelId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteNotificationChannel(w, r, channelId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetNotificationChannel operation middleware func (siw *ServerInterfaceWrapper) GetNotificationChannel(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "channelId" ------------- var channelId string err = runtime.BindStyledParameterWithOptions("simple", "channelId", chi.URLParam(r, "channelId"), &channelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channelId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetNotificationChannel(w, r, channelId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateNotificationChannel operation middleware func (siw *ServerInterfaceWrapper) UpdateNotificationChannel(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "channelId" ------------- var channelId string err = runtime.BindStyledParameterWithOptions("simple", "channelId", chi.URLParam(r, "channelId"), &channelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channelId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateNotificationChannel(w, r, channelId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListNotificationEvents operation middleware func (siw *ServerInterfaceWrapper) ListNotificationEvents(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListNotificationEventsParams // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "feature", r.URL.Query(), ¶ms.Feature, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "feature", Err: err}) return } // ------------- Optional query parameter "subject" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "subject", r.URL.Query(), ¶ms.Subject, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subject", Err: err}) return } // ------------- Optional query parameter "rule" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "rule", r.URL.Query(), ¶ms.Rule, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "rule", Err: err}) return } // ------------- Optional query parameter "channel" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "channel", r.URL.Query(), ¶ms.Channel, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channel", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListNotificationEvents(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetNotificationEvent operation middleware func (siw *ServerInterfaceWrapper) GetNotificationEvent(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "eventId" ------------- var eventId string err = runtime.BindStyledParameterWithOptions("simple", "eventId", chi.URLParam(r, "eventId"), &eventId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "eventId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetNotificationEvent(w, r, eventId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ResendNotificationEvent operation middleware func (siw *ServerInterfaceWrapper) ResendNotificationEvent(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "eventId" ------------- var eventId string err = runtime.BindStyledParameterWithOptions("simple", "eventId", chi.URLParam(r, "eventId"), &eventId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "eventId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ResendNotificationEvent(w, r, eventId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListNotificationRules operation middleware func (siw *ServerInterfaceWrapper) ListNotificationRules(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListNotificationRulesParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "includeDisabled" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDisabled", r.URL.Query(), ¶ms.IncludeDisabled, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDisabled", Err: err}) return } // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "feature", r.URL.Query(), ¶ms.Feature, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "feature", Err: err}) return } // ------------- Optional query parameter "channel" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "channel", r.URL.Query(), ¶ms.Channel, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channel", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListNotificationRules(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateNotificationRule operation middleware func (siw *ServerInterfaceWrapper) CreateNotificationRule(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateNotificationRule(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteNotificationRule operation middleware func (siw *ServerInterfaceWrapper) DeleteNotificationRule(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "ruleId" ------------- var ruleId string err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteNotificationRule(w, r, ruleId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetNotificationRule operation middleware func (siw *ServerInterfaceWrapper) GetNotificationRule(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "ruleId" ------------- var ruleId string err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetNotificationRule(w, r, ruleId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateNotificationRule operation middleware func (siw *ServerInterfaceWrapper) UpdateNotificationRule(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "ruleId" ------------- var ruleId string err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateNotificationRule(w, r, ruleId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // TestNotificationRule operation middleware func (siw *ServerInterfaceWrapper) TestNotificationRule(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "ruleId" ------------- var ruleId string err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.TestNotificationRule(w, r, ruleId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListPlans operation middleware func (siw *ServerInterfaceWrapper) ListPlans(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListPlansParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "id" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "id", r.URL.Query(), ¶ms.Id, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } // ------------- Optional query parameter "key" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "key", r.URL.Query(), ¶ms.Key, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) return } // ------------- Optional query parameter "keyVersion" ------------- err = runtime.BindQueryParameterWithOptions("deepObject", true, false, "keyVersion", r.URL.Query(), ¶ms.KeyVersion, runtime.BindQueryParameterOptions{Type: "object", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "keyVersion", Err: err}) return } // ------------- Optional query parameter "status" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) return } // ------------- Optional query parameter "currency" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "currency", r.URL.Query(), ¶ms.Currency, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "currency", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListPlans(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreatePlan operation middleware func (siw *ServerInterfaceWrapper) CreatePlan(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreatePlan(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // NextPlan operation middleware func (siw *ServerInterfaceWrapper) NextPlan(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planIdOrKey" ------------- var planIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "planIdOrKey", chi.URLParam(r, "planIdOrKey"), &planIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.NextPlan(w, r, planIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeletePlan operation middleware func (siw *ServerInterfaceWrapper) DeletePlan(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeletePlan(w, r, planId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetPlan operation middleware func (siw *ServerInterfaceWrapper) GetPlan(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetPlanParams // ------------- Optional query parameter "includeLatest" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeLatest", r.URL.Query(), ¶ms.IncludeLatest, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeLatest", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetPlan(w, r, planId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdatePlan operation middleware func (siw *ServerInterfaceWrapper) UpdatePlan(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdatePlan(w, r, planId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListPlanAddons operation middleware func (siw *ServerInterfaceWrapper) ListPlanAddons(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListPlanAddonsParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "id" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "id", r.URL.Query(), ¶ms.Id, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "id", Err: err}) return } // ------------- Optional query parameter "key" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "key", r.URL.Query(), ¶ms.Key, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) return } // ------------- Optional query parameter "keyVersion" ------------- err = runtime.BindQueryParameterWithOptions("deepObject", true, false, "keyVersion", r.URL.Query(), ¶ms.KeyVersion, runtime.BindQueryParameterOptions{Type: "object", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "keyVersion", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListPlanAddons(w, r, planId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreatePlanAddon operation middleware func (siw *ServerInterfaceWrapper) CreatePlanAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreatePlanAddon(w, r, planId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeletePlanAddon operation middleware func (siw *ServerInterfaceWrapper) DeletePlanAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } // ------------- Path parameter "planAddonId" ------------- var planAddonId string err = runtime.BindStyledParameterWithOptions("simple", "planAddonId", chi.URLParam(r, "planAddonId"), &planAddonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planAddonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeletePlanAddon(w, r, planId, planAddonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetPlanAddon operation middleware func (siw *ServerInterfaceWrapper) GetPlanAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } // ------------- Path parameter "planAddonId" ------------- var planAddonId string err = runtime.BindStyledParameterWithOptions("simple", "planAddonId", chi.URLParam(r, "planAddonId"), &planAddonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planAddonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetPlanAddon(w, r, planId, planAddonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdatePlanAddon operation middleware func (siw *ServerInterfaceWrapper) UpdatePlanAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } // ------------- Path parameter "planAddonId" ------------- var planAddonId string err = runtime.BindStyledParameterWithOptions("simple", "planAddonId", chi.URLParam(r, "planAddonId"), &planAddonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planAddonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdatePlanAddon(w, r, planId, planAddonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ArchivePlan operation middleware func (siw *ServerInterfaceWrapper) ArchivePlan(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ArchivePlan(w, r, planId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // PublishPlan operation middleware func (siw *ServerInterfaceWrapper) PublishPlan(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "planId" ------------- var planId string err = runtime.BindStyledParameterWithOptions("simple", "planId", chi.URLParam(r, "planId"), &planId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "planId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.PublishPlan(w, r, planId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // QueryPortalMeter operation middleware func (siw *ServerInterfaceWrapper) QueryPortalMeter(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "meterSlug" ------------- var meterSlug string err = runtime.BindStyledParameterWithOptions("simple", "meterSlug", chi.URLParam(r, "meterSlug"), &meterSlug, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "meterSlug", Err: err}) return } ctx := r.Context() ctx = context.WithValue(ctx, PortalTokenAuthScopes, []string{}) r = r.WithContext(ctx) // Parameter object where we will unmarshal all parameters from the context var params QueryPortalMeterParams // ------------- Optional query parameter "clientId" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "clientId", r.URL.Query(), ¶ms.ClientId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clientId", Err: err}) return } // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } // ------------- Optional query parameter "windowSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "windowSize", r.URL.Query(), ¶ms.WindowSize, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowSize", Err: err}) return } // ------------- Optional query parameter "windowTimeZone" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "windowTimeZone", r.URL.Query(), ¶ms.WindowTimeZone, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowTimeZone", Err: err}) return } // ------------- Optional query parameter "filterCustomerId" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "filterCustomerId", r.URL.Query(), ¶ms.FilterCustomerId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "filterCustomerId", Err: err}) return } // ------------- Optional query parameter "filterGroupBy" ------------- err = runtime.BindQueryParameterWithOptions("deepObject", true, false, "filterGroupBy", r.URL.Query(), ¶ms.FilterGroupBy, runtime.BindQueryParameterOptions{Type: "object", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "filterGroupBy", Err: err}) return } // ------------- Optional query parameter "advancedMeterGroupByFilters" ------------- if paramValue := r.URL.Query().Get("advancedMeterGroupByFilters"); paramValue != "" { var value MeterQueryAdvancedMeterGroupByFilters err = json.Unmarshal([]byte(paramValue), &value) if err != nil { siw.ErrorHandlerFunc(w, r, &UnmarshalingParamError{ParamName: "advancedMeterGroupByFilters", Err: err}) return } params.AdvancedMeterGroupByFilters = &value } // ------------- Optional query parameter "groupBy" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "groupBy", r.URL.Query(), ¶ms.GroupBy, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "groupBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.QueryPortalMeter(w, r, meterSlug, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListPortalTokens operation middleware func (siw *ServerInterfaceWrapper) ListPortalTokens(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListPortalTokensParams // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListPortalTokens(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreatePortalToken operation middleware func (siw *ServerInterfaceWrapper) CreatePortalToken(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreatePortalToken(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // InvalidatePortalTokens operation middleware func (siw *ServerInterfaceWrapper) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.InvalidatePortalTokens(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateStripeCheckoutSession operation middleware func (siw *ServerInterfaceWrapper) CreateStripeCheckoutSession(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateStripeCheckoutSession(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListSubjects operation middleware func (siw *ServerInterfaceWrapper) ListSubjects(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListSubjects(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpsertSubject operation middleware func (siw *ServerInterfaceWrapper) UpsertSubject(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpsertSubject(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteSubject operation middleware func (siw *ServerInterfaceWrapper) DeleteSubject(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteSubject(w, r, subjectIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetSubject operation middleware func (siw *ServerInterfaceWrapper) GetSubject(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetSubject(w, r, subjectIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListSubjectEntitlements operation middleware func (siw *ServerInterfaceWrapper) ListSubjectEntitlements(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListSubjectEntitlementsParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListSubjectEntitlements(w, r, subjectIdOrKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateEntitlement operation middleware func (siw *ServerInterfaceWrapper) CreateEntitlement(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateEntitlement(w, r, subjectIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListEntitlementGrants operation middleware func (siw *ServerInterfaceWrapper) ListEntitlementGrants(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListEntitlementGrantsParams // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListEntitlementGrants(w, r, subjectIdOrKey, entitlementIdOrFeatureKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateGrant operation middleware func (siw *ServerInterfaceWrapper) CreateGrant(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateGrant(w, r, subjectIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // OverrideEntitlement operation middleware func (siw *ServerInterfaceWrapper) OverrideEntitlement(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.OverrideEntitlement(w, r, subjectIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetEntitlementValue operation middleware func (siw *ServerInterfaceWrapper) GetEntitlementValue(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetEntitlementValueParams // ------------- Optional query parameter "time" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "time", r.URL.Query(), ¶ms.Time, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "time", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetEntitlementValue(w, r, subjectIdOrKey, entitlementIdOrFeatureKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteEntitlement operation middleware func (siw *ServerInterfaceWrapper) DeleteEntitlement(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementId" ------------- var entitlementId string err = runtime.BindStyledParameterWithOptions("simple", "entitlementId", chi.URLParam(r, "entitlementId"), &entitlementId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteEntitlement(w, r, subjectIdOrKey, entitlementId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetEntitlement operation middleware func (siw *ServerInterfaceWrapper) GetEntitlement(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementId" ------------- var entitlementId string err = runtime.BindStyledParameterWithOptions("simple", "entitlementId", chi.URLParam(r, "entitlementId"), &entitlementId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetEntitlement(w, r, subjectIdOrKey, entitlementId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetEntitlementHistory operation middleware func (siw *ServerInterfaceWrapper) GetEntitlementHistory(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementId" ------------- var entitlementId string err = runtime.BindStyledParameterWithOptions("simple", "entitlementId", chi.URLParam(r, "entitlementId"), &entitlementId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetEntitlementHistoryParams // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } // ------------- Required query parameter "windowSize" ------------- if paramValue := r.URL.Query().Get("windowSize"); paramValue != "" { } else { siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "windowSize"}) return } err = runtime.BindQueryParameterWithOptions("form", false, true, "windowSize", r.URL.Query(), ¶ms.WindowSize, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowSize", Err: err}) return } // ------------- Optional query parameter "windowTimeZone" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "windowTimeZone", r.URL.Query(), ¶ms.WindowTimeZone, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowTimeZone", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetEntitlementHistory(w, r, subjectIdOrKey, entitlementId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ResetEntitlementUsage operation middleware func (siw *ServerInterfaceWrapper) ResetEntitlementUsage(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subjectIdOrKey" ------------- var subjectIdOrKey string err = runtime.BindStyledParameterWithOptions("simple", "subjectIdOrKey", chi.URLParam(r, "subjectIdOrKey"), &subjectIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subjectIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementId" ------------- var entitlementId string err = runtime.BindStyledParameterWithOptions("simple", "entitlementId", chi.URLParam(r, "entitlementId"), &entitlementId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ResetEntitlementUsage(w, r, subjectIdOrKey, entitlementId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateSubscription operation middleware func (siw *ServerInterfaceWrapper) CreateSubscription(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateSubscription(w, r) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteSubscription operation middleware func (siw *ServerInterfaceWrapper) DeleteSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteSubscription(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetSubscription operation middleware func (siw *ServerInterfaceWrapper) GetSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetSubscriptionParams // ------------- Optional query parameter "at" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "at", r.URL.Query(), ¶ms.At, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "at", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetSubscription(w, r, subscriptionId, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // EditSubscription operation middleware func (siw *ServerInterfaceWrapper) EditSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.EditSubscription(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListSubscriptionAddons operation middleware func (siw *ServerInterfaceWrapper) ListSubscriptionAddons(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListSubscriptionAddons(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateSubscriptionAddon operation middleware func (siw *ServerInterfaceWrapper) CreateSubscriptionAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateSubscriptionAddon(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetSubscriptionAddon operation middleware func (siw *ServerInterfaceWrapper) GetSubscriptionAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } // ------------- Path parameter "subscriptionAddonId" ------------- var subscriptionAddonId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionAddonId", chi.URLParam(r, "subscriptionAddonId"), &subscriptionAddonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionAddonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetSubscriptionAddon(w, r, subscriptionId, subscriptionAddonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UpdateSubscriptionAddon operation middleware func (siw *ServerInterfaceWrapper) UpdateSubscriptionAddon(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } // ------------- Path parameter "subscriptionAddonId" ------------- var subscriptionAddonId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionAddonId", chi.URLParam(r, "subscriptionAddonId"), &subscriptionAddonId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionAddonId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateSubscriptionAddon(w, r, subscriptionId, subscriptionAddonId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CancelSubscription operation middleware func (siw *ServerInterfaceWrapper) CancelSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CancelSubscription(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ChangeSubscription operation middleware func (siw *ServerInterfaceWrapper) ChangeSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ChangeSubscription(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // MigrateSubscription operation middleware func (siw *ServerInterfaceWrapper) MigrateSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.MigrateSubscription(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // RestoreSubscription operation middleware func (siw *ServerInterfaceWrapper) RestoreSubscription(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.RestoreSubscription(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // UnscheduleCancelation operation middleware func (siw *ServerInterfaceWrapper) UnscheduleCancelation(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "subscriptionId" ------------- var subscriptionId string err = runtime.BindStyledParameterWithOptions("simple", "subscriptionId", chi.URLParam(r, "subscriptionId"), &subscriptionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UnscheduleCancelation(w, r, subscriptionId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListCustomerEntitlementsV2 operation middleware func (siw *ServerInterfaceWrapper) ListCustomerEntitlementsV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListCustomerEntitlementsV2Params // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListCustomerEntitlementsV2(w, r, customerIdOrKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateCustomerEntitlementV2 operation middleware func (siw *ServerInterfaceWrapper) CreateCustomerEntitlementV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateCustomerEntitlementV2(w, r, customerIdOrKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // DeleteCustomerEntitlementV2 operation middleware func (siw *ServerInterfaceWrapper) DeleteCustomerEntitlementV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.DeleteCustomerEntitlementV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomerEntitlementV2 operation middleware func (siw *ServerInterfaceWrapper) GetCustomerEntitlementV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomerEntitlementV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListCustomerEntitlementGrantsV2 operation middleware func (siw *ServerInterfaceWrapper) ListCustomerEntitlementGrantsV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params ListCustomerEntitlementGrantsV2Params // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "offset" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListCustomerEntitlementGrantsV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // CreateCustomerEntitlementGrantV2 operation middleware func (siw *ServerInterfaceWrapper) CreateCustomerEntitlementGrantV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.CreateCustomerEntitlementGrantV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomerEntitlementHistoryV2 operation middleware func (siw *ServerInterfaceWrapper) GetCustomerEntitlementHistoryV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetCustomerEntitlementHistoryV2Params // ------------- Optional query parameter "from" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), ¶ms.From, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err}) return } // ------------- Optional query parameter "to" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "to", r.URL.Query(), ¶ms.To, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "to", Err: err}) return } // ------------- Required query parameter "windowSize" ------------- if paramValue := r.URL.Query().Get("windowSize"); paramValue != "" { } else { siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "windowSize"}) return } err = runtime.BindQueryParameterWithOptions("form", false, true, "windowSize", r.URL.Query(), ¶ms.WindowSize, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowSize", Err: err}) return } // ------------- Optional query parameter "windowTimeZone" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "windowTimeZone", r.URL.Query(), ¶ms.WindowTimeZone, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "windowTimeZone", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomerEntitlementHistoryV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // OverrideCustomerEntitlementV2 operation middleware func (siw *ServerInterfaceWrapper) OverrideCustomerEntitlementV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.OverrideCustomerEntitlementV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ResetCustomerEntitlementUsageV2 operation middleware func (siw *ServerInterfaceWrapper) ResetCustomerEntitlementUsageV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ResetCustomerEntitlementUsageV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetCustomerEntitlementValueV2 operation middleware func (siw *ServerInterfaceWrapper) GetCustomerEntitlementValueV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "customerIdOrKey" ------------- var customerIdOrKey ULIDOrExternalKey err = runtime.BindStyledParameterWithOptions("simple", "customerIdOrKey", chi.URLParam(r, "customerIdOrKey"), &customerIdOrKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIdOrKey", Err: err}) return } // ------------- Path parameter "entitlementIdOrFeatureKey" ------------- var entitlementIdOrFeatureKey string err = runtime.BindStyledParameterWithOptions("simple", "entitlementIdOrFeatureKey", chi.URLParam(r, "entitlementIdOrFeatureKey"), &entitlementIdOrFeatureKey, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementIdOrFeatureKey", Err: err}) return } // Parameter object where we will unmarshal all parameters from the context var params GetCustomerEntitlementValueV2Params // ------------- Optional query parameter "time" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "time", r.URL.Query(), ¶ms.Time, runtime.BindQueryParameterOptions{Type: "string", Format: "date-time"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "time", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetCustomerEntitlementValueV2(w, r, customerIdOrKey, entitlementIdOrFeatureKey, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListEntitlementsV2 operation middleware func (siw *ServerInterfaceWrapper) ListEntitlementsV2(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListEntitlementsV2Params // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "feature", r.URL.Query(), ¶ms.Feature, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "feature", Err: err}) return } // ------------- Optional query parameter "customerKeys" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customerKeys", r.URL.Query(), ¶ms.CustomerKeys, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerKeys", Err: err}) return } // ------------- Optional query parameter "customerIds" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customerIds", r.URL.Query(), ¶ms.CustomerIds, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customerIds", Err: err}) return } // ------------- Optional query parameter "entitlementType" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "entitlementType", r.URL.Query(), ¶ms.EntitlementType, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementType", Err: err}) return } // ------------- Optional query parameter "excludeInactive" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "excludeInactive", r.URL.Query(), ¶ms.ExcludeInactive, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "excludeInactive", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "offset" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListEntitlementsV2(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // GetEntitlementByIdV2 operation middleware func (siw *ServerInterfaceWrapper) GetEntitlementByIdV2(w http.ResponseWriter, r *http.Request) { var err error // ------------- Path parameter "entitlementId" ------------- var entitlementId string err = runtime.BindStyledParameterWithOptions("simple", "entitlementId", chi.URLParam(r, "entitlementId"), &entitlementId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "entitlementId", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetEntitlementByIdV2(w, r, entitlementId) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListEventsV2 operation middleware func (siw *ServerInterfaceWrapper) ListEventsV2(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListEventsV2Params // ------------- Optional query parameter "cursor" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "cursor", r.URL.Query(), ¶ms.Cursor, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cursor", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "clientId" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "clientId", r.URL.Query(), ¶ms.ClientId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clientId", Err: err}) return } // ------------- Optional query parameter "filter" ------------- if paramValue := r.URL.Query().Get("filter"); paramValue != "" { var value struct { // CustomerId A filter for a ID (ULID) field allowing only equality or inclusion. CustomerId *FilterIDExact `json:"customerId,omitempty"` // Id A filter for a string field. Id *FilterString `json:"id,omitempty"` // IngestedAt A filter for a time field. IngestedAt *FilterTime `json:"ingestedAt,omitempty"` // Source A filter for a string field. Source *FilterString `json:"source,omitempty"` // Subject A filter for a string field. Subject *FilterString `json:"subject,omitempty"` // Time A filter for a time field. Time *FilterTime `json:"time,omitempty"` // Type A filter for a string field. Type *FilterString `json:"type,omitempty"` } err = json.Unmarshal([]byte(paramValue), &value) if err != nil { siw.ErrorHandlerFunc(w, r, &UnmarshalingParamError{ParamName: "filter", Err: err}) return } params.Filter = &value } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListEventsV2(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } // ListGrantsV2 operation middleware func (siw *ServerInterfaceWrapper) ListGrantsV2(w http.ResponseWriter, r *http.Request) { var err error // Parameter object where we will unmarshal all parameters from the context var params ListGrantsV2Params // ------------- Optional query parameter "feature" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "feature", r.URL.Query(), ¶ms.Feature, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "feature", Err: err}) return } // ------------- Optional query parameter "customer" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "customer", r.URL.Query(), ¶ms.Customer, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "customer", Err: err}) return } // ------------- Optional query parameter "includeDeleted" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "includeDeleted", r.URL.Query(), ¶ms.IncludeDeleted, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeDeleted", Err: err}) return } // ------------- Optional query parameter "page" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "page", r.URL.Query(), ¶ms.Page, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "page", Err: err}) return } // ------------- Optional query parameter "pageSize" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "pageSize", r.URL.Query(), ¶ms.PageSize, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "pageSize", Err: err}) return } // ------------- Optional query parameter "offset" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) return } // ------------- Optional query parameter "limit" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) return } // ------------- Optional query parameter "order" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "order", r.URL.Query(), ¶ms.Order, runtime.BindQueryParameterOptions{Type: "", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "order", Err: err}) return } // ------------- Optional query parameter "orderBy" ------------- err = runtime.BindQueryParameterWithOptions("form", false, false, "orderBy", r.URL.Query(), ¶ms.OrderBy, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "orderBy", Err: err}) return } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.ListGrantsV2(w, r, params) })) for i := len(siw.HandlerMiddlewares) - 1; i >= 0; i-- { handler = siw.HandlerMiddlewares[i](handler) } handler.ServeHTTP(w, r) } type UnescapedCookieParamError struct { ParamName string Err error } func (e *UnescapedCookieParamError) Error() string { return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName) } func (e *UnescapedCookieParamError) Unwrap() error { return e.Err } type UnmarshalingParamError struct { ParamName string Err error } func (e *UnmarshalingParamError) Error() string { return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error()) } func (e *UnmarshalingParamError) Unwrap() error { return e.Err } type RequiredParamError struct { ParamName string } func (e *RequiredParamError) Error() string { return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName) } type RequiredHeaderError struct { ParamName string Err error } func (e *RequiredHeaderError) Error() string { return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName) } func (e *RequiredHeaderError) Unwrap() error { return e.Err } type InvalidParamFormatError struct { ParamName string Err error } func (e *InvalidParamFormatError) Error() string { return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error()) } func (e *InvalidParamFormatError) Unwrap() error { return e.Err } type TooManyValuesForParamError struct { ParamName string Count int } func (e *TooManyValuesForParamError) Error() string { return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count) } // Handler creates http.Handler with routing matching OpenAPI spec. func Handler(si ServerInterface) http.Handler { return HandlerWithOptions(si, ChiServerOptions{}) } type ChiServerOptions struct { BaseURL string BaseRouter chi.Router Middlewares []MiddlewareFunc ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) } // HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux. func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler { return HandlerWithOptions(si, ChiServerOptions{ BaseRouter: r, }) } func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler { return HandlerWithOptions(si, ChiServerOptions{ BaseURL: baseURL, BaseRouter: r, }) } // HandlerWithOptions creates http.Handler with additional options func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler { r := options.BaseRouter if r == nil { r = chi.NewRouter() } if options.ErrorHandlerFunc == nil { options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) { http.Error(w, err.Error(), http.StatusBadRequest) } } wrapper := ServerInterfaceWrapper{ Handler: si, HandlerMiddlewares: options.Middlewares, ErrorHandlerFunc: options.ErrorHandlerFunc, } r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/addons", wrapper.ListAddons) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/addons", wrapper.CreateAddon) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/addons/{addonId}", wrapper.DeleteAddon) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/addons/{addonId}", wrapper.GetAddon) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/addons/{addonId}", wrapper.UpdateAddon) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/addons/{addonId}/archive", wrapper.ArchiveAddon) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/addons/{addonId}/publish", wrapper.PublishAddon) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/apps", wrapper.ListApps) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/apps/custom-invoicing/{invoiceId}/draft/synchronized", wrapper.AppCustomInvoicingDraftSynchronized) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/apps/custom-invoicing/{invoiceId}/issuing/synchronized", wrapper.AppCustomInvoicingIssuingSynchronized) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/apps/custom-invoicing/{invoiceId}/payment/status", wrapper.AppCustomInvoicingUpdatePaymentStatus) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/apps/{id}", wrapper.UninstallApp) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/apps/{id}", wrapper.GetApp) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/apps/{id}", wrapper.UpdateApp) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/apps/{id}/stripe/api-key", wrapper.UpdateStripeAPIKey) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/apps/{id}/stripe/webhook", wrapper.AppStripeWebhook) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/billing/customers", wrapper.ListBillingProfileCustomerOverrides) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/billing/customers/{customerId}", wrapper.DeleteBillingProfileCustomerOverride) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/billing/customers/{customerId}", wrapper.GetBillingProfileCustomerOverride) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/billing/customers/{customerId}", wrapper.UpsertBillingProfileCustomerOverride) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/customers/{customerId}/invoices/pending-lines", wrapper.CreatePendingInvoiceLine) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/customers/{customerId}/invoices/simulate", wrapper.SimulateInvoice) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/billing/invoices", wrapper.ListInvoices) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/invoice", wrapper.InvoicePendingLinesAction) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}", wrapper.DeleteInvoice) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}", wrapper.GetInvoice) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}", wrapper.UpdateInvoice) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}/advance", wrapper.AdvanceInvoiceAction) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}/approve", wrapper.ApproveInvoiceAction) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}/retry", wrapper.RetryInvoiceAction) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}/snapshot-quantities", wrapper.SnapshotQuantitiesInvoiceAction) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}/taxes/recalculate", wrapper.RecalculateInvoiceTaxAction) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/invoices/{invoiceId}/void", wrapper.VoidInvoiceAction) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/billing/profiles", wrapper.ListBillingProfiles) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/billing/profiles", wrapper.CreateBillingProfile) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/billing/profiles/{id}", wrapper.DeleteBillingProfile) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/billing/profiles/{id}", wrapper.GetBillingProfile) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/billing/profiles/{id}", wrapper.UpdateBillingProfile) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers", wrapper.ListCustomers) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/customers", wrapper.CreateCustomer) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/customers/{customerIdOrKey}", wrapper.DeleteCustomer) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers/{customerIdOrKey}", wrapper.GetCustomer) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/customers/{customerIdOrKey}", wrapper.UpdateCustomer) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/access", wrapper.GetCustomerAccess) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/apps", wrapper.ListCustomerAppData) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/apps", wrapper.UpsertCustomerAppData) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/apps/{appId}", wrapper.DeleteCustomerAppData) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value", wrapper.GetCustomerEntitlementValue) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/stripe", wrapper.GetCustomerStripeAppData) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/stripe", wrapper.UpsertCustomerStripeAppData) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/stripe/portal", wrapper.CreateCustomerStripePortalSession) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/customers/{customerIdOrKey}/subscriptions", wrapper.ListCustomerSubscriptions) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/debug/metrics", wrapper.GetDebugMetrics) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/entitlements", wrapper.ListEntitlements) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/entitlements/{entitlementId}", wrapper.GetEntitlementById) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/events", wrapper.ListEvents) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/events", wrapper.IngestEvents) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/features", wrapper.ListFeatures) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/features", wrapper.CreateFeature) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/features/{featureId}", wrapper.DeleteFeature) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/features/{featureId}", wrapper.GetFeature) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/grants", wrapper.ListGrants) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/grants/{grantId}", wrapper.VoidGrant) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/info/currencies", wrapper.ListCurrencies) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/info/progress/{id}", wrapper.GetProgress) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/marketplace/listings", wrapper.ListMarketplaceListings) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/marketplace/listings/{type}", wrapper.GetMarketplaceListing) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/marketplace/listings/{type}/install", wrapper.MarketplaceAppInstall) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/marketplace/listings/{type}/install/apikey", wrapper.MarketplaceAppAPIKeyInstall) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/marketplace/listings/{type}/install/oauth2", wrapper.MarketplaceOAuth2InstallGetURL) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/marketplace/listings/{type}/install/oauth2/authorize", wrapper.MarketplaceOAuth2InstallAuthorize) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/meters", wrapper.ListMeters) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/meters", wrapper.CreateMeter) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}", wrapper.DeleteMeter) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}", wrapper.GetMeter) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}", wrapper.UpdateMeter) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}/group-by/{groupByKey}/values", wrapper.ListMeterGroupByValues) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}/query", wrapper.QueryMeter) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}/query", wrapper.QueryMeterPost) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/meters/{meterIdOrSlug}/subjects", wrapper.ListMeterSubjects) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/notification/channels", wrapper.ListNotificationChannels) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/notification/channels", wrapper.CreateNotificationChannel) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/notification/channels/{channelId}", wrapper.DeleteNotificationChannel) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/notification/channels/{channelId}", wrapper.GetNotificationChannel) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/notification/channels/{channelId}", wrapper.UpdateNotificationChannel) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/notification/events", wrapper.ListNotificationEvents) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/notification/events/{eventId}", wrapper.GetNotificationEvent) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/notification/events/{eventId}/resend", wrapper.ResendNotificationEvent) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/notification/rules", wrapper.ListNotificationRules) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/notification/rules", wrapper.CreateNotificationRule) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/notification/rules/{ruleId}", wrapper.DeleteNotificationRule) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/notification/rules/{ruleId}", wrapper.GetNotificationRule) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/notification/rules/{ruleId}", wrapper.UpdateNotificationRule) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/notification/rules/{ruleId}/test", wrapper.TestNotificationRule) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/plans", wrapper.ListPlans) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/plans", wrapper.CreatePlan) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/plans/{planIdOrKey}/next", wrapper.NextPlan) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/plans/{planId}", wrapper.DeletePlan) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/plans/{planId}", wrapper.GetPlan) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/plans/{planId}", wrapper.UpdatePlan) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/plans/{planId}/addons", wrapper.ListPlanAddons) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/plans/{planId}/addons", wrapper.CreatePlanAddon) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/plans/{planId}/addons/{planAddonId}", wrapper.DeletePlanAddon) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/plans/{planId}/addons/{planAddonId}", wrapper.GetPlanAddon) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/plans/{planId}/addons/{planAddonId}", wrapper.UpdatePlanAddon) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/plans/{planId}/archive", wrapper.ArchivePlan) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/plans/{planId}/publish", wrapper.PublishPlan) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/portal/meters/{meterSlug}/query", wrapper.QueryPortalMeter) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/portal/tokens", wrapper.ListPortalTokens) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/portal/tokens", wrapper.CreatePortalToken) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/portal/tokens/invalidate", wrapper.InvalidatePortalTokens) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/stripe/checkout/sessions", wrapper.CreateStripeCheckoutSession) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects", wrapper.ListSubjects) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subjects", wrapper.UpsertSubject) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}", wrapper.DeleteSubject) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}", wrapper.GetSubject) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements", wrapper.ListSubjectEntitlements) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements", wrapper.CreateEntitlement) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants", wrapper.ListEntitlementGrants) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants", wrapper.CreateGrant) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override", wrapper.OverrideEntitlement) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value", wrapper.GetEntitlementValue) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}", wrapper.DeleteEntitlement) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}", wrapper.GetEntitlement) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/history", wrapper.GetEntitlementHistory) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subjects/{subjectIdOrKey}/entitlements/{entitlementId}/reset", wrapper.ResetEntitlementUsage) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions", wrapper.CreateSubscription) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}", wrapper.DeleteSubscription) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}", wrapper.GetSubscription) }) r.Group(func(r chi.Router) { r.Patch(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}", wrapper.EditSubscription) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/addons", wrapper.ListSubscriptionAddons) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/addons", wrapper.CreateSubscriptionAddon) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}", wrapper.GetSubscriptionAddon) }) r.Group(func(r chi.Router) { r.Patch(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}", wrapper.UpdateSubscriptionAddon) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/cancel", wrapper.CancelSubscription) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/change", wrapper.ChangeSubscription) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/migrate", wrapper.MigrateSubscription) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/restore", wrapper.RestoreSubscription) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v1/subscriptions/{subscriptionId}/unschedule-cancelation", wrapper.UnscheduleCancelation) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements", wrapper.ListCustomerEntitlementsV2) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements", wrapper.CreateCustomerEntitlementV2) }) r.Group(func(r chi.Router) { r.Delete(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}", wrapper.DeleteCustomerEntitlementV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}", wrapper.GetCustomerEntitlementV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants", wrapper.ListCustomerEntitlementGrantsV2) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/grants", wrapper.CreateCustomerEntitlementGrantV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/history", wrapper.GetCustomerEntitlementHistoryV2) }) r.Group(func(r chi.Router) { r.Put(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/override", wrapper.OverrideCustomerEntitlementV2) }) r.Group(func(r chi.Router) { r.Post(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/reset", wrapper.ResetCustomerEntitlementUsageV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/customers/{customerIdOrKey}/entitlements/{entitlementIdOrFeatureKey}/value", wrapper.GetCustomerEntitlementValueV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/entitlements", wrapper.ListEntitlementsV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/entitlements/{entitlementId}", wrapper.GetEntitlementByIdV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/events", wrapper.ListEventsV2) }) r.Group(func(r chi.Router) { r.Get(options.BaseURL+"/api/v2/grants", wrapper.ListGrantsV2) }) return r } // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ "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", "HwAA///1pDp/u7gMAA==", } // GetSwagger returns the content of the embedded swagger specification file // or error if failed to decode func decodeSpec() ([]byte, error) { zipped, err := base64.StdEncoding.DecodeString(strings.Join(swaggerSpec, "")) if err != nil { return nil, fmt.Errorf("error base64 decoding spec: %w", err) } zr, err := gzip.NewReader(bytes.NewReader(zipped)) if err != nil { return nil, fmt.Errorf("error decompressing spec: %w", err) } var buf bytes.Buffer _, err = buf.ReadFrom(zr) if err != nil { return nil, fmt.Errorf("error decompressing spec: %w", err) } return buf.Bytes(), nil } var rawSpec = decodeSpecCached() // a naive cached of a decoded swagger spec func decodeSpecCached() func() ([]byte, error) { data, err := decodeSpec() return func() ([]byte, error) { return data, err } } // Constructs a synthetic filesystem for resolving external references when loading openapi specifications. func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) { res := make(map[string]func() ([]byte, error)) if len(pathToFile) > 0 { res[pathToFile] = rawSpec } return res } // 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 GetSwagger() (swagger *openapi3.T, err error) { resolvePath := PathToRawSpec("") loader := openapi3.NewLoader() loader.IsExternalRefsAllowed = true loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) { pathToFile := url.String() pathToFile = path.Clean(pathToFile) getSpec, ok := resolvePath[pathToFile] if !ok { err1 := fmt.Errorf("path not found: %s", pathToFile) return nil, err1 } return getSpec() } var specData []byte specData, err = rawSpec() if err != nil { return } swagger, err = loader.LoadFromData(specData) if err != nil { return } return }