@epilot/pricing-client 3.55.0 → 3.57.0

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.
package/dist/openapi.d.ts CHANGED
@@ -167,6 +167,65 @@ declare namespace Components {
167
167
  */
168
168
  before_discount_amount_subtotal_decimal?: string;
169
169
  }
170
+ export interface AppendVersionRequest {
171
+ /**
172
+ * When this version takes effect. Defaults to now.
173
+ *
174
+ * An RFC 3339 date (`2026-01-01`, read as midnight UTC) or date-time
175
+ * (`2026-01-01T00:00:00Z`), to at most millisecond precision. Deliberately not declared as
176
+ * `format: date-time`, which would reject the plain-date form that this accepts.
177
+ *
178
+ * A date in the past is accepted and answered with warnings, never refused. A date the
179
+ * variant already has a version at is refused as `VERSION_CONFLICT`.
180
+ *
181
+ * **Omit this to mean "now"** — that is the only spelling of now that is reliably silent. A
182
+ * timestamp taken from the caller's own clock is already some milliseconds old when the
183
+ * server judges it, which makes it a backdate, however small, and it is answered with the
184
+ * warnings a backdate earns.
185
+ *
186
+ * example:
187
+ * 2027-01-01T00:00:00Z
188
+ */
189
+ valid_from?: string;
190
+ values: /**
191
+ * The attribute values this version overrides on the base entity, keyed by attribute name.
192
+ *
193
+ * Only attributes currently declaring `overridable_attribute` are applied. Metadata fields
194
+ * (anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable
195
+ * attributes present here are ignored rather than rejected, so a client working from a slightly
196
+ * stale schema snapshot still succeeds instead of failing on fields it could not have known to
197
+ * drop. An attribute's `render_condition` says when to show it and has no bearing on whether a
198
+ * variant may override it.
199
+ *
200
+ * Ignored means *not updated*, never *removed*: a value already stored for an attribute that is
201
+ * not currently overridable is preserved, so removing and restoring the flag deactivates and
202
+ * then reactivates the same override.
203
+ *
204
+ * A composite price's `price_components` is an ordinary overridable relation attribute: a
205
+ * composite variant pins its component variants here the same way any other relation value is
206
+ * set, with no special handling.
207
+ *
208
+ * example:
209
+ * {
210
+ * "unit_amount": 2499,
211
+ * "unit_amount_decimal": "24.99"
212
+ * }
213
+ */
214
+ VariantValues;
215
+ /**
216
+ * Optional, and never applied: a variant's conditions are fixed when it is created. Accepted
217
+ * only so that a client building its body from the version it loaded is not forced to strip
218
+ * them out, and refused when they describe a different situation from the stored one.
219
+ *
220
+ * example:
221
+ * {
222
+ * "postal_code": "46045"
223
+ * }
224
+ */
225
+ conditions?: {
226
+ [name: string]: any;
227
+ };
228
+ }
170
229
  /**
171
230
  * Availability check request payload
172
231
  */
@@ -4114,6 +4173,144 @@ declare namespace Components {
4114
4173
  export interface ComputedPriceComponents {
4115
4174
  [name: string]: /* The computed price */ ComputedBasePrice;
4116
4175
  }
4176
+ /**
4177
+ * One condition dimension, in the shape a schema's `conditions` array holds it — copy it in
4178
+ * verbatim.
4179
+ *
4180
+ */
4181
+ export interface ConditionDefinition {
4182
+ /**
4183
+ * How variants and resolve contexts refer to this condition. Independent of attribute
4184
+ * names: a value needed as an attribute too is duplicated onto the variant.
4185
+ *
4186
+ * `default`, and any name beginning with `_`, are reserved for the server: a condition
4187
+ * declared under one is ignored, since nothing could pin it and no context could address it.
4188
+ *
4189
+ * example:
4190
+ * postal_code
4191
+ */
4192
+ name: string;
4193
+ /**
4194
+ * Human-readable name of the condition.
4195
+ * example:
4196
+ * Postal Code
4197
+ */
4198
+ label: string;
4199
+ type: /**
4200
+ * The kind of value a condition holds, which decides how a variant's pinned value is matched
4201
+ * against a resolve context.
4202
+ *
4203
+ * - `string`: an arbitrary string, matched exactly and case-sensitively
4204
+ * - `number`: a numeric value
4205
+ * - `date`: a single date
4206
+ * - `daterange`: a window with a from and an until timestamp; both ends may be left open
4207
+ * - `boolean`: a true/false value
4208
+ * - `select`: one of the values declared in `options`, unless `allow_any` is set
4209
+ * - `location`: a geographic value, shaped by `format`
4210
+ *
4211
+ * There is no condition type for the fallback variant. Being the entity's fallback is a
4212
+ * property of the variant, set by the `default` flag on a variant write, and needs nothing
4213
+ * declared in the schema.
4214
+ *
4215
+ */
4216
+ ConditionType;
4217
+ /**
4218
+ * The declared vocabulary of a `select` condition. Absent for every other type.
4219
+ *
4220
+ * The same shape a `select` attribute's `options` has on the Entity API, item for item: an
4221
+ * entry is either the value itself or an object carrying that value and an optional display
4222
+ * `title`. A `title` is never pinned by a variant and never matched — two entries differing
4223
+ * only in their title are one vocabulary entry.
4224
+ *
4225
+ * Enforced on variant writes, unless `allow_any` is true: a pinned value outside the
4226
+ * vocabulary is rejected with `CONDITION_VALUE_INVALID`. It is *not* enforced on resolve —
4227
+ * a vocabulary says what may be stored, not what may be asked for, so a context value
4228
+ * outside it is a query that simply matches nothing.
4229
+ *
4230
+ * example:
4231
+ * [
4232
+ * "private",
4233
+ * "commercial"
4234
+ * ]
4235
+ */
4236
+ options?: ((string | null) | {
4237
+ value: string;
4238
+ title?: string;
4239
+ })[];
4240
+ /**
4241
+ * Allow arbitrary stored values in addition to the declared `options`. Absent means strict:
4242
+ * a variant may only pin a declared option.
4243
+ *
4244
+ * example:
4245
+ * false
4246
+ */
4247
+ allow_any?: boolean;
4248
+ /**
4249
+ * The value shape of a `location` condition. Absent for every other type.
4250
+ */
4251
+ format?: "zipcode" | "zipcode + town";
4252
+ }
4253
+ /**
4254
+ * A named bundle of condition definitions, built in for one entity type.
4255
+ */
4256
+ export interface ConditionSet {
4257
+ /**
4258
+ * Identifies the set within this entity type's catalog.
4259
+ * example:
4260
+ * delivery_area
4261
+ */
4262
+ id: string;
4263
+ /**
4264
+ * Human-readable name of the set.
4265
+ * example:
4266
+ * Delivery Area
4267
+ */
4268
+ label: string;
4269
+ /**
4270
+ * What the set is for, and when to reach for it.
4271
+ */
4272
+ description: string;
4273
+ /**
4274
+ * The condition definitions to copy into the schema's own `conditions` array.
4275
+ */
4276
+ conditions: /**
4277
+ * One condition dimension, in the shape a schema's `conditions` array holds it — copy it in
4278
+ * verbatim.
4279
+ *
4280
+ */
4281
+ ConditionDefinition[];
4282
+ }
4283
+ export interface ConditionSetCatalog {
4284
+ /**
4285
+ * The condition sets built in for the requested entity type, in the order they are offered.
4286
+ *
4287
+ */
4288
+ results: /* A named bundle of condition definitions, built in for one entity type. */ ConditionSet[];
4289
+ }
4290
+ /**
4291
+ * The kind of value a condition holds, which decides how a variant's pinned value is matched
4292
+ * against a resolve context.
4293
+ *
4294
+ * - `string`: an arbitrary string, matched exactly and case-sensitively
4295
+ * - `number`: a numeric value
4296
+ * - `date`: a single date
4297
+ * - `daterange`: a window with a from and an until timestamp; both ends may be left open
4298
+ * - `boolean`: a true/false value
4299
+ * - `select`: one of the values declared in `options`, unless `allow_any` is set
4300
+ * - `location`: a geographic value, shaped by `format`
4301
+ *
4302
+ * There is no condition type for the fallback variant. Being the entity's fallback is a
4303
+ * property of the variant, set by the `default` flag on a variant write, and needs nothing
4304
+ * declared in the schema.
4305
+ *
4306
+ */
4307
+ export type ConditionType = "string" | "number" | "date" | "daterange" | "boolean" | "select" | "location";
4308
+ /**
4309
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
4310
+ * conditional-pricing route.
4311
+ *
4312
+ */
4313
+ export type ConditionalEntitySlug = "product" | "price" | "coupon";
4117
4314
  /**
4118
4315
  * An error from a conditional-pricing operation, carrying a machine-readable `code`
4119
4316
  * from the conditional-pricing vocabulary plus any structured data about the failure,
@@ -4152,10 +4349,10 @@ declare namespace Components {
4152
4349
  * - `AMBIGUOUS_RESOLUTION` (409): several variants match the given context while a single result was requested
4153
4350
  * - `TUPLE_CONFLICT` (409): the condition tuple is already claimed by another variant
4154
4351
  * - `VERSION_CONFLICT` (409): a version already exists at the given `valid_from` on that variant
4155
- * - `SUPERSEDED_VERSION` (409): the addressed version has been superseded
4156
4352
  * - `CONDITION_UNDEFINED` (400): the context names a condition the entity's schema does not define
4157
4353
  * - `OPERATOR_UNSUPPORTED` (400): the requested operator is not applicable to the condition's type
4158
4354
  * - `CONTEXT_FORMAT_INVALID` (400): a context value is malformed for its condition type
4355
+ * - `CONDITION_VALUE_INVALID` (400): a variant write pins a `select` value the condition's declared `options` do not contain
4159
4356
  * - `TOO_MANY_MATCHES` (400): a multi-match resolve exceeded its result cap
4160
4357
  * - `WRITE_CONFLICT` (409): transient write contention, retryable unlike `TUPLE_CONFLICT`
4161
4358
  *
@@ -4181,17 +4378,17 @@ declare namespace Components {
4181
4378
  * - `AMBIGUOUS_RESOLUTION` (409): several variants match the given context while a single result was requested
4182
4379
  * - `TUPLE_CONFLICT` (409): the condition tuple is already claimed by another variant
4183
4380
  * - `VERSION_CONFLICT` (409): a version already exists at the given `valid_from` on that variant
4184
- * - `SUPERSEDED_VERSION` (409): the addressed version has been superseded
4185
4381
  * - `CONDITION_UNDEFINED` (400): the context names a condition the entity's schema does not define
4186
4382
  * - `OPERATOR_UNSUPPORTED` (400): the requested operator is not applicable to the condition's type
4187
4383
  * - `CONTEXT_FORMAT_INVALID` (400): a context value is malformed for its condition type
4384
+ * - `CONDITION_VALUE_INVALID` (400): a variant write pins a `select` value the condition's declared `options` do not contain
4188
4385
  * - `TOO_MANY_MATCHES` (400): a multi-match resolve exceeded its result cap
4189
4386
  * - `WRITE_CONFLICT` (409): transient write contention, retryable unlike `TUPLE_CONFLICT`
4190
4387
  *
4191
4388
  * Each code is emitted with the HTTP status shown above, and only with that status.
4192
4389
  *
4193
4390
  */
4194
- export type ConditionalPricingErrorCode = "NOT_FOUND" | "AMBIGUOUS_RESOLUTION" | "TUPLE_CONFLICT" | "VERSION_CONFLICT" | "SUPERSEDED_VERSION" | "CONDITION_UNDEFINED" | "OPERATOR_UNSUPPORTED" | "CONTEXT_FORMAT_INVALID" | "TOO_MANY_MATCHES" | "WRITE_CONFLICT";
4391
+ export type ConditionalPricingErrorCode = "NOT_FOUND" | "AMBIGUOUS_RESOLUTION" | "TUPLE_CONFLICT" | "VERSION_CONFLICT" | "CONDITION_UNDEFINED" | "OPERATOR_UNSUPPORTED" | "CONTEXT_FORMAT_INVALID" | "CONDITION_VALUE_INVALID" | "TOO_MANY_MATCHES" | "WRITE_CONFLICT";
4195
4392
  export type ConsumptionTypeGetAg = "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter";
4196
4393
  /**
4197
4394
  * The coupon entity
@@ -4516,6 +4713,169 @@ declare namespace Components {
4516
4713
  */
4517
4714
  Price[];
4518
4715
  }
