@openmeter/sdk 1.0.0-beta.216 → 1.0.0-beta.218

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -769,6 +769,165 @@ export interface paths {
769
769
  patch?: never;
770
770
  trace?: never;
771
771
  };
772
+ '/api/v1/customers/{customerIdOrKey}/entitlements': {
773
+ parameters: {
774
+ query?: never;
775
+ header?: never;
776
+ path?: never;
777
+ cookie?: never;
778
+ };
779
+ /**
780
+ * List customer entitlements
781
+ * @description List all entitlements for a customer. For checking entitlement access, use the /value endpoint instead.
782
+ */
783
+ get: operations['listCustomerEntitlements'];
784
+ put?: never;
785
+ /**
786
+ * Create a customer entitlement
787
+ * @description OpenMeter has three types of entitlements: metered, boolean, and static. The type property determines the type of entitlement. The underlying feature has to be compatible with the entitlement type specified in the request (e.g., a metered entitlement needs a feature associated with a meter).
788
+ *
789
+ * - Boolean entitlements define static feature access, e.g. "Can use SSO authentication".
790
+ * - Static entitlements let you pass along a configuration while granting access, e.g. "Using this feature with X Y settings" (passed in the config).
791
+ * - Metered entitlements have many use cases, from setting up usage-based access to implementing complex credit systems. Example: The customer can use 10000 AI tokens during the usage period of the entitlement.
792
+ *
793
+ * A given customer can only have one active (non-deleted) entitlement per featureKey. If you try to create a new entitlement for a featureKey that already has an active entitlement, the request will fail with a 409 error.
794
+ *
795
+ * Once an entitlement is created you cannot modify it, only delete it.
796
+ */
797
+ post: operations['createCustomerEntitlement'];
798
+ delete?: never;
799
+ options?: never;
800
+ head?: never;
801
+ patch?: never;
802
+ trace?: never;
803
+ };
804
+ '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}': {
805
+ parameters: {
806
+ query?: never;
807
+ header?: never;
808
+ path?: never;
809
+ cookie?: never;
810
+ };
811
+ /**
812
+ * Get customer entitlement
813
+ * @description Get entitlement by feature key. For checking entitlement access, use the /value endpoint instead.
814
+ */
815
+ get: operations['getCustomerEntitlement'];
816
+ put?: never;
817
+ post?: never;
818
+ /**
819
+ * Delete customer entitlement
820
+ * @description Deleting an entitlement revokes access to the associated feature. As a single customer can only have one entitlement per featureKey, when "migrating" features you have to delete the old entitlements as well.
821
+ * As access and status checks can be historical queries, deleting an entitlement populates the deletedAt timestamp. When queried for a time before that, the entitlement is still considered active, you cannot have retroactive changes to access, which is important for, among other things, auditing.
822
+ */
823
+ delete: operations['deleteCustomerEntitlement'];
824
+ options?: never;
825
+ head?: never;
826
+ patch?: never;
827
+ trace?: never;
828
+ };
829
+ '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/grants': {
830
+ parameters: {
831
+ query?: never;
832
+ header?: never;
833
+ path?: never;
834
+ cookie?: never;
835
+ };
836
+ /**
837
+ * List customer entitlement grants
838
+ * @description List all grants issued for an entitlement. The entitlement can be defined either by its id or featureKey.
839
+ */
840
+ get: operations['listCustomerEntitlementGrants'];
841
+ put?: never;
842
+ /**
843
+ * Create customer entitlement grant
844
+ * @description Grants define a behavior of granting usage for a metered entitlement. They can have complicated recurrence and rollover rules, thanks to which you can define a wide range of access patterns with a single grant, in most cases you don't have to periodically create new grants. You can only issue grants for active metered entitlements.
845
+ *
846
+ * A grant defines a given amount of usage that can be consumed for the entitlement. The grant is in effect between its effective date and its expiration date. Specifying both is mandatory for new grants.
847
+ *
848
+ * Grants have a priority setting that determines their order of use. Lower numbers have higher priority, with 0 being the highest priority.
849
+ *
850
+ * Grants can have a recurrence setting intended to automate the manual reissuing of grants. For example, a daily recurrence is equal to reissuing that same grant every day (ignoring rollover settings).
851
+ *
852
+ * Rollover settings define what happens to the remaining balance of a grant at a reset. Balance_After_Reset = MIN(MaxRolloverAmount, MAX(Balance_Before_Reset, MinRolloverAmount))
853
+ *
854
+ * Grants cannot be changed once created, only deleted. This is to ensure that balance is deterministic regardless of when it is queried.
855
+ */
856
+ post: operations['createCustomerEntitlementGrant'];
857
+ delete?: never;
858
+ options?: never;
859
+ head?: never;
860
+ patch?: never;
861
+ trace?: never;
862
+ };
863
+ '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/history': {
864
+ parameters: {
865
+ query?: never;
866
+ header?: never;
867
+ path?: never;
868
+ cookie?: never;
869
+ };
870
+ /**
871
+ * Get customer entitlement history
872
+ * @description Returns historical balance and usage data for the entitlement. The queried history can span accross multiple reset events.
873
+ *
874
+ * BurndownHistory returns a continous history of segments, where the segments are seperated by events that changed either the grant burndown priority or the usage period.
875
+ *
876
+ * WindowedHistory returns windowed usage data for the period enriched with balance information and the list of grants that were being burnt down in that window.
877
+ */
878
+ get: operations['getCustomerEntitlementHistory'];
879
+ put?: never;
880
+ post?: never;
881
+ delete?: never;
882
+ options?: never;
883
+ head?: never;
884
+ patch?: never;
885
+ trace?: never;
886
+ };
887
+ '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/override': {
888
+ parameters: {
889
+ query?: never;
890
+ header?: never;
891
+ path?: never;
892
+ cookie?: never;
893
+ };
894
+ get?: never;
895
+ /**
896
+ * Override customer entitlement
897
+ * @description Overriding an entitlement creates a new entitlement from the provided inputs and soft deletes the previous entitlement for the provided customer-feature pair. If the previous entitlement is already deleted or otherwise doesnt exist, the override will fail.
898
+ *
899
+ * This endpoint is useful for upgrades, downgrades, or other changes to entitlements that require a new entitlement to be created with zero downtime.
900
+ */
901
+ put: operations['overrideCustomerEntitlement'];
902
+ post?: never;
903
+ delete?: never;
904
+ options?: never;
905
+ head?: never;
906
+ patch?: never;
907
+ trace?: never;
908
+ };
909
+ '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/reset': {
910
+ parameters: {
911
+ query?: never;
912
+ header?: never;
913
+ path?: never;
914
+ cookie?: never;
915
+ };
916
+ get?: never;
917
+ put?: never;
918
+ /**
919
+ * Reset customer entitlement
920
+ * @description Reset marks the start of a new usage period for the entitlement and initiates grant rollover. At the start of a period usage is zerod out and grants are rolled over based on their rollover settings. It would typically be synced with the customers billing period to enforce usage based on their subscription.
921
+ *
922
+ * Usage is automatically reset for metered entitlements based on their usage period, but this endpoint allows to manually reset it at any time. When doing so the period anchor of the entitlement can be changed if needed.
923
+ */
924
+ post: operations['resetCustomerEntitlementUsage'];
925
+ delete?: never;
926
+ options?: never;
927
+ head?: never;
928
+ patch?: never;
929
+ trace?: never;
930
+ };
772
931
  '/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value': {
773
932
  parameters: {
774
933
  query?: never;
@@ -789,6 +948,56 @@ export interface paths {
789
948
  patch?: never;
790
949
  trace?: never;
791
950
  };
951
+ '/api/v1/customers/{customerIdOrKey}/stripe': {
952
+ parameters: {
953
+ query?: never;
954
+ header?: never;
955
+ path?: never;
956
+ cookie?: never;
957
+ };
958
+ /**
959
+ * Get customer stripe app data
960
+ * @description Get stripe app data for a customer.
961
+ * Only returns data if the customer billing profile is linked to a stripe app.
962
+ */
963
+ get: operations['getCustomerStripeAppData'];
964
+ /**
965
+ * Upsert customer stripe app data
966
+ * @description Upsert stripe app data for a customer.
967
+ * Only updates data if the customer billing profile is linked to a stripe app.
968
+ */
969
+ put: operations['upsertCustomerStripeAppData'];
970
+ post?: never;
971
+ delete?: never;
972
+ options?: never;
973
+ head?: never;
974
+ patch?: never;
975
+ trace?: never;
976
+ };
977
+ '/api/v1/customers/{customerIdOrKey}/stripe/portal': {
978
+ parameters: {
979
+ query?: never;
980
+ header?: never;
981
+ path?: never;
982
+ cookie?: never;
983
+ };
984
+ get?: never;
985
+ put?: never;
986
+ /**
987
+ * Create Stripe customer portal session
988
+ * @description Create Stripe customer portal session.
989
+ * Only returns URL if the customer billing profile is linked to a stripe app and customer.
990
+ *
991
+ * Useful to redirect the customer to the Stripe customer portal to manage their payment methods,
992
+ * change their billing address and access their invoice history.
993
+ */
994
+ post: operations['createCustomerStripePortalSession'];
995
+ delete?: never;
996
+ options?: never;
997
+ head?: never;
998
+ patch?: never;
999
+ trace?: never;
1000
+ };
792
1001
  '/api/v1/customers/{customerIdOrKey}/subscriptions': {
793
1002
  parameters: {
794
1003
  query?: never;
@@ -2524,6 +2733,25 @@ export interface components {
2524
2733
  /** @description The usage discount. */
2525
2734
  usage?: components['schemas']['BillingDiscountUsage'];
2526
2735
  };
2736
+ /** @description BillingInvoiceCustomerExtendedDetails is a collection of fields that are used to extend the billing party details for invoices.
2737
+ *
2738
+ * These fields contain the OpenMeter specific details for the customer, that are not strictly required for the invoice itself. */
2739
+ BillingInvoiceCustomerExtendedDetails: {
2740
+ /** @description Unique identifier for the party (if available) */
2741
+ readonly id?: string;
2742
+ /** @description Legal name or representation of the organization. */
2743
+ name?: string;
2744
+ /** @description The entity's legal ID code used for tax purposes. They may have
2745
+ * other numbers, but we're only interested in those valid for tax purposes. */
2746
+ taxId?: components['schemas']['BillingPartyTaxIdentity'];
2747
+ /** @description Regular post addresses for where information should be sent if needed. */
2748
+ addresses?: components['schemas']['Address'][];
2749
+ /**
2750
+ * Usage Attribution
2751
+ * @description Mapping to attribute metered usage to the customer
2752
+ */
2753
+ usageAttribution: components['schemas']['CustomerUsageAttribution'];
2754
+ };
2527
2755
  /** @description Party represents a person or business entity. */
2528
2756
  BillingParty: {
2529
2757
  /** @description Unique identifier for the party (if available) */
@@ -3202,6 +3430,34 @@ export interface components {
3202
3430
  /** @description Return URL. */
3203
3431
  returnURL?: string;
3204
3432
  };
3433
+ /** @description Stripe customer portal request params. */
3434
+ CreateStripeCustomerPortalSessionParams: {
3435
+ /**
3436
+ * Configuration
3437
+ * @description The ID of an existing configuration to use for this session,
3438
+ * describing its functionality and features.
3439
+ * If not specified, the session uses the default configuration.
3440
+ *
3441
+ * See https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-configuration
3442
+ */
3443
+ configurationId?: string;
3444
+ /**
3445
+ * Locale
3446
+ * @description The IETF language tag of the locale customer portal is displayed in.
3447
+ * If blank or auto, the customer’s preferred_locales or browser’s locale is used.
3448
+ *
3449
+ * See: https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-locale
3450
+ */
3451
+ locale?: string;
3452
+ /**
3453
+ * ReturnUrl
3454
+ * @description The URL to redirect the customer to after they have completed
3455
+ * their requested actions.
3456
+ *
3457
+ * See: https://docs.stripe.com/api/customer_portal/sessions/create#create_portal_session-return_url
3458
+ */
3459
+ returnUrl?: string;
3460
+ };
3205
3461
  /** @description CreditNoteOriginalInvoiceRef is used to reference the original invoice that a credit note is based on. */
3206
3462
  CreditNoteOriginalInvoiceRef: {
3207
3463
  /**
@@ -3513,7 +3769,10 @@ export interface components {
3513
3769
  /** @description The custom plan description which defines the Subscription. */
3514
3770
  customPlan: components['schemas']['CustomPlanInput'];
3515
3771
  };
3516
- /** @description Create a custom subscription. */
3772
+ /**
3773
+ * Create custom
3774
+ * @description Create a custom subscription.
3775
+ */
3517
3776
  CustomSubscriptionCreate: {
3518
3777
  /** @description The custom plan description which defines the Subscription. */
3519
3778
  customPlan: components['schemas']['CustomPlanInput'];
@@ -5202,7 +5461,7 @@ export interface components {
5202
5461
  /** @description The taxable entity supplying the goods or services. */
5203
5462
  supplier: components['schemas']['BillingParty'];
5204
5463
  /** @description Legal entity receiving the goods or services. */
5205
- customer: components['schemas']['BillingParty'];
5464
+ customer: components['schemas']['BillingInvoiceCustomerExtendedDetails'];
5206
5465
  /** @description Number specifies the human readable key used to reference this Invoice.
5207
5466
  *
5208
5467
  * The invoice number can change in the draft phases, as we are allocating temporary draft
@@ -6534,11 +6793,19 @@ export interface components {
6534
6793
  /**
6535
6794
  * @description Filtering by multiple subjects.
6536
6795
  * @example [
6537
- * "customer-1",
6538
- * "customer-2"
6796
+ * "subject-1",
6797
+ * "subject-2"
6539
6798
  * ]
6540
6799
  */
6541
6800
  subject?: string[];
6801
+ /**
6802
+ * @description Filtering by multiple customers.
6803
+ * @example [
6804
+ * "id-1",
6805
+ * "id-2"
6806
+ * ]
6807
+ */
6808
+ filterCustomerId?: string[];
6542
6809
  /**
6543
6810
  * @description Simple filter for group bys with exact match.
6544
6811
  * @example {
@@ -6640,6 +6907,8 @@ export interface components {
6640
6907
  /** @description The subject the value is aggregated over.
6641
6908
  * If not specified, the value is aggregated over all subjects. */
6642
6909
  subject: string | null;
6910
+ /** @description The customer ID the value is aggregated over. */
6911
+ customerId?: string;
6643
6912
  /** @description The group by values the value is aggregated over. */
6644
6913
  groupBy: {
6645
6914
  [key: string]: string | null;
@@ -8028,7 +8297,10 @@ export interface components {
8028
8297
  */
8029
8298
  billingAnchor?: Date;
8030
8299
  };
8031
- /** @description Create subscription based on plan. */
8300
+ /**
8301
+ * Create from plan
8302
+ * @description Create subscription based on plan.
8303
+ */
8032
8304
  PlanSubscriptionCreate: {
8033
8305
  /** @description What alignment settings the subscription should have. */
8034
8306
  alignment?: components['schemas']['Alignment'];
@@ -8718,8 +8990,15 @@ export interface components {
8718
8990
  * @enum {string}
8719
8991
  */
8720
8992
  type: 'stripe';
8993
+ /** @description The Stripe customer ID. */
8994
+ stripeCustomerId: string;
8995
+ /** @description The Stripe default payment method ID. */
8996
+ stripeDefaultPaymentMethodId?: string;
8721
8997
  /** @description The installed stripe app this data belongs to. */
8722
8998
  readonly app?: components['schemas']['StripeApp'];
8999
+ };
9000
+ /** @description Stripe Customer App Data Base. */
9001
+ StripeCustomerAppDataBase: {
8723
9002
  /** @description The Stripe customer ID. */
8724
9003
  stripeCustomerId: string;
8725
9004
  /** @description The Stripe default payment method ID. */
@@ -8750,6 +9029,47 @@ export interface components {
8750
9029
  /** @description The Stripe default payment method ID. */
8751
9030
  stripeDefaultPaymentMethodId?: string;
8752
9031
  };
9032
+ /** @description Stripe customer portal session.
9033
+ *
9034
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object */
9035
+ StripeCustomerPortalSession: {
9036
+ /** @description The ID of the customer portal session.
9037
+ *
9038
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-id */
9039
+ id: string;
9040
+ /** @description The ID of the stripe customer. */
9041
+ stripeCustomerId: string;
9042
+ /** @description Configuration used to customize the customer portal.
9043
+ *
9044
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-configuration */
9045
+ configurationId: string;
9046
+ /** @description Livemode.
9047
+ *
9048
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-livemode */
9049
+ livemode: boolean;
9050
+ /**
9051
+ * Format: date-time
9052
+ * @description Created at.
9053
+ *
9054
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-created
9055
+ * @example 2023-01-01T01:01:01.001Z
9056
+ */
9057
+ createdAt: Date;
9058
+ /** @description Return URL.
9059
+ *
9060
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-return_url */
9061
+ returnUrl: string;
9062
+ /** @description Status.
9063
+ * /**
9064
+ * The IETF language tag of the locale customer portal is displayed in.
9065
+ *
9066
+ * See: https://docs.stripe.com/api/customer_portal/sessions/object#portal_session_object-locale */
9067
+ locale: string;
9068
+ /** @description /**
9069
+ * The ID of the customer.The URL to redirect the customer to after they have completed
9070
+ * their requested actions. */
9071
+ url: string;
9072
+ };
8753
9073
  /** @description The tax config for Stripe. */
8754
9074
  StripeTaxConfig: {
8755
9075
  /**
@@ -10073,6 +10393,10 @@ export interface components {
10073
10393
  /** @description Client ID
10074
10394
  * Useful to track progress of a query. */
10075
10395
  'MeterQuery.clientId': string;
10396
+ /** @description Filtering by multiple customers.
10397
+ *
10398
+ * For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2 */
10399
+ 'MeterQuery.filterCustomerId': string[];
10076
10400
  /** @description Simple filter for group bys with exact match.
10077
10401
  *
10078
10402
  * For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo */
@@ -10092,7 +10416,7 @@ export interface components {
10092
10416
  'MeterQuery.groupBy': string[];
10093
10417
  /** @description Filtering by multiple subjects.
10094
10418
  *
10095
- * For example: ?subject=customer-1&subject=customer-2 */
10419
+ * For example: ?subject=subject-1&subject=subject-2 */
10096
10420
  'MeterQuery.subject': string[];
10097
10421
  /** @description End date-time in RFC 3339 format.
10098
10422
  *
@@ -10156,6 +10480,8 @@ export interface components {
10156
10480
  'PlanOrderByOrdering.order': components['schemas']['SortOrder'];
10157
10481
  /** @description The order by field. */
10158
10482
  'PlanOrderByOrdering.orderBy': components['schemas']['PlanOrderBy'];
10483
+ /** @description Filter customer data by app type. */
10484
+ 'listCustomerAppDataParams.type': components['schemas']['AppType'];
10159
10485
  /** @description What parts of the customer output to expand */
10160
10486
  queryCustomerGet: components['schemas']['CustomerExpand'][];
10161
10487
  /** @description What parts of the list output to expand in listings */
@@ -10176,8 +10502,6 @@ export interface components {
10176
10502
  /** @description Filter customers by usage attribution subject.
10177
10503
  * Case-insensitive partial match. */
10178
10504
  'queryCustomerList.subject': string;
10179
- /** @description Filter customer data by app type. */
10180
- 'queryCustomerList.type': components['schemas']['AppType'];
10181
10505
  /** @description Include deleted meters. */
10182
10506
  'queryMeterList.includeDeleted': boolean;
10183
10507
  };
@@ -10210,6 +10534,7 @@ export type BillingDiscountPercentage = components['schemas']['BillingDiscountPe
10210
10534
  export type BillingDiscountReason = components['schemas']['BillingDiscountReason'];
10211
10535
  export type BillingDiscountUsage = components['schemas']['BillingDiscountUsage'];
10212
10536
  export type BillingDiscounts = components['schemas']['BillingDiscounts'];
10537
+ export type BillingInvoiceCustomerExtendedDetails = components['schemas']['BillingInvoiceCustomerExtendedDetails'];
10213
10538
  export type BillingParty = components['schemas']['BillingParty'];
10214
10539
  export type BillingPartyReplaceUpdate = components['schemas']['BillingPartyReplaceUpdate'];
10215
10540
  export type BillingPartyTaxIdentity = components['schemas']['BillingPartyTaxIdentity'];
@@ -10258,6 +10583,7 @@ export type CreateStripeCheckoutSessionRedirectOnCompletion = components['schema
10258
10583
  export type CreateStripeCheckoutSessionRequest = components['schemas']['CreateStripeCheckoutSessionRequest'];
10259
10584
  export type CreateStripeCheckoutSessionRequestOptions = components['schemas']['CreateStripeCheckoutSessionRequestOptions'];
10260
10585
  export type CreateStripeCheckoutSessionResult = components['schemas']['CreateStripeCheckoutSessionResult'];
10586
+ export type CreateStripeCustomerPortalSessionParams = components['schemas']['CreateStripeCustomerPortalSessionParams'];
10261
10587
  export type CreditNoteOriginalInvoiceRef = components['schemas']['CreditNoteOriginalInvoiceRef'];
10262
10588
  export type Currency = components['schemas']['Currency'];
10263
10589
  export type CurrencyCode = components['schemas']['CurrencyCode'];
@@ -10498,7 +10824,9 @@ export type StripeApp = components['schemas']['StripeApp'];
10498
10824
  export type StripeAppReplaceUpdate = components['schemas']['StripeAppReplaceUpdate'];
10499
10825
  export type StripeCheckoutSessionMode = components['schemas']['StripeCheckoutSessionMode'];
10500
10826
  export type StripeCustomerAppData = components['schemas']['StripeCustomerAppData'];
10827
+ export type StripeCustomerAppDataBase = components['schemas']['StripeCustomerAppDataBase'];
10501
10828
  export type StripeCustomerAppDataCreateOrUpdateItem = components['schemas']['StripeCustomerAppDataCreateOrUpdateItem'];
10829
+ export type StripeCustomerPortalSession = components['schemas']['StripeCustomerPortalSession'];
10502
10830
  export type StripeTaxConfig = components['schemas']['StripeTaxConfig'];
10503
10831
  export type StripeWebhookEvent = components['schemas']['StripeWebhookEvent'];
10504
10832
  export type StripeWebhookResponse = components['schemas']['StripeWebhookResponse'];
@@ -10594,6 +10922,7 @@ export type ParameterMarketplaceOAuth2InstallAuthorizeRequestType = components['
10594
10922
  export type ParameterMeterOrderByOrderingOrder = components['parameters']['MeterOrderByOrdering.order'];
10595
10923
  export type ParameterMeterOrderByOrderingOrderBy = components['parameters']['MeterOrderByOrdering.orderBy'];
10596
10924
  export type ParameterMeterQueryClientId = components['parameters']['MeterQuery.clientId'];
10925
+ export type ParameterMeterQueryFilterCustomerId = components['parameters']['MeterQuery.filterCustomerId'];
10597
10926
  export type ParameterMeterQueryFilterGroupBy = components['parameters']['MeterQuery.filterGroupBy'];
10598
10927
  export type ParameterMeterQueryFrom = components['parameters']['MeterQuery.from'];
10599
10928
  export type ParameterMeterQueryGroupBy = components['parameters']['MeterQuery.groupBy'];
@@ -10618,6 +10947,7 @@ export type ParameterPlanAddonOrderByOrderingOrder = components['parameters']['P
10618
10947
  export type ParameterPlanAddonOrderByOrderingOrderBy = components['parameters']['PlanAddonOrderByOrdering.orderBy'];
10619
10948
  export type ParameterPlanOrderByOrderingOrder = components['parameters']['PlanOrderByOrdering.order'];
10620
10949
  export type ParameterPlanOrderByOrderingOrderBy = components['parameters']['PlanOrderByOrdering.orderBy'];
10950
+ export type ParameterListCustomerAppDataParamsType = components['parameters']['listCustomerAppDataParams.type'];
10621
10951
  export type ParameterQueryCustomerGet = components['parameters']['queryCustomerGet'];
10622
10952
  export type ParameterQueryCustomerListExpand = components['parameters']['queryCustomerList.expand'];
10623
10953
  export type ParameterQueryCustomerListIncludeDeleted = components['parameters']['queryCustomerList.includeDeleted'];
@@ -10626,7 +10956,6 @@ export type ParameterQueryCustomerListName = components['parameters']['queryCust
10626
10956
  export type ParameterQueryCustomerListPlanKey = components['parameters']['queryCustomerList.planKey'];
10627
10957
  export type ParameterQueryCustomerListPrimaryEmail = components['parameters']['queryCustomerList.primaryEmail'];
10628
10958
  export type ParameterQueryCustomerListSubject = components['parameters']['queryCustomerList.subject'];
10629
- export type ParameterQueryCustomerListType = components['parameters']['queryCustomerList.type'];
10630
10959
  export type ParameterQueryMeterListIncludeDeleted = components['parameters']['queryMeterList.includeDeleted'];
10631
10960
  export type $defs = Record<string, never>;
10632
10961
  export interface operations {
@@ -14844,7 +15173,7 @@ export interface operations {
14844
15173
  * Default is 100. */
14845
15174
  pageSize?: components['parameters']['Pagination.pageSize'];
14846
15175
  /** @description Filter customer data by app type. */
14847
- type?: components['parameters']['queryCustomerList.type'];
15176
+ type?: components['parameters']['listCustomerAppDataParams.type'];
14848
15177
  };
14849
15178
  header?: never;
14850
15179
  path: {
@@ -15128,15 +15457,14 @@ export interface operations {
15128
15457
  };
15129
15458
  };
15130
15459
  };
15131
- getCustomerEntitlementValue: {
15460
+ listCustomerEntitlements: {
15132
15461
  parameters: {
15133
15462
  query?: {
15134
- time?: Date | string;
15463
+ includeDeleted?: boolean;
15135
15464
  };
15136
15465
  header?: never;
15137
15466
  path: {
15138
15467
  customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
15139
- featureKey: string;
15140
15468
  };
15141
15469
  cookie?: never;
15142
15470
  };
@@ -15148,7 +15476,7 @@ export interface operations {
15148
15476
  [name: string]: unknown;
15149
15477
  };
15150
15478
  content: {
15151
- 'application/json': components['schemas']['EntitlementValue'];
15479
+ 'application/json': components['schemas']['Entitlement'][];
15152
15480
  };
15153
15481
  };
15154
15482
  /** @description 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). */
@@ -15178,15 +15506,6 @@ export interface operations {
15178
15506
  'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
15179
15507
  };
15180
15508
  };
15181
- /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
15182
- 404: {
15183
- headers: {
15184
- [name: string]: unknown;
15185
- };
15186
- content: {
15187
- 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
15188
- };
15189
- };
15190
15509
  /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
15191
15510
  412: {
15192
15511
  headers: {
@@ -15225,29 +15544,1200 @@ export interface operations {
15225
15544
  };
15226
15545
  };
15227
15546
  };
15228
- listCustomerSubscriptions: {
15547
+ createCustomerEntitlement: {
15229
15548
  parameters: {
15230
- query?: {
15231
- /** @description Page index.
15232
- *
15233
- * Default is 1. */
15234
- page?: components['parameters']['Pagination.page'];
15235
- /** @description The maximum number of items per page.
15236
- *
15237
- * Default is 100. */
15238
- pageSize?: components['parameters']['Pagination.pageSize'];
15239
- };
15549
+ query?: never;
15240
15550
  header?: never;
15241
15551
  path: {
15242
15552
  customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
15243
15553
  };
15244
15554
  cookie?: never;
15245
15555
  };
15246
- requestBody?: never;
15247
- responses: {
15248
- /** @description The request has succeeded. */
15249
- 200: {
15250
- headers: {
15556
+ requestBody: {
15557
+ content: {
15558
+ 'application/json': components['schemas']['EntitlementCreateInputs'];
15559
+ };
15560
+ };
15561
+ responses: {
15562
+ /** @description The request has succeeded and a new resource has been created as a result. */
15563
+ 201: {
15564
+ headers: {
15565
+ [name: string]: unknown;
15566
+ };
15567
+ content: {
15568
+ 'application/json': components['schemas']['Entitlement'];
15569
+ };
15570
+ };
15571
+ /** @description 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). */
15572
+ 400: {
15573
+ headers: {
15574
+ [name: string]: unknown;
15575
+ };
15576
+ content: {
15577
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
15578
+ };
15579
+ };
15580
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
15581
+ 401: {
15582
+ headers: {
15583
+ [name: string]: unknown;
15584
+ };
15585
+ content: {
15586
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
15587
+ };
15588
+ };
15589
+ /** @description The server understood the request but refuses to authorize it. */
15590
+ 403: {
15591
+ headers: {
15592
+ [name: string]: unknown;
15593
+ };
15594
+ content: {
15595
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
15596
+ };
15597
+ };
15598
+ /** @description The request could not be completed due to a conflict with the current state of the target resource. */
15599
+ 409: {
15600
+ headers: {
15601
+ [name: string]: unknown;
15602
+ };
15603
+ content: {
15604
+ 'application/problem+json': components['schemas']['ConflictProblemResponse'];
15605
+ };
15606
+ };
15607
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
15608
+ 412: {
15609
+ headers: {
15610
+ [name: string]: unknown;
15611
+ };
15612
+ content: {
15613
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
15614
+ };
15615
+ };
15616
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
15617
+ 500: {
15618
+ headers: {
15619
+ [name: string]: unknown;
15620
+ };
15621
+ content: {
15622
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
15623
+ };
15624
+ };
15625
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
15626
+ 503: {
15627
+ headers: {
15628
+ [name: string]: unknown;
15629
+ };
15630
+ content: {
15631
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
15632
+ };
15633
+ };
15634
+ /** @description An unexpected error response. */
15635
+ default: {
15636
+ headers: {
15637
+ [name: string]: unknown;
15638
+ };
15639
+ content: {
15640
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
15641
+ };
15642
+ };
15643
+ };
15644
+ };
15645
+ getCustomerEntitlement: {
15646
+ parameters: {
15647
+ query?: never;
15648
+ header?: never;
15649
+ path: {
15650
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
15651
+ featureKey: string;
15652
+ };
15653
+ cookie?: never;
15654
+ };
15655
+ requestBody?: never;
15656
+ responses: {
15657
+ /** @description The request has succeeded. */
15658
+ 200: {
15659
+ headers: {
15660
+ [name: string]: unknown;
15661
+ };
15662
+ content: {
15663
+ 'application/json': components['schemas']['Entitlement'];
15664
+ };
15665
+ };
15666
+ /** @description 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). */
15667
+ 400: {
15668
+ headers: {
15669
+ [name: string]: unknown;
15670
+ };
15671
+ content: {
15672
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
15673
+ };
15674
+ };
15675
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
15676
+ 401: {
15677
+ headers: {
15678
+ [name: string]: unknown;
15679
+ };
15680
+ content: {
15681
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
15682
+ };
15683
+ };
15684
+ /** @description The server understood the request but refuses to authorize it. */
15685
+ 403: {
15686
+ headers: {
15687
+ [name: string]: unknown;
15688
+ };
15689
+ content: {
15690
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
15691
+ };
15692
+ };
15693
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
15694
+ 404: {
15695
+ headers: {
15696
+ [name: string]: unknown;
15697
+ };
15698
+ content: {
15699
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
15700
+ };
15701
+ };
15702
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
15703
+ 412: {
15704
+ headers: {
15705
+ [name: string]: unknown;
15706
+ };
15707
+ content: {
15708
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
15709
+ };
15710
+ };
15711
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
15712
+ 500: {
15713
+ headers: {
15714
+ [name: string]: unknown;
15715
+ };
15716
+ content: {
15717
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
15718
+ };
15719
+ };
15720
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
15721
+ 503: {
15722
+ headers: {
15723
+ [name: string]: unknown;
15724
+ };
15725
+ content: {
15726
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
15727
+ };
15728
+ };
15729
+ /** @description An unexpected error response. */
15730
+ default: {
15731
+ headers: {
15732
+ [name: string]: unknown;
15733
+ };
15734
+ content: {
15735
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
15736
+ };
15737
+ };
15738
+ };
15739
+ };
15740
+ deleteCustomerEntitlement: {
15741
+ parameters: {
15742
+ query?: never;
15743
+ header?: never;
15744
+ path: {
15745
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
15746
+ featureKey: string;
15747
+ };
15748
+ cookie?: never;
15749
+ };
15750
+ requestBody?: never;
15751
+ responses: {
15752
+ /** @description There is no content to send for this request, but the headers may be useful. */
15753
+ 204: {
15754
+ headers: {
15755
+ [name: string]: unknown;
15756
+ };
15757
+ content?: never;
15758
+ };
15759
+ /** @description 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). */
15760
+ 400: {
15761
+ headers: {
15762
+ [name: string]: unknown;
15763
+ };
15764
+ content: {
15765
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
15766
+ };
15767
+ };
15768
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
15769
+ 401: {
15770
+ headers: {
15771
+ [name: string]: unknown;
15772
+ };
15773
+ content: {
15774
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
15775
+ };
15776
+ };
15777
+ /** @description The server understood the request but refuses to authorize it. */
15778
+ 403: {
15779
+ headers: {
15780
+ [name: string]: unknown;
15781
+ };
15782
+ content: {
15783
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
15784
+ };
15785
+ };
15786
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
15787
+ 404: {
15788
+ headers: {
15789
+ [name: string]: unknown;
15790
+ };
15791
+ content: {
15792
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
15793
+ };
15794
+ };
15795
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
15796
+ 412: {
15797
+ headers: {
15798
+ [name: string]: unknown;
15799
+ };
15800
+ content: {
15801
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
15802
+ };
15803
+ };
15804
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
15805
+ 500: {
15806
+ headers: {
15807
+ [name: string]: unknown;
15808
+ };
15809
+ content: {
15810
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
15811
+ };
15812
+ };
15813
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
15814
+ 503: {
15815
+ headers: {
15816
+ [name: string]: unknown;
15817
+ };
15818
+ content: {
15819
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
15820
+ };
15821
+ };
15822
+ /** @description An unexpected error response. */
15823
+ default: {
15824
+ headers: {
15825
+ [name: string]: unknown;
15826
+ };
15827
+ content: {
15828
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
15829
+ };
15830
+ };
15831
+ };
15832
+ };
15833
+ listCustomerEntitlementGrants: {
15834
+ parameters: {
15835
+ query?: {
15836
+ includeDeleted?: boolean;
15837
+ orderBy?: components['schemas']['GrantOrderBy'];
15838
+ };
15839
+ header?: never;
15840
+ path: {
15841
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
15842
+ featureKey: string;
15843
+ };
15844
+ cookie?: never;
15845
+ };
15846
+ requestBody?: never;
15847
+ responses: {
15848
+ /** @description The request has succeeded. */
15849
+ 200: {
15850
+ headers: {
15851
+ [name: string]: unknown;
15852
+ };
15853
+ content: {
15854
+ 'application/json': components['schemas']['EntitlementGrant'][];
15855
+ };
15856
+ };
15857
+ /** @description 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). */
15858
+ 400: {
15859
+ headers: {
15860
+ [name: string]: unknown;
15861
+ };
15862
+ content: {
15863
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
15864
+ };
15865
+ };
15866
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
15867
+ 401: {
15868
+ headers: {
15869
+ [name: string]: unknown;
15870
+ };
15871
+ content: {
15872
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
15873
+ };
15874
+ };
15875
+ /** @description The server understood the request but refuses to authorize it. */
15876
+ 403: {
15877
+ headers: {
15878
+ [name: string]: unknown;
15879
+ };
15880
+ content: {
15881
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
15882
+ };
15883
+ };
15884
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
15885
+ 412: {
15886
+ headers: {
15887
+ [name: string]: unknown;
15888
+ };
15889
+ content: {
15890
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
15891
+ };
15892
+ };
15893
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
15894
+ 500: {
15895
+ headers: {
15896
+ [name: string]: unknown;
15897
+ };
15898
+ content: {
15899
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
15900
+ };
15901
+ };
15902
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
15903
+ 503: {
15904
+ headers: {
15905
+ [name: string]: unknown;
15906
+ };
15907
+ content: {
15908
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
15909
+ };
15910
+ };
15911
+ /** @description An unexpected error response. */
15912
+ default: {
15913
+ headers: {
15914
+ [name: string]: unknown;
15915
+ };
15916
+ content: {
15917
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
15918
+ };
15919
+ };
15920
+ };
15921
+ };
15922
+ createCustomerEntitlementGrant: {
15923
+ parameters: {
15924
+ query?: never;
15925
+ header?: never;
15926
+ path: {
15927
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
15928
+ featureKey: string;
15929
+ };
15930
+ cookie?: never;
15931
+ };
15932
+ requestBody: {
15933
+ content: {
15934
+ 'application/json': components['schemas']['EntitlementGrantCreateInput'];
15935
+ };
15936
+ };
15937
+ responses: {
15938
+ /** @description The request has succeeded and a new resource has been created as a result. */
15939
+ 201: {
15940
+ headers: {
15941
+ [name: string]: unknown;
15942
+ };
15943
+ content: {
15944
+ 'application/json': components['schemas']['EntitlementGrant'];
15945
+ };
15946
+ };
15947
+ /** @description 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). */
15948
+ 400: {
15949
+ headers: {
15950
+ [name: string]: unknown;
15951
+ };
15952
+ content: {
15953
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
15954
+ };
15955
+ };
15956
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
15957
+ 401: {
15958
+ headers: {
15959
+ [name: string]: unknown;
15960
+ };
15961
+ content: {
15962
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
15963
+ };
15964
+ };
15965
+ /** @description The server understood the request but refuses to authorize it. */
15966
+ 403: {
15967
+ headers: {
15968
+ [name: string]: unknown;
15969
+ };
15970
+ content: {
15971
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
15972
+ };
15973
+ };
15974
+ /** @description The request could not be completed due to a conflict with the current state of the target resource. */
15975
+ 409: {
15976
+ headers: {
15977
+ [name: string]: unknown;
15978
+ };
15979
+ content: {
15980
+ 'application/problem+json': components['schemas']['ConflictProblemResponse'];
15981
+ };
15982
+ };
15983
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
15984
+ 412: {
15985
+ headers: {
15986
+ [name: string]: unknown;
15987
+ };
15988
+ content: {
15989
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
15990
+ };
15991
+ };
15992
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
15993
+ 500: {
15994
+ headers: {
15995
+ [name: string]: unknown;
15996
+ };
15997
+ content: {
15998
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
15999
+ };
16000
+ };
16001
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16002
+ 503: {
16003
+ headers: {
16004
+ [name: string]: unknown;
16005
+ };
16006
+ content: {
16007
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16008
+ };
16009
+ };
16010
+ /** @description An unexpected error response. */
16011
+ default: {
16012
+ headers: {
16013
+ [name: string]: unknown;
16014
+ };
16015
+ content: {
16016
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16017
+ };
16018
+ };
16019
+ };
16020
+ };
16021
+ getCustomerEntitlementHistory: {
16022
+ parameters: {
16023
+ query: {
16024
+ /** @description 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. */
16025
+ from?: Date | string;
16026
+ /** @description End of time range to query entitlement: date-time in RFC 3339 format. Defaults to now.
16027
+ * If not now then gets truncated to the granularity of the underlying meter. */
16028
+ to?: Date | string;
16029
+ /** @description Windowsize */
16030
+ windowSize: components['schemas']['WindowSize'];
16031
+ /** @description The timezone used when calculating the windows. */
16032
+ windowTimeZone?: string;
16033
+ };
16034
+ header?: never;
16035
+ path: {
16036
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16037
+ featureKey: string;
16038
+ };
16039
+ cookie?: never;
16040
+ };
16041
+ requestBody?: never;
16042
+ responses: {
16043
+ /** @description The request has succeeded. */
16044
+ 200: {
16045
+ headers: {
16046
+ [name: string]: unknown;
16047
+ };
16048
+ content: {
16049
+ 'application/json': components['schemas']['WindowedBalanceHistory'];
16050
+ };
16051
+ };
16052
+ /** @description 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). */
16053
+ 400: {
16054
+ headers: {
16055
+ [name: string]: unknown;
16056
+ };
16057
+ content: {
16058
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16059
+ };
16060
+ };
16061
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16062
+ 401: {
16063
+ headers: {
16064
+ [name: string]: unknown;
16065
+ };
16066
+ content: {
16067
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16068
+ };
16069
+ };
16070
+ /** @description The server understood the request but refuses to authorize it. */
16071
+ 403: {
16072
+ headers: {
16073
+ [name: string]: unknown;
16074
+ };
16075
+ content: {
16076
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16077
+ };
16078
+ };
16079
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16080
+ 404: {
16081
+ headers: {
16082
+ [name: string]: unknown;
16083
+ };
16084
+ content: {
16085
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16086
+ };
16087
+ };
16088
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16089
+ 412: {
16090
+ headers: {
16091
+ [name: string]: unknown;
16092
+ };
16093
+ content: {
16094
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16095
+ };
16096
+ };
16097
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16098
+ 500: {
16099
+ headers: {
16100
+ [name: string]: unknown;
16101
+ };
16102
+ content: {
16103
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16104
+ };
16105
+ };
16106
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16107
+ 503: {
16108
+ headers: {
16109
+ [name: string]: unknown;
16110
+ };
16111
+ content: {
16112
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16113
+ };
16114
+ };
16115
+ /** @description An unexpected error response. */
16116
+ default: {
16117
+ headers: {
16118
+ [name: string]: unknown;
16119
+ };
16120
+ content: {
16121
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16122
+ };
16123
+ };
16124
+ };
16125
+ };
16126
+ overrideCustomerEntitlement: {
16127
+ parameters: {
16128
+ query?: never;
16129
+ header?: never;
16130
+ path: {
16131
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16132
+ featureKey: string;
16133
+ };
16134
+ cookie?: never;
16135
+ };
16136
+ requestBody: {
16137
+ content: {
16138
+ 'application/json': components['schemas']['EntitlementCreateInputs'];
16139
+ };
16140
+ };
16141
+ responses: {
16142
+ /** @description The request has succeeded and a new resource has been created as a result. */
16143
+ 201: {
16144
+ headers: {
16145
+ [name: string]: unknown;
16146
+ };
16147
+ content: {
16148
+ 'application/json': components['schemas']['Entitlement'];
16149
+ };
16150
+ };
16151
+ /** @description 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). */
16152
+ 400: {
16153
+ headers: {
16154
+ [name: string]: unknown;
16155
+ };
16156
+ content: {
16157
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16158
+ };
16159
+ };
16160
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16161
+ 401: {
16162
+ headers: {
16163
+ [name: string]: unknown;
16164
+ };
16165
+ content: {
16166
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16167
+ };
16168
+ };
16169
+ /** @description The server understood the request but refuses to authorize it. */
16170
+ 403: {
16171
+ headers: {
16172
+ [name: string]: unknown;
16173
+ };
16174
+ content: {
16175
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16176
+ };
16177
+ };
16178
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16179
+ 404: {
16180
+ headers: {
16181
+ [name: string]: unknown;
16182
+ };
16183
+ content: {
16184
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16185
+ };
16186
+ };
16187
+ /** @description The request could not be completed due to a conflict with the current state of the target resource. */
16188
+ 409: {
16189
+ headers: {
16190
+ [name: string]: unknown;
16191
+ };
16192
+ content: {
16193
+ 'application/problem+json': components['schemas']['ConflictProblemResponse'];
16194
+ };
16195
+ };
16196
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16197
+ 412: {
16198
+ headers: {
16199
+ [name: string]: unknown;
16200
+ };
16201
+ content: {
16202
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16203
+ };
16204
+ };
16205
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16206
+ 500: {
16207
+ headers: {
16208
+ [name: string]: unknown;
16209
+ };
16210
+ content: {
16211
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16212
+ };
16213
+ };
16214
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16215
+ 503: {
16216
+ headers: {
16217
+ [name: string]: unknown;
16218
+ };
16219
+ content: {
16220
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16221
+ };
16222
+ };
16223
+ /** @description An unexpected error response. */
16224
+ default: {
16225
+ headers: {
16226
+ [name: string]: unknown;
16227
+ };
16228
+ content: {
16229
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16230
+ };
16231
+ };
16232
+ };
16233
+ };
16234
+ resetCustomerEntitlementUsage: {
16235
+ parameters: {
16236
+ query?: never;
16237
+ header?: never;
16238
+ path: {
16239
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16240
+ featureKey: string;
16241
+ };
16242
+ cookie?: never;
16243
+ };
16244
+ requestBody: {
16245
+ content: {
16246
+ 'application/json': components['schemas']['ResetEntitlementUsageInput'];
16247
+ };
16248
+ };
16249
+ responses: {
16250
+ /** @description There is no content to send for this request, but the headers may be useful. */
16251
+ 204: {
16252
+ headers: {
16253
+ [name: string]: unknown;
16254
+ };
16255
+ content?: never;
16256
+ };
16257
+ /** @description 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). */
16258
+ 400: {
16259
+ headers: {
16260
+ [name: string]: unknown;
16261
+ };
16262
+ content: {
16263
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16264
+ };
16265
+ };
16266
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16267
+ 401: {
16268
+ headers: {
16269
+ [name: string]: unknown;
16270
+ };
16271
+ content: {
16272
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16273
+ };
16274
+ };
16275
+ /** @description The server understood the request but refuses to authorize it. */
16276
+ 403: {
16277
+ headers: {
16278
+ [name: string]: unknown;
16279
+ };
16280
+ content: {
16281
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16282
+ };
16283
+ };
16284
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16285
+ 404: {
16286
+ headers: {
16287
+ [name: string]: unknown;
16288
+ };
16289
+ content: {
16290
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16291
+ };
16292
+ };
16293
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16294
+ 412: {
16295
+ headers: {
16296
+ [name: string]: unknown;
16297
+ };
16298
+ content: {
16299
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16300
+ };
16301
+ };
16302
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16303
+ 500: {
16304
+ headers: {
16305
+ [name: string]: unknown;
16306
+ };
16307
+ content: {
16308
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16309
+ };
16310
+ };
16311
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16312
+ 503: {
16313
+ headers: {
16314
+ [name: string]: unknown;
16315
+ };
16316
+ content: {
16317
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16318
+ };
16319
+ };
16320
+ /** @description An unexpected error response. */
16321
+ default: {
16322
+ headers: {
16323
+ [name: string]: unknown;
16324
+ };
16325
+ content: {
16326
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16327
+ };
16328
+ };
16329
+ };
16330
+ };
16331
+ getCustomerEntitlementValue: {
16332
+ parameters: {
16333
+ query?: {
16334
+ time?: Date | string;
16335
+ };
16336
+ header?: never;
16337
+ path: {
16338
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16339
+ featureKey: string;
16340
+ };
16341
+ cookie?: never;
16342
+ };
16343
+ requestBody?: never;
16344
+ responses: {
16345
+ /** @description The request has succeeded. */
16346
+ 200: {
16347
+ headers: {
16348
+ [name: string]: unknown;
16349
+ };
16350
+ content: {
16351
+ 'application/json': components['schemas']['EntitlementValue'];
16352
+ };
16353
+ };
16354
+ /** @description 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). */
16355
+ 400: {
16356
+ headers: {
16357
+ [name: string]: unknown;
16358
+ };
16359
+ content: {
16360
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16361
+ };
16362
+ };
16363
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16364
+ 401: {
16365
+ headers: {
16366
+ [name: string]: unknown;
16367
+ };
16368
+ content: {
16369
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16370
+ };
16371
+ };
16372
+ /** @description The server understood the request but refuses to authorize it. */
16373
+ 403: {
16374
+ headers: {
16375
+ [name: string]: unknown;
16376
+ };
16377
+ content: {
16378
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16379
+ };
16380
+ };
16381
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16382
+ 404: {
16383
+ headers: {
16384
+ [name: string]: unknown;
16385
+ };
16386
+ content: {
16387
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16388
+ };
16389
+ };
16390
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16391
+ 412: {
16392
+ headers: {
16393
+ [name: string]: unknown;
16394
+ };
16395
+ content: {
16396
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16397
+ };
16398
+ };
16399
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16400
+ 500: {
16401
+ headers: {
16402
+ [name: string]: unknown;
16403
+ };
16404
+ content: {
16405
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16406
+ };
16407
+ };
16408
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16409
+ 503: {
16410
+ headers: {
16411
+ [name: string]: unknown;
16412
+ };
16413
+ content: {
16414
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16415
+ };
16416
+ };
16417
+ /** @description An unexpected error response. */
16418
+ default: {
16419
+ headers: {
16420
+ [name: string]: unknown;
16421
+ };
16422
+ content: {
16423
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16424
+ };
16425
+ };
16426
+ };
16427
+ };
16428
+ getCustomerStripeAppData: {
16429
+ parameters: {
16430
+ query?: never;
16431
+ header?: never;
16432
+ path: {
16433
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16434
+ };
16435
+ cookie?: never;
16436
+ };
16437
+ requestBody?: never;
16438
+ responses: {
16439
+ /** @description The request has succeeded. */
16440
+ 200: {
16441
+ headers: {
16442
+ [name: string]: unknown;
16443
+ };
16444
+ content: {
16445
+ 'application/json': components['schemas']['StripeCustomerAppData'];
16446
+ };
16447
+ };
16448
+ /** @description 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). */
16449
+ 400: {
16450
+ headers: {
16451
+ [name: string]: unknown;
16452
+ };
16453
+ content: {
16454
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16455
+ };
16456
+ };
16457
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16458
+ 401: {
16459
+ headers: {
16460
+ [name: string]: unknown;
16461
+ };
16462
+ content: {
16463
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16464
+ };
16465
+ };
16466
+ /** @description The server understood the request but refuses to authorize it. */
16467
+ 403: {
16468
+ headers: {
16469
+ [name: string]: unknown;
16470
+ };
16471
+ content: {
16472
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16473
+ };
16474
+ };
16475
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16476
+ 404: {
16477
+ headers: {
16478
+ [name: string]: unknown;
16479
+ };
16480
+ content: {
16481
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16482
+ };
16483
+ };
16484
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16485
+ 412: {
16486
+ headers: {
16487
+ [name: string]: unknown;
16488
+ };
16489
+ content: {
16490
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16491
+ };
16492
+ };
16493
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16494
+ 500: {
16495
+ headers: {
16496
+ [name: string]: unknown;
16497
+ };
16498
+ content: {
16499
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16500
+ };
16501
+ };
16502
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16503
+ 503: {
16504
+ headers: {
16505
+ [name: string]: unknown;
16506
+ };
16507
+ content: {
16508
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16509
+ };
16510
+ };
16511
+ /** @description An unexpected error response. */
16512
+ default: {
16513
+ headers: {
16514
+ [name: string]: unknown;
16515
+ };
16516
+ content: {
16517
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16518
+ };
16519
+ };
16520
+ };
16521
+ };
16522
+ upsertCustomerStripeAppData: {
16523
+ parameters: {
16524
+ query?: never;
16525
+ header?: never;
16526
+ path: {
16527
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16528
+ };
16529
+ cookie?: never;
16530
+ };
16531
+ requestBody: {
16532
+ content: {
16533
+ 'application/json': components['schemas']['StripeCustomerAppDataBase'];
16534
+ };
16535
+ };
16536
+ responses: {
16537
+ /** @description The request has succeeded. */
16538
+ 200: {
16539
+ headers: {
16540
+ [name: string]: unknown;
16541
+ };
16542
+ content: {
16543
+ 'application/json': components['schemas']['StripeCustomerAppData'];
16544
+ };
16545
+ };
16546
+ /** @description 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). */
16547
+ 400: {
16548
+ headers: {
16549
+ [name: string]: unknown;
16550
+ };
16551
+ content: {
16552
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16553
+ };
16554
+ };
16555
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16556
+ 401: {
16557
+ headers: {
16558
+ [name: string]: unknown;
16559
+ };
16560
+ content: {
16561
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16562
+ };
16563
+ };
16564
+ /** @description The server understood the request but refuses to authorize it. */
16565
+ 403: {
16566
+ headers: {
16567
+ [name: string]: unknown;
16568
+ };
16569
+ content: {
16570
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16571
+ };
16572
+ };
16573
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16574
+ 404: {
16575
+ headers: {
16576
+ [name: string]: unknown;
16577
+ };
16578
+ content: {
16579
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16580
+ };
16581
+ };
16582
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16583
+ 412: {
16584
+ headers: {
16585
+ [name: string]: unknown;
16586
+ };
16587
+ content: {
16588
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16589
+ };
16590
+ };
16591
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16592
+ 500: {
16593
+ headers: {
16594
+ [name: string]: unknown;
16595
+ };
16596
+ content: {
16597
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16598
+ };
16599
+ };
16600
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16601
+ 503: {
16602
+ headers: {
16603
+ [name: string]: unknown;
16604
+ };
16605
+ content: {
16606
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16607
+ };
16608
+ };
16609
+ /** @description An unexpected error response. */
16610
+ default: {
16611
+ headers: {
16612
+ [name: string]: unknown;
16613
+ };
16614
+ content: {
16615
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16616
+ };
16617
+ };
16618
+ };
16619
+ };
16620
+ createCustomerStripePortalSession: {
16621
+ parameters: {
16622
+ query?: never;
16623
+ header?: never;
16624
+ path: {
16625
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16626
+ };
16627
+ cookie?: never;
16628
+ };
16629
+ requestBody: {
16630
+ content: {
16631
+ 'application/json': components['schemas']['CreateStripeCustomerPortalSessionParams'];
16632
+ };
16633
+ };
16634
+ responses: {
16635
+ /** @description The request has succeeded and a new resource has been created as a result. */
16636
+ 201: {
16637
+ headers: {
16638
+ [name: string]: unknown;
16639
+ };
16640
+ content: {
16641
+ 'application/json': components['schemas']['StripeCustomerPortalSession'];
16642
+ };
16643
+ };
16644
+ /** @description 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). */
16645
+ 400: {
16646
+ headers: {
16647
+ [name: string]: unknown;
16648
+ };
16649
+ content: {
16650
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
16651
+ };
16652
+ };
16653
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
16654
+ 401: {
16655
+ headers: {
16656
+ [name: string]: unknown;
16657
+ };
16658
+ content: {
16659
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
16660
+ };
16661
+ };
16662
+ /** @description The server understood the request but refuses to authorize it. */
16663
+ 403: {
16664
+ headers: {
16665
+ [name: string]: unknown;
16666
+ };
16667
+ content: {
16668
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
16669
+ };
16670
+ };
16671
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
16672
+ 404: {
16673
+ headers: {
16674
+ [name: string]: unknown;
16675
+ };
16676
+ content: {
16677
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
16678
+ };
16679
+ };
16680
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
16681
+ 412: {
16682
+ headers: {
16683
+ [name: string]: unknown;
16684
+ };
16685
+ content: {
16686
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
16687
+ };
16688
+ };
16689
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
16690
+ 500: {
16691
+ headers: {
16692
+ [name: string]: unknown;
16693
+ };
16694
+ content: {
16695
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
16696
+ };
16697
+ };
16698
+ /** @description The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. */
16699
+ 503: {
16700
+ headers: {
16701
+ [name: string]: unknown;
16702
+ };
16703
+ content: {
16704
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
16705
+ };
16706
+ };
16707
+ /** @description An unexpected error response. */
16708
+ default: {
16709
+ headers: {
16710
+ [name: string]: unknown;
16711
+ };
16712
+ content: {
16713
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
16714
+ };
16715
+ };
16716
+ };
16717
+ };
16718
+ listCustomerSubscriptions: {
16719
+ parameters: {
16720
+ query?: {
16721
+ /** @description Page index.
16722
+ *
16723
+ * Default is 1. */
16724
+ page?: components['parameters']['Pagination.page'];
16725
+ /** @description The maximum number of items per page.
16726
+ *
16727
+ * Default is 100. */
16728
+ pageSize?: components['parameters']['Pagination.pageSize'];
16729
+ };
16730
+ header?: never;
16731
+ path: {
16732
+ customerIdOrKey: components['schemas']['ULIDOrExternalKey'];
16733
+ };
16734
+ cookie?: never;
16735
+ };
16736
+ requestBody?: never;
16737
+ responses: {
16738
+ /** @description The request has succeeded. */
16739
+ 200: {
16740
+ headers: {
15251
16741
  [name: string]: unknown;
15252
16742
  };
15253
16743
  content: {
@@ -17636,8 +19126,12 @@ export interface operations {
17636
19126
  windowTimeZone?: components['parameters']['MeterQuery.windowTimeZone'];
17637
19127
  /** @description Filtering by multiple subjects.
17638
19128
  *
17639
- * For example: ?subject=customer-1&subject=customer-2 */
19129
+ * For example: ?subject=subject-1&subject=subject-2 */
17640
19130
  subject?: components['parameters']['MeterQuery.subject'];
19131
+ /** @description Filtering by multiple customers.
19132
+ *
19133
+ * For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2 */
19134
+ filterCustomerId?: components['parameters']['MeterQuery.filterCustomerId'];
17641
19135
  /** @description Simple filter for group bys with exact match.
17642
19136
  *
17643
19137
  * For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo */
@@ -20502,6 +21996,10 @@ export interface operations {
20502
21996
  *
20503
21997
  * For example: ?windowTimeZone=UTC */
20504
21998
  windowTimeZone?: components['parameters']['MeterQuery.windowTimeZone'];
21999
+ /** @description Filtering by multiple customers.
22000
+ *
22001
+ * For example: ?filterCustomerId=customer-1&filterCustomerId=customer-2 */
22002
+ filterCustomerId?: components['parameters']['MeterQuery.filterCustomerId'];
20505
22003
  /** @description Simple filter for group bys with exact match.
20506
22004
  *
20507
22005
  * For example: ?filterGroupBy[vendor]=openai&filterGroupBy[model]=gpt-4-turbo */