@openmeter/sdk 1.0.0-beta.209 → 1.0.0-beta.210

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.
@@ -1374,6 +1374,60 @@ export interface paths {
1374
1374
  patch?: never;
1375
1375
  trace?: never;
1376
1376
  };
1377
+ '/api/v1/plans/{planId}/addons': {
1378
+ parameters: {
1379
+ query?: never;
1380
+ header?: never;
1381
+ path?: never;
1382
+ cookie?: never;
1383
+ };
1384
+ /**
1385
+ * List all available add-ons for plan
1386
+ * @description List all available add-ons for plan.
1387
+ */
1388
+ get: operations['listPlanAddons'];
1389
+ put?: never;
1390
+ /**
1391
+ * Create new add-on assignment for plan
1392
+ * @description Create new add-on assignment for plan.
1393
+ */
1394
+ post: operations['createPlanAddon'];
1395
+ delete?: never;
1396
+ options?: never;
1397
+ head?: never;
1398
+ patch?: never;
1399
+ trace?: never;
1400
+ };
1401
+ '/api/v1/plans/{planId}/addons/{planAddonId}': {
1402
+ parameters: {
1403
+ query?: never;
1404
+ header?: never;
1405
+ path?: never;
1406
+ cookie?: never;
1407
+ };
1408
+ /**
1409
+ * Get add-on assignment for plan
1410
+ * @description Get add-on assignment for plan by id.
1411
+ */
1412
+ get: operations['getPlanAddon'];
1413
+ /**
1414
+ * Update add-on assignment for plan
1415
+ * @description Update add-on assignment for plan.
1416
+ */
1417
+ put: operations['updatePlanAddon'];
1418
+ post?: never;
1419
+ /**
1420
+ * Delete add-on assignment for plan
1421
+ * @description Delete add-on assignment for plan.
1422
+ *
1423
+ * Once a plan is deleted it cannot be undeleted.
1424
+ */
1425
+ delete: operations['deletePlanAddon'];
1426
+ options?: never;
1427
+ head?: never;
1428
+ patch?: never;
1429
+ trace?: never;
1430
+ };
1377
1431
  '/api/v1/plans/{planId}/archive': {
1378
1432
  parameters: {
1379
1433
  query?: never;
@@ -2308,16 +2362,8 @@ export interface components {
2308
2362
  * Expand settings govern if this includes the whole app object or just the ID references. */
2309
2363
  readonly apps: components['schemas']['BillingProfileAppsOrReference'];
2310
2364
  };
2311
- /** @description A discount on a price. This extends the productcatalog.Discount union to include the
2312
- * billing specific extra fields required. */
2313
- BillingDiscount: components['schemas']['BillingDiscountPercentage'] | components['schemas']['BillingDiscountUsage'];
2314
2365
  /** @description A percentage discount. */
2315
2366
  BillingDiscountPercentage: {
2316
- /**
2317
- * @description The type of the discount. (enum property replaced by openapi-typescript)
2318
- * @enum {string}
2319
- */
2320
- type: 'percentage';
2321
2367
  /**
2322
2368
  * Percentage
2323
2369
  * @description The percentage of the discount.
@@ -2328,18 +2374,17 @@ export interface components {
2328
2374
  *
2329
2375
  * This is used to link discounts across different invoices (progressive billing use case).
2330
2376
  *
2331
- * If not provided, the invoicing engine will auto-generate one.
2377
+ * If not provided, the invoicing engine will auto-generate one. When editing an invoice line,
2378
+ * please make sure to keep the same correlation ID of the discount or in progressive billing
2379
+ * setups the discount amounts might be incorrect.
2332
2380
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
2333
2381
  */
2334
2382
  correlationId?: string;
2335
2383
  };
2384
+ /** @description The reason for the discount. */
2385
+ BillingDiscountReason: components['schemas']['DiscountReasonMaximumSpend'] | components['schemas']['DiscountReasonRatecardPercentage'] | components['schemas']['DiscountReasonRatecardUsage'];
2336
2386
  /** @description A usage discount. */
2337
2387
  BillingDiscountUsage: {
2338
- /**
2339
- * @description The type of the discount. (enum property replaced by openapi-typescript)
2340
- * @enum {string}
2341
- */
2342
- type: 'usage';
2343
2388
  /**
2344
2389
  * Usage
2345
2390
  * @description The quantity of the usage discount.
@@ -2352,11 +2397,20 @@ export interface components {
2352
2397
  *
2353
2398
  * This is used to link discounts across different invoices (progressive billing use case).
2354
2399
  *
2355
- * If not provided, the invoicing engine will auto-generate one.
2400
+ * If not provided, the invoicing engine will auto-generate one. When editing an invoice line,
2401
+ * please make sure to keep the same correlation ID of the discount or in progressive billing
2402
+ * setups the discount amounts might be incorrect.
2356
2403
  * @example 01G65Z755AFWAKHE12NY0CQ9FH
2357
2404
  */
2358
2405
  correlationId?: string;
2359
2406
  };
2407
+ /** @description A discount by type. */
2408
+ BillingDiscounts: {
2409
+ /** @description The percentage discount. */
2410
+ percentage?: components['schemas']['BillingDiscountPercentage'];
2411
+ /** @description The usage discount. */
2412
+ usage?: components['schemas']['BillingDiscountUsage'];
2413
+ };
2360
2414
  /** @description Party represents a person or business entity. */
2361
2415
  BillingParty: {
2362
2416
  /** @description Unique identifier for the party (if available) */
@@ -3366,20 +3420,71 @@ export interface components {
3366
3420
  */
3367
3421
  subjectKeys: string[];
3368
3422
  };
3369
- /** @description A discount on a price. */
3370
- Discount: components['schemas']['DiscountPercentage'] | components['schemas']['DiscountUsage'];
3371
3423
  /** @description Percentage discount. */
3372
3424
  DiscountPercentage: {
3373
3425
  /**
3374
- * @description The type of the discount. (enum property replaced by openapi-typescript)
3426
+ * Percentage
3427
+ * @description The percentage of the discount.
3428
+ */
3429
+ percentage: components['schemas']['Percentage'];
3430
+ };
3431
+ /** @description The reason for the discount is a maximum spend. */
3432
+ DiscountReasonMaximumSpend: {
3433
+ /**
3434
+ * @description discriminator enum property added by openapi-typescript
3435
+ * @enum {string}
3436
+ */
3437
+ type: 'maximum_spend';
3438
+ };
3439
+ /** @description The reason for the discount is a ratecard percentage. */
3440
+ DiscountReasonRatecardPercentage: {
3441
+ /**
3442
+ * @description discriminator enum property added by openapi-typescript
3375
3443
  * @enum {string}
3376
3444
  */
3377
- type: 'percentage';
3445
+ type: 'ratecard_percentage';
3378
3446
  /**
3379
3447
  * Percentage
3380
3448
  * @description The percentage of the discount.
3381
3449
  */
3382
3450
  percentage: components['schemas']['Percentage'];
3451
+ /**
3452
+ * @description Correlation ID for the discount.
3453
+ *
3454
+ * This is used to link discounts across different invoices (progressive billing use case).
3455
+ *
3456
+ * If not provided, the invoicing engine will auto-generate one. When editing an invoice line,
3457
+ * please make sure to keep the same correlation ID of the discount or in progressive billing
3458
+ * setups the discount amounts might be incorrect.
3459
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
3460
+ */
3461
+ correlationId?: string;
3462
+ };
3463
+ /** @description The reason for the discount is a ratecard usage. */
3464
+ DiscountReasonRatecardUsage: {
3465
+ /**
3466
+ * @description discriminator enum property added by openapi-typescript
3467
+ * @enum {string}
3468
+ */
3469
+ type: 'ratecard_usage';
3470
+ /**
3471
+ * Usage
3472
+ * @description The quantity of the usage discount.
3473
+ *
3474
+ * Must be positive.
3475
+ */
3476
+ quantity: components['schemas']['Numeric'];
3477
+ /**
3478
+ * @description Correlation ID for the discount.
3479
+ *
3480
+ * This is used to link discounts across different invoices (progressive billing use case).
3481
+ *
3482
+ * If not provided, the invoicing engine will auto-generate one. When editing an invoice line,
3483
+ * please make sure to keep the same correlation ID of the discount or in progressive billing
3484
+ * setups the discount amounts might be incorrect.
3485
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
3486
+ */
3487
+ correlationId?: string;
3383
3488
  };
3384
3489
  /** @description Usage discount.
3385
3490
  *
@@ -3387,11 +3492,6 @@ export interface components {
3387
3492
  * this means that any usage on a specific feature is considered 0 until this discount
3388
3493
  * is exhausted. */
3389
3494
  DiscountUsage: {
3390
- /**
3391
- * @description The type of the discount. (enum property replaced by openapi-typescript)
3392
- * @enum {string}
3393
- */
3394
- type: 'usage';
3395
3495
  /**
3396
3496
  * Usage
3397
3497
  * @description The quantity of the usage discount.
@@ -3400,6 +3500,13 @@ export interface components {
3400
3500
  */
3401
3501
  quantity: components['schemas']['Numeric'];
3402
3502
  };
3503
+ /** @description Discount by type on a price */
3504
+ Discounts: {
3505
+ /** @description The percentage discount. */
3506
+ percentage?: components['schemas']['DiscountPercentage'];
3507
+ /** @description The usage discount. */
3508
+ usage?: components['schemas']['DiscountUsage'];
3509
+ };
3403
3510
  /** @description Dynamic price with spend commitments. */
3404
3511
  DynamicPriceWithCommitments: {
3405
3512
  /**
@@ -4803,11 +4910,6 @@ export interface components {
4803
4910
  /** @description Invoice a gathering invoice */
4804
4911
  readonly invoice?: components['schemas']['InvoiceAvailableActionInvoiceDetails'];
4805
4912
  };
4806
- /**
4807
- * @description Reason code.
4808
- * @enum {string}
4809
- */
4810
- InvoiceDiscountReason: 'maximum_spend' | 'ratecard_discount';
4811
4913
  /** @description InvoiceDocumentRef is used to describe a reference to an existing document (invoice). */
4812
4914
  InvoiceDocumentRef: components['schemas']['CreditNoteOriginalInvoiceRef'];
4813
4915
  /**
@@ -4880,7 +4982,7 @@ export interface components {
4880
4982
  *
4881
4983
  * New discounts can be added via the invoice's discounts API, to facilitate
4882
4984
  * discounts that are affecting multiple lines. */
4883
- readonly discounts?: components['schemas']['InvoiceLineDiscount'][];
4985
+ readonly discounts?: components['schemas']['InvoiceLineDiscounts'];
4884
4986
  /** @description The invoice this item belongs to. */
4885
4987
  invoice?: components['schemas']['InvoiceReference'];
4886
4988
  /** @description The currency of this line. */
@@ -5099,7 +5201,7 @@ export interface components {
5099
5201
  * Default: 1 */
5100
5202
  quantity?: components['schemas']['Numeric'];
5101
5203
  /** @description The discounts that are applied to the line. */
5102
- discounts?: components['schemas']['BillingDiscountPercentage'][];
5204
+ discounts?: components['schemas']['BillingDiscounts'];
5103
5205
  };
5104
5206
  /**
5105
5207
  * InvoiceGenericDocumentRef is used to describe an existing document or a specific part of it's contents.
@@ -5118,17 +5220,8 @@ export interface components {
5118
5220
  };
5119
5221
  /** @description BillingInvoiceLine represents a line item that is sold to the customer based on a specific (unit) price. */
5120
5222
  InvoiceLine: components['schemas']['InvoiceUsageBasedLine'] | components['schemas']['InvoiceFlatFeeLine'];
5121
- /** @description InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe. */
5122
- InvoiceLineAppExternalIds: {
5123
- /** @description The external ID of the invoice in the invoicing app if available. */
5124
- readonly invoicing?: string;
5125
- /** @description The external ID of the invoice in the tax app if available. */
5126
- readonly tax?: string;
5127
- };
5128
- /** @description InvoiceLineDiscount represents the actual discount applied to the invoice line. */
5129
- InvoiceLineDiscount: components['schemas']['InvoiceLineDiscountAmount'] | components['schemas']['InvoiceLineDiscountUsage'];
5130
- /** @description InvoiceLineDiscountAmount represents an amount deducted from the line, and will be applied before taxes. */
5131
- InvoiceLineDiscountAmount: {
5223
+ /** @description InvoiceLineAmountDiscount represents an amount deducted from the line, and will be applied before taxes. */
5224
+ InvoiceLineAmountDiscount: {
5132
5225
  /**
5133
5226
  * Creation Time
5134
5227
  * Format: date-time
@@ -5156,28 +5249,81 @@ export interface components {
5156
5249
  */
5157
5250
  readonly id: string;
5158
5251
  /** @description Reason code. */
5159
- readonly reason: components['schemas']['InvoiceDiscountReason'];
5252
+ readonly reason: components['schemas']['BillingDiscountReason'];
5160
5253
  /** @description Text description as to why the discount was applied. */
5161
5254
  readonly description?: string;
5162
5255
  /** @description External IDs of the invoice in other apps such as Stripe. */
5163
5256
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5164
- /** @description The discount from the rate card this discount is based on. */
5165
- readonly rateCardDiscount?: components['schemas']['Discount'];
5166
5257
  /**
5167
5258
  * Amount in the currency of the invoice
5168
5259
  * @description Fixed discount amount to apply (calculated if percent present).
5169
5260
  */
5170
5261
  readonly amount: components['schemas']['Numeric'];
5171
- /**
5172
- * @description The type of the discount. (enum property replaced by openapi-typescript)
5173
- * @enum {string}
5174
- */
5175
- type: 'amount';
5176
5262
  };
5177
- /** @description InvoiceLineDiscountUsage represents an usage-based discount applied to the line.
5263
+ /** @description InvoiceLineAppExternalIds contains the external IDs of the invoice in other apps such as Stripe. */
5264
+ InvoiceLineAppExternalIds: {
5265
+ /** @description The external ID of the invoice in the invoicing app if available. */
5266
+ readonly invoicing?: string;
5267
+ /** @description The external ID of the invoice in the tax app if available. */
5268
+ readonly tax?: string;
5269
+ };
5270
+ /** @description InvoiceLineDiscounts represents the discounts applied to the invoice line by type. */
5271
+ InvoiceLineDiscounts: {
5272
+ /** @description Amount based discounts applied to the line.
5273
+ *
5274
+ * Amount based discounts are deduced from the total price of the line. */
5275
+ amount?: components['schemas']['InvoiceLineAmountDiscount'][];
5276
+ /** @description Usage based discounts applied to the line.
5277
+ *
5278
+ * Usage based discounts are deduced from the usage of the line before price calculations are applied. */
5279
+ usage?: components['schemas']['InvoiceLineUsageDiscount'][];
5280
+ };
5281
+ /**
5282
+ * @description InvoiceLineManagedBy specifies who manages the line.
5283
+ * @enum {string}
5284
+ */
5285
+ InvoiceLineManagedBy: 'subscription' | 'system' | 'manual';
5286
+ /** @description InvoiceLineReplaceUpdate represents the update model for an invoice line. */
5287
+ InvoiceLineReplaceUpdate: components['schemas']['InvoiceUsageBasedLineReplaceUpdate'] | components['schemas']['InvoiceFlatFeeLineReplaceUpdate'];
5288
+ /**
5289
+ * @description Line status specifies the status of the line.
5290
+ * @enum {string}
5291
+ */
5292
+ InvoiceLineStatus: 'valid' | 'detail' | 'split';
5293
+ /** @description InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to. */
5294
+ InvoiceLineSubscriptionReference: {
5295
+ /** @description The subscription. */
5296
+ readonly subscription: components['schemas']['IDResource'];
5297
+ /** @description The phase of the subscription. */
5298
+ readonly phase: components['schemas']['IDResource'];
5299
+ /** @description The item this line is related to. */
5300
+ readonly item: components['schemas']['IDResource'];
5301
+ };
5302
+ /**
5303
+ * @description InvoiceLineTaxBehavior details how the tax item is applied to the base amount.
5304
+ *
5305
+ * Inclusive means the tax is included in the base amount.
5306
+ * Exclusive means the tax is added to the base amount.
5307
+ * @enum {string}
5308
+ */
5309
+ InvoiceLineTaxBehavior: 'inclusive' | 'exclusive';
5310
+ /** @description TaxConfig stores the configuration for a tax line relative to an invoice line. */
5311
+ InvoiceLineTaxItem: {
5312
+ /** @description Tax provider configuration. */
5313
+ readonly config?: components['schemas']['TaxConfig'];
5314
+ /** @description Percent defines the percentage set manually or determined from
5315
+ * the rate key (calculated if rate present). A nil percent implies that
5316
+ * this tax combo is **exempt** from tax.") */
5317
+ readonly percent?: components['schemas']['Percentage'];
5318
+ /** @description Some countries require an additional surcharge (calculated if rate present). */
5319
+ readonly surcharge?: components['schemas']['Numeric'];
5320
+ /** @description Is the tax item inclusive or exclusive of the base amount. */
5321
+ readonly behavior?: components['schemas']['InvoiceLineTaxBehavior'];
5322
+ };
5323
+ /** @description InvoiceLineUsageDiscount represents an usage-based discount applied to the line.
5178
5324
  *
5179
5325
  * The deduction is done before the pricing algorithm is applied. */
5180
- InvoiceLineDiscountUsage: {
5326
+ InvoiceLineUsageDiscount: {
5181
5327
  /**
5182
5328
  * Creation Time
5183
5329
  * Format: date-time
@@ -5205,13 +5351,11 @@ export interface components {
5205
5351
  */
5206
5352
  readonly id: string;
5207
5353
  /** @description Reason code. */
5208
- readonly reason: components['schemas']['InvoiceDiscountReason'];
5354
+ readonly reason: components['schemas']['BillingDiscountReason'];
5209
5355
  /** @description Text description as to why the discount was applied. */
5210
5356
  readonly description?: string;
5211
5357
  /** @description External IDs of the invoice in other apps such as Stripe. */
5212
5358
  readonly externalIds?: components['schemas']['InvoiceLineAppExternalIds'];
5213
- /** @description The discount from the rate card this discount is based on. */
5214
- readonly rateCardDiscount?: components['schemas']['Discount'];
5215
5359
  /**
5216
5360
  * Usage quantity in the unit of the underlying meter
5217
5361
  * @description The usage to apply.
@@ -5224,53 +5368,6 @@ export interface components {
5224
5368
  * Only set if progressive billing is enabled and the line is a split line.
5225
5369
  */
5226
5370
  readonly preLinePeriodQuantity?: components['schemas']['Numeric'];
5227
- /**
5228
- * @description The type of the discount. (enum property replaced by openapi-typescript)
5229
- * @enum {string}
5230
- */
5231
- type: 'usage';
5232
- };
5233
- /**
5234
- * @description InvoiceLineManagedBy specifies who manages the line.
5235
- * @enum {string}
5236
- */
5237
- InvoiceLineManagedBy: 'subscription' | 'system' | 'manual';
5238
- /** @description InvoiceLineReplaceUpdate represents the update model for an invoice line. */
5239
- InvoiceLineReplaceUpdate: components['schemas']['InvoiceUsageBasedLineReplaceUpdate'] | components['schemas']['InvoiceFlatFeeLineReplaceUpdate'];
5240
- /**
5241
- * @description Line status specifies the status of the line.
5242
- * @enum {string}
5243
- */
5244
- InvoiceLineStatus: 'valid' | 'detail' | 'split';
5245
- /** @description InvoiceLineSubscriptionReference contains the references to the subscription that this line is related to. */
5246
- InvoiceLineSubscriptionReference: {
5247
- /** @description The subscription. */
5248
- readonly subscription: components['schemas']['IDResource'];
5249
- /** @description The phase of the subscription. */
5250
- readonly phase: components['schemas']['IDResource'];
5251
- /** @description The item this line is related to. */
5252
- readonly item: components['schemas']['IDResource'];
5253
- };
5254
- /**
5255
- * @description InvoiceLineTaxBehavior details how the tax item is applied to the base amount.
5256
- *
5257
- * Inclusive means the tax is included in the base amount.
5258
- * Exclusive means the tax is added to the base amount.
5259
- * @enum {string}
5260
- */
5261
- InvoiceLineTaxBehavior: 'inclusive' | 'exclusive';
5262
- /** @description TaxConfig stores the configuration for a tax line relative to an invoice line. */
5263
- InvoiceLineTaxItem: {
5264
- /** @description Tax provider configuration. */
5265
- readonly config?: components['schemas']['TaxConfig'];
5266
- /** @description Percent defines the percentage set manually or determined from
5267
- * the rate key (calculated if rate present). A nil percent implies that
5268
- * this tax combo is **exempt** from tax.") */
5269
- readonly percent?: components['schemas']['Percentage'];
5270
- /** @description Some countries require an additional surcharge (calculated if rate present). */
5271
- readonly surcharge?: components['schemas']['Numeric'];
5272
- /** @description Is the tax item inclusive or exclusive of the base amount. */
5273
- readonly behavior?: components['schemas']['InvoiceLineTaxBehavior'];
5274
5371
  };
5275
5372
  /**
5276
5373
  * @description InvoiceNumber is a unique identifier for the invoice, generated by the
@@ -5627,7 +5724,7 @@ export interface components {
5627
5724
  *
5628
5725
  * New discounts can be added via the invoice's discounts API, to facilitate
5629
5726
  * discounts that are affecting multiple lines. */
5630
- readonly discounts?: components['schemas']['InvoiceLineDiscount'][];
5727
+ readonly discounts?: components['schemas']['InvoiceLineDiscounts'];
5631
5728
  /** @description The invoice this item belongs to. */
5632
5729
  invoice?: components['schemas']['InvoiceReference'];
5633
5730
  /** @description The currency of this line. */
@@ -5676,14 +5773,22 @@ export interface components {
5676
5773
  *
5677
5774
  * The rate card captures the intent of the price and discounts for the usage-based item. */
5678
5775
  rateCard?: components['schemas']['InvoiceUsageBasedRateCard'];
5679
- /** @description The quantity of the item being sold. */
5776
+ /** @description The quantity of the item being sold.
5777
+ *
5778
+ * Any usage discounts applied previously are deducted from this quantity. */
5680
5779
  readonly quantity?: components['schemas']['Numeric'];
5681
5780
  /** @description The quantity of the item that has been metered for the period before any discounts were applied. */
5682
5781
  readonly meteredQuantity?: components['schemas']['Numeric'];
5683
- /** @description The quantity of the item used in before this line's period.
5782
+ /** @description The quantity of the item used before this line's period.
5684
5783
  *
5685
- * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed. */
5784
+ * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed.
5785
+ *
5786
+ * Any usage discounts applied previously are deducted from this quantity. */
5686
5787
  readonly preLinePeriodQuantity?: components['schemas']['Numeric'];
5788
+ /** @description The metered quantity of the item used in before this line's period without any discounts applied.
5789
+ *
5790
+ * It is non-zero in case of progressive billing, when this shows how much of the usage was already billed. */
5791
+ readonly meteredPreLinePeriodQuantity?: components['schemas']['Numeric'];
5687
5792
  };
5688
5793
  /** @description InvoiceUpdateUsageBasedLineReplaceUpdate represents the update model for an UBP invoice line.
5689
5794
  *
@@ -5820,7 +5925,7 @@ export interface components {
5820
5925
  * When null, the feature or service is free. */
5821
5926
  price: components['schemas']['RateCardUsageBasedPrice'] | null;
5822
5927
  /** @description The discounts that are applied to the line. */
5823
- discounts?: components['schemas']['BillingDiscount'][];
5928
+ discounts?: components['schemas']['BillingDiscounts'];
5824
5929
  };
5825
5930
  /** @description InvoiceWorkflowInvoicingSettingsReplaceUpdate represents the update model for the invoicing settings of an invoice workflow. */
5826
5931
  InvoiceWorkflowInvoicingSettingsReplaceUpdate: {
@@ -6951,49 +7056,196 @@ export interface components {
6951
7056
  */
6952
7057
  phases: components['schemas']['PlanPhase'][];
6953
7058
  };
6954
- /** @description Resource create operation model. */
6955
- PlanCreate: {
6956
- /**
6957
- * Display name
6958
- * @description Human-readable name for the resource. Between 1 and 256 characters.
6959
- */
6960
- name: string;
6961
- /**
6962
- * Description
6963
- * @description Optional description of the resource. Maximum 1024 characters.
6964
- */
6965
- description?: string;
7059
+ /** @description The AddonAssignment describes the association between a plan and add-on. */
7060
+ PlanAddon: {
6966
7061
  /**
6967
- * Metadata
6968
- * @description Additional metadata for the resource.
7062
+ * Creation Time
7063
+ * Format: date-time
7064
+ * @description Timestamp of when the resource was created.
7065
+ * @example 2024-01-01T01:01:01.001Z
6969
7066
  */
6970
- metadata?: components['schemas']['Metadata'] | null;
7067
+ readonly createdAt: Date;
6971
7068
  /**
6972
- * Key
6973
- * @description A semi-unique identifier for the resource.
7069
+ * Last Update Time
7070
+ * Format: date-time
7071
+ * @description Timestamp of when the resource was last updated.
7072
+ * @example 2024-01-01T01:01:01.001Z
6974
7073
  */
6975
- key: string;
6976
- /** @description Alignment configuration for the plan. */
6977
- alignment?: components['schemas']['Alignment'];
7074
+ readonly updatedAt: Date;
6978
7075
  /**
6979
- * Currency
6980
- * @description The currency code of the plan.
6981
- * @default USD
7076
+ * Deletion Time
7077
+ * Format: date-time
7078
+ * @description Timestamp of when the resource was permanently deleted.
7079
+ * @example 2024-01-01T01:01:01.001Z
6982
7080
  */
6983
- currency: components['schemas']['CurrencyCode'];
7081
+ readonly deletedAt?: Date;
6984
7082
  /**
6985
- * Plan phases
6986
- * @description The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses.
6987
- * 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.
7083
+ * Addon
7084
+ * @description Partially populated add-on properties.
6988
7085
  */
6989
- phases: components['schemas']['PlanPhase'][];
6990
- };
6991
- /**
6992
- * @description Order by options for plans.
6993
- * @enum {string}
6994
- */
6995
- PlanOrderBy: 'id' | 'key' | 'version' | 'created_at' | 'updated_at';
6996
- /** @description Paginated response */
7086
+ addon: {
7087
+ /**
7088
+ * ID
7089
+ * @description The ID of the add-on.
7090
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
7091
+ */
7092
+ id: string;
7093
+ /**
7094
+ * Key
7095
+ * @description A semi-unique identifier for the resource.
7096
+ */
7097
+ readonly key: string;
7098
+ /**
7099
+ * Version
7100
+ * @description The version of the Add-on which templates this instance.
7101
+ * @default 1
7102
+ */
7103
+ readonly version: number;
7104
+ /**
7105
+ * InstanceType
7106
+ * @description The instance type of the add-on.
7107
+ */
7108
+ readonly instanceType: components['schemas']['AddonInstanceType'];
7109
+ };
7110
+ /**
7111
+ * The plan phase from the add-on becomes purchasable
7112
+ * @description The key of the plan phase from the add-on becomes available for purchase.
7113
+ */
7114
+ fromPlanPhase: string;
7115
+ /**
7116
+ * Max quantity of the add-on
7117
+ * @description The maximum number of times the add-on can be purchased for the plan.
7118
+ * It is not applicable for add-ons with single instance type.
7119
+ */
7120
+ maxQuantity?: number;
7121
+ };
7122
+ /** @description Resource create operation model. */
7123
+ PlanAddonCreate: {
7124
+ /**
7125
+ * Addon
7126
+ * @description Partially populated add-on properties.
7127
+ */
7128
+ addon: {
7129
+ /**
7130
+ * ID
7131
+ * @description The ID of the add-on.
7132
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
7133
+ */
7134
+ id: string;
7135
+ /**
7136
+ * Key
7137
+ * @description A semi-unique identifier for the resource.
7138
+ */
7139
+ readonly key: string;
7140
+ /**
7141
+ * Version
7142
+ * @description The version of the Add-on which templates this instance.
7143
+ * @default 1
7144
+ */
7145
+ readonly version: number;
7146
+ /**
7147
+ * InstanceType
7148
+ * @description The instance type of the add-on.
7149
+ */
7150
+ readonly instanceType: components['schemas']['AddonInstanceType'];
7151
+ };
7152
+ /**
7153
+ * The plan phase from the add-on becomes purchasable
7154
+ * @description The key of the plan phase from the add-on becomes available for purchase.
7155
+ */
7156
+ fromPlanPhase: string;
7157
+ /**
7158
+ * Max quantity of the add-on
7159
+ * @description The maximum number of times the add-on can be purchased for the plan.
7160
+ * It is not applicable for add-ons with single instance type.
7161
+ */
7162
+ maxQuantity?: number;
7163
+ };
7164
+ /** @description Resource update operation model. */
7165
+ PlanAddonReplaceUpdate: {
7166
+ /**
7167
+ * Addon
7168
+ * @description Partially populated add-on properties.
7169
+ */
7170
+ addon: {
7171
+ /**
7172
+ * ID
7173
+ * @description The ID of the add-on.
7174
+ * @example 01G65Z755AFWAKHE12NY0CQ9FH
7175
+ */
7176
+ id: string;
7177
+ /**
7178
+ * Key
7179
+ * @description A semi-unique identifier for the resource.
7180
+ */
7181
+ readonly key: string;
7182
+ /**
7183
+ * Version
7184
+ * @description The version of the Add-on which templates this instance.
7185
+ * @default 1
7186
+ */
7187
+ readonly version: number;
7188
+ /**
7189
+ * InstanceType
7190
+ * @description The instance type of the add-on.
7191
+ */
7192
+ readonly instanceType: components['schemas']['AddonInstanceType'];
7193
+ };
7194
+ /**
7195
+ * The plan phase from the add-on becomes purchasable
7196
+ * @description The key of the plan phase from the add-on becomes available for purchase.
7197
+ */
7198
+ fromPlanPhase: string;
7199
+ /**
7200
+ * Max quantity of the add-on
7201
+ * @description The maximum number of times the add-on can be purchased for the plan.
7202
+ * It is not applicable for add-ons with single instance type.
7203
+ */
7204
+ maxQuantity?: number;
7205
+ };
7206
+ /** @description Resource create operation model. */
7207
+ PlanCreate: {
7208
+ /**
7209
+ * Display name
7210
+ * @description Human-readable name for the resource. Between 1 and 256 characters.
7211
+ */
7212
+ name: string;
7213
+ /**
7214
+ * Description
7215
+ * @description Optional description of the resource. Maximum 1024 characters.
7216
+ */
7217
+ description?: string;
7218
+ /**
7219
+ * Metadata
7220
+ * @description Additional metadata for the resource.
7221
+ */
7222
+ metadata?: components['schemas']['Metadata'] | null;
7223
+ /**
7224
+ * Key
7225
+ * @description A semi-unique identifier for the resource.
7226
+ */
7227
+ key: string;
7228
+ /** @description Alignment configuration for the plan. */
7229
+ alignment?: components['schemas']['Alignment'];
7230
+ /**
7231
+ * Currency
7232
+ * @description The currency code of the plan.
7233
+ * @default USD
7234
+ */
7235
+ currency: components['schemas']['CurrencyCode'];
7236
+ /**
7237
+ * Plan phases
7238
+ * @description The plan phase or pricing ramp allows changing a plan's rate cards over time as a subscription progresses.
7239
+ * 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.
7240
+ */
7241
+ phases: components['schemas']['PlanPhase'][];
7242
+ };
7243
+ /**
7244
+ * @description Order by options for plans.
7245
+ * @enum {string}
7246
+ */
7247
+ PlanOrderBy: 'id' | 'key' | 'version' | 'created_at' | 'updated_at';
7248
+ /** @description Paginated response */
6997
7249
  PlanPaginatedResponse: {
6998
7250
  /**
6999
7251
  * @description The total number of items.
@@ -7309,7 +7561,7 @@ export interface components {
7309
7561
  * @description The discount of the rate card. For flat fee rate cards only percentage discounts are supported.
7310
7562
  * Only available when price is set.
7311
7563
  */
7312
- discounts?: components['schemas']['DiscountPercentage'][];
7564
+ discounts?: components['schemas']['Discounts'];
7313
7565
  };
7314
7566
  /** @description The entitlement template with a metered entitlement. */
7315
7567
  RateCardMeteredEntitlement: {
@@ -7428,7 +7680,7 @@ export interface components {
7428
7680
  *
7429
7681
  * Flat fee rate cards only support percentage discounts.
7430
7682
  */
7431
- discounts?: components['schemas']['Discount'][];
7683
+ discounts?: components['schemas']['Discounts'];
7432
7684
  };
7433
7685
  /** @description The price of the usage based rate card. */
7434
7686
  RateCardUsageBasedPrice: components['schemas']['FlatPriceWithPaymentTerm'] | components['schemas']['UnitPriceWithCommitments'] | components['schemas']['TieredPriceWithCommitments'] | components['schemas']['DynamicPriceWithCommitments'] | components['schemas']['PackagePriceWithCommitments'];
@@ -8431,7 +8683,7 @@ export interface components {
8431
8683
  * Discounts
8432
8684
  * @description The discounts applied to the rate card.
8433
8685
  */
8434
- discounts?: components['schemas']['Discount'][];
8686
+ discounts?: components['schemas']['Discounts'];
8435
8687
  /** @description Describes what access is gained via the SubscriptionItem */
8436
8688
  included?: components['schemas']['SubscriptionItemIncluded'];
8437
8689
  /**
@@ -8490,7 +8742,7 @@ export interface components {
8490
8742
  * Discounts
8491
8743
  * @description The discounts on the plan.
8492
8744
  */
8493
- discounts?: components['schemas']['Discount'][];
8745
+ discounts?: components['schemas']['Discounts'];
8494
8746
  /** @description A locally unique identifier for the phase. */
8495
8747
  key: string;
8496
8748
  /** @description The name of the phase. */
@@ -8548,7 +8800,7 @@ export interface components {
8548
8800
  * Discounts
8549
8801
  * @description The discounts on the plan.
8550
8802
  */
8551
- discounts?: components['schemas']['Discount'][];
8803
+ discounts?: components['schemas']['Discounts'];
8552
8804
  /**
8553
8805
  * Format: date-time
8554
8806
  * @description The time from which the phase is active.
@@ -9090,9 +9342,10 @@ export type AppType = components['schemas']['AppType'];
9090
9342
  export type BadRequestProblemResponse = components['schemas']['BadRequestProblemResponse'];
9091
9343
  export type BalanceHistoryWindow = components['schemas']['BalanceHistoryWindow'];
9092
9344
  export type BillingCustomerProfile = components['schemas']['BillingCustomerProfile'];
9093
- export type BillingDiscount = components['schemas']['BillingDiscount'];
9094
9345
  export type BillingDiscountPercentage = components['schemas']['BillingDiscountPercentage'];
9346
+ export type BillingDiscountReason = components['schemas']['BillingDiscountReason'];
9095
9347
  export type BillingDiscountUsage = components['schemas']['BillingDiscountUsage'];
9348
+ export type BillingDiscounts = components['schemas']['BillingDiscounts'];
9096
9349
  export type BillingParty = components['schemas']['BillingParty'];
9097
9350
  export type BillingPartyReplaceUpdate = components['schemas']['BillingPartyReplaceUpdate'];
9098
9351
  export type BillingPartyTaxIdentity = components['schemas']['BillingPartyTaxIdentity'];
@@ -9157,9 +9410,12 @@ export type CustomerOrderBy = components['schemas']['CustomerOrderBy'];
9157
9410
  export type CustomerPaginatedResponse = components['schemas']['CustomerPaginatedResponse'];
9158
9411
  export type CustomerReplaceUpdate = components['schemas']['CustomerReplaceUpdate'];
9159
9412
  export type CustomerUsageAttribution = components['schemas']['CustomerUsageAttribution'];
9160
- export type Discount = components['schemas']['Discount'];
9161
9413
  export type DiscountPercentage = components['schemas']['DiscountPercentage'];
9414
+ export type DiscountReasonMaximumSpend = components['schemas']['DiscountReasonMaximumSpend'];
9415
+ export type DiscountReasonRatecardPercentage = components['schemas']['DiscountReasonRatecardPercentage'];
9416
+ export type DiscountReasonRatecardUsage = components['schemas']['DiscountReasonRatecardUsage'];
9162
9417
  export type DiscountUsage = components['schemas']['DiscountUsage'];
9418
+ export type Discounts = components['schemas']['Discounts'];
9163
9419
  export type DynamicPriceWithCommitments = components['schemas']['DynamicPriceWithCommitments'];
9164
9420
  export type EditSubscriptionAddItem = components['schemas']['EditSubscriptionAddItem'];
9165
9421
  export type EditSubscriptionAddPhase = components['schemas']['EditSubscriptionAddPhase'];
@@ -9210,7 +9466,6 @@ export type InvoiceAppExternalIds = components['schemas']['InvoiceAppExternalIds
9210
9466
  export type InvoiceAvailableActionDetails = components['schemas']['InvoiceAvailableActionDetails'];
9211
9467
  export type InvoiceAvailableActionInvoiceDetails = components['schemas']['InvoiceAvailableActionInvoiceDetails'];
9212
9468
  export type InvoiceAvailableActions = components['schemas']['InvoiceAvailableActions'];
9213
- export type InvoiceDiscountReason = components['schemas']['InvoiceDiscountReason'];
9214
9469
  export type InvoiceDocumentRef = components['schemas']['InvoiceDocumentRef'];
9215
9470
  export type InvoiceDocumentRefType = components['schemas']['InvoiceDocumentRefType'];
9216
9471
  export type InvoiceExpand = components['schemas']['InvoiceExpand'];
@@ -9221,16 +9476,16 @@ export type InvoiceFlatFeePendingLineCreate = components['schemas']['InvoiceFlat
9221
9476
  export type InvoiceFlatFeeRateCard = components['schemas']['InvoiceFlatFeeRateCard'];
9222
9477
  export type InvoiceGenericDocumentRef = components['schemas']['InvoiceGenericDocumentRef'];
9223
9478
  export type InvoiceLine = components['schemas']['InvoiceLine'];
9479
+ export type InvoiceLineAmountDiscount = components['schemas']['InvoiceLineAmountDiscount'];
9224
9480
  export type InvoiceLineAppExternalIds = components['schemas']['InvoiceLineAppExternalIds'];
9225
- export type InvoiceLineDiscount = components['schemas']['InvoiceLineDiscount'];
9226
- export type InvoiceLineDiscountAmount = components['schemas']['InvoiceLineDiscountAmount'];
9227
- export type InvoiceLineDiscountUsage = components['schemas']['InvoiceLineDiscountUsage'];
9481
+ export type InvoiceLineDiscounts = components['schemas']['InvoiceLineDiscounts'];
9228
9482
  export type InvoiceLineManagedBy = components['schemas']['InvoiceLineManagedBy'];
9229
9483
  export type InvoiceLineReplaceUpdate = components['schemas']['InvoiceLineReplaceUpdate'];
9230
9484
  export type InvoiceLineStatus = components['schemas']['InvoiceLineStatus'];
9231
9485
  export type InvoiceLineSubscriptionReference = components['schemas']['InvoiceLineSubscriptionReference'];
9232
9486
  export type InvoiceLineTaxBehavior = components['schemas']['InvoiceLineTaxBehavior'];
9233
9487
  export type InvoiceLineTaxItem = components['schemas']['InvoiceLineTaxItem'];
9488
+ export type InvoiceLineUsageDiscount = components['schemas']['InvoiceLineUsageDiscount'];
9234
9489
  export type InvoiceNumber = components['schemas']['InvoiceNumber'];
9235
9490
  export type InvoiceOrderBy = components['schemas']['InvoiceOrderBy'];
9236
9491
  export type InvoicePaginatedResponse = components['schemas']['InvoicePaginatedResponse'];
@@ -9309,6 +9564,9 @@ export type PaymentTerms = components['schemas']['PaymentTerms'];
9309
9564
  export type Percentage = components['schemas']['Percentage'];
9310
9565
  export type Period = components['schemas']['Period'];
9311
9566
  export type Plan = components['schemas']['Plan'];
9567
+ export type PlanAddon = components['schemas']['PlanAddon'];
9568
+ export type PlanAddonCreate = components['schemas']['PlanAddonCreate'];
9569
+ export type PlanAddonReplaceUpdate = components['schemas']['PlanAddonReplaceUpdate'];
9312
9570
  export type PlanCreate = components['schemas']['PlanCreate'];
9313
9571
  export type PlanOrderBy = components['schemas']['PlanOrderBy'];
9314
9572
  export type PlanPaginatedResponse = components['schemas']['PlanPaginatedResponse'];
@@ -18122,6 +18380,494 @@ export interface operations {
18122
18380
  };
18123
18381
  };
18124
18382
  };
18383
+ listPlanAddons: {
18384
+ parameters: {
18385
+ query?: never;
18386
+ header?: never;
18387
+ path: {
18388
+ planId: string;
18389
+ };
18390
+ cookie?: never;
18391
+ };
18392
+ requestBody?: never;
18393
+ responses: {
18394
+ /** @description The request has succeeded. */
18395
+ 200: {
18396
+ headers: {
18397
+ [name: string]: unknown;
18398
+ };
18399
+ content: {
18400
+ 'application/json': components['schemas']['PlanAddon'][];
18401
+ };
18402
+ };
18403
+ /** @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). */
18404
+ 400: {
18405
+ headers: {
18406
+ [name: string]: unknown;
18407
+ };
18408
+ content: {
18409
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
18410
+ };
18411
+ };
18412
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
18413
+ 401: {
18414
+ headers: {
18415
+ [name: string]: unknown;
18416
+ };
18417
+ content: {
18418
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
18419
+ };
18420
+ };
18421
+ /** @description The server understood the request but refuses to authorize it. */
18422
+ 403: {
18423
+ headers: {
18424
+ [name: string]: unknown;
18425
+ };
18426
+ content: {
18427
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
18428
+ };
18429
+ };
18430
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
18431
+ 404: {
18432
+ headers: {
18433
+ [name: string]: unknown;
18434
+ };
18435
+ content: {
18436
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
18437
+ };
18438
+ };
18439
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
18440
+ 412: {
18441
+ headers: {
18442
+ [name: string]: unknown;
18443
+ };
18444
+ content: {
18445
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
18446
+ };
18447
+ };
18448
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
18449
+ 500: {
18450
+ headers: {
18451
+ [name: string]: unknown;
18452
+ };
18453
+ content: {
18454
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
18455
+ };
18456
+ };
18457
+ /** @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. */
18458
+ 503: {
18459
+ headers: {
18460
+ [name: string]: unknown;
18461
+ };
18462
+ content: {
18463
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
18464
+ };
18465
+ };
18466
+ /** @description An unexpected error response. */
18467
+ default: {
18468
+ headers: {
18469
+ [name: string]: unknown;
18470
+ };
18471
+ content: {
18472
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
18473
+ };
18474
+ };
18475
+ };
18476
+ };
18477
+ createPlanAddon: {
18478
+ parameters: {
18479
+ query?: never;
18480
+ header?: never;
18481
+ path: {
18482
+ planId: string;
18483
+ };
18484
+ cookie?: never;
18485
+ };
18486
+ requestBody: {
18487
+ content: {
18488
+ 'application/json': components['schemas']['PlanAddonCreate'];
18489
+ };
18490
+ };
18491
+ responses: {
18492
+ /** @description The request has succeeded and a new resource has been created as a result. */
18493
+ 201: {
18494
+ headers: {
18495
+ [name: string]: unknown;
18496
+ };
18497
+ content: {
18498
+ 'application/json': components['schemas']['PlanAddon'];
18499
+ };
18500
+ };
18501
+ /** @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). */
18502
+ 400: {
18503
+ headers: {
18504
+ [name: string]: unknown;
18505
+ };
18506
+ content: {
18507
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
18508
+ };
18509
+ };
18510
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
18511
+ 401: {
18512
+ headers: {
18513
+ [name: string]: unknown;
18514
+ };
18515
+ content: {
18516
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
18517
+ };
18518
+ };
18519
+ /** @description The server understood the request but refuses to authorize it. */
18520
+ 403: {
18521
+ headers: {
18522
+ [name: string]: unknown;
18523
+ };
18524
+ content: {
18525
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
18526
+ };
18527
+ };
18528
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
18529
+ 404: {
18530
+ headers: {
18531
+ [name: string]: unknown;
18532
+ };
18533
+ content: {
18534
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
18535
+ };
18536
+ };
18537
+ /** @description The request could not be completed due to a conflict with the current state of the target resource. */
18538
+ 409: {
18539
+ headers: {
18540
+ [name: string]: unknown;
18541
+ };
18542
+ content: {
18543
+ 'application/problem+json': components['schemas']['ConflictProblemResponse'];
18544
+ };
18545
+ };
18546
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
18547
+ 412: {
18548
+ headers: {
18549
+ [name: string]: unknown;
18550
+ };
18551
+ content: {
18552
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
18553
+ };
18554
+ };
18555
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
18556
+ 500: {
18557
+ headers: {
18558
+ [name: string]: unknown;
18559
+ };
18560
+ content: {
18561
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
18562
+ };
18563
+ };
18564
+ /** @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. */
18565
+ 503: {
18566
+ headers: {
18567
+ [name: string]: unknown;
18568
+ };
18569
+ content: {
18570
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
18571
+ };
18572
+ };
18573
+ /** @description An unexpected error response. */
18574
+ default: {
18575
+ headers: {
18576
+ [name: string]: unknown;
18577
+ };
18578
+ content: {
18579
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
18580
+ };
18581
+ };
18582
+ };
18583
+ };
18584
+ getPlanAddon: {
18585
+ parameters: {
18586
+ query?: never;
18587
+ header?: never;
18588
+ path: {
18589
+ planId: string;
18590
+ planAddonId: string;
18591
+ };
18592
+ cookie?: never;
18593
+ };
18594
+ requestBody?: never;
18595
+ responses: {
18596
+ /** @description The request has succeeded. */
18597
+ 200: {
18598
+ headers: {
18599
+ [name: string]: unknown;
18600
+ };
18601
+ content: {
18602
+ 'application/json': components['schemas']['PlanAddon'];
18603
+ };
18604
+ };
18605
+ /** @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). */
18606
+ 400: {
18607
+ headers: {
18608
+ [name: string]: unknown;
18609
+ };
18610
+ content: {
18611
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
18612
+ };
18613
+ };
18614
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
18615
+ 401: {
18616
+ headers: {
18617
+ [name: string]: unknown;
18618
+ };
18619
+ content: {
18620
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
18621
+ };
18622
+ };
18623
+ /** @description The server understood the request but refuses to authorize it. */
18624
+ 403: {
18625
+ headers: {
18626
+ [name: string]: unknown;
18627
+ };
18628
+ content: {
18629
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
18630
+ };
18631
+ };
18632
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
18633
+ 404: {
18634
+ headers: {
18635
+ [name: string]: unknown;
18636
+ };
18637
+ content: {
18638
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
18639
+ };
18640
+ };
18641
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
18642
+ 412: {
18643
+ headers: {
18644
+ [name: string]: unknown;
18645
+ };
18646
+ content: {
18647
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
18648
+ };
18649
+ };
18650
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
18651
+ 500: {
18652
+ headers: {
18653
+ [name: string]: unknown;
18654
+ };
18655
+ content: {
18656
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
18657
+ };
18658
+ };
18659
+ /** @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. */
18660
+ 503: {
18661
+ headers: {
18662
+ [name: string]: unknown;
18663
+ };
18664
+ content: {
18665
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
18666
+ };
18667
+ };
18668
+ /** @description An unexpected error response. */
18669
+ default: {
18670
+ headers: {
18671
+ [name: string]: unknown;
18672
+ };
18673
+ content: {
18674
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
18675
+ };
18676
+ };
18677
+ };
18678
+ };
18679
+ updatePlanAddon: {
18680
+ parameters: {
18681
+ query?: never;
18682
+ header?: never;
18683
+ path: {
18684
+ planId: string;
18685
+ planAddonId: string;
18686
+ };
18687
+ cookie?: never;
18688
+ };
18689
+ requestBody: {
18690
+ content: {
18691
+ 'application/json': components['schemas']['PlanAddonReplaceUpdate'];
18692
+ };
18693
+ };
18694
+ responses: {
18695
+ /** @description The request has succeeded. */
18696
+ 200: {
18697
+ headers: {
18698
+ [name: string]: unknown;
18699
+ };
18700
+ content: {
18701
+ 'application/json': components['schemas']['PlanAddon'];
18702
+ };
18703
+ };
18704
+ /** @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). */
18705
+ 400: {
18706
+ headers: {
18707
+ [name: string]: unknown;
18708
+ };
18709
+ content: {
18710
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
18711
+ };
18712
+ };
18713
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
18714
+ 401: {
18715
+ headers: {
18716
+ [name: string]: unknown;
18717
+ };
18718
+ content: {
18719
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
18720
+ };
18721
+ };
18722
+ /** @description The server understood the request but refuses to authorize it. */
18723
+ 403: {
18724
+ headers: {
18725
+ [name: string]: unknown;
18726
+ };
18727
+ content: {
18728
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
18729
+ };
18730
+ };
18731
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
18732
+ 404: {
18733
+ headers: {
18734
+ [name: string]: unknown;
18735
+ };
18736
+ content: {
18737
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
18738
+ };
18739
+ };
18740
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
18741
+ 412: {
18742
+ headers: {
18743
+ [name: string]: unknown;
18744
+ };
18745
+ content: {
18746
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
18747
+ };
18748
+ };
18749
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
18750
+ 500: {
18751
+ headers: {
18752
+ [name: string]: unknown;
18753
+ };
18754
+ content: {
18755
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
18756
+ };
18757
+ };
18758
+ /** @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. */
18759
+ 503: {
18760
+ headers: {
18761
+ [name: string]: unknown;
18762
+ };
18763
+ content: {
18764
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
18765
+ };
18766
+ };
18767
+ /** @description An unexpected error response. */
18768
+ default: {
18769
+ headers: {
18770
+ [name: string]: unknown;
18771
+ };
18772
+ content: {
18773
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
18774
+ };
18775
+ };
18776
+ };
18777
+ };
18778
+ deletePlanAddon: {
18779
+ parameters: {
18780
+ query?: never;
18781
+ header?: never;
18782
+ path: {
18783
+ planId: string;
18784
+ planAddonId: string;
18785
+ };
18786
+ cookie?: never;
18787
+ };
18788
+ requestBody?: never;
18789
+ responses: {
18790
+ /** @description There is no content to send for this request, but the headers may be useful. */
18791
+ 204: {
18792
+ headers: {
18793
+ [name: string]: unknown;
18794
+ };
18795
+ content?: never;
18796
+ };
18797
+ /** @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). */
18798
+ 400: {
18799
+ headers: {
18800
+ [name: string]: unknown;
18801
+ };
18802
+ content: {
18803
+ 'application/problem+json': components['schemas']['BadRequestProblemResponse'];
18804
+ };
18805
+ };
18806
+ /** @description The request has not been applied because it lacks valid authentication credentials for the target resource. */
18807
+ 401: {
18808
+ headers: {
18809
+ [name: string]: unknown;
18810
+ };
18811
+ content: {
18812
+ 'application/problem+json': components['schemas']['UnauthorizedProblemResponse'];
18813
+ };
18814
+ };
18815
+ /** @description The server understood the request but refuses to authorize it. */
18816
+ 403: {
18817
+ headers: {
18818
+ [name: string]: unknown;
18819
+ };
18820
+ content: {
18821
+ 'application/problem+json': components['schemas']['ForbiddenProblemResponse'];
18822
+ };
18823
+ };
18824
+ /** @description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists. */
18825
+ 404: {
18826
+ headers: {
18827
+ [name: string]: unknown;
18828
+ };
18829
+ content: {
18830
+ 'application/problem+json': components['schemas']['NotFoundProblemResponse'];
18831
+ };
18832
+ };
18833
+ /** @description One or more conditions given in the request header fields evaluated to false when tested on the server. */
18834
+ 412: {
18835
+ headers: {
18836
+ [name: string]: unknown;
18837
+ };
18838
+ content: {
18839
+ 'application/problem+json': components['schemas']['PreconditionFailedProblemResponse'];
18840
+ };
18841
+ };
18842
+ /** @description The server encountered an unexpected condition that prevented it from fulfilling the request. */
18843
+ 500: {
18844
+ headers: {
18845
+ [name: string]: unknown;
18846
+ };
18847
+ content: {
18848
+ 'application/problem+json': components['schemas']['InternalServerErrorProblemResponse'];
18849
+ };
18850
+ };
18851
+ /** @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. */
18852
+ 503: {
18853
+ headers: {
18854
+ [name: string]: unknown;
18855
+ };
18856
+ content: {
18857
+ 'application/problem+json': components['schemas']['ServiceUnavailableProblemResponse'];
18858
+ };
18859
+ };
18860
+ /** @description An unexpected error response. */
18861
+ default: {
18862
+ headers: {
18863
+ [name: string]: unknown;
18864
+ };
18865
+ content: {
18866
+ 'application/problem+json': components['schemas']['UnexpectedProblemResponse'];
18867
+ };
18868
+ };
18869
+ };
18870
+ };
18125
18871
  archivePlan: {
18126
18872
  parameters: {
18127
18873
  query?: never;