4716
+ export interface CreateVariantRequest {
4717
+ conditions?: /**
4718
+ * The situation this variant applies to: a flat map keyed by condition name, as the entity's
4719
+ * schema declares them. A condition left out is a wildcard — the variant applies whatever the
4720
+ * context says for it, which is what makes adding a condition to a schema non-breaking for the
4721
+ * variants that already exist.
4722
+ *
4723
+ * Exact values only. Predicates are accepted in a resolve context and nowhere else, so that
4724
+ * matching is decided in exactly one place.
4725
+ *
4726
+ * Values are typed by their condition and stored canonicalized for that type: a `date` becomes
4727
+ * millisecond-precision UTC, a `daterange` an object carrying `from` and `until` where an empty
4728
+ * string is an open end, a `location` of format `zipcode` the postal code itself and one of
4729
+ * format `zipcode + town` an object carrying both. A `select` value must be a string, and must
4730
+ * be one the condition's `options` declare unless it sets `allow_any`.
4731
+ *
4732
+ * `default`, and any name beginning with `_`, are reserved for the server and cannot be pinned
4733
+ * here. Whether a variant is the entity's fallback is set through the request's `default` flag.
4734
+ *
4735
+ * example:
4736
+ * {
4737
+ * "postal_code": "46045"
4738
+ * }
4739
+ */
4740
+ PinnedConditions;
4741
+ /**
4742
+ * Mark this variant as the entity's fallback: the one served when no other variant applies.
4743
+ *
4744
+ * A property of the variant, never an entry in `conditions` — a variant claiming a value for
4745
+ * the marker would hold a real condition tuple while being permanently unmatchable, since no
4746
+ * resolve context ever supplies it. A default variant cannot pin anything else, and an
4747
+ * entity can have at most one.
4748
+ *
4749
+ * Available to every conditional entity: nothing has to be declared in the schema first.
4750
+ * The variant is stored pinning one reserved condition, which is what makes the ordinary
4751
+ * condition-tuple guard enforce at-most-one-per-entity with no rule of its own.
4752
+ *
4753
+ */
4754
+ default?: boolean;
4755
+ /**
4756
+ * When the first version takes effect. Defaults to now.
4757
+ *
4758
+ * An RFC 3339 date (`2026-01-01`, read as midnight UTC) or date-time
4759
+ * (`2026-01-01T00:00:00Z`), to at most millisecond precision. Deliberately not declared as
4760
+ * `format: date-time`, which would reject the plain-date form that this accepts.
4761
+ *
4762
+ * example:
4763
+ * 2027-01-01T00:00:00Z
4764
+ */
4765
+ valid_from?: string;
4766
+ values: /**
4767
+ * The attribute values this version overrides on the base entity, keyed by attribute name.
4768
+ *
4769
+ * Only attributes currently declaring `overridable_attribute` are applied. Metadata fields
4770
+ * (anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable
4771
+ * attributes present here are ignored rather than rejected, so a client working from a slightly
4772
+ * stale schema snapshot still succeeds instead of failing on fields it could not have known to
4773
+ * drop. An attribute's `render_condition` says when to show it and has no bearing on whether a
4774
+ * variant may override it.
4775
+ *
4776
+ * Ignored means *not updated*, never *removed*: a value already stored for an attribute that is
4777
+ * not currently overridable is preserved, so removing and restoring the flag deactivates and
4778
+ * then reactivates the same override.
4779
+ *
4780
+ * A composite price's `price_components` is an ordinary overridable relation attribute: a
4781
+ * composite variant pins its component variants here the same way any other relation value is
4782
+ * set, with no special handling.
4783
+ *
4784
+ * example:
4785
+ * {
4786
+ * "unit_amount": 2499,
4787
+ * "unit_amount_decimal": "24.99"
4788
+ * }
4789
+ */
4790
+ VariantValues;
4791
+ }
4792
+ export interface CreatedVariant {
4793
+ /**
4794
+ * Server-generated, always. This is the durable key orders and contracts pin, so it is never
4795
+ * accepted from a client — a client-suppliable id would risk collisions between independent
4796
+ * importers.
4797
+ *
4798
+ * example:
4799
+ * var-46045
4800
+ */
4801
+ variant_id: string;
4802
+ /**
4803
+ * example:
4804
+ * price-sp26d1yo
4805
+ */
4806
+ entity_id: string;
4807
+ schema: /**
4808
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
4809
+ * conditional-pricing route.
4810
+ *
4811
+ */
4812
+ ConditionalEntitySlug;
4813
+ /**
4814
+ * The situation this variant applies to, plus the boolean `default` discriminator — the
4815
+ * same shape `_conditions` has on a resolved payload.
4816
+ *
4817
+ * example:
4818
+ * {
4819
+ * "postal_code": "46045",
4820
+ * "default": false
4821
+ * }
4822
+ */
4823
+ conditions: {
4824
+ [name: string]: any;
4825
+ default: boolean;
4826
+ };
4827
+ /**
4828
+ * When the first version takes effect, canonicalized to millisecond-precision UTC.
4829
+ * example:
4830
+ * 2027-01-01T00:00:00.000Z
4831
+ */
4832
+ valid_from: string;
4833
+ values: /**
4834
+ * The attribute values this version overrides on the base entity, keyed by attribute name.
4835
+ *
4836
+ * Only attributes currently declaring `overridable_attribute` are applied. Metadata fields
4837
+ * (anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable
4838
+ * attributes present here are ignored rather than rejected, so a client working from a slightly
4839
+ * stale schema snapshot still succeeds instead of failing on fields it could not have known to
4840
+ * drop. An attribute's `render_condition` says when to show it and has no bearing on whether a
4841
+ * variant may override it.
4842
+ *
4843
+ * Ignored means *not updated*, never *removed*: a value already stored for an attribute that is
4844
+ * not currently overridable is preserved, so removing and restoring the flag deactivates and
4845
+ * then reactivates the same override.
4846
+ *
4847
+ * A composite price's `price_components` is an ordinary overridable relation attribute: a
4848
+ * composite variant pins its component variants here the same way any other relation value is
4849
+ * set, with no special handling.
4850
+ *
4851
+ * example:
4852
+ * {
4853
+ * "unit_amount": 2499,
4854
+ * "unit_amount_decimal": "24.99"
4855
+ * }
4856
+ */
4857
+ VariantValues;
4858
+ /**
4859
+ * When the first version was created.
4860
+ */
4861
+ _created_at: string;
4862
+ /**
4863
+ * When the first version was last written.
4864
+ */
4865
+ _updated_at: string;
4866
+ /**
4867
+ * The revision a later write to this version must carry to be accepted. Genuinely current,
4868
+ * unlike one read back later from an eventually-consistent read.
4869
+ *
4870
+ */
4871
+ _revision: number;
4872
+ /**
4873
+ * Things worth knowing that did not stop the write. Empty in the ordinary case — a client
4874
+ * reads its length rather than branching on its absence.
4875
+ *
4876
+ */
4877
+ warnings: VariantWriteWarning[];
4878
+ }
4519
4879
  /**
4520
4880
  * Three-letter ISO currency code, in lowercase. Must be a supported currency.
4521
4881
  * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html
@@ -4545,6 +4905,70 @@ declare namespace Components {
4545
4905
  email?: string;
4546
4906
  phone?: string;
4547
4907
  }
4908
+ export interface DeletedVariant {
4909
+ /**
4910
+ * example:
4911
+ * var-46045
4912
+ */
4913
+ variant_id: string;
4914
+ /**
4915
+ * example:
4916
+ * price-sp26d1yo
4917
+ */
4918
+ entity_id: string;
4919
+ schema: /**
4920
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
4921
+ * conditional-pricing route.
4922
+ *
4923
+ */
4924
+ ConditionalEntitySlug;
4925
+ /**
4926
+ * Whether this call is the one that freed the variant's combination of condition values.
4927
+ * `false` where an earlier, interrupted attempt had already freed it — the delete still
4928
+ * succeeded, and the combination was already reusable.
4929
+ *
4930
+ */
4931
+ tuple_released: boolean;
4932
+ /**
4933
+ * Version rows this call removed.
4934
+ */
4935
+ versions_deleted: number;
4936
+ }
4937
+ export interface DeletedVariantVersion {
4938
+ /**
4939
+ * example:
4940
+ * var-46045
4941
+ */
4942
+ variant_id: string;
4943
+ /**
4944
+ * example:
4945
+ * price-sp26d1yo
4946
+ */
4947
+ entity_id: string;
4948
+ schema: /**
4949
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
4950
+ * conditional-pricing route.
4951
+ *
4952
+ */
4953
+ ConditionalEntitySlug;
4954
+ /**
4955
+ * The version removed, canonicalized to millisecond-precision UTC.
4956
+ * example:
4957
+ * 2027-01-01T00:00:00.000Z
4958
+ */
4959
+ valid_from: string;
4960
+ /**
4961
+ * What the delete moved, if anything. Empty when a scheduled version was withdrawn.
4962
+ */
4963
+ warnings: /**
4964
+ * Something a version write moved. A version write is never refused for being late — backdating a
4965
+ * version, and editing or deleting one that has already been superseded, are both accepted — so
4966
+ * what a caller gets instead is a warning naming exactly what changed. One write can carry both
4967
+ * codes.
4968
+ *
4969
+ */
4970
+ VersionWriteWarning[];
4971
+ }
4548
4972
  export interface DiscountAmounts {
4549
4973
  /**
4550
4974
  * The discount amount.
@@ -6774,6 +7198,47 @@ declare namespace Components {
6774
7198
  *
6775
7199
  */
6776
7200
  export type OrderStatus = "draft" | "quote" | "placed" | "cancelled" | "completed";
7201
+ export interface PatchVersionRequest {
7202
+ /**
7203
+ * Only the attribute overrides to change. Everything not mentioned is left as stored.
7204
+ *
7205
+ * `null` is a value like any other here rather than a deletion; to stop overriding an
7206
+ * attribute, send the complete snapshot without it through the replace operation.
7207
+ *
7208
+ * example:
7209
+ * {
7210
+ * "unit_amount": 2499,
7211
+ * "unit_amount_decimal": "24.99"
7212
+ * }
7213
+ */
7214
+ values: {
7215
+ [name: string]: any;
7216
+ };
7217
+ /**
7218
+ * The revision marker read from the version being written. The write is refused with
7219
+ * `WRITE_CONFLICT` if the version has been written since.
7220
+ *
7221
+ * example:
7222
+ * 3
7223
+ */
7224
+ _revision: number;
7225
+ /**
7226
+ * Optional, never applied, and refused when it names a version other than the one addressed.
7227
+ */
7228
+ valid_from?: string;
7229
+ /**
7230
+ * Optional, and never applied. A partial update that tries to change a pinned condition value
7231
+ * is refused — this is the path that rule is most likely to be broken on by accident.
7232
+ *
7233
+ * example:
7234
+ * {
7235
+ * "postal_code": "46045"
7236
+ * }
7237
+ */
7238
+ conditions?: {
7239
+ [name: string]: any;
7240
+ };
7241
+ }
6777
7242
  /**
6778
7243
  * A PaymentMethod represent your customer's payment instruments.
6779
7244
  *
@@ -6790,6 +7255,32 @@ declare namespace Components {
6790
7255
  [name: string]: any;
6791
7256
  };
6792
7257
  }
7258
+ /**
7259
+ * The situation this variant applies to: a flat map keyed by condition name, as the entity's
7260
+ * schema declares them. A condition left out is a wildcard — the variant applies whatever the
7261
+ * context says for it, which is what makes adding a condition to a schema non-breaking for the
7262
+ * variants that already exist.
7263
+ *
7264
+ * Exact values only. Predicates are accepted in a resolve context and nowhere else, so that
7265
+ * matching is decided in exactly one place.
7266
+ *
7267
+ * Values are typed by their condition and stored canonicalized for that type: a `date` becomes
7268
+ * millisecond-precision UTC, a `daterange` an object carrying `from` and `until` where an empty
7269
+ * string is an open end, a `location` of format `zipcode` the postal code itself and one of
7270
+ * format `zipcode + town` an object carrying both. A `select` value must be a string, and must
7271
+ * be one the condition's `options` declare unless it sets `allow_any`.
7272
+ *
7273
+ * `default`, and any name beginning with `_`, are reserved for the server and cannot be pinned
7274
+ * here. Whether a variant is the entity's fallback is set through the request's `default` flag.
7275
+ *
7276
+ * example:
7277
+ * {
7278
+ * "postal_code": "46045"
7279
+ * }
7280
+ */
7281
+ export interface PinnedConditions {
7282
+ [name: string]: any;
7283
+ }
6793
7284
  export interface PortalContext {
6794
7285
  [name: string]: any;
6795
7286
  /**
@@ -9620,40 +10111,259 @@ declare namespace Components {
9620
10111
  */
9621
10112
  CouponWithoutPromoCodes[];
9622
10113
  }
9623
- export type SalesTax = "nontaxable" | "reduced" | "standard";
9624
- export type SaveIntegrationCredentialsParams = /* The auth credentials for external integrations */ IntegrationAuthCredentials;
9625
- export interface SearchExternalCatalogParams {
9626
- context: JourneyContext;
9627
- }
9628
- export interface SearchExternalCatalogRecommendationsResult {
9629
- source: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem;
9630
- offers: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem[];
9631
- }
9632
- export interface SearchExternalCatalogResult {
10114
+ export interface ReplaceVersionRequest {
9633
10115
  /**
9634
- * The number of results returned.
10116
+ * The complete set of attribute overrides this version carries. An overridable attribute
10117
+ * absent from here stops being overridden.
10118
+ *
10119
+ * Attributes the variant may not override are ignored where this carries them, and their
10120
+ * **stored value is kept rather than dropped** — otherwise a routine full-snapshot write
10121
+ * would erase an override the moment its attribute's `overridable_attribute`, `readonly` or
10122
+ * `hidden` flag happened to be off.
10123
+ *
10124
+ * example:
10125
+ * {
10126
+ * "unit_amount": 2499,
10127
+ * "unit_amount_decimal": "24.99"
10128
+ * }
9635
10129
  */
9636
- hits: number;
9637
- results: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem[];
9638
- }
9639
- /**
9640
- * A search providers payload
9641
- */
9642
- export interface SearchProvidersParams {
10130
+ values: {
10131
+ [name: string]: any;
10132
+ };
9643
10133
  /**
9644
- * The provider type (power or gas)
10134
+ * The revision marker read from the version being written. The write is refused with
10135
+ * `WRITE_CONFLICT` if the version has been written since.
10136
+ *
10137
+ * Required rather than optional: an optional one is a guarantee every client can opt out of
10138
+ * by forgetting a field, and the write it protects is the one that overwrites somebody
10139
+ * else's edit.
10140
+ *
10141
+ * example:
10142
+ * 3
9645
10143
  */
9646
- type: "power" | "gas";
10144
+ _revision: number;
9647
10145
  /**
9648
- * The postal code to search for providers
10146
+ * Optional, and never applied. Accepted when it names the version being addressed — so a
10147
+ * client building its body from what it loaded need not strip it out — and refused when it
10148
+ * names another: a version's `valid_from` is its identity, and moving it is an append and a
10149
+ * delete rather than an edit.
10150
+ *
9649
10151
  */
9650
- postal_code: string;
10152
+ valid_from?: string;
9651
10153
  /**
9652
- * The city to search for providers
10154
+ * Optional, and never applied: a variant's conditions are fixed when it is created. Refused
10155
+ * when they describe a different situation from the stored one.
10156
+ *
10157
+ * example:
10158
+ * {
10159
+ * "postal_code": "46045"
10160
+ * }
9653
10161
  */
9654
- city?: string | null;
9655
- /**
9656
- * The street to search for providers
10162
+ conditions?: {
10163
+ [name: string]: any;
10164
+ };
10165
+ }
10166
+ export interface ResolveConditionalEntityRequest {
10167
+ schema: /**
10168
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
10169
+ * conditional-pricing route.
10170
+ *
10171
+ */
10172
+ ConditionalEntitySlug;
10173
+ /**
10174
+ * The conditional entity to resolve. Resolution is always scoped to exactly one.
10175
+ * example:
10176
+ * price-sp26d1yo
10177
+ */
10178
+ entity_id: string;
10179
+ context?: /**
10180
+ * The situation to resolve for: a flat map keyed by condition name, as the entity's schema
10181
+ * declares them. A condition left out of the map is not a wildcard — it matches only variants
10182
+ * that leave that condition unpinned.
10183
+ *
10184
+ * Each value is either an exact value, typed by its condition, or a single-operator predicate
10185
+ * object:
10186
+ *
10187
+ * - `{ "lt": v }`, `{ "lte": v }`, `{ "gt": v }`, `{ "gte": v }` — order against a `number` or
10188
+ * `date` condition.
10189
+ * - `{ "in": [...] }` — membership, against a `string`, `select` or `number` condition.
10190
+ * - `{ "between": "2026-03-01" }` — the explicit spelling of `daterange` containment; a plain
10191
+ * date supplied for a `daterange` condition means the same thing.
10192
+ * - `{ "exists": true }` — pinned to any value. `{ "exists": false }` says what leaving the key
10193
+ * out says.
10194
+ *
10195
+ * Exact values are typed by their condition: a `string` or `select` matches exactly and
10196
+ * case-sensitively, with no trimming; a `location` of format `zipcode` is the postal code
10197
+ * itself, and one of format `zipcode + town` an object carrying both, whose town is compared
10198
+ * case- and whitespace-insensitively while its postal code is not.
10199
+ *
10200
+ * `default`, and any name beginning with `_`, are reserved for the server and cannot be
10201
+ * supplied here.
10202
+ *
10203
+ * example:
10204
+ * {
10205
+ * "postal_code": "46045",
10206
+ * "consumption": {
10207
+ * "lt": 5000
10208
+ * }
10209
+ * }
10210
+ */
10211
+ ResolveContext;
10212
+ /**
10213
+ * The instant the version is selected at — the version with the latest `valid_from` at or
10214
+ * before it. Defaults to now. A variant whose first version is later than this is
10215
+ * scheduled rather than applicable, and is excluded from resolution entirely.
10216
+ *
10217
+ * An RFC 3339 date (`2026-01-01`, read as midnight UTC) or date-time
10218
+ * (`2026-01-01T00:00:00Z`), to at most millisecond precision. Deliberately not declared as
10219
+ * `format: date-time`, which would reject the plain-date form that this accepts.
10220
+ *
10221
+ * example:
10222
+ * 2027-03-15T00:00:00Z
10223
+ */
10224
+ as_of?: string;
10225
+ options?: ResolveOptions;
10226
+ }
10227
+ /**
10228
+ * The situation to resolve for: a flat map keyed by condition name, as the entity's schema
10229
+ * declares them. A condition left out of the map is not a wildcard — it matches only variants
10230
+ * that leave that condition unpinned.
10231
+ *
10232
+ * Each value is either an exact value, typed by its condition, or a single-operator predicate
10233
+ * object:
10234
+ *
10235
+ * - `{ "lt": v }`, `{ "lte": v }`, `{ "gt": v }`, `{ "gte": v }` — order against a `number` or
10236
+ * `date` condition.
10237
+ * - `{ "in": [...] }` — membership, against a `string`, `select` or `number` condition.
10238
+ * - `{ "between": "2026-03-01" }` — the explicit spelling of `daterange` containment; a plain
10239
+ * date supplied for a `daterange` condition means the same thing.
10240
+ * - `{ "exists": true }` — pinned to any value. `{ "exists": false }` says what leaving the key
10241
+ * out says.
10242
+ *
10243
+ * Exact values are typed by their condition: a `string` or `select` matches exactly and
10244
+ * case-sensitively, with no trimming; a `location` of format `zipcode` is the postal code
10245
+ * itself, and one of format `zipcode + town` an object carrying both, whose town is compared
10246
+ * case- and whitespace-insensitively while its postal code is not.
10247
+ *
10248
+ * `default`, and any name beginning with `_`, are reserved for the server and cannot be
10249
+ * supplied here.
10250
+ *
10251
+ * example:
10252
+ * {
10253
+ * "postal_code": "46045",
10254
+ * "consumption": {
10255
+ * "lt": 5000
10256
+ * }
10257
+ * }
10258
+ */
10259
+ export interface ResolveContext {
10260
+ [name: string]: any;
10261
+ }
10262
+ export interface ResolveOptions {
10263
+ /**
10264
+ * Ask for an unambiguous answer. Several applicable variants become `AMBIGUOUS_RESOLUTION`
10265
+ * rather than a set, and nothing applicable becomes `NOT_FOUND` rather than an empty one.
10266
+ * The response shape does not change: `results` simply carries exactly one entry.
10267
+ *
10268
+ */
10269
+ resolve_one?: boolean;
10270
+ }
10271
+ /**
10272
+ * The entity as this variant leaves it — every attribute of a plain entity read, with the
10273
+ * applicable version's overrides applied — plus the discriminators saying where the numbers
10274
+ * came from.
10275
+ *
10276
+ */
10277
+ export interface ResolvedVariant {
10278
+ [name: string]: any;
10279
+ /**
10280
+ * The logical entity's id — the same one a plain entity read returns. Resolution never
10281
+ * mints a new identity; a variant is a set of values for *this* entity, not another one.
10282
+ *
10283
+ * example:
10284
+ * price-sp26d1yo
10285
+ */
10286
+ _id: string;
10287
+ /**
10288
+ * The variant these values came from. Durable: this is what an order or a contract pins to
10289
+ * read the same numbers back later.
10290
+ *
10291
+ * example:
10292
+ * var-46045
10293
+ */
10294
+ _variant_id: string;
10295
+ /**
10296
+ * The `valid_from` of the version applied for the requested `as_of`.
10297
+ * example:
10298
+ * 2027-01-01T00:00:00.000Z
10299
+ */
10300
+ _version_valid_from: string;
10301
+ /**
10302
+ * The conditions this variant pins, plus the boolean `default` discriminator.
10303
+ *
10304
+ * Underscore-prefixed, like every other discriminator here, so that it cannot collide with
10305
+ * an attribute an organization happens to have called `conditions`.
10306
+ *
10307
+ * example:
10308
+ * {
10309
+ * "postal_code": "46045",
10310
+ * "default": false
10311
+ * }
10312
+ */
10313
+ _conditions: {
10314
+ [name: string]: any;
10315
+ default: boolean;
10316
+ };
10317
+ }
10318
+ export interface ResolvedVariants {
10319
+ /**
10320
+ * One composed payload per applicable variant, capped at 100 — a context selecting more
10321
+ * than that is answered with `TOO_MANY_MATCHES` instead, since each result costs its own
10322
+ * version lookup. No dominance or specificity ordering is applied between them.
10323
+ *
10324
+ */
10325
+ results: /**
10326
+ * The entity as this variant leaves it — every attribute of a plain entity read, with the
10327
+ * applicable version's overrides applied — plus the discriminators saying where the numbers
10328
+ * came from.
10329
+ *
10330
+ */
10331
+ ResolvedVariant[];
10332
+ }
10333
+ export type SalesTax = "nontaxable" | "reduced" | "standard";
10334
+ export type SaveIntegrationCredentialsParams = /* The auth credentials for external integrations */ IntegrationAuthCredentials;
10335
+ export interface SearchExternalCatalogParams {
10336
+ context: JourneyContext;
10337
+ }
10338
+ export interface SearchExternalCatalogRecommendationsResult {
10339
+ source: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem;
10340
+ offers: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem[];
10341
+ }
10342
+ export interface SearchExternalCatalogResult {
10343
+ /**
10344
+ * The number of results returned.
10345
+ */
10346
+ hits: number;
10347
+ results: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem[];
10348
+ }
10349
+ /**
10350
+ * A search providers payload
10351
+ */
10352
+ export interface SearchProvidersParams {
10353
+ /**
10354
+ * The provider type (power or gas)
10355
+ */
10356
+ type: "power" | "gas";
10357
+ /**
10358
+ * The postal code to search for providers
10359
+ */
10360
+ postal_code: string;
10361
+ /**
10362
+ * The city to search for providers
10363
+ */
10364
+ city?: string | null;
10365
+ /**
10366
+ * The street to search for providers
9657
10367
  */
9658
10368
  street?: string | null;
9659
10369
  /**
@@ -9806,7 +10516,23 @@ declare namespace Components {
9806
10516
  * "_updated_at": "2021-02-09T12:41:43.662Z"
9807
10517
  * }
9808
10518
  */
9809
- Tax;
10519
+ Tax | /**
10520
+ * A minimal, ad-hoc tax rate for line items with no backing tax entity
10521
+ * in the catalog (e.g. a fully custom/composite price component built
10522
+ * by a client with no product/price reference to resolve tax from).
10523
+ * Mirrors how PriceItem relates to Price: unlike Tax, this has no
10524
+ * entity identity — it isn't persisted and can't be looked up by _id,
10525
+ * so it can't be shared/reused across price items the way a catalog
10526
+ * Tax can.
10527
+ *
10528
+ * example:
10529
+ * {
10530
+ * "rate": 19,
10531
+ * "type": "VAT",
10532
+ * "description": "Custom 19% VAT"
10533
+ * }
10534
+ */
10535
+ TaxItem;
9810
10536
  }
9811
10537
  /**
9812
10538
  * A tax amount associated with a specific tax rate.
@@ -9987,9 +10713,348 @@ declare namespace Components {
9987
10713
  */
9988
10714
  errors: /* The availability rule error */ ValidateAvailabilityFileError[];
9989
10715
  }
10716
+ /**
10717
+ * A variant's pinned conditions as a reader sees them: the pins the schema declares, plus a
10718
+ * boolean `default` saying whether this is the entity's fallback.
10719
+ *
10720
+ * `default` is always present and always a boolean, so a client can branch on "did I get the
10721
+ * fallback?" without knowing how one is stored. The reserved condition a fallback is actually
10722
+ * pinned under never appears here.
10723
+ *
10724
+ * example:
10725
+ * {
10726
+ * "postal_code": "46045",
10727
+ * "default": false
10728
+ * }
10729
+ */
10730
+ export interface VariantConditions {
10731
+ [name: string]: any;
10732
+ default: boolean;
10733
+ }
10734
+ /**
10735
+ * The attribute values this version overrides on the base entity, keyed by attribute name.
10736
+ *
10737
+ * Only attributes currently declaring `overridable_attribute` are applied. Metadata fields
10738
+ * (anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable
10739
+ * attributes present here are ignored rather than rejected, so a client working from a slightly
10740
+ * stale schema snapshot still succeeds instead of failing on fields it could not have known to
10741
+ * drop. An attribute's `render_condition` says when to show it and has no bearing on whether a
10742
+ * variant may override it.
10743
+ *
10744
+ * Ignored means *not updated*, never *removed*: a value already stored for an attribute that is
10745
+ * not currently overridable is preserved, so removing and restoring the flag deactivates and
10746
+ * then reactivates the same override.
10747
+ *
10748
+ * A composite price's `price_components` is an ordinary overridable relation attribute: a
10749
+ * composite variant pins its component variants here the same way any other relation value is
10750
+ * set, with no special handling.
10751
+ *
10752
+ * example:
10753
+ * {
10754
+ * "unit_amount": 2499,
10755
+ * "unit_amount_decimal": "24.99"
10756
+ * }
10757
+ */
10758
+ export interface VariantValues {
10759
+ [name: string]: any;
10760
+ }
10761
+ /**
10762
+ * One version of one variant: the attribute overrides it carries, the instant it takes effect,
10763
+ * and the variant it belongs to.
10764
+ *
10765
+ * These are the version's **own** overrides, not the base entity overlaid with them — this is
10766
+ * what an editing screen loads and saves, and what it edits is the overrides. Composing them onto
10767
+ * the entity is what `:resolve` answers.
10768
+ *
10769
+ */
10770
+ export interface VariantVersion {
10771
+ /**
10772
+ * example:
10773
+ * var-46045
10774
+ */
10775
+ variant_id: string;
10776
+ /**
10777
+ * example:
10778
+ * price-sp26d1yo
10779
+ */
10780
+ entity_id: string;
10781
+ schema: /**
10782
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
10783
+ * conditional-pricing route.
10784
+ *
10785
+ */
10786
+ ConditionalEntitySlug;
10787
+ /**
10788
+ * The situation the variant applies to, plus the boolean `default` discriminator. A property
10789
+ * of the variant rather than of this version: every version of a variant carries the same
10790
+ * one, and no version write can change it.
10791
+ *
10792
+ * example:
10793
+ * {
10794
+ * "postal_code": "46045",
10795
+ * "default": false
10796
+ * }
10797
+ */
10798
+ conditions: {
10799
+ [name: string]: any;
10800
+ default: boolean;
10801
+ };
10802
+ /**
10803
+ * When this version takes effect, canonicalized to millisecond-precision UTC. A version's
10804
+ * identity within its variant — it never moves.
10805
+ *
10806
+ * example:
10807
+ * 2027-01-01T00:00:00.000Z
10808
+ */
10809
+ valid_from: string;
10810
+ values: /**
10811
+ * The attribute values this version overrides on the base entity, keyed by attribute name.
10812
+ *
10813
+ * Only attributes currently declaring `overridable_attribute` are applied. Metadata fields
10814
+ * (anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable
10815
+ * attributes present here are ignored rather than rejected, so a client working from a slightly
10816
+ * stale schema snapshot still succeeds instead of failing on fields it could not have known to
10817
+ * drop. An attribute's `render_condition` says when to show it and has no bearing on whether a
10818
+ * variant may override it.
10819
+ *
10820
+ * Ignored means *not updated*, never *removed*: a value already stored for an attribute that is
10821
+ * not currently overridable is preserved, so removing and restoring the flag deactivates and
10822
+ * then reactivates the same override.
10823
+ *
10824
+ * A composite price's `price_components` is an ordinary overridable relation attribute: a
10825
+ * composite variant pins its component variants here the same way any other relation value is
10826
+ * set, with no special handling.
10827
+ *
10828
+ * example:
10829
+ * {
10830
+ * "unit_amount": 2499,
10831
+ * "unit_amount_decimal": "24.99"
10832
+ * }
10833
+ */
10834
+ VariantValues;
10835
+ /**
10836
+ * When this version was created.
10837
+ */
10838
+ _created_at: string;
10839
+ /**
10840
+ * When this version was last written.
10841
+ */
10842
+ _updated_at: string;
10843
+ /**
10844
+ * The revision a write to this version must carry to be accepted. Always current: every read
10845
+ * that returns one is strongly consistent, so it is never a marker a write would be refused
10846
+ * for having read too early.
10847
+ *
10848
+ * example:
10849
+ * 3
10850
+ */
10851
+ _revision: number;
10852
+ }
10853
+ export interface VariantWriteWarning {
10854
+ /**
10855
+ * - `VARIANT_COUNT_APPROACHING_CAP`: this entity is nearing the number of variants it may
10856
+ * hold. Surfaced rather than rejected, so an importer finds out with a whole run's notice
10857
+ * instead of discovering the limit halfway through a refresh.
10858
+ *
10859
+ */
10860
+ code: "VARIANT_COUNT_APPROACHING_CAP";
10861
+ message: string;
10862
+ /**
10863
+ * Variants this entity holds, including the one just created.
10864
+ */
10865
+ variant_count: number;
10866
+ /**
10867
+ * Variants this entity may hold. Configurable per organization.
10868
+ */
10869
+ cap: number;
10870
+ }
10871
+ /**
10872
+ * Something a version write moved. A version write is never refused for being late — backdating a
10873
+ * version, and editing or deleting one that has already been superseded, are both accepted — so
10874
+ * what a caller gets instead is a warning naming exactly what changed. One write can carry both
10875
+ * codes.
10876
+ *
10877
+ */
10878
+ export interface VersionWriteWarning {
10879
+ /**
10880
+ * - `ACTIVE_VERSION_REPLACED`: what resolves **now** changed, other than by a newer version
10881
+ * taking effect. The version in effect was written behind, or removed.
10882
+ * - `SUPERSEDED_VERSION_WRITTEN`: what a past-dated (`as_of`) read returns changed. The write
10883
+ * landed on, or created, a version that is not the one currently in effect.
10884
+ *
10885
+ */
10886
+ code: "ACTIVE_VERSION_REPLACED" | "SUPERSEDED_VERSION_WRITTEN";
10887
+ message: string;
10888
+ /**
10889
+ * The version this write created, changed or removed.
10890
+ * example:
10891
+ * 2026-08-01T00:00:00.000Z
10892
+ */
10893
+ valid_from: string;
10894
+ /**
10895
+ * The version in effect when the write landed, before it did. Absent when the variant had
10896
+ * none — every version of it still scheduled.
10897
+ *
10898
+ * example:
10899
+ * 2026-01-01T00:00:00.000Z
10900
+ */
10901
+ active_valid_from?: string;
10902
+ }
10903
+ /**
10904
+ * A version as a write left it, together with anything the write moved.
10905
+ *
10906
+ */
10907
+ export interface WrittenVariantVersion {
10908
+ /**
10909
+ * example:
10910
+ * var-46045
10911
+ */
10912
+ variant_id: string;
10913
+ /**
10914
+ * example:
10915
+ * price-sp26d1yo
10916
+ */
10917
+ entity_id: string;
10918
+ schema: /**
10919
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
10920
+ * conditional-pricing route.
10921
+ *
10922
+ */
10923
+ ConditionalEntitySlug;
10924
+ /**
10925
+ * The situation the variant applies to, plus the boolean `default` discriminator. A property
10926
+ * of the variant rather than of this version: every version of a variant carries the same
10927
+ * one, and no version write can change it.
10928
+ *
10929
+ * example:
10930
+ * {
10931
+ * "postal_code": "46045",
10932
+ * "default": false
10933
+ * }
10934
+ */
10935
+ conditions: {
10936
+ [name: string]: any;
10937
+ default: boolean;
10938
+ };
10939
+ /**
10940
+ * When this version takes effect, canonicalized to millisecond-precision UTC. A version's
10941
+ * identity within its variant — it never moves.
10942
+ *
10943
+ * example:
10944
+ * 2027-01-01T00:00:00.000Z
10945
+ */
10946
+ valid_from: string;
10947
+ values: /**
10948
+ * The attribute values this version overrides on the base entity, keyed by attribute name.
10949
+ *
10950
+ * Only attributes currently declaring `overridable_attribute` are applied. Metadata fields
10951
+ * (anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable
10952
+ * attributes present here are ignored rather than rejected, so a client working from a slightly
10953
+ * stale schema snapshot still succeeds instead of failing on fields it could not have known to
10954
+ * drop. An attribute's `render_condition` says when to show it and has no bearing on whether a
10955
+ * variant may override it.
10956
+ *
10957
+ * Ignored means *not updated*, never *removed*: a value already stored for an attribute that is
10958
+ * not currently overridable is preserved, so removing and restoring the flag deactivates and
10959
+ * then reactivates the same override.
10960
+ *
10961
+ * A composite price's `price_components` is an ordinary overridable relation attribute: a
10962
+ * composite variant pins its component variants here the same way any other relation value is
10963
+ * set, with no special handling.
10964
+ *
10965
+ * example:
10966
+ * {
10967
+ * "unit_amount": 2499,
10968
+ * "unit_amount_decimal": "24.99"
10969
+ * }
10970
+ */
10971
+ VariantValues;
10972
+ /**
10973
+ * When this version was created.
10974
+ */
10975
+ _created_at: string;
10976
+ /**
10977
+ * When this version was last written.
10978
+ */
10979
+ _updated_at: string;
10980
+ /**
10981
+ * The revision a write to this version must carry to be accepted. Always current: every read
10982
+ * that returns one is strongly consistent, so it is never a marker a write would be refused
10983
+ * for having read too early.
10984
+ *
10985
+ * example:
10986
+ * 3
10987
+ */
10988
+ _revision: number;
10989
+ /**
10990
+ * What this write moved, if anything. Empty in the ordinary case — a client reads its
10991
+ * length rather than branching on its absence.
10992
+ *
10993
+ */
10994
+ warnings: /**
10995
+ * Something a version write moved. A version write is never refused for being late — backdating a
10996
+ * version, and editing or deleting one that has already been superseded, are both accepted — so
10997
+ * what a caller gets instead is a warning naming exactly what changed. One write can carry both
10998
+ * codes.
10999
+ *
11000
+ */
11001
+ VersionWriteWarning[];
11002
+ }
9990
11003
  }
9991
11004
  }
9992
11005
  declare namespace Paths {
11006
+ namespace $AppendConditionalVariantVersion {
11007
+ namespace Parameters {
11008
+ export type EntityId = string;
11009
+ export type Slug = /**
11010
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11011
+ * conditional-pricing route.
11012
+ *
11013
+ */
11014
+ Components.Schemas.ConditionalEntitySlug;
11015
+ export type VariantId = string;
11016
+ }
11017
+ export interface PathParameters {
11018
+ slug: Parameters.Slug;
11019
+ entity_id: Parameters.EntityId;
11020
+ variant_id: Parameters.VariantId;
11021
+ }
11022
+ export type RequestBody = Components.Schemas.AppendVersionRequest;
11023
+ namespace Responses {
11024
+ export type $201 = /**
11025
+ * A version as a write left it, together with anything the write moved.
11026
+ *
11027
+ */
11028
+ Components.Schemas.WrittenVariantVersion;
11029
+ export type $400 = /**
11030
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11031
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11032
+ * so a client can branch on the kind of failure rather than parse the message.
11033
+ * Referenced only by the operations that emit these codes; every other operation
11034
+ * keeps the plain `Error` shape.
11035
+ *
11036
+ */
11037
+ Components.Schemas.ConditionalPricingError;
11038
+ export type $404 = /**
11039
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11040
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11041
+ * so a client can branch on the kind of failure rather than parse the message.
11042
+ * Referenced only by the operations that emit these codes; every other operation
11043
+ * keeps the plain `Error` shape.
11044
+ *
11045
+ */
11046
+ Components.Schemas.ConditionalPricingError;
11047
+ export type $409 = /**
11048
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11049
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11050
+ * so a client can branch on the kind of failure rather than parse the message.
11051
+ * Referenced only by the operations that emit these codes; every other operation
11052
+ * keeps the plain `Error` shape.
11053
+ *
11054
+ */
11055
+ Components.Schemas.ConditionalPricingError;
11056
+ }
11057
+ }
9993
11058
  namespace $AvailabilityCheck {
9994
11059
  export interface HeaderParameters {
9995
11060
  "X-Ivy-Org-ID": Parameters.XIvyOrgID;
@@ -10080,6 +11145,152 @@ declare namespace Paths {
10080
11145
  export type $403 = Components.Schemas.Error;
10081
11146
  }
10082
11147
  }
11148
+ namespace $CreateConditionalVariant {
11149
+ namespace Parameters {
11150
+ export type EntityId = string;
11151
+ export type Slug = /**
11152
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11153
+ * conditional-pricing route.
11154
+ *
11155
+ */
11156
+ Components.Schemas.ConditionalEntitySlug;
11157
+ }
11158
+ export interface PathParameters {
11159
+ slug: Parameters.Slug;
11160
+ entity_id: Parameters.EntityId;
11161
+ }
11162
+ export type RequestBody = Components.Schemas.CreateVariantRequest;
11163
+ namespace Responses {
11164
+ export type $201 = Components.Schemas.CreatedVariant;
11165
+ export type $400 = /**
11166
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11167
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11168
+ * so a client can branch on the kind of failure rather than parse the message.
11169
+ * Referenced only by the operations that emit these codes; every other operation
11170
+ * keeps the plain `Error` shape.
11171
+ *
11172
+ */
11173
+ Components.Schemas.ConditionalPricingError;
11174
+ export type $404 = /**
11175
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11176
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11177
+ * so a client can branch on the kind of failure rather than parse the message.
11178
+ * Referenced only by the operations that emit these codes; every other operation
11179
+ * keeps the plain `Error` shape.
11180
+ *
11181
+ */
11182
+ Components.Schemas.ConditionalPricingError;
11183
+ export type $409 = /**
11184
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11185
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11186
+ * so a client can branch on the kind of failure rather than parse the message.
11187
+ * Referenced only by the operations that emit these codes; every other operation
11188
+ * keeps the plain `Error` shape.
11189
+ *
11190
+ */
11191
+ Components.Schemas.ConditionalPricingError;
11192
+ }
11193
+ }
11194
+ namespace $DeleteConditionalVariant {
11195
+ namespace Parameters {
11196
+ export type EntityId = string;
11197
+ export type Slug = /**
11198
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11199
+ * conditional-pricing route.
11200
+ *
11201
+ */
11202
+ Components.Schemas.ConditionalEntitySlug;
11203
+ export type VariantId = string;
11204
+ }
11205
+ export interface PathParameters {
11206
+ slug: Parameters.Slug;
11207
+ entity_id: Parameters.EntityId;
11208
+ variant_id: Parameters.VariantId;
11209
+ }
11210
+ namespace Responses {
11211
+ export type $200 = Components.Schemas.DeletedVariant;
11212
+ export type $400 = /**
11213
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11214
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11215
+ * so a client can branch on the kind of failure rather than parse the message.
11216
+ * Referenced only by the operations that emit these codes; every other operation
11217
+ * keeps the plain `Error` shape.
11218
+ *
11219
+ */
11220
+ Components.Schemas.ConditionalPricingError;
11221
+ export type $404 = /**
11222
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11223
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11224
+ * so a client can branch on the kind of failure rather than parse the message.
11225
+ * Referenced only by the operations that emit these codes; every other operation
11226
+ * keeps the plain `Error` shape.
11227
+ *
11228
+ */
11229
+ Components.Schemas.ConditionalPricingError;
11230
+ export type $409 = /**
11231
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11232
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11233
+ * so a client can branch on the kind of failure rather than parse the message.
11234
+ * Referenced only by the operations that emit these codes; every other operation
11235
+ * keeps the plain `Error` shape.
11236
+ *
11237
+ */
11238
+ Components.Schemas.ConditionalPricingError;
11239
+ }
11240
+ }
11241
+ namespace $DeleteConditionalVariantVersion {
11242
+ namespace Parameters {
11243
+ export type EntityId = string;
11244
+ export type Revision = number;
11245
+ export type Slug = /**
11246
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11247
+ * conditional-pricing route.
11248
+ *
11249
+ */
11250
+ Components.Schemas.ConditionalEntitySlug;
11251
+ export type ValidFrom = string;
11252
+ export type VariantId = string;
11253
+ }
11254
+ export interface PathParameters {
11255
+ slug: Parameters.Slug;
11256
+ entity_id: Parameters.EntityId;
11257
+ variant_id: Parameters.VariantId;
11258
+ valid_from: Parameters.ValidFrom;
11259
+ }
11260
+ export interface QueryParameters {
11261
+ _revision: Parameters.Revision;
11262
+ }
11263
+ namespace Responses {
11264
+ export type $200 = Components.Schemas.DeletedVariantVersion;
11265
+ export type $400 = /**
11266
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11267
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11268
+ * so a client can branch on the kind of failure rather than parse the message.
11269
+ * Referenced only by the operations that emit these codes; every other operation
11270
+ * keeps the plain `Error` shape.
11271
+ *
11272
+ */
11273
+ Components.Schemas.ConditionalPricingError;
11274
+ export type $404 = /**
11275
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11276
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11277
+ * so a client can branch on the kind of failure rather than parse the message.
11278
+ * Referenced only by the operations that emit these codes; every other operation
11279
+ * keeps the plain `Error` shape.
11280
+ *
11281
+ */
11282
+ Components.Schemas.ConditionalPricingError;
11283
+ export type $409 = /**
11284
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11285
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11286
+ * so a client can branch on the kind of failure rather than parse the message.
11287
+ * Referenced only by the operations that emit these codes; every other operation
11288
+ * keeps the plain `Error` shape.
11289
+ *
11290
+ */
11291
+ Components.Schemas.ConditionalPricingError;
11292
+ }
11293
+ }
10083
11294
  namespace $DeleteCredentials {
10084
11295
  namespace Parameters {
10085
11296
  export type IntegrationId = Components.Schemas.IntegrationId;
@@ -10093,6 +11304,119 @@ declare namespace Paths {
10093
11304
  export type $400 = Components.Schemas.Error;
10094
11305
  }
10095
11306
  }
11307
+ namespace $GetActiveConditionalVariantVersion {
11308
+ namespace Parameters {
11309
+ export type EntityId = string;
11310
+ export type Slug = /**
11311
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11312
+ * conditional-pricing route.
11313
+ *
11314
+ */
11315
+ Components.Schemas.ConditionalEntitySlug;
11316
+ export type VariantId = string;
11317
+ }
11318
+ export interface PathParameters {
11319
+ slug: Parameters.Slug;
11320
+ entity_id: Parameters.EntityId;
11321
+ variant_id: Parameters.VariantId;
11322
+ }
11323
+ namespace Responses {
11324
+ export type $200 = /**
11325
+ * One version of one variant: the attribute overrides it carries, the instant it takes effect,
11326
+ * and the variant it belongs to.
11327
+ *
11328
+ * These are the version's **own** overrides, not the base entity overlaid with them — this is
11329
+ * what an editing screen loads and saves, and what it edits is the overrides. Composing them onto
11330
+ * the entity is what `:resolve` answers.
11331
+ *
11332
+ */
11333
+ Components.Schemas.VariantVersion;
11334
+ export type $400 = /**
11335
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11336
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11337
+ * so a client can branch on the kind of failure rather than parse the message.
11338
+ * Referenced only by the operations that emit these codes; every other operation
11339
+ * keeps the plain `Error` shape.
11340
+ *
11341
+ */
11342
+ Components.Schemas.ConditionalPricingError;
11343
+ export type $404 = /**
11344
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11345
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11346
+ * so a client can branch on the kind of failure rather than parse the message.
11347
+ * Referenced only by the operations that emit these codes; every other operation
11348
+ * keeps the plain `Error` shape.
11349
+ *
11350
+ */
11351
+ Components.Schemas.ConditionalPricingError;
11352
+ }
11353
+ }
11354
+ namespace $GetConditionSets {
11355
+ namespace Parameters {
11356
+ export type Slug = /**
11357
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11358
+ * conditional-pricing route.
11359
+ *
11360
+ */
11361
+ Components.Schemas.ConditionalEntitySlug;
11362
+ }
11363
+ export interface PathParameters {
11364
+ slug: Parameters.Slug;
11365
+ }
11366
+ namespace Responses {
11367
+ export type $200 = Components.Schemas.ConditionSetCatalog;
11368
+ export type $400 = Components.Schemas.Error;
11369
+ }
11370
+ }
11371
+ namespace $GetConditionalVariantVersion {
11372
+ namespace Parameters {
11373
+ export type EntityId = string;
11374
+ export type Slug = /**
11375
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11376
+ * conditional-pricing route.
11377
+ *
11378
+ */
11379
+ Components.Schemas.ConditionalEntitySlug;
11380
+ export type ValidFrom = string;
11381
+ export type VariantId = string;
11382
+ }
11383
+ export interface PathParameters {
11384
+ slug: Parameters.Slug;
11385
+ entity_id: Parameters.EntityId;
11386
+ variant_id: Parameters.VariantId;
11387
+ valid_from: Parameters.ValidFrom;
11388
+ }
11389
+ namespace Responses {
11390
+ export type $200 = /**
11391
+ * One version of one variant: the attribute overrides it carries, the instant it takes effect,
11392
+ * and the variant it belongs to.
11393
+ *
11394
+ * These are the version's **own** overrides, not the base entity overlaid with them — this is
11395
+ * what an editing screen loads and saves, and what it edits is the overrides. Composing them onto
11396
+ * the entity is what `:resolve` answers.
11397
+ *
11398
+ */
11399
+ Components.Schemas.VariantVersion;
11400
+ export type $400 = /**
11401
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11402
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11403
+ * so a client can branch on the kind of failure rather than parse the message.
11404
+ * Referenced only by the operations that emit these codes; every other operation
11405
+ * keeps the plain `Error` shape.
11406
+ *
11407
+ */
11408
+ Components.Schemas.ConditionalPricingError;
11409
+ export type $404 = /**
11410
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11411
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11412
+ * so a client can branch on the kind of failure rather than parse the message.
11413
+ * Referenced only by the operations that emit these codes; every other operation
11414
+ * keeps the plain `Error` shape.
11415
+ *
11416
+ */
11417
+ Components.Schemas.ConditionalPricingError;
11418
+ }
11419
+ }
10096
11420
  namespace $GetCredentials {
10097
11421
  namespace Parameters {
10098
11422
  export type IntegrationId = Components.Schemas.IntegrationId;
@@ -10239,6 +11563,112 @@ declare namespace Paths {
10239
11563
  export type $404 = Components.Schemas.Error;
10240
11564
  }
10241
11565
  }
11566
+ namespace $PatchActiveConditionalVariantVersion {
11567
+ namespace Parameters {
11568
+ export type EntityId = string;
11569
+ export type Slug = /**
11570
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11571
+ * conditional-pricing route.
11572
+ *
11573
+ */
11574
+ Components.Schemas.ConditionalEntitySlug;
11575
+ export type VariantId = string;
11576
+ }
11577
+ export interface PathParameters {
11578
+ slug: Parameters.Slug;
11579
+ entity_id: Parameters.EntityId;
11580
+ variant_id: Parameters.VariantId;
11581
+ }
11582
+ export type RequestBody = Components.Schemas.PatchVersionRequest;
11583
+ namespace Responses {
11584
+ export type $200 = /**
11585
+ * A version as a write left it, together with anything the write moved.
11586
+ *
11587
+ */
11588
+ Components.Schemas.WrittenVariantVersion;
11589
+ export type $400 = /**
11590
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11591
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11592
+ * so a client can branch on the kind of failure rather than parse the message.
11593
+ * Referenced only by the operations that emit these codes; every other operation
11594
+ * keeps the plain `Error` shape.
11595
+ *
11596
+ */
11597
+ Components.Schemas.ConditionalPricingError;
11598
+ export type $404 = /**
11599
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11600
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11601
+ * so a client can branch on the kind of failure rather than parse the message.
11602
+ * Referenced only by the operations that emit these codes; every other operation
11603
+ * keeps the plain `Error` shape.
11604
+ *
11605
+ */
11606
+ Components.Schemas.ConditionalPricingError;
11607
+ export type $409 = /**
11608
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11609
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11610
+ * so a client can branch on the kind of failure rather than parse the message.
11611
+ * Referenced only by the operations that emit these codes; every other operation
11612
+ * keeps the plain `Error` shape.
11613
+ *
11614
+ */
11615
+ Components.Schemas.ConditionalPricingError;
11616
+ }
11617
+ }
11618
+ namespace $PatchConditionalVariantVersion {
11619
+ namespace Parameters {
11620
+ export type EntityId = string;
11621
+ export type Slug = /**
11622
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11623
+ * conditional-pricing route.
11624
+ *
11625
+ */
11626
+ Components.Schemas.ConditionalEntitySlug;
11627
+ export type ValidFrom = string;
11628
+ export type VariantId = string;
11629
+ }
11630
+ export interface PathParameters {
11631
+ slug: Parameters.Slug;
11632
+ entity_id: Parameters.EntityId;
11633
+ variant_id: Parameters.VariantId;
11634
+ valid_from: Parameters.ValidFrom;
11635
+ }
11636
+ export type RequestBody = Components.Schemas.PatchVersionRequest;
11637
+ namespace Responses {
11638
+ export type $200 = /**
11639
+ * A version as a write left it, together with anything the write moved.
11640
+ *
11641
+ */
11642
+ Components.Schemas.WrittenVariantVersion;
11643
+ export type $400 = /**
11644
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11645
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11646
+ * so a client can branch on the kind of failure rather than parse the message.
11647
+ * Referenced only by the operations that emit these codes; every other operation
11648
+ * keeps the plain `Error` shape.
11649
+ *
11650
+ */
11651
+ Components.Schemas.ConditionalPricingError;
11652
+ export type $404 = /**
11653
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11654
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11655
+ * so a client can branch on the kind of failure rather than parse the message.
11656
+ * Referenced only by the operations that emit these codes; every other operation
11657
+ * keeps the plain `Error` shape.
11658
+ *
11659
+ */
11660
+ Components.Schemas.ConditionalPricingError;
11661
+ export type $409 = /**
11662
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11663
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11664
+ * so a client can branch on the kind of failure rather than parse the message.
11665
+ * Referenced only by the operations that emit these codes; every other operation
11666
+ * keeps the plain `Error` shape.
11667
+ *
11668
+ */
11669
+ Components.Schemas.ConditionalPricingError;
11670
+ }
11671
+ }
10242
11672
  namespace $PrivateSearchCatalog {
10243
11673
  export type RequestBody = /**
10244
11674
  * A catalog search payload
@@ -10269,21 +11699,160 @@ declare namespace Paths {
10269
11699
  * ]
10270
11700
  * }
10271
11701
  */
10272
- Components.Schemas.CatalogSearchResult;
10273
- export type $400 = Components.Schemas.Error;
11702
+ Components.Schemas.CatalogSearchResult;
11703
+ export type $400 = Components.Schemas.Error;
11704
+ }
11705
+ }
11706
+ namespace $ProductRecommendations {
11707
+ export interface HeaderParameters {
11708
+ "X-Ivy-Org-ID"?: Parameters.XIvyOrgID;
11709
+ }
11710
+ namespace Parameters {
11711
+ export type XIvyOrgID = string;
11712
+ }
11713
+ export type RequestBody = /* Product recommendations request payload */ Components.Schemas.ProductRecommendationSearch;
11714
+ namespace Responses {
11715
+ export type $200 = /* Product recommendations request payload */ Components.Schemas.ProductRecommendationResponse;
11716
+ export type $400 = Components.Schemas.Error;
11717
+ }
11718
+ }
11719
+ namespace $ReplaceActiveConditionalVariantVersion {
11720
+ namespace Parameters {
11721
+ export type EntityId = string;
11722
+ export type Slug = /**
11723
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11724
+ * conditional-pricing route.
11725
+ *
11726
+ */
11727
+ Components.Schemas.ConditionalEntitySlug;
11728
+ export type VariantId = string;
11729
+ }
11730
+ export interface PathParameters {
11731
+ slug: Parameters.Slug;
11732
+ entity_id: Parameters.EntityId;
11733
+ variant_id: Parameters.VariantId;
11734
+ }
11735
+ export type RequestBody = Components.Schemas.ReplaceVersionRequest;
11736
+ namespace Responses {
11737
+ export type $200 = /**
11738
+ * A version as a write left it, together with anything the write moved.
11739
+ *
11740
+ */
11741
+ Components.Schemas.WrittenVariantVersion;
11742
+ export type $400 = /**
11743
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11744
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11745
+ * so a client can branch on the kind of failure rather than parse the message.
11746
+ * Referenced only by the operations that emit these codes; every other operation
11747
+ * keeps the plain `Error` shape.
11748
+ *
11749
+ */
11750
+ Components.Schemas.ConditionalPricingError;
11751
+ export type $404 = /**
11752
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11753
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11754
+ * so a client can branch on the kind of failure rather than parse the message.
11755
+ * Referenced only by the operations that emit these codes; every other operation
11756
+ * keeps the plain `Error` shape.
11757
+ *
11758
+ */
11759
+ Components.Schemas.ConditionalPricingError;
11760
+ export type $409 = /**
11761
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11762
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11763
+ * so a client can branch on the kind of failure rather than parse the message.
11764
+ * Referenced only by the operations that emit these codes; every other operation
11765
+ * keeps the plain `Error` shape.
11766
+ *
11767
+ */
11768
+ Components.Schemas.ConditionalPricingError;
10274
11769
  }
10275
11770
  }
10276
- namespace $ProductRecommendations {
10277
- export interface HeaderParameters {
10278
- "X-Ivy-Org-ID"?: Parameters.XIvyOrgID;
10279
- }
11771
+ namespace $ReplaceConditionalVariantVersion {
10280
11772
  namespace Parameters {
10281
- export type XIvyOrgID = string;
11773
+ export type EntityId = string;
11774
+ export type Slug = /**
11775
+ * Schema slug of an entity type that can be conditional — the `{slug}` of every
11776
+ * conditional-pricing route.
11777
+ *
11778
+ */
11779
+ Components.Schemas.ConditionalEntitySlug;
11780
+ export type ValidFrom = string;
11781
+ export type VariantId = string;
10282
11782
  }
10283
- export type RequestBody = /* Product recommendations request payload */ Components.Schemas.ProductRecommendationSearch;
11783
+ export interface PathParameters {
11784
+ slug: Parameters.Slug;
11785
+ entity_id: Parameters.EntityId;
11786
+ variant_id: Parameters.VariantId;
11787
+ valid_from: Parameters.ValidFrom;
11788
+ }
11789
+ export type RequestBody = Components.Schemas.ReplaceVersionRequest;
10284
11790
  namespace Responses {
10285
- export type $200 = /* Product recommendations request payload */ Components.Schemas.ProductRecommendationResponse;
10286
- export type $400 = Components.Schemas.Error;
11791
+ export type $200 = /**
11792
+ * A version as a write left it, together with anything the write moved.
11793
+ *
11794
+ */
11795
+ Components.Schemas.WrittenVariantVersion;
11796
+ export type $400 = /**
11797
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11798
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11799
+ * so a client can branch on the kind of failure rather than parse the message.
11800
+ * Referenced only by the operations that emit these codes; every other operation
11801
+ * keeps the plain `Error` shape.
11802
+ *
11803
+ */
11804
+ Components.Schemas.ConditionalPricingError;
11805
+ export type $404 = /**
11806
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11807
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11808
+ * so a client can branch on the kind of failure rather than parse the message.
11809
+ * Referenced only by the operations that emit these codes; every other operation
11810
+ * keeps the plain `Error` shape.
11811
+ *
11812
+ */
11813
+ Components.Schemas.ConditionalPricingError;
11814
+ export type $409 = /**
11815
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11816
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11817
+ * so a client can branch on the kind of failure rather than parse the message.
11818
+ * Referenced only by the operations that emit these codes; every other operation
11819
+ * keeps the plain `Error` shape.
11820
+ *
11821
+ */
11822
+ Components.Schemas.ConditionalPricingError;
11823
+ }
11824
+ }
11825
+ namespace $ResolveConditionalEntity {
11826
+ export type RequestBody = Components.Schemas.ResolveConditionalEntityRequest;
11827
+ namespace Responses {
11828
+ export type $200 = Components.Schemas.ResolvedVariants;
11829
+ export type $400 = /**
11830
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11831
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11832
+ * so a client can branch on the kind of failure rather than parse the message.
11833
+ * Referenced only by the operations that emit these codes; every other operation
11834
+ * keeps the plain `Error` shape.
11835
+ *
11836
+ */
11837
+ Components.Schemas.ConditionalPricingError;
11838
+ export type $404 = /**
11839
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11840
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11841
+ * so a client can branch on the kind of failure rather than parse the message.
11842
+ * Referenced only by the operations that emit these codes; every other operation
11843
+ * keeps the plain `Error` shape.
11844
+ *
11845
+ */
11846
+ Components.Schemas.ConditionalPricingError;
11847
+ export type $409 = /**
11848
+ * An error from a conditional-pricing operation, carrying a machine-readable `code`
11849
+ * from the conditional-pricing vocabulary plus any structured data about the failure,
11850
+ * so a client can branch on the kind of failure rather than parse the message.
11851
+ * Referenced only by the operations that emit these codes; every other operation
11852
+ * keeps the plain `Error` shape.
11853
+ *
11854
+ */
11855
+ Components.Schemas.ConditionalPricingError;
10287
11856
  }
10288
11857
  }
10289
11858
  namespace $SaveCredentials {
@@ -11023,7 +12592,7 @@ declare namespace Paths {
11023
12592
  }
11024
12593
  namespace PutOrder {
11025
12594
  namespace Parameters {
11026
- export type Id = string;
12595
+ export type Id = Components.Schemas.EntityId /* uuid */;
11027
12596
  }
11028
12597
  export interface PathParameters {
11029
12598
  id: Parameters.Id;
@@ -11600,7 +13169,7 @@ declare namespace Paths {
11600
13169
 
11601
13170
  export interface OperationMethods {
11602
13171
  /**
11603
- * $calculatePricingDetails - calculatePricingDetails
13172
+ * $calculatePricingDetails - $calculatePricingDetails
11604
13173
  *
11605
13174
  * Computes a set of pricing details that can be persisted on an entity with the pricing capability enabled, e.g: Orders or Contracts.
11606
13175
  */
@@ -11630,7 +13199,7 @@ export interface OperationMethods {
11630
13199
  config?: AxiosRequestConfig
11631
13200
  ): OperationResponse<Paths.PutOrder.Responses.$200>
11632
13201
  /**
11633
- * $checkoutCart - checkoutCart
13202
+ * $checkoutCart - $checkoutCart
11634
13203
  *
11635
13204
  * Checkouts a cart and executes the specified checkout `mode` process.
11636
13205
  *
@@ -11651,7 +13220,7 @@ export interface OperationMethods {
11651
13220
  config?: AxiosRequestConfig
11652
13221
  ): OperationResponse<Paths.$CheckoutCart.Responses.$200>
11653
13222
  /**
11654
- * $searchCatalog - searchCatalog
13223
+ * $searchCatalog - $searchCatalog
11655
13224
  *
11656
13225
  * Provides a querying functionalities over products and prices of the Catalog for a given organization.
11657
13226
  */
@@ -11661,7 +13230,7 @@ export interface OperationMethods {
11661
13230
  config?: AxiosRequestConfig
11662
13231
  ): OperationResponse<Paths.$SearchCatalog.Responses.$200>
11663
13232
  /**
11664
- * $privateSearchCatalog - privateSearchCatalog
13233
+ * $privateSearchCatalog - $privateSearchCatalog
11665
13234
  *
11666
13235
  * Provides a querying functionalities over products and prices of the Catalog for a given organization.
11667
13236
  */
@@ -11671,7 +13240,7 @@ export interface OperationMethods {
11671
13240
  config?: AxiosRequestConfig
11672
13241
  ): OperationResponse<Paths.$PrivateSearchCatalog.Responses.$200>
11673
13242
  /**
11674
- * $validatePromoCodes - validatePromoCodes
13243
+ * $validatePromoCodes - $validatePromoCodes
11675
13244
  *
11676
13245
  * Validate a list of promo codes against a list of coupons
11677
13246
  */
@@ -11681,7 +13250,7 @@ export interface OperationMethods {
11681
13250
  config?: AxiosRequestConfig
11682
13251
  ): OperationResponse<Paths.$ValidatePromoCodes.Responses.$200>
11683
13252
  /**
11684
- * $availabilityCheck - availabilityCheck
13253
+ * $availabilityCheck - $availabilityCheck
11685
13254
  *
11686
13255
  * The availability check endpoint
11687
13256
  */
@@ -11691,7 +13260,7 @@ export interface OperationMethods {
11691
13260
  config?: AxiosRequestConfig
11692
13261
  ): OperationResponse<Paths.$AvailabilityCheck.Responses.$200>
11693
13262
  /**
11694
- * $validateAvailabilityFile - validateAvailabilityFile
13263
+ * $validateAvailabilityFile - $validateAvailabilityFile
11695
13264
  *
11696
13265
  * Validates an availability file, it returns an array of errors if the file is invalid
11697
13266
  */
@@ -11701,7 +13270,7 @@ export interface OperationMethods {
11701
13270
  config?: AxiosRequestConfig
11702
13271
  ): OperationResponse<Paths.$ValidateAvailabilityFile.Responses.$200>
11703
13272
  /**
11704
- * $historicMarketPrices - historicMarketPrices
13273
+ * $historicMarketPrices - $historicMarketPrices
11705
13274
  *
11706
13275
  * Get a series of historic energy prices for a given time period, market and bidding zone.
11707
13276
  */
@@ -11711,7 +13280,7 @@ export interface OperationMethods {
11711
13280
  config?: AxiosRequestConfig
11712
13281
  ): OperationResponse<Paths.$HistoricMarketPrices.Responses.$200>
11713
13282
  /**
11714
- * $averageMarketPrice - averageMarketPrice
13283
+ * $averageMarketPrice - $averageMarketPrice
11715
13284
  *
11716
13285
  * Get the average energy prices for a given time period, market and bidding zone.
11717
13286
  */
@@ -11721,7 +13290,7 @@ export interface OperationMethods {
11721
13290
  config?: AxiosRequestConfig
11722
13291
  ): OperationResponse<Paths.$AverageMarketPrice.Responses.$200>
11723
13292
  /**
11724
- * $searchExternalProducts - searchExternalProducts
13293
+ * $searchExternalProducts - $searchExternalProducts
11725
13294
  *
11726
13295
  * Returns the list of available products with computed prices based on a given context and for a given org integration.
11727
13296
  */
@@ -11731,7 +13300,7 @@ export interface OperationMethods {
11731
13300
  config?: AxiosRequestConfig
11732
13301
  ): OperationResponse<Paths.$SearchExternalProducts.Responses.$200>
11733
13302
  /**
11734
- * $searchExternalProductRecommendations - searchExternalProductRecommendations
13303
+ * $searchExternalProductRecommendations - $searchExternalProductRecommendations
11735
13304
  *
11736
13305
  * Returns the list of available product recommendations with computed prices based on a given context and for a given org integration.
11737
13306
  */
@@ -11741,7 +13310,7 @@ export interface OperationMethods {
11741
13310
  config?: AxiosRequestConfig
11742
13311
  ): OperationResponse<Paths.$SearchExternalProductRecommendations.Responses.$200>
11743
13312
  /**
11744
- * $searchProviders - searchProviders
13313
+ * $searchProviders - $searchProviders
11745
13314
  *
11746
13315
  * Returns the list of providers available based on a given location
11747
13316
  */
@@ -11751,7 +13320,7 @@ export interface OperationMethods {
11751
13320
  config?: AxiosRequestConfig
11752
13321
  ): OperationResponse<Paths.$SearchProviders.Responses.$200>
11753
13322
  /**
11754
- * $searchStreets - searchStreets
13323
+ * $searchStreets - $searchStreets
11755
13324
  *
11756
13325
  * Returns the list of streets available for a given postal code and city
11757
13326
  */
@@ -11761,7 +13330,7 @@ export interface OperationMethods {
11761
13330
  config?: AxiosRequestConfig
11762
13331
  ): OperationResponse<Paths.$SearchStreets.Responses.$200>
11763
13332
  /**
11764
- * $computePrice - calculatePricingDetails
13333
+ * $computePrice - $computePrice
11765
13334
  *
11766
13335
  * Returns the price for a given product type based on location and consumption
11767
13336
  */
@@ -11771,7 +13340,7 @@ export interface OperationMethods {
11771
13340
  config?: AxiosRequestConfig
11772
13341
  ): OperationResponse<Paths.$ComputePrice.Responses.$200>
11773
13342
  /**
11774
- * $getCredentials - getCredentials
13343
+ * $getCredentials - $getCredentials
11775
13344
  *
11776
13345
  * Gets the credentials for a given integration / organization
11777
13346
  */
@@ -11781,7 +13350,7 @@ export interface OperationMethods {
11781
13350
  config?: AxiosRequestConfig
11782
13351
  ): OperationResponse<Paths.$GetCredentials.Responses.$200>
11783
13352
  /**
11784
- * $saveCredentials - saveCredentials
13353
+ * $saveCredentials - $saveCredentials
11785
13354
  *
11786
13355
  * Saves the credentials for a given integration / organization
11787
13356
  */
@@ -11791,7 +13360,7 @@ export interface OperationMethods {
11791
13360
  config?: AxiosRequestConfig
11792
13361
  ): OperationResponse<Paths.$SaveCredentials.Responses.$204>
11793
13362
  /**
11794
- * $deleteCredentials - deleteCredentials
13363
+ * $deleteCredentials - $deleteCredentials
11795
13364
  *
11796
13365
  * Delete the credentials for a given integration / organization
11797
13366
  */
@@ -11801,7 +13370,7 @@ export interface OperationMethods {
11801
13370
  config?: AxiosRequestConfig
11802
13371
  ): OperationResponse<Paths.$DeleteCredentials.Responses.$204>
11803
13372
  /**
11804
- * $getExternalCatalogProducts - getExternalCatalogProducts
13373
+ * $getExternalCatalogProducts - $getExternalCatalogProducts
11805
13374
  *
11806
13375
  * Returns the list of available external catalog products with computed prices based on a given context
11807
13376
  */
@@ -11811,7 +13380,7 @@ export interface OperationMethods {
11811
13380
  config?: AxiosRequestConfig
11812
13381
  ): OperationResponse<Paths.$GetExternalCatalogProducts.Responses.$200>
11813
13382
  /**
11814
- * $getExternalCatalogProductRecommendations - getExternalCatalogProductRecommendations
13383
+ * $getExternalCatalogProductRecommendations - $getExternalCatalogProductRecommendations
11815
13384
  *
11816
13385
  * Returns the list of available external catalog products recommendations based on a given context
11817
13386
  */
@@ -11821,7 +13390,7 @@ export interface OperationMethods {
11821
13390
  config?: AxiosRequestConfig
11822
13391
  ): OperationResponse<Paths.$GetExternalCatalogProductRecommendations.Responses.$200>
11823
13392
  /**
11824
- * $productRecommendations - productRecommendations
13393
+ * $productRecommendations - $productRecommendations
11825
13394
  *
11826
13395
  * Get a list of product recommendations based on the search parameters.
11827
13396
  */
@@ -11830,12 +13399,294 @@ export interface OperationMethods {
11830
13399
  data?: Paths.$ProductRecommendations.RequestBody,
11831
13400
  config?: AxiosRequestConfig
11832
13401
  ): OperationResponse<Paths.$ProductRecommendations.Responses.$200>
13402
+ /**
13403
+ * $getConditionSets - $getConditionSets
13404
+ *
13405
+ * Returns the condition sets built in for one conditional entity type: the situations a
13406
+ * conditional Product, Price or Coupon is commonly varied by, ready to be copied into that
13407
+ * schema's `conditions` array and extended or modified from there.
13408
+ *
13409
+ * Which sets exist depends on the schema — an offer window is a Product's dimension, a delivery
13410
+ * area is a Price's and a Coupon's — so only the sets built in for `slug` are returned.
13411
+ *
13412
+ * Static, read-only reference data. The catalog is the same for every organization and is not
13413
+ * applied to any schema by this endpoint — adding conditions to a schema stays an Entity API
13414
+ * write.
13415
+ *
13416
+ */
13417
+ '$getConditionSets'(
13418
+ parameters?: Parameters<Paths.$GetConditionSets.PathParameters> | null,
13419
+ data?: any,
13420
+ config?: AxiosRequestConfig
13421
+ ): OperationResponse<Paths.$GetConditionSets.Responses.$200>
13422
+ /**
13423
+ * $resolveConditionalEntity - $resolveConditionalEntity
13424
+ *
13425
+ * Resolves which of a conditional entity's variants apply to a situation, and returns each one
13426
+ * composed: the base entity overlaid with the values of the version in effect at `as_of`.
13427
+ *
13428
+ * Resolution is two selections in a fixed order — the variant, by matching `context` against
13429
+ * the conditions each variant pins; then the version, by `as_of`. It is always scoped to one
13430
+ * logical entity, so it stays a cheap, predictable lookup rather than an open search.
13431
+ *
13432
+ * Matching follows two rules worth knowing before assembling a context. A condition a variant
13433
+ * does **not** pin matches any value, which is what lets a condition be added to a schema
13434
+ * without breaking the variants that already exist. A condition **missing from `context`**,
13435
+ * however, does not satisfy one a variant pinned: an incomplete integration resolves to
13436
+ * nothing rather than silently matching another segment's variants.
13437
+ *
13438
+ * When nothing matches, the entity's `default` variant is returned if it has one. There is no
13439
+ * implicit fallback to the unmodified base entity — its values are the ones no variant
13440
+ * overrode, which is not an answer to "what applies here".
13441
+ *
13442
+ * Availability is a separate mechanism and is never consulted here.
13443
+ *
13444
+ */
13445
+ '$resolveConditionalEntity'(
13446
+ parameters?: Parameters<UnknownParamsObject> | null,
13447
+ data?: Paths.$ResolveConditionalEntity.RequestBody,
13448
+ config?: AxiosRequestConfig
13449
+ ): OperationResponse<Paths.$ResolveConditionalEntity.Responses.$200>
13450
+ /**
13451
+ * $createConditionalVariant - $createConditionalVariant
13452
+ *
13453
+ * Creates one variant of a conditional entity, together with the first version carrying its
13454
+ * values. Never two calls: a variant that existed without a version would be an entity holding
13455
+ * a condition tuple it cannot answer with.
13456
+ *
13457
+ * The body pins the situation the variant applies to. Pins are exact values only — predicates
13458
+ * are a read-side concept and are rejected here — and are stored canonicalized for their
13459
+ * condition's type, so two spellings of one instant, or one town written two ways, are one
13460
+ * variant rather than two that no context can tell apart.
13461
+ *
13462
+ * Three write rules are worth knowing before the first call:
13463
+ *
13464
+ * - A variant must pin at least one condition or be marked `default`. A variant pinning nothing
13465
+ * would be a universal wildcard matching every resolve, which is a far more dangerous thing
13466
+ * than a fallback and far easier to create by accident.
13467
+ * - `default` is a property of the variant, set by the `default` flag, and is never a value in
13468
+ * `conditions` — not even `false`. A `default` variant cannot pin anything else, and an entity
13469
+ * can have only one, enforced by the ordinary condition-tuple guard rather than by a rule of
13470
+ * its own. Any entity may have one; nothing is declared in the schema to allow it.
13471
+ * - Condition values are immutable afterwards. A variant's identity is the situation it applies
13472
+ * to, and orders and contracts pin it. **A condition added to a schema that already has
13473
+ * variants is effectively one-way**: every existing variant is a wildcard on the new
13474
+ * dimension, but the first variant that pins it is ambiguous against all of them, and
13475
+ * retro-pinning the others is blocked by this same rule.
13476
+ *
13477
+ * Attribute values are applied only for attributes currently carrying `overridable_attribute`.
13478
+ * Metadata and non-overridable fields present in the body are ignored rather than rejected, so a
13479
+ * client working from a slightly stale schema snapshot still succeeds.
13480
+ *
13481
+ * `variant_id` is always server-generated and returned, and is not accepted in the body — the
13482
+ * request schema admits no such property. It is the durable key orders and contracts pin, so it
13483
+ * cannot be something two independent importers could collide on.
13484
+ *
13485
+ */
13486
+ '$createConditionalVariant'(
13487
+ parameters?: Parameters<Paths.$CreateConditionalVariant.PathParameters> | null,
13488
+ data?: Paths.$CreateConditionalVariant.RequestBody,
13489
+ config?: AxiosRequestConfig
13490
+ ): OperationResponse<Paths.$CreateConditionalVariant.Responses.$201>
13491
+ /**
13492
+ * $getActiveConditionalVariantVersion - $getActiveConditionalVariantVersion
13493
+ *
13494
+ * Returns the version of this variant that is currently in effect — the one with the latest
13495
+ * `valid_from` at or before now.
13496
+ *
13497
+ * The "open this variant" read: no date arithmetic is asked of the caller, and what comes back
13498
+ * carries the `_revision` a write to that version has to be sent with, so an editing screen can
13499
+ * load and save without working out which version it is looking at.
13500
+ *
13501
+ * What is returned is the version's own attribute overrides, not the base entity overlaid with
13502
+ * them. Composing the two is what `:resolve` answers.
13503
+ *
13504
+ * A variant staged ahead of its launch has versions but none of them in effect, and is reported
13505
+ * as having none rather than as not existing — the two are fixed differently.
13506
+ *
13507
+ */
13508
+ '$getActiveConditionalVariantVersion'(
13509
+ parameters?: Parameters<Paths.$GetActiveConditionalVariantVersion.PathParameters> | null,
13510
+ data?: any,
13511
+ config?: AxiosRequestConfig
13512
+ ): OperationResponse<Paths.$GetActiveConditionalVariantVersion.Responses.$200>
13513
+ /**
13514
+ * $replaceActiveConditionalVariantVersion - $replaceActiveConditionalVariantVersion
13515
+ *
13516
+ * Replaces the values of the version currently in effect, wholesale.
13517
+ *
13518
+ * The body is the complete set of attribute overrides: an attribute the variant may override and
13519
+ * that is absent from it stops being overridden. Attributes the variant may **not** override are
13520
+ * ignored where the body carries them, and their stored value is kept rather than dropped — a
13521
+ * routine full-snapshot write must not erase an override the moment its attribute's flag happens
13522
+ * to be off.
13523
+ *
13524
+ * Editing the version in effect is the ordinary way a live price is corrected, and warns about
13525
+ * nothing: what changes is what that version *says*, not which version is in effect.
13526
+ *
13527
+ * Neither `valid_from` nor `conditions` can be changed here. Both are accepted when they match
13528
+ * what is stored, so a client building its body from the version it loaded need not strip them
13529
+ * out first, and both are refused when they name something else.
13530
+ *
13531
+ */
13532
+ '$replaceActiveConditionalVariantVersion'(
13533
+ parameters?: Parameters<Paths.$ReplaceActiveConditionalVariantVersion.PathParameters> | null,
13534
+ data?: Paths.$ReplaceActiveConditionalVariantVersion.RequestBody,
13535
+ config?: AxiosRequestConfig
13536
+ ): OperationResponse<Paths.$ReplaceActiveConditionalVariantVersion.Responses.$200>
13537
+ /**
13538
+ * $patchActiveConditionalVariantVersion - $patchActiveConditionalVariantVersion
13539
+ *
13540
+ * Changes only the fields it names on the version currently in effect.
13541
+ *
13542
+ * Everything the body does not mention is left as stored — the "just nudge this number" write. A
13543
+ * `null` is a value like any other rather than a deletion; a client that wants an attribute to
13544
+ * stop being overridden sends the complete snapshot without it through `PUT`.
13545
+ *
13546
+ * Attempting to change a pinned condition value is refused here in particular: a partial update
13547
+ * is the path a caller reaches for by accident, and a variant's conditions are the situation it
13548
+ * applies to, which the orders and contracts pinning it depend on not shifting.
13549
+ *
13550
+ */
13551
+ '$patchActiveConditionalVariantVersion'(
13552
+ parameters?: Parameters<Paths.$PatchActiveConditionalVariantVersion.PathParameters> | null,
13553
+ data?: Paths.$PatchActiveConditionalVariantVersion.RequestBody,
13554
+ config?: AxiosRequestConfig
13555
+ ): OperationResponse<Paths.$PatchActiveConditionalVariantVersion.Responses.$200>
13556
+ /**
13557
+ * $deleteConditionalVariant - $deleteConditionalVariant
13558
+ *
13559
+ * Removes one variant of a conditional entity: the condition tuple it holds, its registration
13560
+ * in the search index, and every version it accumulated.
13561
+ *
13562
+ * Two phases. The first frees the tuple and deregisters the variant, and is what makes the
13563
+ * combination of condition values immediately reusable — the second removes the version rows in
13564
+ * batches afterwards. A response arrives only once both have finished for this request, but the
13565
+ * tuple is reusable from the moment the first completes, whether or not the second did: a
13566
+ * variant with more versions than one transaction can carry is the ordinary case, not an edge
13567
+ * one. An interrupted delete is safe to send again; it picks up where it stopped.
13568
+ *
13569
+ * Nothing is archived. A variant an order or contract pins stops resolving, and hydration drops
13570
+ * the reference leniently rather than failing the read.
13571
+ *
13572
+ * This removes the **variant**, not one of its versions. To remove a single version, name it on
13573
+ * `…/variants/{variant_id}/versions/{valid_from}` — including the one currently in effect, which
13574
+ * deliberately has no "delete whichever is live" shorthand: that is exactly the write nobody
13575
+ * should be able to ask for without saying which version they meant.
13576
+ *
13577
+ */
13578
+ '$deleteConditionalVariant'(
13579
+ parameters?: Parameters<Paths.$DeleteConditionalVariant.PathParameters> | null,
13580
+ data?: any,
13581
+ config?: AxiosRequestConfig
13582
+ ): OperationResponse<Paths.$DeleteConditionalVariant.Responses.$200>
13583
+ /**
13584
+ * $appendConditionalVariantVersion - $appendConditionalVariantVersion
13585
+ *
13586
+ * Appends a version to a variant: a new set of values taking effect at its own instant.
13587
+ *
13588
+ * This is how a price changes. No version carries an end date and nothing is superseded
13589
+ * explicitly — the version in effect at an instant is simply the one with the latest `valid_from`
13590
+ * at or before it, so appending a later version is the whole of "this is the new price from then
13591
+ * on". A version dated in the future is staged and excluded from resolution until its date.
13592
+ *
13593
+ * **A version is never refused for being late.** A `valid_from` in the past is written like any
13594
+ * other and answered with warnings in `warnings` naming what it moved — what resolves now, what a
13595
+ * past-dated read returns, or both. Correcting a price that took effect last week is ordinary
13596
+ * work; the alternative, deleting and recreating the variant, breaks every order and contract
13597
+ * pinning its id.
13598
+ *
13599
+ * What is refused is appending at a `valid_from` the variant already has: that write means either
13600
+ * "replace it" or "and also this", and only the caller knows which. The two operations both
13601
+ * exist, on the dated version path.
13602
+ *
13603
+ * The variant's `conditions` are its identity and are fixed at creation; they may be sent back
13604
+ * unchanged but never changed.
13605
+ *
13606
+ */
13607
+ '$appendConditionalVariantVersion'(
13608
+ parameters?: Parameters<Paths.$AppendConditionalVariantVersion.PathParameters> | null,
13609
+ data?: Paths.$AppendConditionalVariantVersion.RequestBody,
13610
+ config?: AxiosRequestConfig
13611
+ ): OperationResponse<Paths.$AppendConditionalVariantVersion.Responses.$201>
13612
+ /**
13613
+ * $getConditionalVariantVersion - $getConditionalVariantVersion
13614
+ *
13615
+ * Returns one specific version of a variant, by the instant it takes effect — what a form editing
13616
+ * that version loads.
13617
+ *
13618
+ * Exact, never nearest: an instant the variant has no version at is a not-found rather than the
13619
+ * version that would be in effect at it. That question is the shorthand read's, or `:resolve`'s.
13620
+ *
13621
+ */
13622
+ '$getConditionalVariantVersion'(
13623
+ parameters?: Parameters<Paths.$GetConditionalVariantVersion.PathParameters> | null,
13624
+ data?: any,
13625
+ config?: AxiosRequestConfig
13626
+ ): OperationResponse<Paths.$GetConditionalVariantVersion.Responses.$200>
13627
+ /**
13628
+ * $replaceConditionalVariantVersion - $replaceConditionalVariantVersion
13629
+ *
13630
+ * Replaces one version's values wholesale, addressed by its `valid_from`.
13631
+ *
13632
+ * Editable whatever its date, at both ends of the timeline: a scheduled version must stay
13633
+ * editable so a staged price can be corrected before it goes live rather than accumulating dead
13634
+ * versions beside it, and a past one must stay editable because correcting history is ordinary
13635
+ * work. Writing a superseded version is answered with a warning naming what a past-dated read now
13636
+ * returns; it is not refused.
13637
+ *
13638
+ * Attributes the variant may not override are ignored where the body carries them, and their
13639
+ * stored value is preserved rather than dropped.
13640
+ *
13641
+ */
13642
+ '$replaceConditionalVariantVersion'(
13643
+ parameters?: Parameters<Paths.$ReplaceConditionalVariantVersion.PathParameters> | null,
13644
+ data?: Paths.$ReplaceConditionalVariantVersion.RequestBody,
13645
+ config?: AxiosRequestConfig
13646
+ ): OperationResponse<Paths.$ReplaceConditionalVariantVersion.Responses.$200>
13647
+ /**
13648
+ * $patchConditionalVariantVersion - $patchConditionalVariantVersion
13649
+ *
13650
+ * Changes only the fields it names on one version, addressed by its `valid_from`.
13651
+ *
13652
+ * Everything the body does not mention is left as stored. A partial update that tries to change a
13653
+ * pinned condition value is refused: condition values are immutable after a variant is created,
13654
+ * and this is the path that rule is most likely to be broken on by accident.
13655
+ *
13656
+ */
13657
+ '$patchConditionalVariantVersion'(
13658
+ parameters?: Parameters<Paths.$PatchConditionalVariantVersion.PathParameters> | null,
13659
+ data?: Paths.$PatchConditionalVariantVersion.RequestBody,
13660
+ config?: AxiosRequestConfig
13661
+ ): OperationResponse<Paths.$PatchConditionalVariantVersion.Responses.$200>
13662
+ /**
13663
+ * $deleteConditionalVariantVersion - $deleteConditionalVariantVersion
13664
+ *
13665
+ * Removes one version of a variant.
13666
+ *
13667
+ * Withdrawing a scheduled adjustment is what this is for, and deleting a future version warns
13668
+ * about nothing — nothing that has resolved, or could have resolved, changes. Deleting a version
13669
+ * that has taken effect is allowed too and answered with a warning: it changes what a past-dated
13670
+ * read returns, and if it was the version in effect it changes what resolves now.
13671
+ *
13672
+ * **A variant's last remaining version cannot be deleted.** Such a variant would still hold its
13673
+ * condition tuple and still be selectable, and then resolve to nothing — which is a variant delete
13674
+ * wearing a version delete's clothes. Delete the variant instead; that frees the tuple too.
13675
+ *
13676
+ * The variant itself is untouched: it keeps its conditions, its tuple and its place in the index.
13677
+ *
13678
+ */
13679
+ '$deleteConditionalVariantVersion'(
13680
+ parameters?: Parameters<Paths.$DeleteConditionalVariantVersion.QueryParameters & Paths.$DeleteConditionalVariantVersion.PathParameters> | null,
13681
+ data?: any,
13682
+ config?: AxiosRequestConfig
13683
+ ): OperationResponse<Paths.$DeleteConditionalVariantVersion.Responses.$200>
11833
13684
  }
11834
13685
 
11835
13686
  export interface PathsDictionary {
11836
13687
  ['/v1/pricing:compute']: {
11837
13688
  /**
11838
- * $calculatePricingDetails - calculatePricingDetails
13689
+ * $calculatePricingDetails - $calculatePricingDetails
11839
13690
  *
11840
13691
  * Computes a set of pricing details that can be persisted on an entity with the pricing capability enabled, e.g: Orders or Contracts.
11841
13692
  */
@@ -11871,7 +13722,7 @@ export interface PathsDictionary {
11871
13722
  }
11872
13723
  ['/v1/public/cart:checkout']: {
11873
13724
  /**
11874
- * $checkoutCart - checkoutCart
13725
+ * $checkoutCart - $checkoutCart
11875
13726
  *
11876
13727
  * Checkouts a cart and executes the specified checkout `mode` process.
11877
13728
  *
@@ -11894,7 +13745,7 @@ export interface PathsDictionary {
11894
13745
  }
11895
13746
  ['/v1/public/catalog']: {
11896
13747
  /**
11897
- * $searchCatalog - searchCatalog
13748
+ * $searchCatalog - $searchCatalog
11898
13749
  *
11899
13750
  * Provides a querying functionalities over products and prices of the Catalog for a given organization.
11900
13751
  */
@@ -11906,7 +13757,7 @@ export interface PathsDictionary {
11906
13757
  }
11907
13758
  ['/v1/catalog']: {
11908
13759
  /**
11909
- * $privateSearchCatalog - privateSearchCatalog
13760
+ * $privateSearchCatalog - $privateSearchCatalog
11910
13761
  *
11911
13762
  * Provides a querying functionalities over products and prices of the Catalog for a given organization.
11912
13763
  */
@@ -11918,7 +13769,7 @@ export interface PathsDictionary {
11918
13769
  }
11919
13770
  ['/v1/public/validate-promo-codes']: {
11920
13771
  /**
11921
- * $validatePromoCodes - validatePromoCodes
13772
+ * $validatePromoCodes - $validatePromoCodes
11922
13773
  *
11923
13774
  * Validate a list of promo codes against a list of coupons
11924
13775
  */
@@ -11930,7 +13781,7 @@ export interface PathsDictionary {
11930
13781
  }
11931
13782
  ['/v1/public/availability:check']: {
11932
13783
  /**
11933
- * $availabilityCheck - availabilityCheck
13784
+ * $availabilityCheck - $availabilityCheck
11934
13785
  *
11935
13786
  * The availability check endpoint
11936
13787
  */
@@ -11942,7 +13793,7 @@ export interface PathsDictionary {
11942
13793
  }
11943
13794
  ['/v1/validate-availability/{id}']: {
11944
13795
  /**
11945
- * $validateAvailabilityFile - validateAvailabilityFile
13796
+ * $validateAvailabilityFile - $validateAvailabilityFile
11946
13797
  *
11947
13798
  * Validates an availability file, it returns an array of errors if the file is invalid
11948
13799
  */
@@ -11954,7 +13805,7 @@ export interface PathsDictionary {
11954
13805
  }
11955
13806
  ['/v1/public/historicMarketPrices']: {
11956
13807
  /**
11957
- * $historicMarketPrices - historicMarketPrices
13808
+ * $historicMarketPrices - $historicMarketPrices
11958
13809
  *
11959
13810
  * Get a series of historic energy prices for a given time period, market and bidding zone.
11960
13811
  */
@@ -11966,7 +13817,7 @@ export interface PathsDictionary {
11966
13817
  }
11967
13818
  ['/v1/public/averageMarketPrice']: {
11968
13819
  /**
11969
- * $averageMarketPrice - averageMarketPrice
13820
+ * $averageMarketPrice - $averageMarketPrice
11970
13821
  *
11971
13822
  * Get the average energy prices for a given time period, market and bidding zone.
11972
13823
  */
@@ -11978,7 +13829,7 @@ export interface PathsDictionary {
11978
13829
  }
11979
13830
  ['/v1/public/integration/{integrationId}/products']: {
11980
13831
  /**
11981
- * $searchExternalProducts - searchExternalProducts
13832
+ * $searchExternalProducts - $searchExternalProducts
11982
13833
  *
11983
13834
  * Returns the list of available products with computed prices based on a given context and for a given org integration.
11984
13835
  */
@@ -11990,7 +13841,7 @@ export interface PathsDictionary {
11990
13841
  }
11991
13842
  ['/v1/public/integration/{integrationId}/product-recommendations']: {
11992
13843
  /**
11993
- * $searchExternalProductRecommendations - searchExternalProductRecommendations
13844
+ * $searchExternalProductRecommendations - $searchExternalProductRecommendations
11994
13845
  *
11995
13846
  * Returns the list of available product recommendations with computed prices based on a given context and for a given org integration.
11996
13847
  */
@@ -12002,7 +13853,7 @@ export interface PathsDictionary {
12002
13853
  }
12003
13854
  ['/v1/public/integration/{integrationId}/providers:search']: {
12004
13855
  /**
12005
- * $searchProviders - searchProviders
13856
+ * $searchProviders - $searchProviders
12006
13857
  *
12007
13858
  * Returns the list of providers available based on a given location
12008
13859
  */
@@ -12014,7 +13865,7 @@ export interface PathsDictionary {
12014
13865
  }
12015
13866
  ['/v1/public/integration/{integrationId}/streets:search']: {
12016
13867
  /**
12017
- * $searchStreets - searchStreets
13868
+ * $searchStreets - $searchStreets
12018
13869
  *
12019
13870
  * Returns the list of streets available for a given postal code and city
12020
13871
  */
@@ -12026,7 +13877,7 @@ export interface PathsDictionary {
12026
13877
  }
12027
13878
  ['/v1/public/integration/{integrationId}/compute-price']: {
12028
13879
  /**
12029
- * $computePrice - calculatePricingDetails
13880
+ * $computePrice - $computePrice
12030
13881
  *
12031
13882
  * Returns the price for a given product type based on location and consumption
12032
13883
  */
@@ -12038,7 +13889,7 @@ export interface PathsDictionary {
12038
13889
  }
12039
13890
  ['/v1/integration/{integrationId}/credentials']: {
12040
13891
  /**
12041
- * $getCredentials - getCredentials
13892
+ * $getCredentials - $getCredentials
12042
13893
  *
12043
13894
  * Gets the credentials for a given integration / organization
12044
13895
  */
@@ -12050,7 +13901,7 @@ export interface PathsDictionary {
12050
13901
  }
12051
13902
  ['/v1/integration/{integrationId}/credentials:save']: {
12052
13903
  /**
12053
- * $saveCredentials - saveCredentials
13904
+ * $saveCredentials - $saveCredentials
12054
13905
  *
12055
13906
  * Saves the credentials for a given integration / organization
12056
13907
  */
@@ -12062,7 +13913,7 @@ export interface PathsDictionary {
12062
13913
  }
12063
13914
  ['/v1/integration/{integrationId}/credentials:delete']: {
12064
13915
  /**
12065
- * $deleteCredentials - deleteCredentials
13916
+ * $deleteCredentials - $deleteCredentials
12066
13917
  *
12067
13918
  * Delete the credentials for a given integration / organization
12068
13919
  */
@@ -12074,7 +13925,7 @@ export interface PathsDictionary {
12074
13925
  }
12075
13926
  ['/v1/public/external-catalog/products']: {
12076
13927
  /**
12077
- * $getExternalCatalogProducts - getExternalCatalogProducts
13928
+ * $getExternalCatalogProducts - $getExternalCatalogProducts
12078
13929
  *
12079
13930
  * Returns the list of available external catalog products with computed prices based on a given context
12080
13931
  */
@@ -12086,7 +13937,7 @@ export interface PathsDictionary {
12086
13937
  }
12087
13938
  ['/v1/public/external-catalog/product-recommendations']: {
12088
13939
  /**
12089
- * $getExternalCatalogProductRecommendations - getExternalCatalogProductRecommendations
13940
+ * $getExternalCatalogProductRecommendations - $getExternalCatalogProductRecommendations
12090
13941
  *
12091
13942
  * Returns the list of available external catalog products recommendations based on a given context
12092
13943
  */
@@ -12098,7 +13949,7 @@ export interface PathsDictionary {
12098
13949
  }
12099
13950
  ['/v1/public/product-recommendations']: {
12100
13951
  /**
12101
- * $productRecommendations - productRecommendations
13952
+ * $productRecommendations - $productRecommendations
12102
13953
  *
12103
13954
  * Get a list of product recommendations based on the search parameters.
12104
13955
  */
@@ -12108,6 +13959,300 @@ export interface PathsDictionary {
12108
13959
  config?: AxiosRequestConfig
12109
13960
  ): OperationResponse<Paths.$ProductRecommendations.Responses.$200>
12110
13961
  }
13962
+ ['/v1/conditional-pricing/{slug}/condition-sets']: {
13963
+ /**
13964
+ * $getConditionSets - $getConditionSets
13965
+ *
13966
+ * Returns the condition sets built in for one conditional entity type: the situations a
13967
+ * conditional Product, Price or Coupon is commonly varied by, ready to be copied into that
13968
+ * schema's `conditions` array and extended or modified from there.
13969
+ *
13970
+ * Which sets exist depends on the schema — an offer window is a Product's dimension, a delivery
13971
+ * area is a Price's and a Coupon's — so only the sets built in for `slug` are returned.
13972
+ *
13973
+ * Static, read-only reference data. The catalog is the same for every organization and is not
13974
+ * applied to any schema by this endpoint — adding conditions to a schema stays an Entity API
13975
+ * write.
13976
+ *
13977
+ */
13978
+ 'get'(
13979
+ parameters?: Parameters<Paths.$GetConditionSets.PathParameters> | null,
13980
+ data?: any,
13981
+ config?: AxiosRequestConfig
13982
+ ): OperationResponse<Paths.$GetConditionSets.Responses.$200>
13983
+ }
13984
+ ['/v1/conditional-pricing:resolve']: {
13985
+ /**
13986
+ * $resolveConditionalEntity - $resolveConditionalEntity
13987
+ *
13988
+ * Resolves which of a conditional entity's variants apply to a situation, and returns each one
13989
+ * composed: the base entity overlaid with the values of the version in effect at `as_of`.
13990
+ *
13991
+ * Resolution is two selections in a fixed order — the variant, by matching `context` against
13992
+ * the conditions each variant pins; then the version, by `as_of`. It is always scoped to one
13993
+ * logical entity, so it stays a cheap, predictable lookup rather than an open search.
13994
+ *
13995
+ * Matching follows two rules worth knowing before assembling a context. A condition a variant
13996
+ * does **not** pin matches any value, which is what lets a condition be added to a schema
13997
+ * without breaking the variants that already exist. A condition **missing from `context`**,
13998
+ * however, does not satisfy one a variant pinned: an incomplete integration resolves to
13999
+ * nothing rather than silently matching another segment's variants.
14000
+ *
14001
+ * When nothing matches, the entity's `default` variant is returned if it has one. There is no
14002
+ * implicit fallback to the unmodified base entity — its values are the ones no variant
14003
+ * overrode, which is not an answer to "what applies here".
14004
+ *
14005
+ * Availability is a separate mechanism and is never consulted here.
14006
+ *
14007
+ */
14008
+ 'post'(
14009
+ parameters?: Parameters<UnknownParamsObject> | null,
14010
+ data?: Paths.$ResolveConditionalEntity.RequestBody,
14011
+ config?: AxiosRequestConfig
14012
+ ): OperationResponse<Paths.$ResolveConditionalEntity.Responses.$200>
14013
+ }
14014
+ ['/v1/conditional-pricing/{slug}/entities/{entity_id}/variants']: {
14015
+ /**
14016
+ * $createConditionalVariant - $createConditionalVariant
14017
+ *
14018
+ * Creates one variant of a conditional entity, together with the first version carrying its
14019
+ * values. Never two calls: a variant that existed without a version would be an entity holding
14020
+ * a condition tuple it cannot answer with.
14021
+ *
14022
+ * The body pins the situation the variant applies to. Pins are exact values only — predicates
14023
+ * are a read-side concept and are rejected here — and are stored canonicalized for their
14024
+ * condition's type, so two spellings of one instant, or one town written two ways, are one
14025
+ * variant rather than two that no context can tell apart.
14026
+ *
14027
+ * Three write rules are worth knowing before the first call:
14028
+ *
14029
+ * - A variant must pin at least one condition or be marked `default`. A variant pinning nothing
14030
+ * would be a universal wildcard matching every resolve, which is a far more dangerous thing
14031
+ * than a fallback and far easier to create by accident.
14032
+ * - `default` is a property of the variant, set by the `default` flag, and is never a value in
14033
+ * `conditions` — not even `false`. A `default` variant cannot pin anything else, and an entity
14034
+ * can have only one, enforced by the ordinary condition-tuple guard rather than by a rule of
14035
+ * its own. Any entity may have one; nothing is declared in the schema to allow it.
14036
+ * - Condition values are immutable afterwards. A variant's identity is the situation it applies
14037
+ * to, and orders and contracts pin it. **A condition added to a schema that already has
14038
+ * variants is effectively one-way**: every existing variant is a wildcard on the new
14039
+ * dimension, but the first variant that pins it is ambiguous against all of them, and
14040
+ * retro-pinning the others is blocked by this same rule.
14041
+ *
14042
+ * Attribute values are applied only for attributes currently carrying `overridable_attribute`.
14043
+ * Metadata and non-overridable fields present in the body are ignored rather than rejected, so a
14044
+ * client working from a slightly stale schema snapshot still succeeds.
14045
+ *
14046
+ * `variant_id` is always server-generated and returned, and is not accepted in the body — the
14047
+ * request schema admits no such property. It is the durable key orders and contracts pin, so it
14048
+ * cannot be something two independent importers could collide on.
14049
+ *
14050
+ */
14051
+ 'post'(
14052
+ parameters?: Parameters<Paths.$CreateConditionalVariant.PathParameters> | null,
14053
+ data?: Paths.$CreateConditionalVariant.RequestBody,
14054
+ config?: AxiosRequestConfig
14055
+ ): OperationResponse<Paths.$CreateConditionalVariant.Responses.$201>
14056
+ }
14057
+ ['/v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}']: {
14058
+ /**
14059
+ * $getActiveConditionalVariantVersion - $getActiveConditionalVariantVersion
14060
+ *
14061
+ * Returns the version of this variant that is currently in effect — the one with the latest
14062
+ * `valid_from` at or before now.
14063
+ *
14064
+ * The "open this variant" read: no date arithmetic is asked of the caller, and what comes back
14065
+ * carries the `_revision` a write to that version has to be sent with, so an editing screen can
14066
+ * load and save without working out which version it is looking at.
14067
+ *
14068
+ * What is returned is the version's own attribute overrides, not the base entity overlaid with
14069
+ * them. Composing the two is what `:resolve` answers.
14070
+ *
14071
+ * A variant staged ahead of its launch has versions but none of them in effect, and is reported
14072
+ * as having none rather than as not existing — the two are fixed differently.
14073
+ *
14074
+ */
14075
+ 'get'(
14076
+ parameters?: Parameters<Paths.$GetActiveConditionalVariantVersion.PathParameters> | null,
14077
+ data?: any,
14078
+ config?: AxiosRequestConfig
14079
+ ): OperationResponse<Paths.$GetActiveConditionalVariantVersion.Responses.$200>
14080
+ /**
14081
+ * $replaceActiveConditionalVariantVersion - $replaceActiveConditionalVariantVersion
14082
+ *
14083
+ * Replaces the values of the version currently in effect, wholesale.
14084
+ *
14085
+ * The body is the complete set of attribute overrides: an attribute the variant may override and
14086
+ * that is absent from it stops being overridden. Attributes the variant may **not** override are
14087
+ * ignored where the body carries them, and their stored value is kept rather than dropped — a
14088
+ * routine full-snapshot write must not erase an override the moment its attribute's flag happens
14089
+ * to be off.
14090
+ *
14091
+ * Editing the version in effect is the ordinary way a live price is corrected, and warns about
14092
+ * nothing: what changes is what that version *says*, not which version is in effect.
14093
+ *
14094
+ * Neither `valid_from` nor `conditions` can be changed here. Both are accepted when they match
14095
+ * what is stored, so a client building its body from the version it loaded need not strip them
14096
+ * out first, and both are refused when they name something else.
14097
+ *
14098
+ */
14099
+ 'put'(
14100
+ parameters?: Parameters<Paths.$ReplaceActiveConditionalVariantVersion.PathParameters> | null,
14101
+ data?: Paths.$ReplaceActiveConditionalVariantVersion.RequestBody,
14102
+ config?: AxiosRequestConfig
14103
+ ): OperationResponse<Paths.$ReplaceActiveConditionalVariantVersion.Responses.$200>
14104
+ /**
14105
+ * $patchActiveConditionalVariantVersion - $patchActiveConditionalVariantVersion
14106
+ *
14107
+ * Changes only the fields it names on the version currently in effect.
14108
+ *
14109
+ * Everything the body does not mention is left as stored — the "just nudge this number" write. A
14110
+ * `null` is a value like any other rather than a deletion; a client that wants an attribute to
14111
+ * stop being overridden sends the complete snapshot without it through `PUT`.
14112
+ *
14113
+ * Attempting to change a pinned condition value is refused here in particular: a partial update
14114
+ * is the path a caller reaches for by accident, and a variant's conditions are the situation it
14115
+ * applies to, which the orders and contracts pinning it depend on not shifting.
14116
+ *
14117
+ */
14118
+ 'patch'(
14119
+ parameters?: Parameters<Paths.$PatchActiveConditionalVariantVersion.PathParameters> | null,
14120
+ data?: Paths.$PatchActiveConditionalVariantVersion.RequestBody,
14121
+ config?: AxiosRequestConfig
14122
+ ): OperationResponse<Paths.$PatchActiveConditionalVariantVersion.Responses.$200>
14123
+ /**
14124
+ * $deleteConditionalVariant - $deleteConditionalVariant
14125
+ *
14126
+ * Removes one variant of a conditional entity: the condition tuple it holds, its registration
14127
+ * in the search index, and every version it accumulated.
14128
+ *
14129
+ * Two phases. The first frees the tuple and deregisters the variant, and is what makes the
14130
+ * combination of condition values immediately reusable — the second removes the version rows in
14131
+ * batches afterwards. A response arrives only once both have finished for this request, but the
14132
+ * tuple is reusable from the moment the first completes, whether or not the second did: a
14133
+ * variant with more versions than one transaction can carry is the ordinary case, not an edge
14134
+ * one. An interrupted delete is safe to send again; it picks up where it stopped.
14135
+ *
14136
+ * Nothing is archived. A variant an order or contract pins stops resolving, and hydration drops
14137
+ * the reference leniently rather than failing the read.
14138
+ *
14139
+ * This removes the **variant**, not one of its versions. To remove a single version, name it on
14140
+ * `…/variants/{variant_id}/versions/{valid_from}` — including the one currently in effect, which
14141
+ * deliberately has no "delete whichever is live" shorthand: that is exactly the write nobody
14142
+ * should be able to ask for without saying which version they meant.
14143
+ *
14144
+ */
14145
+ 'delete'(
14146
+ parameters?: Parameters<Paths.$DeleteConditionalVariant.PathParameters> | null,
14147
+ data?: any,
14148
+ config?: AxiosRequestConfig
14149
+ ): OperationResponse<Paths.$DeleteConditionalVariant.Responses.$200>
14150
+ }
14151
+ ['/v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions']: {
14152
+ /**
14153
+ * $appendConditionalVariantVersion - $appendConditionalVariantVersion
14154
+ *
14155
+ * Appends a version to a variant: a new set of values taking effect at its own instant.
14156
+ *
14157
+ * This is how a price changes. No version carries an end date and nothing is superseded
14158
+ * explicitly — the version in effect at an instant is simply the one with the latest `valid_from`
14159
+ * at or before it, so appending a later version is the whole of "this is the new price from then
14160
+ * on". A version dated in the future is staged and excluded from resolution until its date.
14161
+ *
14162
+ * **A version is never refused for being late.** A `valid_from` in the past is written like any
14163
+ * other and answered with warnings in `warnings` naming what it moved — what resolves now, what a
14164
+ * past-dated read returns, or both. Correcting a price that took effect last week is ordinary
14165
+ * work; the alternative, deleting and recreating the variant, breaks every order and contract
14166
+ * pinning its id.
14167
+ *
14168
+ * What is refused is appending at a `valid_from` the variant already has: that write means either
14169
+ * "replace it" or "and also this", and only the caller knows which. The two operations both
14170
+ * exist, on the dated version path.
14171
+ *
14172
+ * The variant's `conditions` are its identity and are fixed at creation; they may be sent back
14173
+ * unchanged but never changed.
14174
+ *
14175
+ */
14176
+ 'post'(
14177
+ parameters?: Parameters<Paths.$AppendConditionalVariantVersion.PathParameters> | null,
14178
+ data?: Paths.$AppendConditionalVariantVersion.RequestBody,
14179
+ config?: AxiosRequestConfig
14180
+ ): OperationResponse<Paths.$AppendConditionalVariantVersion.Responses.$201>
14181
+ }
14182
+ ['/v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions/{valid_from}']: {
14183
+ /**
14184
+ * $getConditionalVariantVersion - $getConditionalVariantVersion
14185
+ *
14186
+ * Returns one specific version of a variant, by the instant it takes effect — what a form editing
14187
+ * that version loads.
14188
+ *
14189
+ * Exact, never nearest: an instant the variant has no version at is a not-found rather than the
14190
+ * version that would be in effect at it. That question is the shorthand read's, or `:resolve`'s.
14191
+ *
14192
+ */
14193
+ 'get'(
14194
+ parameters?: Parameters<Paths.$GetConditionalVariantVersion.PathParameters> | null,
14195
+ data?: any,
14196
+ config?: AxiosRequestConfig
14197
+ ): OperationResponse<Paths.$GetConditionalVariantVersion.Responses.$200>
14198
+ /**
14199
+ * $replaceConditionalVariantVersion - $replaceConditionalVariantVersion
14200
+ *
14201
+ * Replaces one version's values wholesale, addressed by its `valid_from`.
14202
+ *
14203
+ * Editable whatever its date, at both ends of the timeline: a scheduled version must stay
14204
+ * editable so a staged price can be corrected before it goes live rather than accumulating dead
14205
+ * versions beside it, and a past one must stay editable because correcting history is ordinary
14206
+ * work. Writing a superseded version is answered with a warning naming what a past-dated read now
14207
+ * returns; it is not refused.
14208
+ *
14209
+ * Attributes the variant may not override are ignored where the body carries them, and their
14210
+ * stored value is preserved rather than dropped.
14211
+ *
14212
+ */
14213
+ 'put'(
14214
+ parameters?: Parameters<Paths.$ReplaceConditionalVariantVersion.PathParameters> | null,
14215
+ data?: Paths.$ReplaceConditionalVariantVersion.RequestBody,
14216
+ config?: AxiosRequestConfig
14217
+ ): OperationResponse<Paths.$ReplaceConditionalVariantVersion.Responses.$200>
14218
+ /**
14219
+ * $patchConditionalVariantVersion - $patchConditionalVariantVersion
14220
+ *
14221
+ * Changes only the fields it names on one version, addressed by its `valid_from`.
14222
+ *
14223
+ * Everything the body does not mention is left as stored. A partial update that tries to change a
14224
+ * pinned condition value is refused: condition values are immutable after a variant is created,
14225
+ * and this is the path that rule is most likely to be broken on by accident.
14226
+ *
14227
+ */
14228
+ 'patch'(
14229
+ parameters?: Parameters<Paths.$PatchConditionalVariantVersion.PathParameters> | null,
14230
+ data?: Paths.$PatchConditionalVariantVersion.RequestBody,
14231
+ config?: AxiosRequestConfig
14232
+ ): OperationResponse<Paths.$PatchConditionalVariantVersion.Responses.$200>
14233
+ /**
14234
+ * $deleteConditionalVariantVersion - $deleteConditionalVariantVersion
14235
+ *
14236
+ * Removes one version of a variant.
14237
+ *
14238
+ * Withdrawing a scheduled adjustment is what this is for, and deleting a future version warns
14239
+ * about nothing — nothing that has resolved, or could have resolved, changes. Deleting a version
14240
+ * that has taken effect is allowed too and answered with a warning: it changes what a past-dated
14241
+ * read returns, and if it was the version in effect it changes what resolves now.
14242
+ *
14243
+ * **A variant's last remaining version cannot be deleted.** Such a variant would still hold its
14244
+ * condition tuple and still be selectable, and then resolve to nothing — which is a variant delete
14245
+ * wearing a version delete's clothes. Delete the variant instead; that frees the tuple too.
14246
+ *
14247
+ * The variant itself is untouched: it keeps its conditions, its tuple and its place in the index.
14248
+ *
14249
+ */
14250
+ 'delete'(
14251
+ parameters?: Parameters<Paths.$DeleteConditionalVariantVersion.QueryParameters & Paths.$DeleteConditionalVariantVersion.PathParameters> | null,
14252
+ data?: any,
14253
+ config?: AxiosRequestConfig
14254
+ ): OperationResponse<Paths.$DeleteConditionalVariantVersion.Responses.$200>
14255
+ }
12111
14256
  }
12112
14257
 
12113
14258
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
@@ -12116,6 +14261,7 @@ export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
12116
14261
  export type AdditionalProviderData = Components.Schemas.AdditionalProviderData;
12117
14262
  export type Address = Components.Schemas.Address;
12118
14263
  export type Amounts = Components.Schemas.Amounts;
14264
+ export type AppendVersionRequest = Components.Schemas.AppendVersionRequest;
12119
14265
  export type AvailabilityCheckParams = Components.Schemas.AvailabilityCheckParams;
12120
14266
  export type AvailabilityFilters = Components.Schemas.AvailabilityFilters;
12121
14267
  export type AvailabilityLocation = Components.Schemas.AvailabilityLocation;
@@ -12152,15 +14298,24 @@ export type ComputePriceResult = Components.Schemas.ComputePriceResult;
12152
14298
  export type ComputedBasePrice = Components.Schemas.ComputedBasePrice;
12153
14299
  export type ComputedPriceBreakdown = Components.Schemas.ComputedPriceBreakdown;
12154
14300
  export type ComputedPriceComponents = Components.Schemas.ComputedPriceComponents;
14301
+ export type ConditionDefinition = Components.Schemas.ConditionDefinition;
14302
+ export type ConditionSet = Components.Schemas.ConditionSet;
14303
+ export type ConditionSetCatalog = Components.Schemas.ConditionSetCatalog;
14304
+ export type ConditionType = Components.Schemas.ConditionType;
14305
+ export type ConditionalEntitySlug = Components.Schemas.ConditionalEntitySlug;
12155
14306
  export type ConditionalPricingError = Components.Schemas.ConditionalPricingError;
12156
14307
  export type ConditionalPricingErrorCode = Components.Schemas.ConditionalPricingErrorCode;
12157
14308
  export type ConsumptionTypeGetAg = Components.Schemas.ConsumptionTypeGetAg;
12158
14309
  export type Coupon = Components.Schemas.Coupon;
12159
14310
  export type CouponItem = Components.Schemas.CouponItem;
12160
14311
  export type CouponWithoutPromoCodes = Components.Schemas.CouponWithoutPromoCodes;
14312
+ export type CreateVariantRequest = Components.Schemas.CreateVariantRequest;
14313
+ export type CreatedVariant = Components.Schemas.CreatedVariant;
12161
14314
  export type Currency = Components.Schemas.Currency;
12162
14315
  export type CustomContext = Components.Schemas.CustomContext;
12163
14316
  export type Customer = Components.Schemas.Customer;
14317
+ export type DeletedVariant = Components.Schemas.DeletedVariant;
14318
+ export type DeletedVariantVersion = Components.Schemas.DeletedVariantVersion;
12164
14319
  export type DiscountAmounts = Components.Schemas.DiscountAmounts;
12165
14320
  export type DynamicTariffInterval = Components.Schemas.DynamicTariffInterval;
12166
14321
  export type DynamicTariffMode = Components.Schemas.DynamicTariffMode;
@@ -12204,7 +14359,9 @@ export type OrderPayload = Components.Schemas.OrderPayload;
12204
14359
  export type OrderRelation = Components.Schemas.OrderRelation;
12205
14360
  export type OrderSource = Components.Schemas.OrderSource;
12206
14361
  export type OrderStatus = Components.Schemas.OrderStatus;
14362
+ export type PatchVersionRequest = Components.Schemas.PatchVersionRequest;
12207
14363
  export type PaymentMethod = Components.Schemas.PaymentMethod;
14364
+ export type PinnedConditions = Components.Schemas.PinnedConditions;
12208
14365
  export type PortalContext = Components.Schemas.PortalContext;
12209
14366
  export type PowerMarketAreaDetails = Components.Schemas.PowerMarketAreaDetails;
12210
14367
  export type PowerMeterType = Components.Schemas.PowerMeterType;
@@ -12238,6 +14395,12 @@ export type RecurrenceAmount = Components.Schemas.RecurrenceAmount;
12238
14395
  export type RecurrenceAmountDto = Components.Schemas.RecurrenceAmountDto;
12239
14396
  export type RecurrenceAmountWithTax = Components.Schemas.RecurrenceAmountWithTax;
12240
14397
  export type RedeemedPromo = Components.Schemas.RedeemedPromo;
14398
+ export type ReplaceVersionRequest = Components.Schemas.ReplaceVersionRequest;
14399
+ export type ResolveConditionalEntityRequest = Components.Schemas.ResolveConditionalEntityRequest;
14400
+ export type ResolveContext = Components.Schemas.ResolveContext;
14401
+ export type ResolveOptions = Components.Schemas.ResolveOptions;
14402
+ export type ResolvedVariant = Components.Schemas.ResolvedVariant;
14403
+ export type ResolvedVariants = Components.Schemas.ResolvedVariants;
12241
14404
  export type SalesTax = Components.Schemas.SalesTax;
12242
14405
  export type SaveIntegrationCredentialsParams = Components.Schemas.SaveIntegrationCredentialsParams;
12243
14406
  export type SearchExternalCatalogParams = Components.Schemas.SearchExternalCatalogParams;
@@ -12264,3 +14427,9 @@ export type TotalDetails = Components.Schemas.TotalDetails;
12264
14427
  export type TypeGetAg = Components.Schemas.TypeGetAg;
12265
14428
  export type ValidateAvailabilityFileError = Components.Schemas.ValidateAvailabilityFileError;
12266
14429
  export type ValidateAvailabilityFileResult = Components.Schemas.ValidateAvailabilityFileResult;
14430
+ export type VariantConditions = Components.Schemas.VariantConditions;
14431
+ export type VariantValues = Components.Schemas.VariantValues;
14432
+ export type VariantVersion = Components.Schemas.VariantVersion;
14433
+ export type VariantWriteWarning = Components.Schemas.VariantWriteWarning;
14434
+ export type VersionWriteWarning = Components.Schemas.VersionWriteWarning;
14435
+ export type WrittenVariantVersion = Components.Schemas.WrittenVariantVersion;